我现在正面临 iptables 的奇怪问题。简单地说,我想将流量从端口 514 重定向到端口 5140。我正在使用这个 IPTables 命令来实现它:
iptables -t nat -A PREROUTING -p tcp --dport 514 -j REDIRECT --to-port 5140
但我仍然收到关于没有链条的错误
iptables: No chain/target/match by that name.
nat 表中肯定有 PREROUTING 链,这是 iptables -t nat -nL
root@VPS-LOGGER-TMP:~# iptables -t nat -nL
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
我正在使用 Debian Wheezy 并且我已经加载了所有需要的模块:
root@VPS-LOGGER-TMP:~# lsmod |grep nat
iptable_nat 12928 0
nf_nat 18242 1 iptable_nat
nf_conntrack_ipv4 14078 4 nf_nat,iptable_nat
nf_conntrack 52720 4 xt_state,nf_conntrack_ipv4,nf_nat,iptable_nat
ip_tables 22042 2 iptable_filter,iptable_nat
x_tables 19118 9 ip_tables,iptable_filter,xt_multiport,ip6_tables,ip6table_filter,xt_state,xt_tcpudp,ipt_REJECT,iptable_nat
你能告诉我我做错了什么吗?据我所知,这应该可以完美地工作。非常感谢。
你需要
在内核配置中设置为 y 或 m 以便使用 -j REDIRECT。
该模块将被称为 xt_REDIRECT,您的机器上似乎缺少该模块。