KVM 客户机静态 IP,端口转发给另一个客户机

KVM 客户机静态 IP,端口转发给另一个客户机

我在装有 Centos 7 的主机上,在装有 Centos 6.6 的 2 个客户机上。我希望我的一个客户机有静态外部 IP,但他的一些端口必须路由到另一个客户机。

在主机上我这样做:

iptables -t nat -I PREROUTING -d <EXTERNAL IP> -i enp2s0 -j DNAT --to-destination 192.168.122.88
iptables -t nat -I POSTROUTING -s 192.168.122.88 -o enp2s0 -j SNAT --to-source <EXTERNAL IP>

iptables -P FORWARD ACCEPT

#####
iptables -t nat -A PREROUTING --dst <EXTERNAL IP> -p tcp --dport 5999 -j DNAT --to-destination 192.168.122.155:5999
iptables -t nat -A PREROUTING --dst <EXTERNAL IP> -p tcp --dport 1540 -j DNAT --to-destination 192.168.122.155:1540
iptables -t nat -A PREROUTING --dst <EXTERNAL IP> -p tcp --dport 1541 -j DNAT --to-destination 192.168.122.155:1541
iptables -t nat -A PREROUTING --dst <EXTERNAL IP> -p tcp --dport 1560 -j DNAT --to-destination 192.168.122.155:1560
iptables -t nat -A PREROUTING --dst <EXTERNAL IP> -p tcp --dport 8187 -j DNAT --to-destination 192.168.122.155:8187
iptables -t nat -A PREROUTING --dst <EXTERNAL IP> -p tcp --dport 3389 -j DNAT --to-destination 192.168.122.155:3389
iptables -t nat -A PREROUTING --dst <EXTERNAL IP> -p tcp --dport 10050 -j DNAT --to-destination 192.168.122.155:3389

这样,客人就可以获得外部 IP,但端口规则不起作用。

答案1

您在第一个 DNAT 规则之后附加了单独的端口规则,并且由于所有数据包都与第一个 DNAT 规则匹配,因此后面的规则将永远不会匹配。

您需要将各个端口规则移至

iptables -t nat -I PREROUTING -d <EXTERNAL IP> -i enp2s0 -j DNAT --to-destination 192.168.122.88

表中的规则PREROUTING

相关内容