397 liens privés
In NetworkManager: Edit Connections -> VPN -> (select the vpn configuration you would like to edit) -> Edit -> Routes -> Check the box that says "Use this connection only for resources on its network"
J'ai installé un OpenVpn sur mon serveur. J'ai également passé certains vhosts nginx (client mail, wiki, lecteur de flux rss...) en accès VPN uniquement.
Par exemple, cld.jeekajoo.eu
(instance cozy cloud dans un LXC) pointe sur une IP privée dans le tunnel VPN. Je fais donc écouter le vhost correspondant sur cette IP.
$ dig A cld.jeekajoo.eu +short
10.8.0.1
J'ai juste besoin d'accèder à ce réseau et je n'ai pas besoin que tout mon traffic soit envoyé via ce VPN. Par défaut, NetworkManager active l'option redirect-gateway
même si celle-ci n'est pas inscrite dans le fichier ovpn qu'on lui fait manger pour configurer la connexion VPN en question (et même si le serveur est correctement configuré). Il faut donc cocher la case indiquée dans la citation tout en haut.
Au niveau de la configuration nginx, j'inclue ces 4 fichiers suivant les vhosts / protocoles associés:
$ cat listen_ovpn_443
listen 10.8.0.1:443 ssl;
$ cat listen_ovpn_80
listen 10.8.0.1:80;
$ cat listen_public_443
listen 195.154.170.105:443 ssl;
listen [::]:443 ssl;
$ cat listen_public_80
listen 195.154.170.105:80;
listen [::]:80;
C'est indispensable de tout préciser pour tous les vhosts, même pour ceux dont l'accès est publique. Car sinon le SNI s'emmêle les pinceaux et on peut tomber sur le mauvais vhost. Ce qui compte c'est d'écouter spécifiquement sur la même IP que celle indiquée par l'entrée DNS du vhost cible. Enfin, notez qu'avec ma conf, l'accès aux sites via le VPN ne peut se faire qu'en IPv4. Mais c'est pas grave, c'est du local et c'est que pour moi.