networkctl - Forespørg status om netværkslinks i Linux


Networkctl er et kommandolinjeværktøj til visning af en oversigt over netværksenheder og deres forbindelsesstatus. Det giver dig mulighed for at forespørge om og kontrollere Linux-undersystemet. Det er en af de nye kommandoer i den nye udgivelse af systemd, der findes i Ubuntu 18.04. Det viser tilstanden for netværkslinkene set af systemd-networkd.

Bemærk: Før du kører networkctl, skal du sikre dig, at systemd-networkd kører, ellers får du ufuldstændig output angivet af følgende fejl.

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

Du kan kontrollere status for systemd-networkd ved at køre følgende systemctl-kommando.

$ 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.

Hvis systemd-networkd ikke kører, kan du starte og aktivere det til at starte ved opstartstid ved hjælp af følgende kommandoer.

$ sudo systemctl start systemd-networkd
$ sudo systemctlenable systemd-networkd

For at få statusoplysningerne om dine netværkslinks skal du køre følgende netværksctl-kommando uden noget 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.

Brug flag -a til at få vist alle netværkslink og deres status.

$ 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.

For at få en liste over eksisterende links og deres status skal du bruge listekommandoen (svarende til at bruge -a -flagget) som vist.

$ 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.

Brug statuskommandoen til at få vist oplysninger om de angivne links, såsom type, tilstand, kernemoduldriver, hardware og IP-adresse, konfigureret DNS, server og mere. Hvis du ikke angiver nogen links, vises routable links som standard.

$ 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

ELLER

$ 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.)

For at vise LLDP-status (Link Layer Discovery Protocol) skal du bruge kommandoen lldp.

$ networkctl lldp

Som standard sendes output fra netværksctl til en personsøger, du kan forhindre dette ved at tilføje –no-personsøgerflagget.

$ networkctl --no-pager

Du kan også udskrive output uden kolonneoverskrifter og sidefoden ved hjælp af indstillingen - no-legend .

$ networkctl --no-legend

For at se dens hjælpemeddelelse skal du bruge -h -flagget eller tjekke dets man-side for at få flere oplysninger.

$ networkctl -h
OR
$ man networkctl 

Du finder også følgende Linux-netværksguider nyttige:

  1. nload - Overvåg brug af Linux-netværksbåndbredde i realtid
  2. 10 Nyttige “IP” -kommandoer til konfiguration af netværksgrænseflader
  3. 15 Nyttige "ifconfig" -kommandoer til konfiguration af netværksgrænseflade i Linux
  4. 12 Tcpdump-kommandoer - Et netværkssnifferværktøj

Det er alt! I denne artikel har vi forklaret, hvordan man bruger netværksctl-kommandoen til visning af en oversigt over netværksenheder, der er knyttet til et Linux-system. Brug feedbackformularen nedenfor til at dele dine tanker eller stille spørgsmål.