网站搜索

networkctl - 查询 Linux 中网络链接的状态


Networkctl 是一个命令行实用程序,用于查看网络设备及其连接状态的摘要。它允许您查询和控制 Linux 网络子系统。它是 Ubuntu 18.04 新版本 systemd 中的新命令之一。它显示 systemd-networkd 看到的网络链接的状态。

另请阅读:Linux 系统管理员网络管理、故障排除和调试指南

注意:在运行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链路层发现协议)状态,请使用 lldp 命令。

networkctl lldp

默认情况下,networkctl 的输出通过管道传输到寻呼机,您可以通过添加 –no-pager 标志来防止这种情况。

networkctl --no-pager

您还可以使用 --no-legend 选项打印没有列标题和页脚的输出。

networkctl --no-legend

要查看其帮助消息,请使用 -h 标志或查看其手册页以获取更多信息。

networkctl -h
OR
man networkctl 

您还会发现以下 Linux 网络指南很有用:

  1. nload – 实时监控 Linux 网络带宽使用情况
  2. 10 个有用的“IP”命令来配置网络接口
  3. 在 Linux 中配置网络接口的 15 个有用的“ifconfig”命令
  4. 12 个 Tcpdump 命令——网络嗅探工具

就这样!在本文中,我们解释了如何使用 networkctl 命令查看连接到 Linux 系统的网络设备的摘要。使用下面的反馈表分享您的想法或提出任何问题。