Вопрос: OpenVPN со смешанными клиентами ipv4 и ipv6


У меня есть VPN-сервер, обрабатывающий различные клиенты; некоторые с ipv4, некоторые с ipv4 и ipv6, а некоторые из них будут только ipv6. Некоторые из этих клиентов роуминг, поэтому в идеале они должны подключиться к ipv6, если они доступны, и вернуться к ipv4, если это не так.

В моей текущей настройке OpenVPN прослушивает ipv4 и ipv6:

proto udp
proto udp6
dev tun

Мой первый вопрос здесь: в то время как это, похоже, работает, безопасно ли и правильно иметь оба прото в одном файле конфигурации?

Мои клиенты имеют два удаленных экземпляра в конфигурации:

remote vpn.domain.tld port udp6
remote vpn.domain.tld port udp

Мой вопрос здесь также, поскольку это, кажется, работает (сначала попробуйте udp6, если это не сработает, вернется к udp), это хороший способ сделать это?


6
2017-12-11 11:41


Источник




Ответы:


Что ж.

На стороне сервера указание «proto» дважды на самом деле ничего не делает - «proto udp6» заставит его связывать двухъядерный сокет для обработки v4 + v6, перезаписывая «proto udp» в предыдущей строке.

На клиенте 2.3, имеющем два пульта дистанционного управления, с «udp6» и «udp» - это путь, так как старый код сокета не может нормально восстановиться.

На клиенте git master (2.4-to-be) или 3.0 (OpenVPN Connect) вы можете просто использовать «udp», поскольку он будет правильно вызывать getaddrinfo () и использовать любой протокол IP, поддерживаемый сервером и сетью, сначала пробуя одну семью и переходя к другому, используя предпочтение сигналов ОС (через getaddrinfo ()).

Герт


7
2017-12-11 13:51



FYI на OpenVPN до 2.4 вы не можете делать двойной стек. Установка «proto udp6» не привязывается к двойному стекю. На OpenVPN 2.4 вы можете просто использовать «proto udp», как указано. - Ben Franske