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规则等