- Вопрос или проблема
- Ответ или решение
- Проблема Расширения Сетей на Основе VLAN Через VXLAN на Linux
- Как Linux Обрабатывает Тэгирование и Инкапсуляцию
- 1. Тэгирование VLAN
- 2. Инкапсуляция VXLAN
- Возможные Причины Проблемы и Решения
- 1. Ошибка в Настройке
- 2. Мосты и VLAN
- 3. Маршрутизация и Правила IPTables
- 4. Проверка Канала Связи
- Заключение
Вопрос или проблема
Я пытаюсь расширить сеть второго уровня (Vlan) через сеть третьего уровня, используя туннели vxlan… я настроил лабораторию, где у меня есть две виртуальные машины, где:
- Я создал туннель vxlan между 2 основными интерфейсами ВМ
- Я создал 2 подсистемы vlan под вторым интерфейсом для каждой машины
- Я связал каждую подсистему vlan с подсистемой vxlan в отдельных мостах для каждой машины
- Я назначил IP-адрес каждому мосту (10.1.100.1/24, 10.1.100.2/24, 10.1.100.3/24, 10.1.100.4/24)
===> Теперь, когда я пытаюсь выполнить ping с одного моста на другой (с тем же тегом vlan), это не работает
[root@Asguard ~]# ping 192.168.100.1 -I 192.168.100.3
PING 192.168.100.1 (192.168.100.1) с 192.168.100.3 : 56(84) байт данных.
С 192.168.100.3 icmp_seq=10 Хост назначения недоступен
ping: sendmsg: Нет маршрута к хосту
С 192.168.100.3 icmp_seq=11 Хост назначения недоступен
С 192.168.100.3 icmp_seq=12 Хост назначения недоступен
С 192.168.100.3 icmp_seq=14 Хост назначения недоступен
С 192.168.100.3 icmp_seq=15 Хост назначения недоступен
С 192.168.100.3 icmp_seq=16 Хост назначения недоступен
С 192.168.100.3 icmp_seq=17 Хост назначения недоступен
Это скрипт, который я запускаю на каждой ВМ
ВМ1 :
#!/bin/bash
# Настройка моста и интерфейса
ip link add br10 type bridge
ip link add br20 type bridge
ip link set br10 up
ip link set br20 up
# VLAN 10 на мосту br10
ip link add link enp0s9 name enp0s9.10 type vlan id 10
ip link set enp0s9.10 master br10
ip link set enp0s9.10 up
# VLAN 20 на мосту br20
ip link add link enp0s9 name enp0s9.20 type vlan id 20
ip link set enp0s9.20 master br20
ip link set enp0s9.20 up
# VXLAN на обоих мостах
ip link set vxlan1000 master br10
ip link set vxlan1000 up
#ip link add vxlan1000_2 type vxlan id 1000 dev enp0s3 remote 10.1.25.235 dstport 4789
ip link set vxlan1000 master br20
ip link set vxlan1000 up
ip addr add 192.168.100.1/24 dev br10
ip addr add 192.168.100.2/24 dev br20
ВМ2
#!/bin/bash
# Настройка моста и интерфейса
ip link add br11 type bridge
ip link add br22 type bridge
ip link set br11 up
ip link set br22 up
# VLAN 10 на мосту br10
ip link add link enp0s8 name enp0s8.10 type vlan id 10
ip link set enp0s8.10 master br11
ip link set enp0s8.10 up
# VLAN 20 на мосту br20
ip link add link enp0s8 name enp0s8.20 type vlan id 20
ip link set enp0s8.20 master br22
ip link set enp0s8.20 up
# VXLAN на обоих мостах
ip link add vxlan1001 type vxlan id 1000 dev enp0s3 remote 10.1.25.31 dstport 4789
ip link set vxlan1001 master br11
ip link set vxlan1001 up
#ip link add vxlan1000_2 type vxlan id 1000 dev enp0s3 remote 10.1.25.235 dstport 4789
ip link set vxlan1001 master br22
ip link set vxlan1001 up
ip addr add 192.168.100.3/24 dev br11
ip addr add 192.168.100.4/24 dev br22
!!!
Я хочу знать, как Linux обрабатывает тегирование и инкапсуляцию, чтобы заставить их работать вместе для расширения vxlan
Ответ или решение
Проблема Расширения Сетей на Основе VLAN Через VXLAN на Linux
Контекст: Вы пытаетесь расширить сеть уровня 2 (VLAN) через сеть уровня 3, используя туннели VXLAN. У вас настроена лаборатория с двумя виртуальными машинами (VM), на которых вы создали туннель VXLAN между основными интерфейсами.
Во-первых, опишем вашу текущую настройку:
- Вы создали два моста (
br10
иbr20
на VM1 иbr11
иbr22
на VM2). - Подключили подинтерфейсы VLAN к соответствующим мостам.
- Создали туннели VXLAN для соединения мостов, используя указанные IP-адреса.
Вы испытываете трудности при пинге между мостами с одинаковым VLAN-идентификатором, получая сообщение об ошибке "Destination Host Unreachable".
Как Linux Обрабатывает Тэгирование и Инкапсуляцию
1. Тэгирование VLAN
Тэгирование VLAN в Linux осуществляется через использование подинтерфейсов, которые создаются на базовом интерфейсе с помощью команды ip link add link
. Каждому подинтерфейсу присваивается уникальный идентификатор VLAN. Трафик, отправляемый через эти подинтерфейсы, будет инкапсулирован с соответствующим тегом VLAN, что позволит ему проходить через сети, поддерживающие VLAN.
2. Инкапсуляция VXLAN
VXLAN – это способ инкапсуляции Ethernet-кадров в UDP для передачи по IP-сетям. Трафик сетей VLAN инкапсулируется в VXLAN-кадры. Каждый VXLAN имеет уникальный идентификатор (VXLAN Network Identifier – VNI), который используется для различения трафика разных VLAN.
Ваша инструкция создает VXLAN-интерфейсы, которые обрабатывают трафик, полученный через указанный основной интерфейс. Однако для корректной работы нужно убедиться, что все настройки верны.
Возможные Причины Проблемы и Решения
1. Ошибка в Настройке
Одной из первых причин, по которой вы можете не видеть общение между мостами, может быть неправильная конфигурация интерфейсов или маршрутизация. Проверьте, что оба VXLAN интерфейса правильно настроены и что они могут видеть друг друга. Убедитесь, что:
- Интерфейсы
vxlan1000
иvxlan1001
настроены с правильными удаленными адресами (проверьте их IP). - Проверьте, что вы используете тот же VNI в конфигурации, что и в VLAN.
2. Мосты и VLAN
Убедитесь, что все необходимые мосты активны и что VLAN правильно настроены. Когда вы создаете мосты, они должны видеть трафик, который проходит через соответствующий VXLAN. Выполните команду bridge link show
для проверки состояния.
3. Маршрутизация и Правила IPTables
Проверьте, что нет блокировок со стороны firewall (iptables). Убедитесь, что порты, используемые для VXLAN (по умолчанию UDP 4789), разрешены в обоих виртуальных машинах.
4. Проверка Канала Связи
Убедитесь, что обе виртуальные машины имеют правильные маршруты и могут добраться друг до друга на уровне IP. Выполните:
ip route
Чтобы убедиться, что маршруты верны.
Заключение
VXLAN позволяет расширять сети VLAN через высокоуровневые IP-сети, однако важно правильно настроить протоколы и маршрутизацию. Убедитесь, что интерфейсы правильно настроены и работают. Если вы продолжаете испытывать трудности, попробуйте временно отключить firewall, чтобы устранить влияние правил на соединение.