L’imprimante du bureau continue de fonctionner une fois le tunnel monté, tandis qu’un serveur de l’autre bureau se résout discrètement vers quelque chose de local. Les deux comportements viennent de la même règle : la route la plus spécifique gagne, et un préfixe directement connecté est aussi spécifique que possible. C’est en général le design souhaité, et c’est aussi ainsi qu’une plage privée en double vole une adresse distante. Lire d’abord le choix du noyau transforme une panne mystérieuse en comparaison de préfixes.

Un préfixe connecté est plus spécifique qu’une route par défaut

Un tunnel installe généralement une route par défaut ou un ensemble de préfixes, tandis qu’une interface locale porte un préfixe connecté plus une route vers tout le LAN. Entre les deux, c’est la correspondance du préfixe le plus long qui décide, donc une destination à l’intérieur du préfixe du LAN n’atteint jamais le tunnel. C’est pourquoi une imprimante, la page d’administration d’un routeur et un NAS local restent joignables tant que le VPN est actif. C’est aussi pourquoi une ressource distante dans une plage qui se chevauche part vers la mauvaise machine.

L’espace d’adressage privé n’est pas unique, et deux sites qui choisissent le même préfixe est assez courant pour être planifié. Quand les plages se chevauchent, la réponse locale arrive vite et paraît faire autorité, si bien que la panne se lit facilement comme un problème de connexion. La destination a bien répondu, mais pas celle que vous visiez.

Lisez le choix que ferait le noyau

Demandez au noyau quelle route il utiliserait pour la destination exacte plutôt que de lire la table depuis le haut. Cherchez ensuite les règles de politique qui pourraient choisir une autre table. Deux commandes répondent aux deux questions en quelques secondes.

ip route get 10.20.30.41
ip route show table all | grep -E '10\.|default'
ip rule show

La première sortie nomme l’interface, le saut suivant et l’adresse source que le noyau utiliserait, et c’est la réponse qui compte. Une valeur dev pointant vers le pont local signifie que le paquet n’entre jamais dans le tunnel, quoi qu’affirme le panneau d’état du client VPN. La liste filtrée des tables montre si une autre table détient le même préfixe, et la liste des règles montre l’ordre dans lequel ces tables sont consultées. Une règle de politique peut envoyer un préfixe par une table précise même quand la table principale n’est pas d’accord, donc cet ordre fait partie de la réponse.

L’accès local est une autorisation distincte

Avoir une route n’est pas la même chose qu’être autorisé à l’utiliser. La plupart des clients peuvent bloquer la communication réseau locale tant que le tunnel est monté, et ce réglage est une décision de politique, pas un artefact de routage. Quand un service de proximité digne de confiance fait partie du design, activez l’option d’accès local prise en charge au lieu d’inventer des routes. Quand l’appareil est sur un Wi-Fi public, laissez-la désactivée.

Les deux couches échouent différemment. Un chemin local bloqué produit un délai d’attente alors même que la route existe, tandis qu’une route qui se chevauche produit une réponse du mauvais hôte. Les distinguer coûte une requête et fait gagner une après-midi de changements de pare-feu, et la disposition du transfert est décrite dans les notes de transfert de strongSwan.

Corrigez un chevauchement sans empiler les routes d’hôte

Une route d’hôte pour une adresse semble corriger un chevauchement et échoue dès qu’une seconde adresse de la même plage est nécessaire. Vingt d’entre elles plus tard, personne ne peut dire quel préfixe fait autorité. Les solutions durables sont un changement d’adressage, une topologie documentée qui évite la plage en double, ou une traduction à un bout. Chacune coûte du temps de conception une fois plutôt que de la maintenance pour toujours.

Si une route d’hôte temporaire est vraiment nécessaire, notez à côté la raison, le responsable et la date pour qu’elle puisse être retirée plus tard. Testez ensuite l’adresse et le service exacts plus une destination publique, car un changement d’accès local qui exclut discrètement des applications sans rapport du tunnel est pire que la panne d’origine. Gardez le préfixe local et le préfixe distant notés séparément ; cette habitude empêche qu’un ping local qui fonctionne circule comme preuve que le bureau distant est joignable.

Articles similaires