安装配置指南
以Centos7为例,iptables默认情况并没有systemd服务因此需要手动安装:
安装防火墙
yum install -y iptables
开机自启,并启动防火墙
systemctl stop firewalld
systemctl disable firewalld
清空所有规则,禁止输入、允许转发和输出,打开关键端口。
iptables -t filter -F
iptables -t filter -X
iptables -t nat -F
iptables -t nat -X
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -t filter -A INPUT -p icmp --icmp-type any -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p udp --sport 53 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p tcp --sport 53 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 3306 -j ACCEPT
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -j DROP
保存配置(持久化)
iptables-save > /etc/sysconfig/iptables
创建自启配置恢复服务:
vi /lib/systemd/system/iptables-restore.service
内容如下:
[Unit]
Description=Restore iptables firewall rules
Before=network.target
Conflicts=shutdown.target
[Service]
Type=oneshot
User=root
ExecStart=/usr/sbin/iptables-restore /etc/sysconfig/iptables
[Install]
WantedBy=basic.target
设置应用服务,设置开机启动
systemctl daemon-reload
systemctl enable iptables-restore.service
systemctl start iptables-restore
systemctl status iptables-restore
查看配置当前防火墙配置情况
iptables -nvL
如果需要可以使用下面命令删除已经开放的端口
iptables -t filter -D INPUT -p tcp --dport 3306 -j ACCEPT
如果需要可以使用下面命令删除已经开放的端口
iptables -t filter -D INPUT -p tcp --dport 3306 -j ACCEPT
参考文献
[2]. linux-training.be . Chapter 14. iptables firewall . http://linux-training.be/networking/ch14.html