HCRM博客

如何正确配置CentOS 7上的iptables规则?

CentOS 7系统默认的防火墙是firewalld,但许多用户仍习惯于使用iptables,以下是在CentOS 7系统中安装和使用iptables的详细步骤:

1、禁止firewalld开机启动:为了防止与iptables冲突,必须先禁止firewalld开机启动,连接CentOS 7.4实例后,执行以下命令查看服务状态:

如何正确配置CentOS 7上的iptables规则?-图1
(图片来源网络,侵权删除)
systemctl status firewalld

如果服务处于active状态,运行以下命令关闭firewalld服务

systemctl stop firewalld

禁止firewalld开机启动:

systemctl disable firewalld

2、安装iptables:执行以下命令安装iptables:

yum install y iptablesservices

3、启动iptables并设置为开机启动:执行以下命令启动iptables:

systemctl start iptables

查看iptables是否成功启动:

systemctl status iptables

设置iptables开机启动:

如何正确配置CentOS 7上的iptables规则?-图2
(图片来源网络,侵权删除)
systemctl enable iptables.service

重启实例验证配置:

systemctl reboot

4、查看并修改iptables默认规则:执行以下命令查看iptables默认规则:

iptables L

如果之前已经设置过规则,建议先备份原有的iptables文件:

cp a /etc/sysconfig/iptables /etc/sysconfig/iptables.bak

清空所有规则:

iptables F

根据业务需求添加规则,例如放行80端口和22端口:

iptables I INPUT p tcp dport 80 m state state NEW j ACCEPT
iptables I INPUT p tcp dport 22 m state state NEW j ACCEPT

确认新规则生效:

如何正确配置CentOS 7上的iptables规则?-图3
(图片来源网络,侵权删除)
iptables L

保存添加的规则:

iptablessave > /etc/sysconfig/iptables

5、高级配置:加载必要的内核模块以确保iptables功能完整,执行以下命令加载相关模块:

modprobe ip_tables
modprobe iptable_filter
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ipt_state

检查模块是否加载成功:

lsmod | egrep 'filter|nat|ip_conntrack'

6、常见问题解决:关闭SELinux以避免其对iptables配置文件读取的影响,编辑SELinux配置文件:

vi /etc/selinux/config

将SELINUX设置为disabled,然后重启系统使更改生效。

FAQs:

1、如何在CentOS 7中禁用firewalld?:要禁用firewalld,首先确保它当前未运行,然后防止它在系统启动时自动启动,具体操作如下:停止正在运行的firewalld服务:systemctl stop firewalld;禁止firewalld在开机时自动启动:systemctl disable firewalld,通过这两个步骤,可以确保firewalld不会与iptables产生冲突。

2、如何在CentOS 7中保存iptables规则?:保存iptables规则是确保系统重启后规则依旧有效的关键步骤,执行以下命令将当前的iptables规则保存到文件中:iptablessave > /etc/sysconfig/iptables,这条命令会将当前的规则集导出并覆盖/etc/sysconfig/iptables文件,该文件在系统启动时会被读取以应用这些规则。

分享:
扫描分享到社交APP
上一篇
下一篇