iptables删除命令中的相关问题
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,最近在做一个V*P*N中间件的配置工作,在配置iptables的时候,当用户想删除EIP(即释放当前连接),发现使用iptables的相关 命令会提示错误。iptables: Bad rule (do
千家信息网最后更新 2024年09月22日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安全错误
数据库的锁怎样保障安全
成都网络技术操作
做数据库用什么工具好
财务软件开发的验收指标
r语言粘贴excel数据库
bo服务器管理
特斯拉网络安全认证
数据库安全连接到服务器
优径软件开发公司
淮南市微视网络技术有限公司
jsp数据库加跳转
代理服务器拒绝访问
双阳区网络技术参考价格
网络安全讲师工资
marc数据库是什么意思
宣传金融网络安全美篇
广西数据库通用多路锁控板设置
服务器客服
公司服务器托管什么意思
育碧服务器不可用是怎么回事
国家医保局数据库采购
云盘做成网上数据库
HACKMAP下载软件开发
服务器降音
好轻如何删除数据库
数据库的外码怎么设置
抖音服务器带宽多少合适
河北万道网络技术
廊坊回收服务器内存条
深圳开源信息网络技术
福建联通软件开发