Хост и гость Xen, использующие один и тот же IP

Возможно ли для хоста Xen и гостя Xen использовать один и тот же IP-адрес (хотя и с разными портами)?

У нас есть один общедоступный IP-адрес, и мы хотим, чтобы его использовали и хост Xen (только в качестве хоста, никакой другой роли) и гость Xen.

Благодарю.

2 ответа

Решение

Для этого назначьте публичный ip на host система. Затем перешлите требуемый порт с host система для guest система.

Предположим, ваш guest это веб-сервер, то вам нужно перенаправить порт 80 с host в порт 80 из guest так что каждый запрос на порт 80 на публичном IP будет перенаправлен на порт 80 guest,

Предположим, вы назначили общедоступный ip для eth0 и ваш guestIP-адрес 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, переадресацию портов, если ваша цель - скрыть присутствие виртуальной среды.

Другие вопросы по тегам