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连接的一个示例。

这里是我现在作为一个准系统的iptablesconfiguration( 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很糟糕,所以我还没有find适用于此的解决scheme。 我在路由器上运行CentOS 6.5。 任何帮助和指针,你们可以提供将是真棒。

编辑:

奖金问题:我也计划configuration端口转发。 是否仍然需要设置规则来接受特定端口上的传入连接?

首先给一个-p选项,如-p tcp-p udp

例子:

iptables -A INPUT -p tcp –dport 22 -m状态 – 状态NEW -j DROP

iptables -A INPUT -p udp -dport 53 –sport 1024:65535 -j ACCEPT

你也可以尝试-p all但是我从来没有这样做,也没有在例子中find太多的支持。

如果使用–dport,则协议(-p)是必需的。 例:

 -p tcp 

@dmourati和@diegows已经回答了你的第一个问题,所以我会解决你的第二个问题。 和奖金的问题。 而且我还会收到奖金小费;)

iptables -P 接受BUILT-IN链。 在filter表中,这将是INPUTOUTPUTFORWARD链。

端口转发不能被INPUT链处理,所以你不必在INPUT链中打开端口。 不过,它的确FORWARD链处理了。 小心点。

奖金提示:在学习和/或排除iptables故障时, iptables-save的输出比iptables -L -v --line-numbers的输出更好。 试试吧,你会惊喜的:)