centos从7版本开始默认用的是firewalld,这个是基于iptables的,虽然有iptables的核心,但是iptables的服务是没安装的。所以只要先关闭firewalld服务,再安装iptables服务即可

1、关闭firewall

systemctl stop firewalld.service                #停止firewall

systemctl disable firewalld.service           #禁止firewall开机启动

2、安装iptables防火墙

yum install -y iptables-services         #安装iptables

vim /etc/sysconfig/iptables               #编辑防火墙配置文件

*filter:INPUT ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [0:0]-A INPUT -s 127.0.0.1/32 -d 127.0.0.1/32 -j ACCEPT-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT-A INPUT -p tcp -m tcp --dport 10055 -j ACCEPT-A INPUT -p tcp -m tcp --dport 4005 -j ACCEPT-A INPUT -j REJECT --reject-with icmp-port-unreachable-A FORWARD -j REJECT --reject-with icmp-port-unreachable-A OUTPUT -j ACCEPTCOMMIT

保存退出

3、重启防火墙

systemctl restart iptables.service      #最后重启防火墙使配置生效

systemctl enable iptables.service     #设置防火墙开机启动

说明:后续要添加端口,先重启服务器再保存。

service iptables restart

service iptables save

4、其他相关命令

systemctl disable iptables     #禁止iptables服务

systemctl stop iptables         #暂停服务

systemctl enable iptables     #解除禁止iptables

systemctl start iptables         #开启服务

 

service iptables save       #因为已添加iptables服务,故该命令可运行;若没有之前的添加服务则不能运行

service iptables status     #查看iptables服务状态