OpenVPN avec des clients mixtes ipv4 et ipv6

11

J'ai un serveur VPN gérant divers clients; certains avec ipv4 uniquement, certains avec ipv4 et ipv6, et certains qui seront uniquement ipv6. Certains de ces clients sont en itinérance, donc idéalement, ils devraient se connecter à ipv6 s'il est disponible et revenir à ipv4 s'il ne l'est pas.

Dans ma configuration actuelle, OpenVPN écoute ipv4 et ipv6:

proto udp
proto udp6
dev tun

Ma première question est ici: bien que cela semble fonctionner, est-il sûr et correct d'avoir les deux proto dans un fichier de configuration?

Mes clients ont deux instances distantes dans la configuration:

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

Ma question ici aussi, car cela semble fonctionner (essayer d'abord udp6, si cela échoue reviendra à udp), est-ce un bon moyen de le faire?

Tuinslak
la source

Réponses:

11

Bien.

Côté serveur, spécifier deux fois "proto" ne fait rien - "proto udp6" le fera lier un socket à double pile pour gérer v4 + v6, écrasant le "proto udp" dans la ligne précédente.

Sur un client 2.3, avoir deux télécommandes, avec "udp6" et "udp" est la voie à suivre, car l'ancien code de socket ne peut pas basculer lui-même correctement.

Sur un client git master (2.4-to-be) ou 3.0 (OpenVPN Connect), vous pouvez simplement utiliser "udp" car il appellera correctement getaddrinfo () et utilisera le protocole IP pris en charge par le serveur et le réseau, en essayant d'abord une famille et tomber sur l'autre, en utilisant la préférence des signaux du système d'exploitation (via l'ordre des résultats getaddrinfo ()).

gert

user2156968
la source
Pour info sur OpenVPN avant la 2.4, vous ne pouvez pas faire de double pile. La définition de "proto udp6" ne se liera pas à la double pile. Sur OpenVPN 2.4, vous pouvez simplement utiliser "proto udp" comme indiqué.
Ben Franske
J'ai trouvé plusieurs documentations contradictoires pour ce sujet. Dans la configuration pratique, "proto udp6" dans OpenVPN 2.4 entraîne une double pile. C'est du moins le comportement de mon serveur. Au moins wiki.archlinux.org/index.php/… indique la même chose.
Martin