iptables刪除命令中的相關問題
最近在做一個V*P*N中介軟體的配置工作,在配置iptables的時候,當使用者想刪除EIP(即釋放當前連線),發現使用iptables的相關
會提示錯誤。iptables: Bad rule (does a matching rule exist in that chain?)。
我就納悶了,怎麼會出現這個問題,按照官方的文件也有錯?以下是我針對iptables刪除 的解決辦法。 |
解決方法:
1. 按行刪除
如果按照行號刪除,就不會有這篇文章了,當然如果你刪除前就知道了行號,那麼就可以使用一下命令
iptables -t $table -D POSTROUTING 2
-t: 後面接的是要操縱的表。表包括四個,注意預設的可能不是你的table,具體看官方文件地址
-D: 代表刪除
POSTROUTING: 用於源地址轉換(SNAT),這裡需要填你的規則連線。
然後後面接行號
iptables -t $table -L -n --line-numbers
2. 根據匹配規則刪除
官方文件中採用的的精確匹配刪除。所以你不能只制定一個篩選條件。必須給出規則的每一個細節,和你當初新增該規則時一樣,和新增動作唯一不同的是,你要把-A改成-D。這種精確匹配刪除的成功依賴的就是使用者提供的所有match欄位,target欄位必須和核心中儲存的一模一樣,精確到位元組級別的匹配。如果哪怕有一個位元組不匹配,就會有二義性,刪除失敗。
3. 整表整鏈刪除
這個太極端了,慎用
iptables -t $table -F
4. 使用Python-iptables進行操作
本來我這介面就是用python寫的,所以自然就想到使用python-iptables來進行規則的刪除。這樣就可以不用精確匹配了。但問題是無法在阻塞態的時候使用
==但是可以重啟一個單獨的 執行==
python-iptables的官方文件
import iptc table = 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
原文地址:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2660388/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- CentOS 中 iptables 和 firewall 防火牆的相關命令CentOS防火牆
- 關於javascript中陣列元素刪除問題的討論 (轉)JavaScript陣列
- Docker刪除倉庫中的映象問題Docker
- linux 下vim中關於刪除某段,某行,或全部刪除的命令Linux
- 關於刪除資料的快慢問題的分析
- MySQL中鎖的相關問題DTQUMySql
- iptables的問題
- [20171113]修改表結構刪除列相關問題.txt
- 虛擬機器中安裝vmtools工具的命令和相關問題解析虛擬機
- 刪除 AP 發票相關指令碼指令碼
- pycharm+python使用中的相關問題PyCharmPython
- [20171113]修改表結構刪除列相關問題2.txt
- [20171113]修改表結構刪除列相關問題3.txt
- [20171113]修改表結構刪除列相關問題4.txt
- db2中刪除重複記錄的問題DB2
- 刪除字串中的所有相鄰重複項字串
- 新手關於jbuilder中除錯session的問題UI除錯Session
- Docker 相關問題Docker
- django相關問題Django
- electron相關問題
- Oracle MTS的相關問題Oracle
- windows系統相關命令及問題排查實踐Windows
- linux的刪除檔案命令和強制刪除命令Linux
- 刪除ACFS系統碰到的問題
- 關於盒模型相關的問題模型
- [文件教程]解決SAE下本地除錯相關問題除錯
- 監聽器中spring注入相關的問題Spring
- 解決sqlplus中輸錯命令時的刪除、游標鍵不能使用問題SQL
- 線性表的相關操作-初始化、增添、刪除
- 是 直接把相關的檔案刪除就OK了
- java語言相關的問題Java
- 面試遇到的redis相關問題面試Redis
- Java相關問題整理Java
- PHP相關問題集合PHP
- 大模型相關問題大模型
- java邊遍歷邊刪除的問題Java
- laravel homestead vagrant box安裝使用,問題,及相關命令Laravel
- 使用 userdel 命令刪除 Linux 中的使用者Linux