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服务状态