iptables forward port error - 没有链/目标/匹配该名称

Modified on: Thu, 14 Jun 2018 09:32:23 +0800

我正在尝试在我的Ubuntu 12.04 LTS服务器上配置iptables以将端口443转发到8443.

但是当我运行这个命令时:

sudo iptables -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8443

我收到以下错误:

iptables: No chain/target/match by that name.

我的iptables当前配置:

$ sudo iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
DROP       tcp  --  anywhere             anywhere             tcp dpt:http

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 

我错过了什么或做错了什么?

最佳答案

因为PREROUTING链属于NAT表,而不属于FILTER表。如果您没有通过-t选项显式提及任何表,则假定FILTER

因此,您需要使用-t nat

提及表类型

sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8443


请注意,MANGLERAW表也有PREROUTING链,但由于您只重定向端口,因此您可能正在寻找NAT表。

作者:,heemayl

相关问答

添加新评论