У меня есть несколько хостов Linux, которые подключены через vxlan. Назовем их Host A, Host B и Host C. Конфигурация на каждом хосте аналогична этой:
# Определяем мост:
кошка << EOF > /etc/sysconfig/network-scripts/ifcfg-cloudbr0
УСТРОЙСТВО=cloudbr0
ТИП=Мост
ONBOOT=да
BOOTPROTO=статический
IPV6INIT=нет
IPV6_AUTOCONF=нет
ЗАДЕРЖКА=5
СТП=нет
USERCTL=нет
NM_CONTROLLED=нет
IP-АДРЕС=192.168.200.1
СЕТЕВАЯ МАСКА=255.255.255.0
DNS1=10.10.0.2
EOF
# Прочтите приведенный выше файл конфигурации и создайте мост
systemctl перезапустить сеть
# ВКСЛАН
ip link add vxlan100 type vxlan id 100 dstport 4789 local 10.10.128.84 group 224.10.0.1 dev eth0 ttl 5
brctl addif cloudbr0 vxlan100
настройка IP-ссылки dev vxlan100
В результате хосты A, B и C имеют по два IP-адреса: общедоступный (в подсети 10.10.0.0/16) и частный (в подсети 192.168.200.0/24). Частный адрес виден только другим хостам, настроенным с помощью vxlan. Хосты A, B и C могут пинговать общедоступные и частные адреса друг друга.
Далее мне нужно предоставить некоторым дополнительным хостам (хостам D, E и F) доступ к подсети vxlan, фактически не присоединяя их к подсети. Итак, я ищу какое-то решение для маршрутизации уровня 3.
Я включил переадресацию IP на хосте A, затем обновил соответствующие таблицы маршрутизации, чтобы дать хостам D, E и F маршруты к 192.168.200.0/24 через хост A. Это позволило хостам D, E и F пинговать хост A, используя либо его общедоступные или частные адреса, но они не могут связаться ни с одним из других адресов vxlan. По какой-то причине узел A не перенаправляет трафик в подсеть vxlan (иначе ответы не возвращаются).
Каков наилучший способ настроить маршрутизацию уровня 3 в/из подсети vxlan?