networkctl - Linuxでネットワークリンクの状態を問い合わせる


Networkctl は、ネットワークデバイスの概要とその接続ステータスを表示するためのコマンドラインユーティリティです。それはあなたがLinuxネットワーキングサブシステムを問い合わせそして制御することを可能にします。これは、 Ubuntu 18.04 にあるsystemdの新しいリリースの新しいコマンドの1つです。 systemd-networkdから見たネットワークリンクの状態を表示します。

注意 networkctl を実行する前に、 systemd-networkd が実行されていることを確認してください。

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

次の systemctl コマンドを実行して、 systemd-networkd のステータスを確認できます。

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

systemd-networkd が実行されていない場合は、次のコマンドを使用して起動時に起動し有効にすることができます。

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

ネットワークリンクのステータス情報を取得するには、次の networkctl コマンドを引数なしで実行します。

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

すべてのネットワークリンクとそのステータスを表示するには、 -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.

既存のリンクとそのステータスのリストを取得するには、次に示すように list コマンド( -a フラグを使用するのと同じ)を使用します。

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

タイプ、状態、カーネルモジュールドライバ、ハードウェアとIPアドレス、設定済みのDNS、サーバーなど、指定されたリンクに関する情報を表示するには、 status コマンドを使用します。リンクを指定しないと、ルーティング可能なリンクがデフォルトで表示されます。

$ 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

または

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

LLDP Link Layer Discovery Protocol )ステータスを表示するには、 lldp コマンドを使用します。

$ networkctl lldp

デフォルトでは、 networkctl の出力はポケットベルにパイプされます。これを防ぐには、 –no-pager フラグを追加します。

$ networkctl --no-pager

--no-legend オプションを使用して、列ヘッダーとフッターなしで出力を印刷することもできます。

$ networkctl --no-legend

ヘルプメッセージを表示するには、 -h フラグを使用するか、またはmanページをチェックしてください。

$ networkctl -h
OR
$ man networkctl 

また、次のLinuxネットワーキングガイドも役に立ちます。

  1. nload – Monitor Linux Network Bandwidth Usage in Real Time
  2. 10 Useful “IP” Commands to Configure Network Interfaces
  3. 15 Useful “ifconfig” Commands to Configure Network Interface in Linux
  4. 12 Tcpdump Commands – A Network Sniffer Tool

それで全部です!この記事では、Linuxシステムに接続されているネットワークデバイスの概要を表示するための networkctl コマンドの使用方法について説明しました。下記のフィードバックフォームを使用して、あなたの考えを共有したり、質問をしてください。