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

Networkctl是一个命令行实用程序,用于查看网络设备及其连接状态的摘要。 它允许您查询和控制Linux网络子系统。 它是新版本systemd中的新命令之一,它出现在Ubuntu 18.04中 它显示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 youcl systemd[1]: Starting Network Service...
Jul 31 11:38:52 youcl systemd-networkd[13682]: vmnet8: Gained IPv6LL
Jul 31 11:38:52 youcl systemd-networkd[13682]: vmnet1: Gained IPv6LL
Jul 31 11:38:52 youcl systemd-networkd[13682]: enp1s0: Gained IPv6LL
Jul 31 11:38:52 youcl systemd-networkd[13682]: Enumeration completed
Jul 31 11:38:52 youcl 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. 15用于在Linux中配置网络接口的有用“ifconfig”命令
  4. 12 Tcpdump命令 - 网络嗅探器工具

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

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏