маршрутизировать весь трафик через туннель gre

У меня есть openvswitch sw1 с подсетью 10.207.39.0/24, к которой подключены контейнеры lxc, и у меня есть то же самое на другом физическом сервере, и я успешно подключил их с помощью туннеля GRE. Однако контейнеры lxc имеют дополнительные порты на дополнительных коммутаторах openvswitch, например. sw4 с подсетью 192.220.39.0/24, и я хочу направить этот трафик через один туннель gre на sw1, потому что есть только один физический интерфейс, и невозможно иметь несколько туннелей gre на каждом openvswitch с одинаковыми конечными точками IP-адреса физического интерфейса. Можно ли направить трафик на другие коммутаторы openvswitch через туннель gre на sw1? Или есть лучший способ соединить несколько подсетей в контейнерах lxc на двух физических хостах? Спасибо.


person gstanden    schedule 06.06.2017    source источник


Ответы (1)


Я решил это «сам» - с помощью двух ссылок, приведенных ниже - (после сна и неустанных поисков в Google в течение нескольких разочаровывающих дней).

Я понимаю, что решение довольно простое и будет понятно профессионалу в области сетей. Я являюсь администратором баз данных Oracle и знаю о сети ровно столько, сколько мне нужно для работы с программным обеспечением orabuntu-lxc, контейнерами LXC и программным обеспечением Oracle, поэтому имейте это в виду, если приведенное ниже «очевидно» — для меня это не было очевидным. в моем сетевом невежестве.

Я получил подсказку о том, как решить фактические шаги из этого сообщения в блоге:

http://www.cnblogs.com/popsuper1982/p/3800548.html

Я подтвердил, что любая подсеть должна маршрутизироваться через туннель GRE из этого сообщения в блоге (что дало мне надежду продолжить работу над решением):

https://supportforums.adtran.com/thread/1408

В частности, автор заявил в комментарии adtran, что «туннели GRE не имеют ограничений на типы трафика, который может через них проходить. Он может маршрутизировать несколько подсетей без нескольких туннелей».

В этом посте мне сообщалось, что решение, скорее всего, было решением для маршрутизации и что для этого варианта использования потребуется только один туннель GRE.

Обратите внимание, что эта функция «отсутствия ограничений» на типы трафика отлично подходит для Oracle RAC, потому что нам нужно иметь возможность отправлять многоадресные рассылки по туннелю GRE для RAC.

Этот вариант использования:

Я создаю инфраструктуру Oracle RAC для работы в контейнерах LXC Linux. У меня есть общедоступная сеть 10.207.39.0/24 на openvswitch sw1 и частная сеть межсоединений RAC 192.220.39.0/24 на openvswitch sw4. Я хочу иметь возможность создавать RAC в контейнерах LXC linux, охватывающих несколько физических хостов, поэтому я создал туннель GRE для подключения конечной точки туннеля 10.207.39.1 на колоссе к конечной точке туннеля 10.207.39.5 на Guardian.

Вот подробности настройки:

Хозяин «хранитель»:

Беспроводной физический сетевой интерфейс LAN: wlp4s0 (IP 192.168.1.11)

sw1 10.207.39.5

sw4 192.220.39.5

Хост "колосс":

Беспроводной физический сетевой интерфейс LAN: wlp4s0 (IP 192.168.1.15)

sw1 10.207.39.1

sw4 192.220.39.1

Шаг 1:

Создайте туннель GRE между коммутаторами sw1 openvswitch на обоих физических хостах с конечными точками физического интерфейса беспроводной локальной сети:

Хост «хранитель»: создайте физические хосты туннеля gre (хранитель --> колосс).

sudo ovs-vsctl add-port sw1 gre0 -- установить интерфейс gre0 type=gre options:remote_ip=192.168.1.15

Host "colossus": Создайте физические хосты туннеля gre (colossus --> Guardian).

sudo ovs-vsctl add-port sw1 gre0 -- установить интерфейс gre0 type=gre options:remote_ip=192.168.1.11

Шаг 2:

Направьте сеть 192.220.39.0/24 через установленный туннель GRE, как показано ниже:

Хост-хранитель: маршрут 192.220.39.0/24 openvswitch sw4 через туннель GRE:

sudo route add -net 192.220.39.0/24 gw 10.207.39.5 dev sw1

Хост "колосс": маршрут 192.220.39.0/24 openvswitch sw4 через туннель GRE:

sudo route add -net 192.220.39.0/24 gw 10.207.39.1 dev sw1

Примечание. Чтобы добавить дополнительные подсети, повторите шаг 2 для каждой подсети.

Примечание по MTU:

Кроме того, вы должны разрешить инкапсуляцию GRE в MTU, если хотите использовать ssh через эти туннели.

Поэтому в приведенном выше примере для основного туннеля GRE, соединяющего хосты, нам нужно установить MTU равным 1420, чтобы разрешить 80 для заголовка GRE.

MTU на виртуальных интерфейсах контейнера LXC на коммутаторах sw1 необходимо установить на MTU=1420 в файлах конфигурации контейнера LXC.

MTU на виртуальных интерфейсах контейнера LXC на коммутаторах sw4 необходимо установить на MTU=1420 в файлах конфигурации контейнера LXC.

Обратите внимание, что MTU на openvswitches sw1 и sw4 должен автоматически устанавливаться равным MTU на интерфейсах LXC, пока ВСЕ виртуальные интерфейсы LXC установлены на новые более низкие значения MTU, поэтому явно устанавливать MTU на самих openvswitches sw1 и sw4 не следует. нужно.

Если по-прежнему возникают проблемы с SSH через туннели, но ping работает между хостами и контейнерами, перепроверьте все настройки MTU на виртуальных интерфейсах и openvswitches и перепроверьте.

person gstanden    schedule 07.06.2017