iptables删除命令中的相关问题
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,最近在做一个V*P*N中间件的配置工作,在配置iptables的时候,当用户想删除EIP(即释放当前连接),发现使用iptables的相关 命令会提示错误。iptables: Bad rule (do
千家信息网最后更新 2025年02月02日iptables删除命令中的相关问题
解决方法: 1. 按行删除
最近在做一个V*P*N中间件的配置工作,在配置iptables的时候,当用户想删除EIP(即释放当前连接),发现使用iptables的相关 命令会提示错误。iptables: Bad rule (does a matching rule exist in that chain?)。 我就纳闷了,怎么会出现这个问题,按照官方的文档也有错?以下是我针对iptables删除 命令的解决办法。 |
如果按照行号删除,就不会有这篇文章了,当然如果你删除前就知道了行号,那么就可以使用一下命令
iptables -t $table -D POSTROUTING 2
-t: 后面接的是要操纵的表。表包括四个,注意默认的可能不是你的table,具体看官方文档地址
-D: 代表删除
POSTROUTING: 用于源地址转换(SNAT),这里需要填你的规则连接。
然后后面接行号
iptables -t $table -L -n --line-numbers2. 根据匹配规则删除
官方文档中采用的的精确匹配删除。所以你不能只制定一个筛选条件。必须给出规则的每一个细节,和你当初添加该规则时一样,和添加动作唯一不同的是,你要把-A改成-D。这种精确匹配删除的成功依赖的就是用户提供的所有match字段,target字段必须和内核中保存的一模一样,精确到字节级别的匹配。如果哪怕有一个字节不匹配,就会有二义性,删除失败。
3. 整表整链删除这个太极端了,慎用
iptables -t $table -F4. 使用Python-iptables进行操作
本来我这接口就是用python写的,所以自然就想到使用python-iptables来进行规则的删除。这样就可以不用精确匹配了。但问题是无法在阻塞态的时候使用
==但是可以重启一个单独的 脚本运行==
python-iptables的官方文档
import iptctable = iptc.Table(iptc.Table.NAT)table.autocommit = False # 不加亦可,会自动提交,此处是手动chain = iptc.Chain(table, "POSTROUTING")for rule in chain.rules: if rule.src == f"{network_segment}/255.255.255.0": chain.delete_rule(rule)table.commit()table.autocommit = True
原文地址: https://www.linuxprobe.com/iptables-post-table.html
规则
精确
官方
文档
命令
地址
行号
问题
字段
字节
就是
时候
用户
配置
不同
成功
一模一样
不用
中间件
二义性
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库更改规则名称
上海雅延互联网科技公司
从sql删除的数据库在哪能找到
服务器的维护和运行管理
网络安全警告是什么
饥荒显示无法连接科雷服务器
网络安全 专技天下
数据库应用操作
urbo 网络技术
高级信息网络安全
大数据库都是什么
云南平讯科技互联网施工
云服务器能做点什么
网络安全进军区
热血江湖服务器端
软件开发需要考取什么证书
网络安全评审公司
常德软件开发公司哪家好
网络技术产生的伦理困惑
江阴进口网络技术创新服务
我的世界好的服务器租用
网吧steam服务器遇到问题
宝山区智能软件开发售后服务
江苏互联网科技大会
崩坏3的三个服务器有什么区别
从业人员数据库查询子系统
网络技术可以做什么
工控软件开发是什么
移动 语音与数据库
数据库中查询相同月出生的人