На решенном корневом сервере с 1 + X общедоступными IP-адресами в размещенной среде, на котором запущен Debian Lenny с Xen 3.2, я хочу установить несколько domU. Мостовой сетевой маршрут не подходит из-за требований хостинговой компании. Они рекомендуют маршрутизируемую настройку, но, насколько я понимаю, для этого требуется потратить два общедоступных IP-адреса на dom0, чего я не могу себе позволить.
В моей настройке X domUs будут иметь общедоступный IP-адрес и должны быть доступны из сети. Другие domU должны находиться в частных подсетях (например, 10.0.. / 192.168..) и недоступны извне. domU в одних и тех же частных подсетях должны иметь возможность связываться друг с другом, но не domU в других частных подсетях. Плюс будет, если весь трафик (включая domU с общедоступными IP-адресами) будет маршрутизироваться через dom0, который может действовать как межсетевой экран (iptables?).
Есть ли кто-нибудь, у кого такая же настройка, как у меня, и кто готов поделиться некоторыми файлами конфигурации и советами?
Я установил то же самое. Мы сделали NAT. Это определенно то, что вы ищете. У вас должен быть сценарий в dom0, преобразовывающий трафик общедоступных IP-адресов в соответствующие частные IP-адреса. Очевидно, вы можете применить правила брандмауэра в процессе.
Для NAT публичных IP-адресов достаточно одной строки:
iptables -t nat -A PREROUTING -i eth0 -d PUBLICIP -j DNAT --to-destination INTERNALIP
Повторите этот процесс для каждого общедоступного IP-адреса и добавьте правила брандмауэра, если хотите.
Маскировка виртуальных машин:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Вы должны установить два моста на dom0. Вы можете использовать стандартные записи в /etc/network/interfaces
для этого. Предположим, что ваша настоящая карта - eth0 (и за ней стоит DHCP-сервер), и у вас есть bridge-utils
установлены. Файл мог выглядеть так:
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_maxwait 0
auto br1
iface br1 inet static
bridge_ports none
bridge_maxwait 0
address 192.168.0.1
netmask 255.255.255.0
Вы настраиваете /etc/xen/xend-config.sxp
с network-brigde и vif-bridge. В каждом файле конфигурации domU вы выбираете, хотите ли вы, чтобы он имел прямой внешний доступ (через br0) или он должен получать доступ только через br1. Для этого вы можете использовать такие строки vif:
vif = ['bridge=br0']
vif = ['bridge=br1']
Конечно, вам все равно нужно настроить NAT / маскарадинг для br1, и сетевая конфигурация domU должна совпадать (т.е. те, что на br0, должны использовать DHCP, а те, что на br1, должны иметь статический IP в моем примере выше).
Мостовой сетевой маршрут не подходит из-за требований хостинговой компании.
Мне просто интересно, я понятия не имею, сработает ли это, но вы исследовали возможность использования прокси-сервер подходить?