RHEL7 及以后版本使用 iptables


RHEL7 及以后将默认防火墙管理由 iptables 改为了 firewalld ,为此如果需要继续使用 iptables 则需要执行以下操作。


停用默认开启的 firewalld 服务:

1
2
3
4
systemctl stop firewalld			# 停止firewalld服务
systemctl disable firewalld # 禁用firewalld的默认启动
# Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
# Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

补齐 iptables 需要的包:

1
2
3
4
5
6
7
8
rpm -qa | grep iptables				# 检查iptables包安装情况
# iptables-1.4.21-35.el7.x86_64 # RHEL7下默认仅安装iptables

yum install iptables-services -y # 手动安装缺少的iptables-services包

rpm -qa | grep iptables # 完成后
# iptables-1.4.21-35.el7.x86_64
# iptables-services-1.4.21-35.el7.x86_64

启动 iptables 服务:

1
2
systemctl start iptables			# 启动服务
systemctl enable iptables # 默认启动

保存设定好的规则(重启自动生效):

1
iptables-save > /etc/sysconfig/iptables