Linux iptables检测是否已存在规则避免重复插入规则

项目中需要用脚本去插入链规则,但是重复调用shell脚本可能导致重复插入,新版本可以用-C选项进行检测,老版本可以筛选判断一下再做处理。

一、检测方式

1、iptables新版本中有 -C 选项进行检测。

复制代码
# iptables -C INPUT -p tcp --dport 8080 --jump ACCEPT
iptables: Bad rule (does a matching rule exist in that chain?).
# echo $?
1
# iptables -A INPUT -p tcp --dport 8080 --jump ACCEPT
# iptables -C INPUT -p tcp --dport 8080 --jump ACCEPT
# echo $?
0

2、对于早期的iptables可以用下面命令来检测

复制代码
# iptables-save | grep -- "-A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT"

二、避免重复插入方法

为了 通用性,采用早期iptables能使用的方式,具体操作如下,先用iptables-save命令获取,做判断不存在再插入就可以避免重复插入

复制代码
local client_limit_deal=`iptables-save | grep -- "-A PREROUTING -i br-lan -j CLIENT_LIMIT_DEAL"`
if [ -z client_limit_deal ] ;
then
	iptables -t mangle -I PREROUTING -i br-lan -j CLIENT_LIMIT_DEAL
fi

三、其他

可以删除后再插入,如果不知道删除的规则可以使用iptables-save查看,根据规则删除即可,如:

c 复制代码
//mangle表的PREROUTING链中规则如下:
Chain PREROUTING (policy ACCEPT 4127 packets, 345K bytes)
 pkts bytes target     prot opt in     out     source               destination         
 2109  188K PACKAGE_PRI_DEAL  all  --  eth1   *       0.0.0.0/0            0.0.0.0/0           
 4127  345K fwmark     all  --  *      *       0.0.0.0/0            0.0.0.0/0  
 
//iptables-save查到对应的规则为
-A PREROUTING -i eth1 -j PACKAGE_PRI_DEAL
//删除可以按照如下写法:$DEV为对应的网口
iptables -t mangle -D PREROUTING -i $DEV -j PACKAGE_PRI_DEAL
相关推荐
岚天start1 个月前
iptables -L 显示无目标链规则,但是iptables-save显示仍存在链规则原因分析
linux·服务器·网络·iptables·nat·filter·mangle
牛奶咖啡131 个月前
Linux的软件防火墙iptables
iptables·linux防火墙·linux云计算·防火墙的规则和执行流程·防火墙的设置规则与常用过滤规则·防火墙针对数据状态的过滤设置·iptables常用命令清单
半桶水专家1 个月前
iptables 里INPUT、OUTPUT、FORWARD 三个链(Chain)详解
iptables·智能路由器
Ray Song1 个月前
Linux iptables防火墙操作
linux·网络·iptables·防火墙
岚天start2 个月前
在K8S环境中,telnet nodePort端口是通的,但是 ss 获取不到端口号原因解析
iptables·kubernetes·k8s·telnet·ss
藥瓿亭3 个月前
IPtables部署和使用
linux·运维·服务器·网络·iptables·防火墙·firewall
麟城Lincoln4 个月前
【Linux笔记】防火墙firewall与相关实验(iptables、firewall-cmd、firewalld)
linux·服务器·笔记·iptables·防火墙·firewalld·firewall
�FENG5 个月前
Linux系统中iptables防火墙
iptables·防火墙
漫谈网络5 个月前
DDoS防御与流量优化
linux·网络·iptables·ddos·netfilter·syn攻击·流量审计
漫谈网络6 个月前
网络命名空间之iptables规则解析
linux·网络·iptables·网络命名空间·netns