Iptables

ip tables port fwd 重複數據包

  • August 7, 2011

我想將在埠 162 上接收到的 udp 數據包轉發到另一個 port.ex:8981

我已經執行了以下 cmd

iptables -A PREROUTING -t nat  -p tcp --dport 162 -j REDIRECT --to-port 8981

我看到我現在在 8981 上收到重複的數據包..

有人可以指導我正確的做法嗎?

另外如何刪除上述規則?

TIA,/d

在有更多可用的診斷數據之前,我們將保留“重複數據包”問題,但規則刪除很容易。

要刪除 iptables 規則,只需將 替換-A-D

iptables -D PREROUTING -t nat  -p tcp --dport 162 -j REDIRECT --to-port 8981

如果您要使用-I N,則可以使用iptables -D N,但是如果隨後插入了任何規則,那將是有風險的。

如果你真的搞砸了,甚至不知道iptables你執行了什麼命令(bash有命令歷史記錄是有原因的……)那麼你可以像這樣列對外連結中的所有規則:

iptables -t nat -L PREROUTING --line-numbers

這會讓你得到這樣的輸出:

Chain int2ext (1 references)
num  target     prot opt source               destination
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           ctstate RELATED,ESTABLISHED
2    ACCEPT     all  --  192.0.2.0/24         0.0.0.0/0
3    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:53
4    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0

然後,找到與num要刪除的規則對應的列條目,然後執行

iptables -t nat -D PREROUTING <num>

引用自:https://serverfault.com/questions/298384