iptables规则持久化,启动配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iptables规则持久化,启动配置相关的知识,希望对你有一定的参考价值。

参考技术A

sudo sh -c "iptables-save > /etc/iptables.rules"
使用该命令可以保存当前系统的iptables规则到特定文件。可以直接使用 iptables-save > /etc/iptables.rules 命令字串,但为了避免可能触发的重定向的权限问题,这里使用了 -c 选项,将这条字串变成一个整体的命令来执行。

(注意:如果对该文件直接进行了错误的配置,可能会关闭或禁用所有的网络接口,导致你无法远程连接)
对该文件修改前,我们需要知道是对哪个网络接口进行配置。确定后,将相应的规则在相应的接口配置记录下面:
pre-up iptables-restore < /etc/iptables.rules
pre-up表示网卡启动前的动作
post-down iptables-restore < /etc/iptables.downrules
此外也可以配置相应的网卡关闭后的动作post-down,这里我们用不同的规则文件区分开来
完整的接口配置如下所示:

(第一行‘auto’表示自动启动,‘inet dhcp’表示dhcp方式管理ip等参数设置)
sudo sh -c "iptables-save -c > /etc/iptables.rules"
此外,上述命令iptables-save 使用 -c 表示counter,即同时记录规则和网络收发的数据包的数量。

在这两个文件夹中新建相应的脚本文件(文件名不能包含“·”)
新建/etc/network/if-pre-up.d/iptablesload

新建/etc/network/if-post-down.d/iptablessave

之后我们还要确保脚本可执行
sudo chmod +x /etc/network/if-post-down.d/iptablessave
sudo chmod +x /etc/network/if-pre-up.d/iptablesload

sudo apt install iptables-persistent
安装完成后,使用 netfilter-persistent 命令管理

将所想要保存的规则写入相应的rules.ipv4/rules.ipv6文件
iptables-save > /etc/iptables/rules.v4
ip6tables-save > /etc/iptables/rules.v6
参考
http://manpages.ubuntu.com/manpages/bionic/man5/interfaces.5.html
https://help.ubuntu.com/community/IptablesHowTo

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 < /etc/sysconfig/iptables

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/

原文链接:http://www.linuxprobe.com/centos-iptables.html

以上是关于iptables规则持久化,启动配置的主要内容,如果未能解决你的问题,请参考以下文章

使用本脚本可以自动批量完成中间节点环境的部署工作,包括:Nginx编译安装添加程序管理脚本设置开机启动反向代理配置证书分发添加iptables规则等

iptables保存规则

iptables

Linux系统的 iptables 防火墙配置好了,重启有还原了,怎么回事啊!

Linux iptables防火墙原理与常用配置

Linux笔记-ftp主动和被动模式下iptables的规则配置