在很多Linux发行版上,NetworkManager都是事实上的网络管理工具。
man 8 NetworkManager
可以查看帮助文档。
NetworkManager是一个网络管理守护程序,可以使用systemctl查看其状态:
$ systemctl status NetworkManager ● NetworkManager.service - Network Manager Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; preset: enabled) Drop-In: /usr/lib/systemd/system/service.d └─10-timeout-abort.conf, 50-keep-warm.conf Active: active (running) since Sat 2025-11-29 10:02:41 CST; 23h ago Invocation: 2c61e66aff0b43af8ef82d1d6b0ae5d3 Docs: man:NetworkManager(8) Main PID: 1046 (NetworkManager) Tasks: 4 (limit: 18753) Memory: 9.1M (peak: 10.8M) CPU: 3.361s CGroup: /system.slice/NetworkManager.service └─1046 /usr/sbin/NetworkManager --no-daemon Nov 30 09:25:45 fedora NetworkManager[1046]: <info> [1764465945.4795] manager: NetworkManager state is now DISCONNECTING Nov 30 09:25:45 fedora NetworkManager[1046]: <info> [1764465945.4802] audit: op="device-disconnect" interface="enp4s0" ifindex=2 pid=14450 uid=1000 result="success" Nov 30 09:25:45 fedora NetworkManager[1046]: <info> [1764465945.5093] device (enp4s0): state change: deactivating -> disconnected (reason 'user-requested', managed-type: 'full') Nov 30 09:25:45 fedora NetworkManager[1046]: <info> [1764465945.5101] dhcp4 (enp4s0): canceled DHCP transaction Nov 30 09:25:45 fedora NetworkManager[1046]: <info> [1764465945.5101] dhcp4 (enp4s0): activation: beginning transaction (timeout in 45 seconds) Nov 30 09:25:45 fedora NetworkManager[1046]: <info> [1764465945.5101] dhcp4 (enp4s0): state changed no lease Nov 30 09:25:45 fedora NetworkManager[1046]: <info> [1764465945.5102] dhcp6 (enp4s0): canceled DHCP transaction Nov 30 09:25:45 fedora NetworkManager[1046]: <info> [1764465945.5102] dhcp6 (enp4s0): activation: beginning transaction (timeout in 45 seconds) Nov 30 09:25:45 fedora NetworkManager[1046]: <info> [1764465945.5102] dhcp6 (enp4s0): state changed no lease Nov 30 09:25:45 fedora NetworkManager[1046]: <info> [1764465945.5425] manager: NetworkManager state is now DISCONNECTED
查看进程状态:
$ ps aux | grep NetworkManager root 1046 0.0 0.1 554468 20500 ? Ssl Nov29 0:02 /usr/sbin/NetworkManager --no-daemon yuanjp 14724 0.0 0.0 230348 2344 pts/0 S+ 09:35 0:00 grep --color=auto NetworkManager
配置文件在/etc/NetworkManager/目录下:
$ ls /etc/NetworkManager/ conf.d dispatcher.d dnsmasq.d dnsmasq-shared.d NetworkManager.conf system-connections
比如其中一条连接的配置如下:
$ sudo cat /etc/NetworkManager/system-connections/Wired\ connection\ 3.nmconnection [connection] id=Wired connection 3 uuid=cdaceb42-0788-3df8-b189-b0fd661e3269 type=ethernet autoconnect-priority=-999 interface-name=enp4s0 timestamp=1716469199 [ethernet] [ipv4] dns=8.8.8.8; ignore-auto-dns=true method=auto [ipv6] addr-gen-mode=default method=auto [proxy]
NetworkManager提供了一个命令行工具,来管理、查看网络。
man 1 nmcli
可以查看帮助文档。
nmcli [OPTIONS...] {help | general | networking | radio | connection | device | agent | monitor} [COMMAND] [ARGUMENTS...]
$ nmcli enp4s0: connected to Wired connection 3 "Realtek RTL8125 2.5GbE" ethernet (r8169), FC:34:97:B8:B2:42, hw, mtu 1500 ip4 default, ip6 default inet4 192.168.1.9/24 route4 192.168.1.0/24 metric 100 route4 default via 192.168.1.1 metric 100 inet6 2409:8a55:33a2:4120:7ddc:d160:ddc8:e739/64 inet6 fe80::7613:548a:3cc4:2bbc/64 route6 fe80::/64 metric 1024 route6 2409:8a55:33a2:4120::/64 metric 100 route6 2409:8a55:33a2:4120::/64 via fe80::3e10:60ff:fecd:e730 metric 105 route6 default via fe80::3e10:60ff:fecd:e730 metric 100 lo: connected (externally) to lo "lo" loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536 inet4 127.0.0.1/8 inet6 ::1/128 enp1s0f0: unavailable "Intel 82576" ethernet (igb), E8:61:1F:10:57:F1, hw, sriov, mtu 1500 enp1s0f1: unavailable "Intel 82576" ethernet (igb), E8:61:1F:10:57:F0, hw, sriov, mtu 1500 wlo1: unavailable "Intel Tiger Lake PCH CNVi" wifi (iwlwifi), 5E:90:A5:5D:86:57, sw disabled, hw, mtu 1500 DNS configuration: servers: 8.8.8.8 interface: enp4s0 servers: 2409:8057:2000:6::8 2409:8057:2000:2::8 interface: enp4s0 Use "nmcli device show" to get complete information about known devices and "nmcli connection show" to get an overview on active connection profiles. Consult nmcli(1) and nmcli-examples(7) manual pages for complete usage details.
可以使用下面的命令,关闭一个device
$ nmcli device down enp4s0
Device 'enp4s0' successfully disconnected.
会停止拨号,并且清除所有的ip和路由。