在系统中,往往需要进行iptables规则的编写,但是当系统重新启动后这些规则则没有了,那么如何解决这样的问题呢?
解决这样的问题也即是解决iptables规则的持久化,下面为大家讲解一下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-save > /etc/sysconfig/iptables
设定开机自动恢复iptables规则
vim /etc/rc.d/rc.local
iptables-restore
iptables关机自动保存
先清空防火墙规则
iptables -F
保存iptables规则,也就是说将/etc/sysconfig/iptables文件清空
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为运行等级
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下的文件就自动消失了,所以在第二次关机或者重启脚本并不能执行)
以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !