Могу ли я потерять три IP-адреса в каждой сети при подключенной сетевой сети Xen?

Около месяца назад я задал этот вопрос на Superuser. Ответ там определенно работает, но я столкнулся с проблемой, о которой я раньше не думал.

Установки, которые я выполнял (на основе ранее упомянутого ответа), были

auto eth0 iface eth0 inet static address abcd netmask 255.255.255.0 network abc0 broadcast abc255 gateway abc254 auto xenbr0 iface xenbr0 inet static bridge_ports none address efg1 netmask 255.255.255.0 

Затем я бы сконфигурировал domUs использовать адрес в диапазоне, который был назначен мне центром данных. В частности, этот диапазон будет равен efg24 / 29, предоставляя мне 8 IP-адресов, доступных для domU. Шлюз будет мостом IP, откуда пакеты маршрутизируются через eth0 во внешний мир. Это сработало отлично.

Проблема, которую я понял пару дней назад, заключается в том, что domU никогда не смогут достичь таких адресов, как efg1, потому что это сам мост. Но что, если одному из domUs действительно нужен доступ к efg1 (фактический внешний IP)?

Итак, я начал перемещать все внутри сетей, которые мне были назначены. Проблема тогда заключалась в том, что с блоком / 29 я бы сохранил только 5 IP-адресов для domU:

 auto xenbr0 iface xenbr0 inet static bridge_ports none address efg25 netmask 255.255.255.248 

Я всегда теряю три адреса в своей сети (один для «сети», один для самого моста и один для широковещательного адреса). Я фактически не определял адрес сети и широковещания, но ifconfig прежнему показывает широковещательный адрес как 31 (последний IP-адрес в сети), и я не могу поместить мост по адресу 24 любым рабочим способом. Проблема становится еще хуже с сетью / 30, где у меня будет только один из четырех IP-адресов, доступных для domU (да, у меня также есть такая сеть).

Поскольку я плачу за IP-адрес, я хочу максимально эффективно использовать их. Затем я начал исследовать маршрутизацию Xen. Теперь я пытаюсь использовать vif-route и network-route в /etc/xen/xend-config.sxp чтобы создать такую ​​настройку, как:

  +-----------------------------+ +-------------+ | dom0 | | domU | | | | | -------eth0 vif1.0--------------eth0 | | abcd ???? | | efg24 | | | | | +-----------------------------+ +-------------+ 

Таким образом, датацентр отправит пакеты для моих IP-адресов в eth0 dom0, dom0 направит его на правильный vif, который передаст его в eth0 domU.

Независимо от того, что я пытаюсь, я не могу заставить его работать, без каких-либо значимых сообщений об ошибках, чтобы начать отладку. Два дня постоянного Гуглинга не помогли мне, и я сейчас смотрю в пустоту.

Я смотрю на это неправильно, или я просто настраиваю вещи неправомерно? Возможно ли такая настройка? Если да, то что я делаю неправильно?

    One Solution collect form web for “Могу ли я потерять три IP-адреса в каждой сети при подключенной сетевой сети Xen?”

    Мне удалось заставить его работать. Он не на 100% чист, как я хочу, но, по крайней мере, он функциональный.

    Мое решение в основном состоит из запуска моста с сетевой сетью 24 и без IP-адреса. Когда мост поднят, я вручную добавляю маршрут для блока / 29 IP, который я получил на моем сервере. В domUs я запускаю интерфейс с правильной сетью IP и a / 24 netmask, без шлюза. Когда интерфейс завершен, я вручную добавляю маршрут к адресу eth0 моего dom0 и делаю его шлюзом по умолчанию. Конечно, dom0 настроен для маршрутизации IP-пакетов между сетями.

    Dom0's /etc/network/interfaces

     ### The primary adapter ### # These settings are provided by the dServer host auto eth0 iface eth0 inet static address abcd netmask 255.255.255.0 network abc0 broadcast abc255 gateway abc254 ### Network bridges ### auto xenbr0 iface xenbr0 inet manual bridge_ports none network efg0 netmask 255.255.255.0 gateway abc254 ### Static routes ### # No route for efg0/24 was automatically set # I assume that's due to the bridge not having an IP address assigned up ip route add efgh/29 dev xenbr0 down ip route delete efgh/29 

    DomU /etc/network/interfaces

     # The primary network interface auto eth0 iface eth0 inet static address efgh netmask 255.255.255.0 # Static routing up ip route delete efg0/24 up ip route add abcd dev eth0 up ip route add default via abcd down ip route delete default via abcd dow ip route delete abcd 

    Включите маршрутизацию пакетов, убедившись, что это установлено в файле /etc/sysctl.d/xen-routing.conf (имя файла является произвольным, но должно заканчиваться на .conf)

     net.ipv4.ip_forward=1 

    После того, как вы это сделали, вы можете включить настройку, перезагрузившись или сделать это в Интернете с помощью

     sysctl -w net.ipv4.ip_forward=1 
    Interesting Posts

    Почему нам нужен непреложный class?

    Использование процессора Windows 10 Runtime Broker

    Получите все неединственные значения (то есть: дублировать / более одного вхождения) в массиве

    Windows 7 ПК не может найти ПК с Windows Vista

    Как я могу получить Acer Aspire E для загрузки с USB?

    Предотвращение спящего режима ПК Windows 7 во время загрузки

    Как отключить спящий режим через CMD?

    BSOD в Windows 7 Ultimate 64-бит

    Изменить параметры скорости / дуплекса NIC в сценарии?

    Как я могу использовать брандмауэр Windows, чтобы разрешить только службе Windows Update выполнять исходящее соединение?

    Каковы мои варианты для многоканального домашнего NAS?

    Могу ли я установить Windows 7 x64 на MacBook Air?

    Как заставить клавиши Ctrl + Left / Right работать прямо в tmux?

    Как заставить «вы действительно хотите отключить?» Диалог в Windows 7?

    Аппарат Windows 7 автоматически запускается при подключении к источнику питания

    Давайте будем гением компьютера.