本文介绍了iptables配置和使用。 CentOS7系统默认的防火墙是Firewalld。但是,仍有大量用户习惯于在CentOS7系统中使用iptables。本文以CentOS7.9为例,说明在CentOS7系统中如何安装并使用iptables。 禁止firewalld开机启动 为了防止与iptables产生冲突,您需要先禁用Firewalld开机自启 1.连接Centos7.9实例,关于如何连接实例可参考登录Linux弹性云主机 2.执行如下命令查看服务状态 bash systemctl status firewalld 3.当服务处于active状态,运行以下命令关闭Firewalld服务。 bash systemctl disable firewalld now 安装iptables 执行如下命令,安装iptables: bash yum install y iptablesservices 启动iptables并开启开机自启: bash systemctl enable iptables.service now 验证iptables是否启动成功 bash systemctl status iptables.service 查看并修改iptables默认规则 执行 iptables L命令,查看iptables默认规则,发现在默认规则下,INTPUT链允许来自任何主机的访问,可以参考如下步骤修改默认规则。 1.如果之前已经设置过规则,建议执行如下命令,备份原有的iptables文件,避免之前设置的规则丢失。 bash cp a /etc/sysconfig/iptables /etc/sysconfig/iptables.bak 2.执行如下命令,清空所有规则。 bash iptables F 3.根据业务需求添加规则,放行或者禁用端口。示例:依次执行如下命令,放行80端口和22端口。 bash 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 示例:依次执行如下命令,添加规则,使INPUT链拒绝所有请求,即ECS实例会拒绝所有请求。如果是线上业务请勿直接操作,会直接中断业务。 bash iptables P INPUT DROP 4.执行如下命令,确认新规则生效。 bash iptables L 5.执行如下命令,保存添加的规则。 bash iptablessave > /etc/sysconfig/iptables 6.批量导入规则 bash iptablesrestore < 文件名称