ubuntu 網絡管理--NetworkManager
- 1 介紹
- 2 NetworkManager 命令
- 2 nmcli 命令
- 顯示可用的wifi AP
- 連接wifi
- 檢查網絡連接 ?? 如何刪除
- 刪除網絡連接
- 查看設備狀態
- 添加一個新的以太網連接
- 設置靜態 IP 地址
- 啟用并測試連接
- 添加新的wifi連接
- 3 其他命令
- 參考
1 介紹
NetworkManager 是標準的 Linux 網絡配置工具套件。它支持從桌面到服務器、移動設備等多種網絡設置,并且與流行的桌面環境和服務器配置管理工具集成得很好。
Ubuntu 18.04開始,Ubuntu和Debian移除了以前的ifup/ifdown命令和/etc/network/interfaces配置文件,轉而使用ip link set或者/etc/netplan/01-netcfg.yaml模板和sudo netplan apply命令實現網絡管理。
ip link set為iproute2工具集命令,多用于臨時配置,取代ifup和ifdown。
如果安裝的是服務器版本,則默認使用networkd進行管理,并且不會安裝NetworkManager和提供nmcli接口。
如果安裝的是桌面版本,則默認使用NetworkManager進行管理。
2 NetworkManager 命令
- 查看是否安裝了NetworkManager
sen@ubuntu:~$ systemctl --type=service | grep NetNetworkManager-wait-online.service NetworkManager.service systemd-resolved.service systemd-timesyncd.service
sen@ubuntu:~$
- 命令
systemctl status NetworkManager 查看NetworkManager狀態
systemctl start NetworkManager 開啟Net
systemctl restart NetworkManager 重新啟動Net(PID值會發生變化)
systemctl reload NetworkManager 重新啟動Net(PID值不會發生變化)
systemctl is-enabled NetworkManager 查看Net是否開機自啟動
systemctl enable NetworkManager 設置Net開機自啟動
2 nmcli 命令
NetworkManager 提供了兩個非常好用的工具,nmcli(Network Manager Command line)和nmtui( Network Manager Text User Interface),從英文全稱也可以看出來,前者是基于命令行,后者是基于光標的文本用戶界面。
顯示可用的wifi AP
sen@ubuntu:~$ nmcli device wifi list
IN-USE BSSID SSID MODE CHAN RATE SIGNAL BARS SECURITY
* 10:C3:AB:9D:B0:73 Robot Infra 149 260 Mbit/s 37 ** WPA1 WPA210:C3:AB:9D:8E:73 Robot Infra 165 260 Mbit/s 37 ** WPA1 WPA210:C3:AB:9D:8F:93 Robot Infra 157 260 Mbit/s 14 * WPA1 WPA2
sen@ubuntu:~$
連接wifi
// 方法一
sudo nmcli device wifi connect "$SSID" password "$PASSWORD"eg:
sudo nmcli device wifi connect "worth" password "1234567890"// 方法二
sudo nmcli --ask device wifi connect "$SSID"
然后輸入密碼
檢查網絡連接 ?? 如何刪除
sen@ubuntu:~$ nmcli con show
NAME UUID TYPE DEVICE
docker0 b1c2dfd3-9e0c-44bf-8231-7700afd6b4ce bridge docker0
senLab-Robot a6ce0039-85db-455c-b015-1c1f0565bf68 wifi --
Wired connection 1 626af501-19ef-3bf7-b6ba-caecd7046979 ethernet --
Wired connection 2 78640d99-496e-3e82-a4e3-6e8dc3dcc0cd ethernet --
sen dffecc96-c6cf-4973-ab5f-9253830d19ee wifi --
sen@ubuntu:~$
刪除網絡連接
sudo nmcli con del "$UUID"
查看設備狀態
sen@ubuntu:~$ nmcli device status
DEVICE TYPE STATE CONNECTION
wlan0 wifi connected sen
docker0 bridge connected docker0
p2p-dev-wlan0 wifi-p2p disconnected --
eth0 ethernet unavailable --
eth1 ethernet unavailable --
can0 can unmanaged --
can1 can unmanaged --
dummy0 dummy unmanaged --
lo loopback unmanaged --
sen@ubuntu:~$
添加一個新的以太網連接
使用 nmcli 來添加一個新的以太網連接。確保你有一個空閑的網絡接口,通常是 eth0、eth1 等。
sudo nmcli con add con-name bot-eth0 type ethernet ifname eth0
設置靜態 IP 地址
為這個新連接分配一個靜態 IP 地址、子網掩碼、默認網關以及 DNS 服務器:
// eth0
sudo nmcli c m bot-eth0 ipv4.addresses "192.168.1.7/24"
sudo nmcli c m bot-eth0 ipv4.gateway "192.168.1.1"
sudo nmcli c m bot-eth0 ipv4.dns "8.8.8.8, 8.8.4.4"
sudo nmcli c m bot-eth0 ipv4.method 'manual'
啟用并測試連接
sudo nmcli c up bot-eth0
ping 192.168.1.7
添加新的wifi連接
nmcli device wifi connect "TP-LINK" password "<PASSWORD>" ifname wlan0
3 其他命令
sen@ubuntu:~$ ip link show eth0
5: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 \
qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000link/ether b2:a2:7b:2b:8d:d7 brd ff:ff:ff:ff:ff:ffaltname enP4p65s0
sen@ubuntu:~$ ip link show eth1
6: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 \
qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000link/ether de:89:41:6c:a9:c1 brd ff:ff:ff:ff:ff:ffaltname enP2p33s0
sen@ubuntu:~$
參考
1、wiki–NetworkManager
2、networkmanager.dev
3、archlinux–NetworkManager
4、掌握 nmcli 命令,輕松管理網絡連接
5、Netplan介紹
6、Linux 系統中如何使用 nmcli 配置網絡連接 ?
7、Linux - 網絡管理