Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

VXLAN_OVER_IPSEC_DROP Сетевое оборудование и VPN

Настройка туннелей VXLAN поверх IPsec: создание оверлейных L2-сетей

Обновлено: 25.08.2026 · Официальная документация ↗
  • Необходимость прозрачной передачи L2-трафика между нодами кластера в разных облачных провайдерах (Multi-Cloud).
  • Стандартный VXLAN передает трафик в открытом виде по UDP 4789 через публичный интернет.
  • Сетевые сбои кластера и потеря пакетов из-за гигантского оверхеда заголовков (Double Encapsulation: VXLAN + IPsec).
  • Сброс мультикаст-трафика (Multicast/Broadcast) промежуточными провайдерами.

1. Архитектура VXLAN over IPsec

VXLAN (RFC 7348) инкапсулирует L2 Ethernet-фреймы в UDP-пакеты на порт 4789 с добавлением 24-битного идентификатора VNI (до 16 млн сетей). Для защиты данных трафик узлов VTEP (VXLAN Tunnel Endpoints) шифруется протоколом IPsec в транспортном режиме (Transport Mode).

2. Настройка IPsec Transport Mode в Linux (Нода-1)

В файле /etc/swanctl/swanctl.conf настраиваем шифрование только порта VXLAN (UDP 4789):

connections {
    ipsec-vxlan {
        local_addrs = 198.51.100.10
        remote_addrs = 203.0.113.20
        mode = transport
        children {
            vxlan-secure {
                proto = udp
                local_ts = 198.51.100.10[4789]
                remote_ts = 203.0.113.20[4789]
                esp = aes256gcm128!
            }
        }
    }
}

3. Создание интерфейса VXLAN и сетевого моста (Нода-1)

# 1. Создание интерфейса VXLAN с прямым указанием удаленного VTEP (Unicast mode)
ip link add vxlan10 type vxlan id 10 dev eth0 \
    local 198.51.100.10 remote 203.0.113.20 dstport 4789

# 2. Создание L2-моста и добавление интерфейсов
ip link add br-overlay type bridge
ip link set dev vxlan10 master br-overlay

# 3. Назначение MTU с учетом двойного оверхеда (1500 - 50 IPsec - 50 VXLAN = 1400)
ip link set dev vxlan10 mtu 1400
ip link set dev br-overlay mtu 1400

# 4. Активация интерфейсов
ip link set dev vxlan10 up
ip link set dev br-overlay up

# 5. Назначение внутреннего IP кластера
ip addr add 10.240.0.1/24 dev br-overlay

4. Ответная конфигурация (Нода-2)

ip link add vxlan10 type vxlan id 10 dev eth0 \
    local 203.0.113.20 remote 198.51.100.10 dstport 4789
ip link add br-overlay type bridge
ip link set dev vxlan10 master br-overlay
ip link set dev vxlan10 mtu 1400
ip link set dev br-overlay mtu 1400
ip link set dev vxlan10 up
ip link set dev br-overlay up
ip addr add 10.240.0.2/24 dev br-overlay

5. Проверка целостности и шифрования

# Захват внешнего трафика (должен быть виден только протокол ESP)
tcpdump -nn -i eth0 host 203.0.113.20

# Проверка передачи внутри моста
ping -I br-overlay 10.240.0.2
💡 Практика специалистов: При настройке VXLAN в Linux всегда явно указывайте параметр dstport 4789. По историческим причинам ядро Linux по умолчанию использовало нестандартный порт 8472, который блокируется межсетевыми экранами оборудования других вендоров.

Частые вопросы (FAQ)

Почему для шифрования VXLAN используется IPsec Transport Mode, а не Tunnel Mode?

Transport Mode шифрует только полезную нагрузку UDP-пакета, сохраняя исходные IP-адреса хостов, что исключает добавление второго внешнего IP-заголовка и экономит 20 байт MTU.

Как избежать проблем с фрагментацией при использовании VXLAN over IPsec?

Суммарный оверхед заголовков (IP + UDP + VXLAN + ESP + Auth) составляет около 100 байт. Всегда устанавливайте MTU на оверлейных виртуальных интерфейсах не выше 1400 байт.

Поддерживает ли такая схема передачу Broadcast/Multicast (например, ARP)?

Да, интерфейс VXLAN преобразует локальные широковещательные L2-запросы (ARP/DHCP) в направленные Unicast UDP-пакеты к удаленному VTEP, после чего они шифруются IPsec.

Можно ли объединить более двух площадок в одну сеть VXLAN?

Да, для этого настраивается таблица сопоставления FDB (Forwarding Database) через утилиту bridge fdb или поднимается протокол динамического обнаружения EVPN (через BGP/FRRouting).

Полезные материалы
Рекомендуем