Я потратил несколько дней, пытаясь найти решение своей проблемы, и хочу поделиться своими знаниями, чтобы другие не столкнулись с тем же. У меня особая продвинутая настройка VLAN, так как мой провайдер выдает мне IP-транк с VLAN, который приходит на один и тот же физический switch1, что и другие серверы (плохая связка, я знаю). Я разделяю порты на VLAN: ISP1 входит на порт 1/VLAN100, ISP2 — на порт 2/VLAN101, далее транк на физический switch2, где стоит сервер Proxmox1. Внутри Proxmox есть сетевая карта с vmbr0, настроенная с поддержкой VLAN. На Proxmox1 стоит фаервол Pfsense, который выполняет функции маршрутизатора L3 и содержит все VLAN (пользовательские VLAN 2,3,4,5 и ISP VLAN 100 и 101). Пока проблем нет — все интерфейсы на IPv4 работают, трафик между VLAN и интернетом маршрутизируется нормально. ВМ и физические ПК работают без проблем на IPv4. Всем назначаются IPv4-адреса от DHCPv4-сервера pfsense. Все счастливы.
Поскольку у моих провайдеров есть Native IPv6 с Carrier Grade NAT, я решил добавить IPv6 и запустить Dual IP, чтобы использовать преимущества IPv6. Настройка pfsense довольно простая, на все интерфейсы приходит /64 (провайдер выдает /48), и вроде всё работает — до тех пор, пока я не пытаюсь использовать DHCPv6 и Router Advertisements. Ни один клиент — ни ВМ, ни физический ПК — не получает IPv6-адреса от DHCPv6-сервера, маршруты не устанавливаются. Через несколько часов ПК/ВМ получают SLAAC-адреса, но маршруты так и не появляются. Я в недоумении и начинаю проверять таблицу VLAN — ошибок вроде нет, тогда вхожу в proxmox и создаю Linux VLAN для всех VLAN. Результат — ноль. После нескольких перезагрузок proxmox-серверов, свитчей и фаервола ситуация не меняется. Нет IPv6-адресов через DHCPv6, но есть странные SLAAC. На IPv6 ни один ПК/ВМ маршрутизироваться не может. При этом на IPv4 всё работает без сбоев.
Я развернул новый pfsense на физической машине — и проблема исчезла при той же конфигурации. Значит, проблема в сетевых настройках Proxmox. Я перепробовал всевозможные варианты, чтобы заставить IPv6 в Proxmox работать, и выяснил, что Open vSwitch таких проблем не вызывает. Перенёс всю конфигурацию на Open vSwitch с VLAN — и всё заработало! Все ВМ и ПК получают IPv6-адреса от DHCPv6-сервера вместе с RA.
Значит, получается, что поддержка vlan aware в Proxmox/Linux сломана, когда речь про IPv6? Есть кто-то, кто может опровергнуть мою теорию о «сломанной vlan aware»? Кстати, я могу воспроизвести эту ситуацию на тестовом сервере и тестовом свитче каждый раз.
Поскольку у моих провайдеров есть Native IPv6 с Carrier Grade NAT, я решил добавить IPv6 и запустить Dual IP, чтобы использовать преимущества IPv6. Настройка pfsense довольно простая, на все интерфейсы приходит /64 (провайдер выдает /48), и вроде всё работает — до тех пор, пока я не пытаюсь использовать DHCPv6 и Router Advertisements. Ни один клиент — ни ВМ, ни физический ПК — не получает IPv6-адреса от DHCPv6-сервера, маршруты не устанавливаются. Через несколько часов ПК/ВМ получают SLAAC-адреса, но маршруты так и не появляются. Я в недоумении и начинаю проверять таблицу VLAN — ошибок вроде нет, тогда вхожу в proxmox и создаю Linux VLAN для всех VLAN. Результат — ноль. После нескольких перезагрузок proxmox-серверов, свитчей и фаервола ситуация не меняется. Нет IPv6-адресов через DHCPv6, но есть странные SLAAC. На IPv6 ни один ПК/ВМ маршрутизироваться не может. При этом на IPv4 всё работает без сбоев.
Я развернул новый pfsense на физической машине — и проблема исчезла при той же конфигурации. Значит, проблема в сетевых настройках Proxmox. Я перепробовал всевозможные варианты, чтобы заставить IPv6 в Proxmox работать, и выяснил, что Open vSwitch таких проблем не вызывает. Перенёс всю конфигурацию на Open vSwitch с VLAN — и всё заработало! Все ВМ и ПК получают IPv6-адреса от DHCPv6-сервера вместе с RA.
Значит, получается, что поддержка vlan aware в Proxmox/Linux сломана, когда речь про IPv6? Есть кто-то, кто может опровергнуть мою теорию о «сломанной vlan aware»? Кстати, я могу воспроизвести эту ситуацию на тестовом сервере и тестовом свитче каждый раз.
