Recherche de site Web

networkctl - Interroger l'état des liens réseau sous Linux


Networkctl est un utilitaire de ligne de commande permettant d'afficher un résumé des périphériques réseau et de leur état de connexion. Il vous permet d'interroger et de contrôler le sous-système réseau Linux. C'est l'une des nouvelles commandes de la nouvelle version de systemd qui est présente dans Ubuntu 18.04. Il affiche l'état des liens réseau tel que vu par systemd-networkd.

Lire aussi : Guide de l'administrateur système Linux sur la gestion, le dépannage et le débogage du réseau

Remarque : Avant d'exécuter networkctl, assurez-vous que systemd-networkd est en cours d'exécution, sinon vous obtiendrez une sortie incomplète indiquée par l'erreur suivante.

WARNING: systemd-networkd is not running, output will be incomplete.

Vous pouvez vérifier l'état de systemd-networkd en exécutant la commande systemctl suivante.

sudo systemctl status systemd-networkd

 systemd-networkd.service - Network Service
   Loaded: loaded (/lib/systemd/system/systemd-networkd.service; disabled; vendor preset: enabled)
   Active: active (running) since Tue 2018-07-31 11:38:52 IST; 1s ago
     Docs: man:systemd-networkd.service(8)
 Main PID: 13682 (systemd-network)
   Status: "Processing requests..."
   CGroup: /system.slice/systemd-networkd.service
           └─13682 /lib/systemd/systemd-networkd

Jul 31 11:38:52 TecMint systemd[1]: Starting Network Service...
Jul 31 11:38:52 TecMint systemd-networkd[13682]: vmnet8: Gained IPv6LL
Jul 31 11:38:52 TecMint systemd-networkd[13682]: vmnet1: Gained IPv6LL
Jul 31 11:38:52 TecMint systemd-networkd[13682]: enp1s0: Gained IPv6LL
Jul 31 11:38:52 TecMint systemd-networkd[13682]: Enumeration completed
Jul 31 11:38:52 TecMint systemd[1]: Started Network Service.

Si systemd-networkd n'est pas en cours d'exécution, vous pouvez le démarrer et lui permettre de démarrer au démarrage à l'aide des commandes suivantes.

sudo systemctl start systemd-networkd
sudo systemctlenable systemd-networkd

Pour obtenir les informations d'état sur vos liens réseau, exécutez la commande networkctl suivante sans aucun argument.

networkctl

IDX LINK             TYPE               OPERATIONAL SETUP     
  1 lo               loopback           carrier     unmanaged 
  2 enp1s0           ether              routable    unmanaged 
  3 wlp2s0           wlan               off         unmanaged 
  4 vmnet1           ether              routable    unmanaged 
  5 vmnet8           ether              routable    unmanaged 

5 links listed.

Pour afficher tous les liens réseau et leur état, utilisez l'indicateur -a.

networkctl -a

IDX LINK             TYPE               OPERATIONAL SETUP     
  1 lo               loopback           carrier     unmanaged 
  2 enp1s0           ether              routable    unmanaged 
  3 wlp2s0           wlan               off         unmanaged 
  4 vmnet1           ether              routable    unmanaged 
  5 vmnet8           ether              routable    unmanaged 

5 links listed.

Pour obtenir une liste des liens existants et leur statut, utilisez la commande list (équivalente à l'utilisation de l'indicateur -a) comme indiqué.

networkctl list

IDX LINK             TYPE               OPERATIONAL SETUP     
  1 lo               loopback           carrier     unmanaged 
  2 enp1s0           ether              routable    unmanaged 
  3 wlp2s0           wlan               off         unmanaged 
  4 vmnet1           ether              routable    unmanaged 
  5 vmnet8           ether              routable    unmanaged 

5 links listed.

Pour afficher des informations sur les liens spécifiés, telles que le type, l'état, le pilote du module du noyau, le matériel et l'adresse IP, le DNS configuré, le serveur, etc., utilisez la commande status. Si vous ne spécifiez aucun lien, les liens routables sont affichés par défaut.

networkctl status 

        State: routable
       Address: 192.168.0.103 on enp1s0
                172.16.236.1 on vmnet1
                192.168.167.1 on vmnet8
                fe80::8f0c:7825:8057:5eec on enp1s0
                fe80::250:56ff:fec0:1 on vmnet1
                fe80::250:56ff:fec0:8 on vmnet8
       Gateway: 192.168.0.1 (TP-LINK TECHNOLOGIES CO.,LTD.) on enp1s0

OU

networkctl status enp1s0

 2: enp1s0
       Link File: /lib/systemd/network/99-default.link
    Network File: n/a
            Type: ether
           State: routable (unmanaged)
            Path: pci-0000:01:00.0
          Driver: r8169
          Vendor: Realtek Semiconductor Co., Ltd.
           Model: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
      HW Address: 28:d2:44:eb:bd:98 (LCFC(HeFei) Electronics Technology Co., Ltd.)
         Address: 192.168.0.103
                  fe80::8f0c:7825:8057:5eec
         Gateway: 192.168.0.1 (TP-LINK TECHNOLOGIES CO.,LTD.)

Pour afficher l'état du LLDP (Link Layer Discovery Protocol), utilisez la commande lldp.

networkctl lldp

Par défaut, la sortie de networkctl est redirigée vers un pager, vous pouvez empêcher cela en ajoutant l'indicateur –no-pager.

networkctl --no-pager

Vous pouvez également imprimer la sortie sans en-têtes de colonnes ni pied de page en utilisant l'option --no-legend.

networkctl --no-legend

Pour afficher son message d'aide, utilisez l'indicateur -h ou consultez sa page de manuel pour plus d'informations.

networkctl -h
OR
man networkctl 

Vous trouverez également utiles les guides de mise en réseau Linux suivants :

  1. nload – Surveiller l'utilisation de la bande passante du réseau Linux en temps réel
  2. 10 commandes « IP » utiles pour configurer les interfaces réseau
  3. 15 commandes «ifconfig» utiles pour configurer l'interface réseau sous Linux
  4. 12 commandes Tcpdump – Un outil de renifleur de réseau

C'est tout! Dans cet article, nous avons expliqué comment utiliser la commande networkctl pour afficher un résumé des périphériques réseau connectés à un système Linux. Utilisez le formulaire de commentaires ci-dessous pour partager vos réflexions ou poser des questions.