Perte de connection internet depuis machine debian probleme ip route, lié à docker [résolu]

Bonjour à tous,
voici mon problème.

j’ai une debian 12 (bookworm) récemment installée sur un PC avec docker pour faire tourner home assistant (le raspberry était un peu limite).

Tout fonctionnait bien jusqu’à il y a qques jours, sans que je sache la modif qui a été apportée au système, mais cette machine n’accède plus à internet.
le réseau local fonctionne parfaitement, j’y accède en SSH et accès aux fichiers en NFS.
Mon accès internet via box SFR fonctionne parfaitement aussi pour toutes les autres machines.

voilà où j’en suis de mes recherches et je bloque. Je suspecte un problème de doublon dans route que je n’arrive pas à supprimer. Alors voici les résultats de commandes que j’ai trouvé sur les forums parcourus depuis quelques heures maintenant.

mon fichier interfaces (que j’ai tenté de modifier) :

#This file describes the network interfaces available on your system
#and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

#The loopback network interface
auto lo
iface lo inet loopback

#auto eth0
#The primary network interface
iface enp1s0 inet dhcp


~# ip route

0.0.0.0 dev veth8131e99 scope link
0.0.0.0 dev vethc3de6e2 scope link
0.0.0.0 dev vetha88ca7e scope link
default dev vetha88ca7e scope link
169.254.0.0/16 dev vetha88ca7e proto kernel scope link src 169.254.69.58
169.254.0.0/16 dev vethc3de6e2 proto kernel scope link src 169.254.174.16
169.254.0.0/16 dev veth8131e99 proto kernel scope link src 169.254.23.65
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
192.168.1.0/24 dev enp1s0 proto kernel scope link src 192.168.1.26
192.168.1.1 dev enp1s0 scope link

~# traceroute 8.8.8.8

traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
1 pcdomo.local (169.254.69.58) 3060.475 ms !H 3060.391 ms !H 3060.349 ms !H

~# nmcli device status

DEVICE TYPE STATE CONNECTION
enp1s0 ethernet connecté Connexion filaire 1
docker0 bridge connecté (en externe) docker0
lo loopback connecté (en externe) lo
wlp2s0 wifi déconnecté –
p2p-dev-wlp2s0 wifi-p2p déconnecté –
veth8131e99 ethernet non-géré –
vetha88ca7e ethernet non-géré –
vethc3de6e2 ethernet non-géré –

~# nmcli connection show enp1s0

Erreur : enp1s0 - profil de connexion introuvable.

~# nslookup debian-fr.org

Server: 192.168.1.1
Address: 192.168.1.1#53

Non-authoritative answer:
Name: debian-fr.org
Address: 82.65.201.202

~# ip link

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 14:b3:1f:25:1a:08 brd ff:ff:ff:ff:ff:ff
3: wlp2s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DORMANT group default qlen 1000
link/ether ce:39:64:c7:f7:cf brd ff:ff:ff:ff:ff:ff permaddr bc:a8:a6:a9:3c:88
4: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default
link/ether 42:88:c3:f6:3c:7c brd ff:ff:ff:ff:ff:ff
5: vetha88ca7e@if2: <BROADCAST,MULTICAST,DYNAMIC,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP mode DEFAULT group default
link/ether 92:7e:cf:15:18:3a brd ff:ff:ff:ff:ff:ff link-netnsid 0
6: vethc3de6e2@if2: <BROADCAST,MULTICAST,DYNAMIC,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP mode DEFAULT group default
link/ether 26:30:e3:ac:56:3f brd ff:ff:ff:ff:ff:ff link-netnsid 1
7: veth8131e99@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP mode DEFAULT group default
link/ether d2:6b:b5:39:3e:87 brd ff:ff:ff:ff:ff:ff link-netnsid 2

Voilà donc où j’en suis, et de l’aide serait fortement appréciée. J’espère que les infos postées peuvent commencer à poser un diagnostic.

Merci beaucoup.

Bonjour,
si tu as nmcli, c’est que utilises NetworkManager, donc le fichier /etc/netwotk/interfaces n’a pas à être utilisé, il doit être vide.
Ton interface principale n’a pas d’adresse donc pas d’accès internet.
A quoi correspondent les interfaces 5 à 7?

Hello,

Un message sur ce forum qui ne commence pas par « Bonjour » ou un équivalent, je ne réponds pas.

Bonne journée,

j’ai l’impression que oui : tu as de nombreuses réponses

un problème avec ton dns?

Merci Zargos, tu m’a déjà donné quelques pistes qui vont limiter mon rayon d’investigation en me focusant sur network manager. Je vais voir si j’y arrive seul à partir de là.

Les interfaces 5 à 7 : je me pose la même question. Aucune idée.
Ma machine accède à mon raspberry sur mon réseau local (programmé comme des intégrations en YAML de mon home assistant sur docker), est ce que ça créerait des connections en plus? Je ne vois pas pourquoi?

Bonjour Necromago,
désolé pour l’entrée en matière un peu brute, j’ai corrigé. J’étais pourtant content de mon post qui donnait un maximum de détail à analyser aux experts et ne se contentait pas de dire
"bonjour, mon internet ne marche plus, comment faire? "
Et c’est vrai que je me rend compte quand je rédige un email que je commence but en blanc par ce que j’ai à dire, et ensuite je reviens mettre les formules de politesses de début et de fin en fonction de l’interlocuteur à qui je m’adresse. Je serai plus vigilant à l’avenir.

bonjour dindoun, je ne comprend pas « oui » à quoi dans ta réponse. Si c’est accès à internet par cette machine, je confirme que c’est non, j’utilise un autre ordi pour me connecter.

et pour le serveur DNS, si je comprend bien le fonctionnement, c’est ma box qui assure ce service, et cherche le lien entre les sites demandés et leur adresse IP? nslookup me donne bien une adresse, mais qui est fausse puisque ça m’amène à un site zehome de courses de voitures!? et non debian-fr.org; alors là, je ne sais quoi en penser.
Mais je crois que le problème est bien avant le DNS. je vais creuser la réponse de zargos sur l’interface principale à paramétrer avec nmcli.

Bonjour à tous et merci à ceux qui m’aident,
j’ai donc effacé tout ce qu’il y avait dans le fichier interface pour que network manager fasse le job.
Pour préciser le sujet, je peux accéder à mon home assistant (donc à cet ordi) depuis l’extérieur de la maison, car j’ai ouvert un port sur ma box. Donc l’ordi est bien relié à internet et j’arrive à l’interroger à distance sans problème. donc déjà il n’y a pas de problème de connexion physique.

C’est comme si ma box lui bloquait les accès sortants à internet.
Le fait d’avoir ouvert des ports entrants peut être lié à ce problème?

avec nmcli j’ai créé la connection wifi, et ça fonctionne, je vois sur l’interface de ma box cet ordi apparaitre avec une autre adresse IP en WIFI. Ma box le voit donc deux fois, en filaire avec adresse IP 192.168.1.26 et en WIFI avec adresse IP 192.168.1.32.

sur ma box, j’ai ces deux redirections de ports pour accès distant :
Num | Nom Protocole | Type | Ports externes | IP de destination | Ports de destination
2 | HA_PC | TCP |Port | 51510 | 192.168.1.26 |8123
3 | NodeRed | TCP | Port | 51511 | 192.168.1.26 | 1880

pour moi, cela n’a aucun rapport, mais bon je le précise.

un test ping 8.8.8.8 me donne la même chose qu’hier :
~# ping 8.8.8.8

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
From 169.254.69.58 icmp_seq=1 Destination Host Unreachable
From 169.254.69.58 icmp_seq=2 Destination Host Unreachable
From 169.254.69.58 icmp_seq=3 Destination Host Unreachable
From 169.254.69.58 icmp_seq=4 Destination Host Unreachable
From 169.254.69.58 icmp_seq=5 Destination Host Unreachable
From 169.254.69.58 icmp_seq=6 Destination Host Unreachable
^C
— 8.8.8.8 ping statistics —
8 packets transmitted, 0 received, +6 errors, 100% packet loss, time 7162ms
pipe 4

Et donc mon nmcli connection show donne ça. Je ne comprend pas tout mais ça me semble normal.

connection.id: Connexion filaire 1
connection.uuid: e410d8a6-6574-38d8-b94e-1a9f19960270
connection.stable-id: –
connection.type: 802-3-ethernet
connection.interface-name: enp1s0
connection.autoconnect: oui
connection.autoconnect-priority: -999
connection.autoconnect-retries: -1 (default)
connection.multi-connect: 0 (default)
connection.auth-retries: -1
connection.timestamp: 1762813044
connection.read-only: non
connection.permissions: –
connection.zone: –
connection.master: –
connection.slave-type: –
connection.autoconnect-slaves: -1 (default)
connection.secondaries: –
connection.gateway-ping-timeout: 0
connection.metered: inconnu
connection.lldp: default
connection.mdns: -1 (default)
connection.llmnr: -1 (default)
connection.dns-over-tls: -1 (default)
connection.mptcp-flags: 0x0 (default)
connection.wait-device-timeout: -1
connection.wait-activation-delay: -1
802-3-ethernet.port: –
802-3-ethernet.speed: 0
802-3-ethernet.duplex: –
802-3-ethernet.auto-negotiate: non
802-3-ethernet.mac-address: –
802-3-ethernet.cloned-mac-address: –
802-3-ethernet.generate-mac-address-mask:–
802-3-ethernet.mac-address-blacklist: –
802-3-ethernet.mtu: auto
802-3-ethernet.s390-subchannels: –
802-3-ethernet.s390-nettype: –
802-3-ethernet.s390-options: –
802-3-ethernet.wake-on-lan: default
802-3-ethernet.wake-on-lan-password: –
802-3-ethernet.accept-all-mac-addresses:-1 (default)
ipv4.method: auto
ipv4.dns: –
ipv4.dns-search: –
ipv4.dns-options: –
ipv4.dns-priority: 0
ipv4.addresses: –
ipv4.gateway: –
ipv4.routes: –
ipv4.route-metric: -1
ipv4.route-table: 0 (unspec)
ipv4.routing-rules: –
ipv4.replace-local-rule: -1 (default)
ipv4.ignore-auto-routes: non
ipv4.ignore-auto-dns: non
ipv4.dhcp-client-id: –
ipv4.dhcp-iaid: –
ipv4.dhcp-timeout: 0 (default)
ipv4.dhcp-send-hostname: oui
ipv4.dhcp-hostname: –
ipv4.dhcp-fqdn: –
ipv4.dhcp-hostname-flags: 0x0 (none)
ipv4.never-default: non
ipv4.may-fail: oui
ipv4.required-timeout: -1 (default)
ipv4.dad-timeout: -1 (default)
ipv4.dhcp-vendor-class-identifier: –
ipv4.link-local: 0 (default)
ipv4.dhcp-reject-servers: –
ipv4.auto-route-ext-gw: -1 (default)
ipv6.method: auto
ipv6.dns: –
ipv6.dns-search: –
ipv6.dns-options: –
ipv6.dns-priority: 0
ipv6.addresses: –
ipv6.gateway: –
ipv6.routes: –
ipv6.route-metric: -1
ipv6.route-table: 0 (unspec)
ipv6.routing-rules: –
ipv6.replace-local-rule: -1 (default)
ipv6.ignore-auto-routes: non
ipv6.ignore-auto-dns: non
ipv6.never-default: non
ipv6.may-fail: oui
ipv6.required-timeout: -1 (default)
ipv6.ip6-privacy: -1 (unknown)
ipv6.addr-gen-mode: default
ipv6.ra-timeout: 0 (default)
ipv6.mtu: auto
ipv6.dhcp-duid: –
ipv6.dhcp-iaid: –
ipv6.dhcp-timeout: 0 (default)
ipv6.dhcp-send-hostname: oui
ipv6.dhcp-hostname: –
ipv6.dhcp-hostname-flags: 0x0 (none)
ipv6.auto-route-ext-gw: -1 (default)
ipv6.token: –
proxy.method: none
proxy.browser-only: non
proxy.pac-url: –
proxy.pac-script: –
GENERAL.NAME: Connexion filaire 1
GENERAL.UUID: e410d8a6-6574-38d8-b94e-1a9f19960270
GENERAL.DEVICES: enp1s0
GENERAL.IP-IFACE: enp1s0
GENERAL.STATE: activé
GENERAL.DEFAULT: oui
GENERAL.DEFAULT6: non
GENERAL.SPEC-OBJECT: –
GENERAL.VPN: non
GENERAL.DBUS-PATH: /org/freedesktop/NetworkManager/ActiveC>
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/Setting>
GENERAL.ZONE: –
GENERAL.MASTER-PATH: –
IP4.ADDRESS[1]: 192.168.1.26/24
IP4.GATEWAY: 192.168.1.1
IP4.ROUTE[1]: dst = 192.168.1.0/24, nh = 0.0.0.0, mt >
IP4.ROUTE[2]: dst = 192.168.1.1/32, nh = 0.0.0.0, mt >
IP4.ROUTE[3]: dst = 192.168.1.0/24, nh = 0.0.0.0, mt >
IP4.ROUTE[4]: dst = 0.0.0.0/0, nh = 192.168.1.1, mt =>
IP4.DNS[1]: 192.168.1.1
DHCP4.OPTION[1]: broadcast_address = 192.168.1.255
DHCP4.OPTION[2]: dhcp_client_identifier = 01:14:b3:1f:25>
DHCP4.OPTION[3]: dhcp_lease_time = 86400
DHCP4.OPTION[4]: dhcp_server_identifier = 192.168.1.1
DHCP4.OPTION[5]: domain_name_servers = 192.168.1.1
DHCP4.OPTION[6]: expiry = 1762982764
DHCP4.OPTION[7]: host_name = pcdomo
DHCP4.OPTION[8]: ip_address = 192.168.1.26
DHCP4.OPTION[9]: next_server = 192.168.1.1
DHCP4.OPTION[10]: ntp_servers = 192.168.1.1
DHCP4.OPTION[11]: requested_broadcast_address = 1
DHCP4.OPTION[12]: requested_domain_name = 1
DHCP4.OPTION[13]: requested_domain_name_servers = 1
DHCP4.OPTION[14]: requested_domain_search = 1
lines 116-138
GENERAL.ZONE: –
GENERAL.MASTER-PATH: –
IP4.ADDRESS[1]: 192.168.1.26/24
IP4.GATEWAY: 192.168.1.1
IP4.ROUTE[1]: dst = 192.168.1.0/24, nh = 0.0.0.0, mt =>
IP4.ROUTE[2]: dst = 192.168.1.1/32, nh = 0.0.0.0, mt =>
IP4.ROUTE[3]: dst = 192.168.1.0/24, nh = 0.0.0.0, mt =>
IP4.ROUTE[4]: dst = 0.0.0.0/0, nh = 192.168.1.1, mt = >
IP4.DNS[1]: 192.168.1.1
DHCP4.OPTION[1]: broadcast_address = 192.168.1.255
DHCP4.OPTION[2]: dhcp_client_identifier = 01:14:b3:1f:25:>
DHCP4.OPTION[3]: dhcp_lease_time = 86400
DHCP4.OPTION[4]: dhcp_server_identifier = 192.168.1.1
DHCP4.OPTION[5]: domain_name_servers = 192.168.1.1
DHCP4.OPTION[6]: expiry = 1762982764
DHCP4.OPTION[7]: host_name = pcdomo
DHCP4.OPTION[8]: ip_address = 192.168.1.26
DHCP4.OPTION[9]: next_server = 192.168.1.1
DHCP4.OPTION[10]: ntp_servers = 192.168.1.1
DHCP4.OPTION[11]: requested_broadcast_address = 1
DHCP4.OPTION[12]: requested_domain_name = 1
DHCP4.OPTION[13]: requested_domain_name_servers = 1
DHCP4.OPTION[14]: requested_domain_search = 1
DHCP4.OPTION[15]: requested_host_name = 1
DHCP4.OPTION[16]: requested_interface_mtu = 1
DHCP4.OPTION[17]: requested_ms_classless_static_routes = 1
DHCP4.OPTION[18]: requested_nis_domain = 1
DHCP4.OPTION[19]: requested_nis_servers = 1
DHCP4.OPTION[20]: requested_ntp_servers = 1
DHCP4.OPTION[21]: requested_rfc3442_classless_static_routes = 1
DHCP4.OPTION[22]: requested_root_path = 1
DHCP4.OPTION[23]: requested_routers = 1
DHCP4.OPTION[24]: requested_static_routes = 1
DHCP4.OPTION[25]: requested_subnet_mask = 1
DHCP4.OPTION[26]: requested_time_offset = 1
DHCP4.OPTION[27]: requested_wpad = 1
DHCP4.OPTION[28]: routers = 192.168.1.1
DHCP4.OPTION[29]: subnet_mask = 255.255.255.0
IP6.ADDRESS[1]: fe80::fc71:cd73:96e9:3292/64
IP6.GATEWAY: –

Tes routes sont anormales:

Tu as deux fois la même et celle en /32 n’a rien à faire là.
Comment as-tu fait pour configurer ton réseau sur ton PC?

Ok merci, j’aurais été incapable de voir ça.
Je n’ai jamai configuré mon réseau. J’ai installé Debian et il a tout configuré automatiquement, et ça marchait très bien.
Je n’ai jamais tenté de modifier quoique ce soit sur ce PC à ce sujet, donc la modif a du se faire par une autre manip de manière détournée, que j’ignore. La seule chose que j’ai faite, c’est d’ouvrir mes deux ports pour accès distant.
Après, il y a eu pas mal de coupures de courant pour travaux, mais je ne vois vraiment pas le rapport.
Bref, comment repartir d’une install clean? je supprime la connection et je la recrée? avec nmcli?

la meme commande aujourd’hui me donne ça, sans rien avoir changé de particulier mais ça ne marche toujours pas :
IP4.ADDRESS[1]: 192.168.1.26/24
IP4.GATEWAY: 192.168.1.1
IP4.ROUTE[1]: dst = 192.168.1.0/24, nh = 0.0.0.0, mt = 100
IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 192.168.1.1, mt = 100
IP4.DNS[1]: 192.168.1.1

et je précise qu’en tapant les mêmes commandes sur mon raspberry, j’ai les mêmes infos, avec ROUTE[1] et ROUTE[2] ainsi que tout le reste, mais mon raspi accède à internet, et toujours pas ce PC. Grrrrrr!! Donc ça doit être autre chose.

quand aux veth, ce sont des connection virtuelles, reliées à docker (elles donnent accès à internet aux applis docker si je comprend bien); veth(4) - Linux manual page

alors après encore des heures passées, il semble que le problème soit bien diagnostiqué par traceroute, le premier saut devrait être sur la gateway (c’est ce que j’ai sur le raspi) alors que je retombe en local sur mon PC, avec une adresse 169.254.29.58 qui apparait sur un des virtual vetha88ca7e
la question est donc comment réparer ça? c’est dans docker le problème? Et pourquoi ça marchait avant?

la commande dig me donne ça : ça semble indiquer que le serveur DNS est bien le bon et je ping sans problème sur 192.168.1.1

; <<>> DiG 9.18.33-1~deb12u2-Debian <<>>
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59006
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 27
(...)
;; Query time: 32 msec
;; SERVER: 192.168.1.1#53(192.168.1.1) (UDP)
;; WHEN: Thu Nov 13 00:25:30 CET 2025
;; MSG SIZE  rcvd: 823

peut être une réponse ici :

Indeed editing /etc/connman/main.conf , uncommenting # NetworkInterfaceBlacklist = vmnet,vboxnet,virbr,ifb,ve-,vb- and adding veth to the list fixed the issue for me:

# grep -i blacklist /etc/connman/main.conf 
# List of blacklisted network interfaces separated by ",".
NetworkInterfaceBlacklist = vmnet,vboxnet,virbr,ifb,ve-,vb-,veth

Important note. After editing the config, I had to restart both connman and docker service, on that specific order. Restarting connman alone will restore connectivity on the host but not for running containers (and stopped/new containers will fail to start/run).

# service connman restart
# service docker restart

Trivial note: It seems Debian 12 does not come with connman as default. It’s Debian 12 desktop with LXDE that does.

Alleluya, c’était la solution, problème résolu