OpenVZ CEntOS 容器上的 Iptables 端口转发

OpenVZ CEntOS 容器上的 Iptables 端口转发

我正在尝试在运行 CentOS 5.5 的 OpenVZ 容器上设置一个简单的端口转发。当我运行命令时出现错误。

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables v1.3.5: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.

相同的命令在硬件节点或任何其他物理服务器上都可以正常工作。我知道我可以在硬件节点上为该特定容器设置端口转发,但这不是解决方案。

答案1

您的 OpenVZ 主机节点似乎没有为 VM 客户机启用 netfilter 支持。如果您是 OpenVZ 主机的管理员,那么我建议您参阅题为“设置允许每个容器配置的防火墙”的部分在 OpenVZ wiki 的这个页面上

答案2

modprobe ip_tables
modprobe ip_conntrack
modprobe iptable_filter
modprobe ipt_state

尝试其中任何一个..

我猜是 iptable_filter。

然后再次运行命令..

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

它有效吗?

相关内容