OpenVPN со смешанными клиентами ipv4 и ipv6

11

У меня есть 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), это хороший способ сделать это?

Tuinslak
источник

Ответы:

11

Хорошо.

На стороне сервера, указание дважды «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 ()).

Герт

user2156968
источник
К вашему сведению на OpenVPN до 2.4 вы не можете сделать двойной стек. Установка «proto udp6» не будет привязана к двойному стеку. На OpenVPN 2.4 вы можете просто использовать «proto udp», как указано.
Бен Франске
Я нашел несколько противоречивых документов по этой теме. В практической настройке «proto udp6» в OpenVPN 2.4 получается двойной стек. По крайней мере, это поведение моего сервера. По крайней мере, wiki.archlinux.org/index.php/… утверждает то же самое.
Мартин