Linux
iptables 錯誤:未知選項 –dport
命令 iptables 不再辨識定義規則時最常用的選項之一:
--dport
.我收到此錯誤:
[root@dragonweyr /home/calyodelphi]# iptables -A INPUT --dport 7777 -j ACCEPT_TCP_UDP iptables v1.4.7: unknown option `--dport' Try `iptables -h' or 'iptables --help' for more information.
上面的添加規則命令只是啟用 Terraria 連接的範例。
這是我目前作為準系統 iptables 配置的內容(
listiptables
別名為iptables -L -v --line-numbers
),很明顯--dport
過去一直有效:root@dragonweyr /home/calyodelphi]# listiptables Chain INPUT (policy DROP 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 39 4368 ACCEPT all -- lo any anywhere anywhere 2 114 10257 ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED 3 1 64 ACCEPT tcp -- eth1 any anywhere anywhere tcp dpt:EtherNet/IP-1 4 72 11610 ACCEPT all -- eth1 any anywhere anywhere Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 91 packets, 10045 bytes) num pkts bytes target prot opt in out source destination Chain ACCEPT_TCP_UDP (0 references) num pkts bytes target prot opt in out source destination 1 0 0 ACCEPT tcp -- any any anywhere anywhere
我也在嘗試定義一個自定義鏈(受此問題啟發)來接受 tcp 和 udp 連接,這樣我就不必為我想要啟用 tcp 和 udp 的所有內容定義兩個規則(例如 Minecraft 或泰拉瑞亞伺服器,或完全其他服務)。但即使這樣也行不通:
[root@dragonweyr /home/calyodelphi]# iptables -P ACCEPT_TCP_UDP DROP iptables: Bad built-in chain name.
用禮貌的話說,這變得非常令人沮喪(與此相關的大量詛咒會使水手告訴我要注意我的嘴巴)。我的 Google-fu 很糟糕,所以我還沒有找到一個可行的解決方案。我在路由器上執行 CentOS 6.5。你們可以提供的任何幫助和指示都會很棒。
編輯:
額外的問題:我也計劃配置埠轉發。是否仍然需要設置規則以接受通過特定埠的傳入連接?
首先給出一個
-p
選項,例如-p tcp
or-p udp
。例子:
iptables -A INPUT -p tcp –dport 22 -m state –state NEW -j DROP
iptables -A INPUT -p udp –dport 53 –sport 1024:65535 -j ACCEPT
您也可以嘗試
-p all
,但我從未這樣做過,並且在範例中沒有找到太多支持。
如果使用 –dport,則需要協議 (-p)。例子:
-p tcp