networkctl 命令

介绍

networkctl(英文全拼:network control)用于查询和控制 Linux 网络子系统,比如查看网络设备及其连接状态的摘要。

networkctl 是新版本 systemd 命令集中的命令之一,对应 systemd-networkd 服务。

语法

networkctl [OPTIONS...] COMMAND [LINK...]

命令

  • list [PATTERN...] :列出存在的连接及其状态。若未指定连接(LINK)则显示所有连接, 否则仅显示指定的连接。
  • status [PATTERN...] :显示连接的各种信息,包括类型、状态、内核模块、MAC 地址、IP 地址、DNS 服务器等等。
  • lldp [PATTERN...] :显示已发现的 LLDP(Link Layer Discovery Protocol)邻居。若未指定连接,则显示所有连接上发现的邻居,否则仅显示指定连接上发现的邻居。
  • label :显示以数字形式表示的地址标签,可用于地址选择。
  • delete DEVICES... :删除虚拟网卡设备。
  • renew DEVICES... :更新动态配置。
  • reconfigure DEVICES... :重新配置接口。
  • reload :重新加载 .network 和 .netdev 文件。

选项

  • --no-pager :不将程序的输出内容(通过 pipe)给分页程序。
  • --no-legend :不输出列标题,也就是不在输出列表的头部和尾部显示字段的名称。
  • -a, --all :显示所有连接的状态。
  • -s, --stats :显示详细的链接统计信息。
  • -l, --full :不要省略输出。
  • -n, --lines=INTEGER :要显示的日记数目。
  • -h, --help :显示帮助信息。
  • --version :显示 systemd 软件包的版本信息。

示例

列出所有连接及其状态,相当于 networkctl listnetworkctl -a

$ networkctl
IDX LINK TYPE     OPERATIONAL SETUP
  1 lo   loopback carrier     unmanaged
  2 eth0 ether    routable    unmanaged
  3 eth1 ether    no-carrier  unmanaged
  4 ppp0 ppp      routable    unmanaged

4 links listed.

显示连接的状态信息

$ networkctl status
*   State: routable
  Address: 192.168.31.223 on eth0
           10.106.236.134 on ppp0
           fe80::a897:4bff:fe16:c0a6 on eth0
  Gateway: 192.168.30.1 on eth0

显示网络接口 eth0 的各种信息

$ networkctl status eth0
* 2: eth0
             Link File: n/a
          Network File: n/a
                  Type: ether
                 State: routable (unmanaged)
                  Path: platform-30be0000.ethernet
                Driver: fec
            HW Address: aa:97:4b:16:c0:a6
                   MTU: 1500 (min: 68, max: 1500)
  Queue Length (Tx/Rx): 3/3
      Auto negotiation: yes
                 Speed: 100Mbps
                Duplex: full
                  Port: mii
               Address: 192.168.31.223
                        fe80::a897:4bff:fe16:c0a6
               Gateway: 192.168.30.1

Leave a Reply