Tester que l’accès à Internet est ok avec NetworkManager.

Avant de démarrer certaines tâches qui ont besoin d’Internet on peut faire vérifier par NetworkManager que c’est bien le cas.

Modifier la configuration de NetworkManager

ça se passe dans le fichier /etc/NetworkManager/NetworkManager.conf

On ajoute la section Connectivity

[main]
plugins=ifupdown,keyfile
dns=dnsmasq
dhcp=dhclient

[ifupdown]
managed=false

[connectivity]
uri=http://network-test.debian.org/nm
interval=120

Voir https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html

Modifier le service de test du réseau

c’est le service NetworkManager-wait-online.service. On modifie le fichier /lib/systemd/system/NetworkManager-wait-online.service

[Unit]
Description=Network Manager Wait Online
Documentation=man:nm-online(1)
Requires=NetworkManager.service
After=NetworkManager.service
Before=network-online.target

[Service]
Type=oneshot
ExecStart=/usr/bin/nm-online -q --timeout=600
RemainAfterExit=yes

[Install]
WantedBy=network-online.target

Voir https://developer.gnome.org/NetworkManager/stable/nm-online.html

Prendre en compte dans les services qui ont besoin d’Internet

Il faut ajouter le paramètre Requires=network-online.target

Exemple mon service de mise à jour

[Unit]
Description=Mise à jour périodique
After=exim4.service
Requires=network-online.target
[Install]
WantedBy=graphical.target
[Service]
Type=oneshot
ExecStart=/opt/update-perso

Et voila, NetworkManager attends bien que ma box soit ok avant le déclenchement des tâches conditionnées.

Cas 1 Box allumée après le PC (wifi nok puis ok)

systemd-analyze blame
    4min 11.337s NetworkManager-wait-online.service
         51.731s maj.service
         21.899s sav-protect.service
         11.128s bluetooth.service
          7.319s udisks2.service
          6.885s accounts-daemon.service
          6.033s NetworkManager.service
          5.269s dev-sda1.device
          4.798s winbind.service
          4.432s apmd.service
          4.209s wpa_supplicant.service

Au bout des 4min 11.337s

Cas 2 PC allumé après la Box ( wifi ok)

D’autres infos sur NetworkManager

https://wiki.archlinux.org/index.php/NetworkManager

Par Bidouille De Bian

Bidouilleur sur Linux Debian 10 (Buster). Débutant dans le blog sur Wordpress.