Назад | Перейти на главную страницу

Как я могу исправить эту неправильную / неполную настройку маршрутизации Xen?

У меня есть несколько хостов Xen, настроенных в мостовом режиме, чьи виртуальные машины используют общедоступные или частные IP-адреса:

Хост # 1

Хост # 2

Хост # 3

Виртуальные машины с общедоступными IP-адресами (3.3.3. *) Доступны из Интернета. Виртуальные машины с частными IP-адресами доступны друг из друга, и это желаемое поведение. Однако они не могут подключиться к Интернету, потому что в локальной подсети нет шлюза 10.0.2.1. Как я могу это исправить?

Одним из решений было бы настроить один сервер с интерфейсом 10.0.2.1 для работы в качестве NAT. Однако мне не нужен SPOF, и я бы хотел, чтобы каждый хост выполнял свой собственный NAT, используя общедоступный IP-адрес, назначенный dom0.

Я считаю, что это просто вопрос настройки iptables в dom0. Если это правильно, то как?

Я нашел следующее решение. Я все еще открыт для хороших альтернатив и подсказок.

На каждом хосте Xen:

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -m physdev --physdev-in vif5.0 -o eth0 \
    -j SNAT --to-source 3.3.3.71

На каждом domU, имеющем частный IP (10.0.2. *):

route add -net 3.3.3.0 netmask 255.255.255.0 dev eth0
route add default gw 3.3.3.71
route del default gw 10.0.2.1

Есть ли причина, по которой вы не подключаете DomU, которым необходим доступ в Интернет, к интернет-мостам?

Если вы этого не хотите - подключите один из ваших DomU, подключенных к Интернету, к "частным" мостам и установите на нем прокси (squid). Свяжитесь с этим прокси ...

Я не думаю, что подключать Dom0 к Интернету - хорошая идея, но у вас будут свои причины ...