Как подключить два Open vSwitch моста, находящихся на разных хостах, в один?

У меня есть два арендованных сервера в Selectel, расположенные в разных зонах доступности, а также арендованная подсеть с маской /28. Возникает проблема: я могу подключить эту подсеть только в одной из зон доступности. Мне нужно использовать IP-адреса из этой подсети на виртуальных машинах, которые находятся на обоих серверах. Вот какое решение я на данный момент придумал: <br/>
  • 3 декабря 2024 г. 13:43
Ответы на вопрос 2
Подключение двух Open vSwitch (OVS) мостов, находящихся на разных хостах, в один виртуальный сетевой интерфейс для использования IP-адресов из одной подсети может быть реализовано через использование VPN, GRE или VXLAN туннелей. Вот возможный подход, который вы можете рассмотреть:

### Решение с использованием VXLAN

1. **Настройка Open vSwitch на обоих серверах**:
   - Убедитесь, что Open vSwitch установлен и запущен на обоих серверах.

2. **Создание мостов**:
   - Создайте мосты `br-int` на каждом сервере (или используйте уже существующие) и добавьте в них свои виртуальные машины.

   ```bash
   ovs-vsctl add-br br-int
   ```

3. **Настройка VXLAN туннелей**:
   - Настройте VXLAN на обоих серверах. Используйте команду `ovs-vxlan` для создания сетевого интерфейса VXLAN.

   На первом сервере (с IP-адресом `10.0.0.1`, например):

   ```bash
   ovs-vsctl add-port br-int vxlan0 -- \
       set Interface vxlan0 type=vxlan \
       options:remote_ip=10.0.0.2 options:key=flow
   ```

   На втором сервере (с IP-адресом `10.0.0.2`):

   ```bash
   ovs-vsctl add-port br-int vxlan0 -- \
       set Interface vxlan0 type=vxlan \
       options:remote_ip=10.0.0.1 options:key=flow
   ```

4. **Настройка IP-адресов на виртуальных машинах**:
   - Настройте виртуальные машины на обоих серверах так, чтобы они использовали IP-адреса из вашей арендованной подсети. Убедитесь, что у них есть правильные маршруты до других ВМ через виртуальные сети.

5. **Настройка маршрутизации и межсетевого взаимодействия**:
   - Убедитесь, что все необходимые правила межсетевого взаимодействия и маршрутизации настроены в ваших виртуальных машинах и на серверах.
   - Если требуется, настройте NAT или маршрутизация для других целей.

6. **Тестирование соединения**:
   - После настройки проверьте связь между виртуальными машинами на разных серверах, используя `ping`, `traceroute` и другие сетевые инструменты.

### Примечания
- Убедитесь, что используете подходящий протокол (например, UDP) и порты в вашем firewall на обоих серверах, чтобы разрешить трафик VxLAN.
- VXLAN позволяет создать виртуальные сетевые сегменты, которые легко расширяются на несколько хостов, и подходит для работы с облачными архитектурами.

Такое решение позволит вам использовать IP-адреса из одной подсети для виртуальных машин на двух разных серверах и обеспечит их взаимодействие через виртуальные каналы.
Дык - туннель прокопать надо :) 
VPN изначально для этого и был разработан - чтобы 2 подсети через публичный iNet соединять...
Убедившись, что IPSec между зонами нормально летает.

Что-то вроде
https://docs.openvswitch.org/en/latest/tutorials/ipsec/
Похожие вопросы