Open vSwitch часть №11. GRE туннелирование

Open vSwitch — все статьи

Туннель GRE (Generic Routing Encapsulation) — это наиболее простой способ соединить несколько  изолированных коммутаторов находящихся на разных узлах. Данное решение  позволяет строить распределенную приватную сеть, «размазанную» по множеству физических узлов.  Open vSwitch
В самом простом виде это можно увидеть на рисунке ниже.
OpenVSwitch_Pic_1GRE туннелирование работает на канальном уровне и не имеет не каких средств шифрования трафика а так же проблематична работа через NAT.
Итак, у нас есть два физических узла, на каждом из которых будут по два коммутатора. Один из них будет обычным, с физическим интерфейсом, а другой будет изолированным.

Узел 1.

# ovs-vsctl add-br ovs-sw0
# ovs-vsctl add-port ovs-sw0 eth0
# ovs-vsctl add-port ovs-sw0 tun0
# ovs-vsctl set interface tun0 type=internal
# ifconfig tun0 192.168.1.151 netmask 255.255.255.0

Здесь, мы создаем коммутатор, подключаем в качестве порта физический интерфейс eth0, создаем постоянный виртуальный интерфейс tun0 и присваиваем ему IP-адресс (должен быть постоянным). Через интерфейс tun0 в дальнейшем будет настроен тунель.

Узел 2.

На втором узле будет отличаться только присваиваемый IP-адрес

# ifconfig tun0 192.168.1.152 netmask 255.255.255.0

Теперь создадим изолированные коммутаторы которые мы хотим соединить.

Узел 1.

# ovs-vsctl add-br is-br0
# ovs-vsctl add-port is-br0 tun1
# ovs-vsctl set interface tun1 type=internal
# ifconfig tun1 10.200.10.1 netmask 255.255.255.0

Здесь, мы создаем постоянный виртуальный интерфейс в изолированном коммутаторе, по средствам которого будет происходить взаимодействие в туннеле.

Узел 2.

На втором узле будет отличаться только присваиваемый IP-адрес

# ifconfig tun1 10.200.10.2 netmask 255.255.255.0

Теперь построим туннель.

Узел 1.

# ovs-vsctl add-port is-br0 gre0 — set interface gre0 type=gre options:remote_ip=192.168.1.152

Узел 2.

# ovs-vsctl add-port is-br0 gre0 — set interface gre0 type=gre options:remote_ip=192.168.1.151

Теперь ВМ включенные в изолированные коммутаторы is-br0, на обоих узлах, смогут взаимодействовать.