Connecté, icône verte dans la barre d’état et une page qui renvoie votre adresse et affiche toujours celle du fournisseur ne signifient pas automatiquement une panne. Un client fait deux travaux distincts : il construit un tunnel, et il modifie la table de routage. L’un peut se produire sans l’autre, et le routage sélectif est la configuration où le second est volontairement omis.

Ce que le client a réellement installé

Demandez quelle interface porterait un paquet vers une destination réelle plutôt que de demander si le tunnel est monté. Un tunnel sans route vers cette destination est une route privée que personne n’emprunte.

ip route get 9.9.9.9
Find-NetRoute -RemoteIPAddress 9.9.9.9
route print -4

La première commande répond sous Linux et macOS, et les deux autres sont les équivalents Windows, où une seule suffit. Si la réponse nomme l’adaptateur physique, le tunnel est monté et la route par défaut n’a jamais bougé. Répétez la vérification pour une destination qui devrait utiliser le tunnel, car deux vérifications, une lointaine et une ordinaire, indiquent quelle conception est déployée.

Trois formes de routage sélectif

Un profil de tunnel complet écrit généralement une route par défaut vers l’interface, ou écrit la paire de préfixes de demi-plage qui l’emportent par la longueur du préfixe tandis que la route par défaut d’origine reste dans la table. Le routage sélectif est l’autre choix, et il prend plusieurs formes. Un profil route un hôte unique comme un serveur RDP, un autre route une plage publique qu’il faut atteindre depuis un endroit précis, et un troisième exclut volontairement une application. Les trois sont légitimes, et aucun ne change l’adresse que voit un site ordinaire.

grep -nE "redirect-gateway|route-nopull|route " /etc/openvpn/client/*.conf
ip route show table main | head -20

Lisez le profil pour la directive qui décide, puis la table pour ce qu’elle a produit. Une directive poussée peut aussi être étouffée sur le client, c’est pourquoi le profil et la table doivent concorder avant que vous blâmiez le serveur.

L’autre côté doit réécrire l’adresse source

Il existe une seconde panne qui, depuis le navigateur, semble identique. La route mène dans le tunnel, le serveur reçoit les paquets, puis les transfère avec l’adresse privée du client intacte. Le saut suivant n’a aucun chemin de retour pour cette adresse, donc les réponses disparaissent et les pages se bloquent. Le serveur doit transférer tout court, et il doit traduire la source en quelque chose que l’internet peut router en retour.

sysctl net.ipv4.ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -S | grep MASQUERADE

Nommez l’interface qui regarde réellement vers l’internet, ce qui sur une distribution moderne n’est pas toujours eth0. Un serveur hébergé avec une adresse fixe peut traduire explicitement vers cette adresse au lieu d’utiliser masquerade. Les deux moitiés comptent, car le transfert sans traduction laisse fuir des sources non routables, tandis que la traduction sans transfert ne voit jamais le paquet.

La résolution de noms suit son propre chemin

Le trafic peut sortir par le tunnel tandis que la requête qui a trouvé le nom est allée vers un résolveur du réseau local. L’adresse visible reste la même, les requêtes non, et cet écart est exactement ce que choisit une conception de DNS scindé.

resolvectl status | head -20
resolvectl query example.org

Notez quel serveur a répondu et s’il diffère de la référence d’avant le tunnel. Sur un tunnel scindé, c’est généralement le réglage que les gens voulaient changer lorsqu’ils se plaignaient de l’adresse, et c’est celui qu’ils n’ont jamais regardé.

Quatre observations qui tranchent

Relevez l’adresse de sortie tunnel coupé, puis tunnel monté. Lancez la vérification de destination dans les deux états et notez l’interface à chaque fois.

curl -sS https://ifconfig.me/ip
ip route get 9.9.9.9

Quand la vérification tombe dans le tunnel et que l’écho affiche encore l’adresse du fournisseur, la traduction en sortie manque. Quand la vérification tombe sur l’adaptateur physique, le profil est sélectif et l’adresse publique n’a jamais été en jeu. Remplacez le service d’écho par un service de confiance et notez les quatre observations ensemble, car séparément ce sont des anecdotes. Ensemble, elles identifient lequel des deux travaux le client a réellement accompli.

Articles similaires