CentOS7找不到 iptables 的问题

在CentOS7系统中,iptables被firewalld防火墙服务取代,原有的iptables配置文件消失。若要继续使用iptables,需要通过`yum install iptables-services`安装服务,然后设置规则如`iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 8000 -j ACCEPT`,并使用`service iptables save`和`service iptables restart`来保存并重启服务以保持规则生效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

偶然发现 CentOS7 中,找不到 iptables 防火墙的配置文件 ,也就是 /etc/sysconfig/iptables 文件,而且 也没有 iptables 系统服务,取而代之的是 firewalld ,而且之前配置的 iptables 规则也是没保存的,重启系统后就会失效,要想配置 iptables 需要如下操作:

安装 iptables 系统服务

yum install iptables-services

然后再设置任何 iptables 规则 就能永久保存了,例如:

iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 8000 -j ACCEPT

然后 保存 重启 iptables 系统服务

service iptables save
service iptables restart

### CentOS 7iptables 的配置与使用 #### 简介 iptables 是 Linux 下的一个强大的网络包过滤工具,允许设置自定义输入(Input)、转发(Forward)和输出(Output)规则集来控制数据包的处理方式。对于 CentOS 7,默认使用的防火墙管理工具是 firewalld 而不是传统的 iptables[^3]。 为了在 CentOS 7 上使用 iptables 进行更细粒度的网络访问控制,需要先停止并禁用 firewalld 服务,并安装及启动 iptables 和 ip6tables 服务: ```bash systemctl stop firewalld.service systemctl disable firewalld.service yum install -y iptables-services systemctl enable iptables systemctl start iptables ``` #### 查看当前的 iptables 规则列表 可以利用 `iptables-save` 或者直接调用 `iptables -L -v -n` 来查看现有的规则表单[^1]。 #### 设置默认策略 通常情况下会设定 INPUT 和 FORWARD 链路采用 DROP 方针作为安全措施的一部分,而 OUTPUT 则保持 ACCEPT 政策以便内部进程能够正常通信: ```bash iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT ``` #### 开启特定端口和服务 针对某些必要的服务端口开启例外规则,比如 HTTP(S), SSH, DNS 查询等常用协议所对应的端口号。这里给出几个例子说明如何添加接受规则到 INPUT 表中去匹配 TCP 协议下的多个指定目的端口[^4]: ```bash iptables -A INPUT -p tcp -m multiport --dports 22,80,443 -j ACCEPT ``` 上述命令将会允许来自外部对本地服务器发起连接请求的目标端口为 22 (SSH),80 (HTTP) 及 443 (HTTPS) 的流量进入系统内核空间进一步处理。 #### 关闭不必要的端口 如果存在不再需要监听的服务,则可以通过向相应的链里追加拒绝规则的方式将其屏蔽掉。例如要阻止所有尝试到达 MySQL 数据库的标准端口(即 3306)上的新连接,可执行如下指令: ```bash iptables -A INPUT -p tcp --dport 3306 -j REJECT ``` 这将使得任何试图连上该数据库实例的行为都被立即回绝而不做其他任何形式的数据交换。 #### 清除现有规则或删除具体条目 当想要清空整个表格或是仅移除某一条具体的规则时,可以根据实际情况选用不同的操作手段。前者可通过重置各链条计数器并将它们设为跳转至 ACCEPT 动作实现;后者则是借助于 `-D` 参数配合相应编号完成精确打击。 清除全部规则: ```bash iptables -F iptables -X iptables -Z ``` 删除第 N 条规则(N代表实际位置索引): ```bash iptables -D INPUT N ``` #### 永久保存更改后的规则集合 一旦完成了临时性的调整之后,记得要把最新的状态导出成文件形式存档下来以供重启后自动加载应用之需。CentOS 7 提供了一个简单的办法就是通过 `/etc/init.d/iptables save` 命令或者手动编辑 `/etc/sysconfig/iptables` 文件来进行持久化的存储工作[^2]。 另外也可以采取下面这种方式恢复之前备份过的配置方案: ```bash iptables-restore < /etc/sysconfig/iptables.save ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值