1

Мне был назначен блок /29 ips для выделенного сервера, который я арендую. Я хочу иметь возможность сохранить один из этих IP-адресов для управления самим сервером и перенаправить каждый из остальных в свою внутреннюю подсеть, чтобы несколько контейнеров OpenVZ могли совместно использовать публичные IP-адреса.

Например, у меня может быть два веб-сервера и два файловых сервера в 4 контейнерах. Это не те службы, которые будут запущены, но для удобства я буду их использовать. Я хочу, чтобы один из моих общедоступных IP-адресов (XX.XX.XX.2) указывал на два контейнера в подсети 192.168.2.0/24, а другой общедоступный IP-адрес (XX.XX.XX.3) указывал на контейнеры. в подсети 192.158.3.0/24. Связь между подсетями не требуется, но каждый контейнер должен иметь доступ к сети.

Я попытался использовать маршрутизацию на основе источника, как описано здесь, и NAT, как описано в вики OpenVZ, здесь безуспешно. Хост работает под управлением Centos 6, а каждая виртуальная машина работает под управлением Debian 7, если это имеет значение.

1 ответ1

0
  1. Настройте свои контейнеры openvz для использования мостовой сети (используя veth-интерфейсы).

  2. Создайте мост для каждой внутренней сети, к которой вы хотите подключить свои контейнеры (в вашем случае 2 моста, один для 192.168.2.0/24 и один для 192.168.3.0/24. Давайте назовем их br2 и br3).

  3. Дайте каждому мосту IP-адрес в правильной сети (например, br2 может быть 192.168.2.1 и br3 192.168.3.1)

  4. Настройте контейнеры, соединяющие их с соответствующими мостами.

    Например, подключите к br2 контейнеры, которые должны находиться в сети 192.168.2.0/24 (скажем, это CT1 и CT2), и к br3 те, которые вам нужны на 192.168.3.0/24 (скажем, они CT3 и CT4).

  5. Дайте каждому контейнеру IP-адрес в той же сети моста, к которому они подключены. Установите IP-адрес моста и шлюз по умолчанию.

    Например: CT1 и CT2 с IP 192.168.2.101 и 192.168.2.102. Их шлюз будет 192.168.2.1 (IP-адрес br2)

  6. Включить переадресацию ip на физический хост

  7. Настройте все общедоступные IP-адреса на интерфейсе физического хоста, подключенном к Интернету (скажем, это eth0), с правильной маской подсети.

  8. Настройте NAT для ваших CT следующим образом:

    iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j SNAT --to first.pulic.ip.address
    iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -o eth0 -j SNAT --to second.pulic.ip.address
    

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .