OpenVPN z mieszanymi klientami ipv4 i ipv6

11

Mam serwer VPN obsługujący różnych klientów; niektóre tylko z ipv4, niektóre z ipv4 i ipv6, a niektóre to tylko ipv6. Niektóre z tych klientów działają w roamingu, więc najlepiej powinny połączyć się z ipv6, jeśli jest dostępny, i wrócić do ipv4, jeśli nie jest dostępny.

W mojej obecnej konfiguracji OpenVPN nasłuchuje ipv4 i ipv6:

proto udp
proto udp6
dev tun

Moje pierwsze pytanie jest tutaj: chociaż wydaje się, że to działa, czy jest bezpieczne i poprawne mieć oba proto w jednym pliku konfiguracyjnym?

Moi klienci mają dwie zdalne instancje w konfiguracji:

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

Moje pytanie również tutaj, ponieważ wydaje się, że to działa (najpierw próba udp6, jeśli to się nie powiedzie, powróci do udp), czy to dobry sposób, aby to zrobić?

Tuinslak
źródło

Odpowiedzi:

11

Dobrze.

Po stronie serwera dwukrotne określenie „proto” w rzeczywistości nic nie robi - „proto udp6” spowoduje, że będzie on wiązał gniazdo z dwoma stosami do obsługi v4 + v6, zastępując „proto udp” w poprzednim wierszu.

Na kliencie 2.3 posiadanie dwóch pilotów, z „udp6” i „udp” jest dobrym rozwiązaniem, ponieważ stary kod gniazda nie może sam się przełączyć w tryb failover.

Na kliencie git master (przyszłe 2.4) lub 3.0 (OpenVPN Connect) możesz po prostu użyć „udp”, ponieważ poprawnie wywoła getaddrinfo () i użyje dowolnego protokołu IP obsługiwanego przez serwer i sieć, próbując najpierw jednej rodziny i przewracając się do drugiego, używając preferencji sygnałów systemu operacyjnego (poprzez porządkowanie wyników getaddrinfo ()).

gert

użytkownik2156968
źródło
FYI na OpenVPN przed wersją 2.4 nie możesz robić podwójnego stosu. Ustawienie „proto udp6” nie będzie wiązało się z podwójnym stosem. W OpenVPN 2.4 możesz po prostu użyć „proto udp”, jak wskazano.
Ben Franske
Znalazłem kilka sprzecznych dokumentacji na ten temat. W praktyce ustawienie „proto udp6” w OpenVPN 2.4 daje podwójny stos. Przynajmniej takie jest zachowanie mojego serwera. Przynajmniej wiki.archlinux.org/index.php/… stwierdza to samo.
Martin