CentOS 7默认的防火墙是firewalld。但是,仍有大量用户想在CentOS 7里使用iptables。本文以CentOS 7.4为例,说明如何在CentOS 7以上系统里安装并使用iptables。 安装并设置iptables。 禁用firewalld开机启动 为了防止与iptables服务冲突,您必须先禁用firewalld开机启动。按以下步骤操作: 运行命令 systemctl status firewalld 查看服务状态。返回结果里,active 表示服务处于运行状态,inactive 表示服务处于关闭状态,如下图所示。 如果服务处于 active 状态,运行以下命令关闭firewalld服务。 systemctl stop firewalld 运行以下命令禁用firewalld。 systemctl disable firewalld 安装iptables 运行命令安装iptables:yum install -y iptables-services。 启动iptables 运行命令启动iptables:systemctl start iptables 运行命令检查iptables是否成功启动:systemctl status iptables。如果返回如下图所示的结果,说明iptables已经成功启动。 查看iptables默认规则 运行命令查看iptables默认规则:iptables -L。 在默认规则下,INTPUT链中ACCEPT来自任何主机的访问。 您可以按以下步骤修改规则: (可选)如果之前已经设置过规则策略,建议运行以下命令备份原有的iptables文件,避免之前设置的策略丢失。 cp -a /etc/sysconfig/iptables /etc/sysconfig/iptables.bak 运行命令 iptables -F 清空所有规则。 根据业务需求添加规则,放行或者禁用端口。比如,添加以下规则可以放行80端口和22端口。 说明:您可以添加如下规则,拒绝(DROP)INPUT方向所有请求。添加这条策略后,ECS实例会拒绝所有访问请求。如果是线上业务请勿直接操作,会直接中断业务。 iptables -P INPUT DROP 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 运行命令 iptables -L 查看新规则是否生效。 运行命令 iptables-save > /etc/sysconfig/iptables 保存添加的规则。 设置iptables开机启动 运行命令 systemctl enable iptables.service 设置iptables开机自启动。 完成设置后,运行命令 systemctl reboot 重启实例验证配置。 买主机找松松小马,有折扣有返现QQ/VX:1002108404