定义规则时,命令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.
上面的add rule命令只是启用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或Terraria服务器或其他服务)。但这甚至不起作用:
[root@dragonweyr /home/calyodelphi]# iptables -P ACCEPT_TCP_UDP DROP
iptables: Bad built-in chain name.
从礼貌的角度来看,这已经变得非常令人沮丧(与此有关的骂声会使水手告诉我注意我的嘴)。我的Google-fu非常糟糕,因此我还没有找到任何可行的解决方案。我在路由器上运行CentOS 6.5。你们可以提供的任何帮助和指示都很棒。
编辑:
奖励问题:我还计划配置端口转发。是否仍然需要设置规则以接受通过特定端口的传入连接?
-p all
,却得到了完全一样的错误。unknown option --dport
。它可以工作,-p tcp
但在这种情况下并不能真正帮助我,因为它只会导致相同的问题:为所有内容定义单独的tcp / udp规则。