Я пытаюсь обновить сервер openvpn, и у меня возникла проблема с конфигурацией IPv6. Я не могу понять, как настроить интерфейс ответвления без адреса IPv6 и при этом иметь возможность назначать адреса IPv6 подключенным клиентам.
По причинам, связанным со структурой или нашей сетью, VPN имеет быть в режиме моста (интерфейс касания), и вся маршрутизация от / к VPN-клиентам выполняется на отдельном маршрутизаторе (сервер openvpn — это выделенный Linux-бокс, который я использую только для разгрузки обработки VPN с этого маршрутизатора, он не выполняет маршрутизацию / пересылка сама по себе).
В моей текущей настройке виртуальные интерфейсы крана не имеют адресов IPv4 или IPv6, они соединены мостом с физическими интерфейсами или интерфейсами VLAN, и клиенты видят только адреса маршрутизатора. Коробка openvpn просто раздает адреса IPv4/IPv6 клиентам при их подключении.
Выдержка из моей текущей конфигурации сервера (только соответствующие части):
разработчик Tap-VPN
[...]
сервер-мост 192.0.2.1 255.255.255.128 192.0.2.11 192.0.2.40
тун-ipv6
ifconfig-ipv6 2001:db8:1234:5678::1/64 2001:db8:1234:5678::1
ifconfig-ipv6-пул 2001:db8:1234:5678::11/64
[...]
нажмите "tun-ipv6"
нажмите "маршрут 192.xyz"
нажмите "маршрут-ipv6 2001:db8:1234:4321::/64"
Это работает точно так, как ожидалось в OpenVPN 2.3: коробка не имеет адреса, привязанного к интерфейсу tap-vpn, и распределяет адреса IPv4 192.0.2.11 - 192.0.2.40 и IPv6, начиная с 2001:db8:1234:5678::11, и это отправляет маршруты клиентам, как и ожидалось, со шлюзами 192.0.2.1 и 2001:db8:1234:5678::1 .
Из соображений безопасности я отключил IPv6 на уровне ядра на этом интерфейсе:
эхо 1 >/proc/sys/net/ipv6/conf/tap-vpn/disable_ipv6
Обновление до более поздней версии нарушает эту настройку в том смысле, что ifconfig-ipv6 в настоящее время хочет для назначения IPv6-адреса интерфейсу, а отключение IPv6 на уровне ядра просто предотвращает запуск openvpn. Удаление ifconfig-ipv6 директива также невозможна, т.к. ifconfig-ipv6-пул нуждается в этом.
Я знаю, что tun-ipv6 сейчас устарел, но его удаление/добавление ничего не меняет. Я прочитал различную документацию, включая, конечно, справочную страницу, и просмотрел это, это и это thread, но ни один из них, похоже, не решает мою проблему.
Если действительно невозможно выполнить настройку, которую я намереваюсь выполнить, то я найду другие способы защиты VPN-машины, такие как локальный брандмауэр, но я бы счел более элегантным просто не иметь IPv6-адреса на кране (например, у меня нет IPv4) и просто используйте его как компонент моста.
FWIW, я использую slackware64 15.0 на мини-ПК PCEngines APU, но проблема, вероятно, не на уровне ОС.
Любая помощь или указатель на рабочий пример будут высоко оценены.