Я сейчас играю с vxlans на ubuntu 18.04 и обнаружил что-то странное. У меня 2 сервера по 4 контейнера на каждом. Контейнеры подключаются к мостам br1 - br4. К соответствующим мостам подключены интерфейсы vx1 - vx4. Вся настройка выглядит так:
node1 node2
------- ------- ------- ------- ------- ------- ------- -------
| c1a | | c2a | | c3a | | c4a | | c1b | | c2b | | c3b | | c4b |
------- ------- ------- ------- ------- ------- ------- -------
| | | | | | | |
------- ------- ------- ------- ------- ------- ------- -------
| br1 | | br2 | | br3 | | br4 | | br1 | | br2 | | br3 | | br4 |
------- ------- ------- ------- ------- ------- ------- -------
| | | | | | | |
------- ------- ------- ------- ------- ------- ------- -------
| vx1 | | vx2 | | vx3 | | vx4 | | vx1 | | vx2 | | vx3 | | vx4 |
------- ------- ------- ------- ------- ------- ------- -------
| | | | | | | |
------------------------------- -------------------------------
| eth0 | | eth0 |
------------------------------- -------------------------------
| |
\-----------------------------------/
Интерфейсы на самих узлах такие же (по крайней мере, конфигурация мостов и vxlans) и выглядит так:
auto vx1
iface vx1 inet manual
mtu 1450
pre-up ip link add vx1 type vxlan id 2584 group 239.0.3.20 dstport 8472 port 32768 61000 dev eth0 || true
up ip link set vx1 up
down ip link set vx1 down
post-down ip link del vx1 || true
auto vx2
iface vx2 inet manual
mtu 1450
pre-up ip link add vx2 type vxlan id 1428 group 239.0.3.20 dstport 8472 port 32768 61000 dev eth0 || true
up ip link set vx2 up
down ip link set vx2 down
post-down ip link del vx2 || true
auto vx3
iface vx3 inet manual
mtu 1450
pre-up ip link add vx3 type vxlan id 2584 group 239.0.3.50 dstport 8472 port 32768 61000 dev eth0 || true
up ip link set vx3 up
down ip link set vx3 down
post-down ip link del vx3 || true
auto vx4
iface vx4 inet manual
mtu 1450
pre-up ip link add vx4 type vxlan id 58996 group 239.0.3.14 dstport 8472 port 32768 61000 dev eth0 || true
up ip link set vx4 up
down ip link set vx4 down
post-down ip link del vx4 || true
auto br1
iface br1 inet manual
bridge_ports vx1
bridge_stp off
bridge_fd 0
bridge_hello 2
bridge_maxage 12
auto br2
iface br2 inet manual
bridge_ports vx2
bridge_stp off
bridge_fd 0
bridge_hello 2
bridge_maxage 12
auto br3
iface br3 inet manual
bridge_ports vx3
bridge_stp off
bridge_fd 0
bridge_hello 2
bridge_maxage 12
auto br4
iface br4 inet manual
bridge_ports vx4
bridge_stp off
bridge_fd 0
bridge_hello 2
bridge_maxage 12
Эта настройка AFAIK должна работать (все vxlan имеют разные пары IP-адресов группы и идентификатора vxlan), но система не может настроить vx3 из-за дублирования идентификатора vxlan (независимо от того, используется ли другой IP-адрес группы). Есть ли какое-то исправление для этого или существует строгое ограничение. Идентификатор vxlan должен быть уникальным даже для нескольких IP-адресов группы?
Что с MTU нестандартного размера? Обычно VXLAN требует больших кадров для обработки дополнительных служебных данных заголовка VXLAN - не менее 1600, хотя мы всегда используем максимум (обычно 9000 или около того).
Два других комментария. Я не эксперт по VXLAN-on-Linux, извините, но разве вам не нужна какая-то форма TEP для каждого хоста VXLAN?
И почему именно VXLAN? Его уже заменила Женева?