Iptables

KVM 訪客靜態 ip,埠轉發到另一個訪客

  • August 6, 2015

我在 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 但埠規則不起作用。

您在第一個 DNAT 規則之後附加了各個埠規則,並且由於所有數據包都與您的第一個 DNAT 規則匹配,因此以後的規則將永遠不會匹配。

您需要先移動各個埠規則

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

表中的規則PREROUTING

引用自:https://serverfault.com/questions/711125