Pas de connexion internet...sauf avec un VPN!

Tags: #<Tag:0x00007f63f4772d10>

Bonjour,

J’ai installé Debian xfce il y a trois mois, et tout fonctionnait très bien jusqu’à il y a deux semaines environ.

Je précise, si ça a son importance, que c’est une très vieille machine, morte sous windows il y a 5 ans, et qui tournait sur xubuntu puis manjaro depuis.

Mon problème est le suivant:
Je capte le wifi, et le gestionnaire de connexion me dit que j’y suis connecté, mais impossible de naviguer sur internet, mes navigateurs me font des messages d’erreur comme quoi je ne suis pas connecté.

Or, fait étonnant, j’arrive à me surfer sans problème en utilisant un VPN!

Je n’ai pas de proxy ni de pare feu
J’ai testé quelques bidouilles simples avec un ami qui connaît Debian bien mieux que moi, et rien n’y a fait…

Quelqu’un pourrait-il m’aider? Ou m’orienter vers une hypothèse à laquelle je n’aurais pas pensé?

Merci beaucoup!

Bonjour,

que donne dans une console:

ip a
route -vn
cat /etc/resolv.conf

Un navigateur n’est pas compétent pour décider si on est « connecté » ou non.

Ce qui prouve que tu es connecté, sinon tu ne pourrais pas monter le VPN.

Lesquelles, pour éviter de faire perdre du temps à tout le monde ?

route est obsolète, et son format de sortie avec la passerelle entre le réseau et le masque est peu lisible. Il vaut mieux utiliser ip en IPv4 pour afficher la table de routage IPv4 mais aussi IPv6 qui n’est plus si rare de nos jours même chez les FAI grand public :

ip -4 route
ip -6 route

De nos jours il ne suffit plus de regarder dans le fichier /etc/resolv.conf pour savoir comment se fait la résolution de nom car il peut y avoir d’autres sources que DNS et le le fichier /etc/hosts : systemd-resolved, DoH (DNS over HTTPS)… Il faut aussi regarder la ligne « hosts: » dans /etc/nsswitch.conf. Accessoirement les navigateurs peuvent aussi avoir leur propre résolution de nom via DoH indépendamment de la configuration du système.

Et tout ça a relever avec et sans le VPN.

2 J'aime

A moins de bidouiller inutile pour internet, et contre productif, majoritairement à éviter.

Désolé, mais vu la question du demandeur, cette option n’est même pas à envisager. sauf peut etre google chrome et encore.

pareil sauf bidouille, le fichier en standard suffit pour etre correct.

Firefox supporte aussi DoH.
Quant à nsswitch.conf, il peut être modifié automatiquement par les paquets qui fournissent un service de résolution de nom.

Bonjour, merci beaucoup pour vos réponses et votre disponibilité.

Précision 1: le problème ne concerne pas que les navigateurs web, c’est la même chose avec les mises à jour, Thunderbird, et mon logiciel de compta, par exemple.

Précision 2: en ce qui concerne les tentatives de mon copain, je crois me souvenir que c’était en rapport avec le DNS (essayer de rentrer manuellement un DNS de google, si je me souviens bien…). Et quelques commandes (que j’ai oubliées…) pour identifier le problème, sans succès.

Voici ce que j’obtiens sans activer le VPN:

1

cat /etc/resolv.conf me dit:

Generated by NetworkManager
nameserver ::1

Quand j’active le VPN,

cat /etc/resolv.conf me dit:

Generated by Network Manager
nameserver 10.18.0.1

Je poste le reste en suivant (pas possible de mettre plus d’une image par post)

Sans vpn

2-ip4et6

avec vpn

3 -ipa avec vpn

et enfin, toujours avec le VPN activé:

4 - ip4et6 avec vpn

Merci!

Désolé, je me suis trompé dans les commandes à exécuter pour afficher les routes. Il s’agit de

ip -4 route
ip -6 route

On peut déjà voir que le serveur DNS défini dans resolv.conf est ::1, l’adresse locale IPv6, donc il s’agit d’un proxy DNS qui tourne sur la machine. Examiner la liste des sockets ouvertes pour trouver quel processus écoute sur le port 53.

ss -nlp | grep 53

ou

netstat -nlp | grep 53

En tout cas le remplacement du DNS quand le VPN est actif semble avoir un effet.

Il y a aussi une adresse IPv6 ULA sur une interface bizarre ipv6leak, mais il faudrait voir les routes IPv6 pour déterminer son influence.

Ne mets pas des images, mets directement le texte retourné par la commande, c’est beaucoup plus simple est accessible.
En plus, tu l’as fait sur le message que j’ai cité.

Ok merci pour les pistes et les infos,

Voici les résultats sans VPN:

route

default via 172.16.12.1 dev wlp5s0 proto dhcp metric 600

169.254.0.0/16 dev wlp5s0 scope link metric 1000

172.16.12.0/24 dev wlp5s0 proto kernel scope link src 172.16.12.44 metric 600

ip-6 route

::1 dev lo proto kernel metric 256 pref medium

fdeb:446c:912d:8da::/64 dev ipv6leakintrf0 proto kernel metric 95 pref medium

fe80::/64 dev ipv6leakintrf0 proto kernel metric 95 pref medium

fe80::/64 dev wlp5s0 proto kernel metric 600 pref medium

default via fdeb:446c:912d:8da::1 dev ipv6leakintrf0 proto static metric 95 pref medium

ss -nlp | grep 53

nl                 UNCONN              0                    0                                                                                    15:553                                                    *                                                                                                                    
nl                 UNCONN              0                    0                                                                                    15:-1532635857                                            *                                                                                                                    
nl                 UNCONN              0                    0                                                                                    15:553                                                    *                                                                                                                    
nl                 UNCONN              0                    0                                                                                    15:-1532635857                                            *                                                                                                                    
nl                 UNCONN              0                    0                                                                                    16:-1539309142                                            *                                                                                                                    
nl                 UNCONN              0                    0                                                                                    16:-1539309142                                            *                                                                                                                    
u_str              LISTEN              0                    128                                                         /run/systemd/journal/stdout 11532                                                 * 0                                                                                                                   
u_dgr              UNCONN              0                    0                                                           /run/systemd/journal/socket 11535                                                 * 0                                                                                                                   
u_str              LISTEN              0                    128                                                           /var/run/pcscd/pcscd.comm 16353                                                 * 0                                                                                                                   
u_dgr              UNCONN              0                    0                                                                                     * 11820                                                 * 11535                                                                                                               
u_dgr              UNCONN              0                    0                                                                                     * 17193                                                 * 11535                                                                                                               
u_dgr              UNCONN              0                    0                                                                                     * 24614                                                 * 11535                                users:(("systemd",pid=698,fd=3))                                               
u_dgr              UNCONN              0                    0                                                                                     * 12308                                                 * 11535                                                                                                               
u_dgr              UNCONN              0                    0                                                                                     * 18150                                                 * 11535                                                                                                               
udp                UNCONN              0                    0                                                                               0.0.0.0:39537                                           0.0.0.0:*                                                                                                                   
udp                UNCONN              0                    0                                                                           224.0.0.251:5353                                            0.0.0.0:*                                    users:(("chromium",pid=1129,fd=271))                                           
udp                UNCONN              0                    0                                                                               0.0.0.0:5353                                            0.0.0.0:*                                                                                                                   
udp                UNCONN              0                    0                                                                                  [::]:5353                                               [::]:*            

Et avec le VPN:

ip -4 route

default via 10.29.0.1 dev proton0 proto static metric 50 
default via 172.16.12.1 dev wlp5s0 proto dhcp metric 600 
10.29.0.0/16 dev proton0 proto kernel scope link src 10.29.0.57 metric 50 
89.39.107.113 via 172.16.12.1 dev wlp5s0 proto static metric 600 
169.254.0.0/16 dev wlp5s0 scope link metric 1000 
172.16.12.0/24 dev wlp5s0 proto kernel scope link src 172.16.12.44 metric 600 
172.16.12.1 dev wlp5s0 proto static scope link metric 600 

ip -6 route

::1 dev lo proto kernel metric 256 pref medium
fdeb:446c:912d:8da::/64 dev ipv6leakintrf0 proto kernel metric 95 pref medium
fe80::/64 dev ipv6leakintrf0 proto kernel metric 95 pref medium
fe80::/64 dev proton0 proto kernel metric 256 pref medium
fe80::/64 dev wlp5s0 proto kernel metric 600 pref medium
default via fdeb:446c:912d:8da::1 dev ipv6leakintrf0 proto static metric 95 pref medium

ss -nlp | grep 53

nl                 UNCONN              0                    0                                                                                                15:553                                                      *                                                                                                      
nl                 UNCONN              0                    0                                                                                                15:-1532635857                                              *                                                                                                      
nl                 UNCONN              0                    0                                                                                                15:553                                                      *                                                                                                      
nl                 UNCONN              0                    0                                                                                                15:-1532635857                                              *                                                                                                      
nl                 UNCONN              0                    0                                                                                                16:-1539309142                                              *                                                                                                      
nl                 UNCONN              0                    0                                                                                                16:-1539309142                                              *                                                                                                      
u_str              LISTEN              0                    128                                                                     /run/systemd/journal/stdout 11532                                                   * 0                                                                                                     
u_dgr              UNCONN              0                    0                                                                       /run/systemd/journal/socket 11535                                                   * 0                                                                                                     
u_str              LISTEN              0                    1                           /var/run/NetworkManager/nm-openvpn-b1500e12-273a-42e1-81a7-b0e64ecf8092 95553                                                   * 0                                                                                                     
u_str              LISTEN              0                    128                                                                       /var/run/pcscd/pcscd.comm 16353                                                   * 0                                                                                                     
u_dgr              UNCONN              0                    0                                                                                                 * 11820                                                   * 11535                                                                                                 
u_dgr              UNCONN              0                    0                                                                                                 * 17193                                                   * 11535                                                                                                 
u_dgr              UNCONN              0                    0                                                                                                 * 24614                                                   * 11535                  users:(("systemd",pid=698,fd=3))                                               
u_dgr              UNCONN              0                    0                                                                                                 * 12308                                                   * 11535                                                                                                 
u_dgr              UNCONN              0                    0                                                                                                 * 18150                                                   * 11535                                                                                                 
udp                UNCONN              0                    0                                                                                           0.0.0.0:39537                                             0.0.0.0:*                                                                                                     
udp                UNCONN              0                    0                                                                                       224.0.0.251:5353                                              0.0.0.0:*                      users:(("chromium",pid=1129,fd=352))                                           
udp                UNCONN              0                    0                                                                                       224.0.0.251:5353                                              0.0.0.0:*                      users:(("chromium",pid=1129,fd=271))                                           
udp                UNCONN              0                    0                                                                                           0.0.0.0:5353                                              0.0.0.0:*                                                                                                     
udp                UNCONN              0                    0                                                                                              [::]:5353                                                 [::]:*

Rien de particulier dans les routes à part une route IPv6 par défaut associée à un préfixe ULA sur une interface « ipv6leakintrf0 » que je ne connais pas. D’après son nom, je ne peux que supposer qu’il s’agit d’une interface virtuelle créée pour intercepter le trafic IPv6 que le VPN ne prend pas en charge (pas d’adresse ni de route IPv6 globale sur l’interface proton0) et éviter une « fuite » (leak) de ce trafic sur internet en dehors du VPN. Mais comme cette route est toujours présente que le VPN soit actif ou pas, je ne pense pas qu’elle soit en cause.

On en revient à la configuration DNS. Quand le VPN est inactif, l’adresse de serveur DNS configurée par NetworkManager dans /etc/resolv.conf est ::1, soit l’adresse IPv6 locale, mais ss n’affiche aucune socket en écoute sur le port 53 (DNS) donc la résolution DNS ne peut pas fonctionner. A moins qu’une autre source de résolution de noms globaux soit définie dans la ligne hosts: du fichier /etc/nsswitch.conf (que tu n’as pas fournie), la résolution de nom globaux ne peut pas fonctionner. mdns (Multicast DNS) ne fait que la résolution de noms locaux.

Tu peux vérifier cette hypothèse avec quelques commandes.

  1. Vérifier la connectivité IPv4 sans résolution DNS qui devrait réussir :

    ping -nc4 8.8.8.8
    
  2. Vérifier la résolution DNS avec le serveur DNS local ::1 (il faut que le paquet dnsutils soit installé) :

    host debian-fr.org ::1
    
  3. Vérifier la résolution DNS avec un autre serveur DNS (j’ai mis celui de Google, on peut utiliser celui de la box internet ou du FAI si on connaît son adresse) :

    host debian-fr.org 8.8.8.8

Si les tests 1 et 3 réussissent et le test 2 échoue, alors c’est bien l’adresse ::1 dans resolv.conf qui est erronée. Comme elle est définie par NetworkManager, il faut rechercher dans les paramètres de ce dernier si cette adresse est configurée quelque part.

Bonjour Pascal,

Merci beaucoup pour ta réponse, je viens de faire les tests, et effectivement: 1 et 3 réussissent, 2 échoue

En revanche, pour ce qui est de chercher si l’adresse ::1 est configurée quelque part… Je ne sais pas trop où regarder ni comment modifier ça!

J’ai fouillé dans « paramètres/configuration réseau avancée », mais je n’ai rien trouvé qui y ressemble…

Ah oui désolé, je viens de le faire, ça donne:

hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname

Je relance le sujet, je n’ai toujours pas réussi à régler mon problème…

Quelqu’un saurait-il m’indiquer comment modifier les paramètres de NetworkManager, maintenant que le diagnostic est établi?

Merci!

Pas moi. Je ne connais pas les entrailles de NM. Et je crains que le titre actuel de la discussion n’attire pas les éventuels connaisseurs.

1 J'aime