VXLAN

Материал из ALT Linux Wiki

Встала задача поменять туннели филиалов с ipsec на wireguard без возни с телефонией за NAT-ом — всех этих STUN/TURN и прочих непотребств. Пришлось осваивать L2 поверх L3.

Примеры проброса

Через WireGuard

В качестве адреса привязки VXLAN следует указывать IP другой стороны туннеля, а не собственный.

Скриптом

Сервер WireGuard wg 192.168.252.254/24
ip li a vxwg type vxlan id 50000 dstport 4789 dev wg
bridge fdb append to 00:00:00:00:00:00 dst 192.168.252.244 dev vxwg
ip a a 172.22.22.254/24 dev vxwg
ip li set up vxwg
VXLAN vxwg 172.22.22.254/24
Где Интерфейс Имя Адрес Команды в скрипте (отличия только в адресах)
Клиент WireGuard wg 192.168.252.244/24
ip li a vxwg type vxlan id 50000 dstport 4789 dev wg
bridge fdb append to 00:00:00:00:00:00 dst 192.168.252.254 dev vxwg
ip a a 172.22.22.244/24 dev vxwg
ip li set up vxwg
VXLAN vxwg 172.22.22.244/24

Проверить пробросы по мосту можно командой $ /sbin/bridge fdb show dev vxwg.

Посредством systemd-networkd

...заработало благодаря коллеге после задания опций Independent и ConfigureWithoutCarrier (см. ниже).

Показаны конфиги одной стороны: на другой следует просто поменять меж собой последние октеты обоих адресов в vxwg.network.

/etc/systemd/network/vxwg.netdev /etc/systemd/network/vxwg.network
[NetDev]
Name = vxwg
Kind = vxlan

[VXLAN]
VNI = 50000
Independent = true
DestinationPort = 4789
[Match]
Name = vxwg

[Network]
Address = 172.22.22.254/24
ConfigureWithoutCarrier = yes

[BridgeFDB]
MACAddress = 00:00:00:00:00:00
Destination = 192.168.252.244
Мостов проброса bridge fdb (Forward DataBase) может быть больше одного — например, на общем сервере, до которого строятся туннели от филиалов. И задать их все можно как командами, так и добавочными секциями в vxwg.network.


Иные варианты

А вот пробросить VXLAN между адресами из разных подсетей, пусть и смаршрутизированных — к примеру, на работе (192.168.7.1) и дома (172.31.105.6) — не получается.

То есть, точки соединения должны быть как минимум в одной сети. Так что оно хоть и поверх L3, но в довольно стеснённых границах.

Обратная связь