Хост и гость Xen, использующие один и тот же IP
Возможно ли для хоста Xen и гостя Xen использовать один и тот же IP-адрес (хотя и с разными портами)?
У нас есть один общедоступный IP-адрес, и мы хотим, чтобы его использовали и хост Xen (только в качестве хоста, никакой другой роли) и гость Xen.
Благодарю.
2 ответа
Для этого назначьте публичный ip на host
система. Затем перешлите требуемый порт с host
система для guest
система.
Предположим, ваш guest
это веб-сервер, то вам нужно перенаправить порт 80 с host
в порт 80 из guest
так что каждый запрос на порт 80 на публичном IP будет перенаправлен на порт 80 guest
,
Предположим, вы назначили общедоступный ip для eth0 и ваш guest
IP-адрес 192.168.1.2, то вы должны сказать host
что он должен делать NAT/MASQUERADE, чтобы виртуальные машины имели доступ к Интернету. Вы также должны сказать host
какие порты он должен перенаправлять на какой IP-адрес. Вы можете сослаться на следующий скрипт.
#!/bin/sh
GUEST_IP=192.168.1.2
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
### Port Forwarding ###
### web server
iptables -A PREROUTING -t nat -p tcp -i eth0 --dport 80 -j DNAT --to $GUEST_IP:80
### mail server
iptables -A PREROUTING -t nat -p tcp -i eth0 --dport 25 -j DNAT --to $GUEST_IP:25
iptables -A PREROUTING -t nat -p tcp -i eth0 --dport 143 -j DNAT --to $GUEST_IP:143
iptables -A PREROUTING -t nat -p tcp -i eth0 --dport 110 -j DNAT --to $GUEST_IP:110
Первые две команды включают Nat/Masquerad'ing на host
### Port Forwarding ###
Здесь вы кладете столько правил, сколько вам нужно. Это говорит host
переадресация определенных портов на определенные порты назначения на определенных IP-адресах назначения.
Вы должны думать о виртуализированной машине как о реальной машине. В вашей сети не должно быть двух компьютеров с одинаковым IP. Но вы можете использовать некоторые мосты, NAT, переадресацию портов, если ваша цель - скрыть присутствие виртуальной среды.