CentOS下iptables持久化
iptables规则持久化
- 设定防火墙规则
iptables -A INPUT -s 1.1.1.1/32 -p tcp -m tcp --dport 22 -j DROP
iptables -A INPUT -s 2.2.2.2/32 -p tcp -m tcp --dport 22 -j DROP
iptables -A INPUT -s 3.3.3.3/32 -p tcp -m tcp --dport 22 -j DROP
iptables -A INPUT -s 4.4.4.4/32 -p tcp -m tcp --dport 22 -j DROP
- 保存防火墙规则
service iptables save
或
iptables-save > /etc/sysconfig/iptables
- 设定开机自动恢复iptables规则
vim /etc/rc.d/rc.local
iptables-restore < /etc/sysconfig/iptables
iptables关机自动保存
- 先清空防火墙规则
iptables -F
- 保存iptables规则,也就是说将/etc/sysconfig/iptables文件清空
service iptables save
或
iptables-save > /etc/sysconfig/iptables
- 手动生成一些iptables规则
iptables -A INPUT -s 1.1.1.1/32 -p tcp -m tcp --dport 22 -j DROP
iptables -A INPUT -s 2.2.2.2/32 -p tcp -m tcp --dport 22 -j DROP
iptables -A INPUT -s 3.3.3.3/32 -p tcp -m tcp --dport 22 -j DROP
iptables -A INPUT -s 4.4.4.4/32 -p tcp -m tcp --dport 22 -j DROP
- 查看iptables规则是否生效
[root@ecs-7740 init.d]# iptables -nvL
Chain INPUT (policy ACCEPT 27 packets, 1978 bytes)
pkts bytes target prot opt in out source destination
0 0 DROP tcp -- * * 1.1.1.1 0.0.0.0/0 tcp dpt:22
0 0 DROP tcp -- * * 2.2.2.2 0.0.0.0/0 tcp dpt:22
0 0 DROP tcp -- * * 3.3.3.3 0.0.0.0/0 tcp dpt:22
0 0 DROP tcp -- * * 4.4.4.4 0.0.0.0/0 tcp dpt:22
- 设定关机时自动保存iptables规则
创建关机时要执行的脚本,并且确保其有执行权限
vim /etc/init.d/shutdownsh
iptables-save > /etc/sysconfig/iptables
chmod +x /etc/sysconfig/shutdownsh
ls /etc/sysconfig/shutdownsh
-rwxr-xr-x 1 root root 40 Jan 16 22:05 shutdownsh
- 创建软连接文件至rcN.d路径下,N为运行等级
http://blog.csdn.net/snaking616/article/details/78680021
https://wenku.baidu.com/view/9a988bb9f424ccbff121dd36a32d7375a417c6f1.html
ln -s /etc/init.d/shutdownsh /etc/rc6.d/K01shutdownsh
ln -s /etc/init.d/shutdownsh /etc/rc0.d/K01shutdownsh
ln -s /etc/init.d/shutdownsh /var/lock/subsys/
注:以上方法(在/var/lock/subusys创建空文件或者软连接,仅在第一次关机或重启有效,当重启后/var/lock/subsys下的文件就自动消失了,所以在第二次关机或者重启脚本并不能执行)