如何重定向虚拟接口上的端口?

如何重定向虚拟接口上的端口?

有两个 IP 与一个物理网络接口 eth0 和 eth0:0 相关联。

对于第一个界面来说,以下内容运行良好:

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

然而,对于第二个接口,同样的方法不起作用:

iptables -A PREROUTING -t nat -i eth0:0 -p tcp --dport 80 -j REDIRECT --to-port 8080

还尝试过:

iptables -A PREROUTING -t nat -p tcp --dport 80 -d $THE_IP -j REDIRECT --to-port 8080

所以问题是如何在虚拟接口上进行重定向。

答案1

你不需要。别名接口是一种符号约定,实际上并不存在于 iptables 漫游的内核深层。使用 IP 地址(你的第三个示例命令已损坏,将产生一条错误消息,这应该会提示你)一切都会好起来。

答案2

您的第三个命令缺少了一些东西:在开头启用多端口添加,这样就可以了。 +即使您只指定一个端口,-m multiport它也应该是--dports和(复数形式)--to-ports

请注意,我遇到了类似的问题 + 我已经有一个使用端口 80 的应用程序(apache2),我必须先终止它才能使用重定向

答案3

您应该使用 TUN/TAP 接口来完成这项工作。请参阅教程了解更多详情。

相关内容