我需要紧急的帮助,而不是用文字。 自从4.2版本开始使用FreeBSD的时候,我可以使用pf(包filter),但现在我有一个项目为Linux中的OpenVZ的Web面板创build一个模块。
pipe理员部分是95%准备好了,但我被困住了。 我意识到每个VM都必须被转发到不同的端口。 而事情是,它必须被转发到本地IP。 他们只有1个网卡,只有1个公网IP,所以他们会为每个虚拟机使用一个本地IP。
我们说:
我们使用本地IP 192.168.199.105创build虚拟机101,在端口5050上侦听SSH,我们有公共IP 88.252.14.32。 如何设置IPTABLES将ssh请求从88.252.14.32:5050转发到192.168.199.105:5050?
服务器是NAT,对于Apache而言,使用vhost很容易,但对于SSH来说 – 不知道如何。 我求求你直接的例子,而不是用词。 谢谢。
你可以尝试阅读本教程 。 它很好地描述了iptables 。 对于你的问题,你可以在nat表中使用PREROUTING规则。 它看起来像:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 5050 -j DNAT --to-destination 192.168.199.105:5050 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
您应该将eth0更改为您的接口名称。