Могу ли я потерять три 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

    Windows BSOD при включении всех ядер процессора

    Как создать загрузочный раздел восстановления для восстановления раздела Windows 7, как сейчас

    Какое использование используется для «размещения нового»?

    Как я могу отправить себе электронное письмо, которое становится текстовым файлом на моем жестком диске (или в Dropbox)?

    Могут ли Robocopy отслеживать файлы с увеличением времени менее одной минуты?

    Как можно сделать брандмауэр Windows XP для блокировки определенного приложения?

    Предотвратите запуск iTunes, когда iPhone подключен к Mac

    Как каскадировать окна по вертикали или по горизонтали в Windows 7?

    Как добавить публичные (внешние) IP-адреса в мою личную сеть (контроллер домена Windows)

    Есть ли инструменты для выравнивания динамических дисков в Windows 7?

    Сетевой адаптер отсутствует в Windows 7. Что можно сделать, чтобы исправить это?

    Разрешения для файлов в Windows XP

    Перемещение Windows XP на новый ПК

    Использование нескольких клавиатур с разной раскладкой клавиатуры в Windows

    Как синхронизировать SkyDrive / OneDrive в Windows 8.1 при входе на ПК с локальной учетной записью?

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