Use NetworkManager to configure network settings/zh
Contents
1 什么是NetworkManager
NetworkManager是一个检测网络、自动连接网络的程序(网络管理器),无论是无线网络,还是有线连接,它都可以令您轻松管理。
NetworkManager包含了命令行管理工具(nmcli)、基于命令行终端的图形界面(nmtui) 和 基于X-Windows的图形界面 (nm-connection-editor)。
2 哪些系统预装了NetworkManager
FriendlyELEC所有NanoPi系列的开发板的Linux系统(包括Debian和Ubuntu) 均预装了 NetworkManager 作为网络管理器,涵盖但不限于以下开发板型号:
2.1 开发板型号
S5P4418系列:
NanoPi2 / NanoPC-T2 / NanoPi-S2 / Smart4418 / NanoPi2-Fire / NanoPi-M2 / NanoPi-M2A
S5P6818系列:
NanoPC-T3 / NanoPC-T3T / NanoPi-M3
全志平台:
NanoPi-M1 /NanoPi-NEO /NanoPi-NEO-Air / NanoPi-M1-Plus / NanoPi-NEO2 / NanoPi-M1-Plus2 / NanoPi-NEO-Plus2 / NanoPi-NEO-Core / NanoPi-Duo
2.2 OS版本
Debian 8.x jessie (限S5P4418和S5P6818平台)
Ubuntu core xenial 16.04.x (所有平台)
以上OS包含armhf和aarch64架构版本。
3 使用NetworkManager连接WiFi
3.1 命令行操作(nmcli)
要连接WiFi,相关的命令如下:
- 查看网络设备列表
$ sudo nmcli dev
注意,如果列出的设备状态是 unmanaged 的,说明网络设备不受NetworkManager管理,你需要清空 /etc/network/interfaces下的网络设置,然后重启.
- 开启WiFi
$ sudo nmcli r wifi on
- 扫描附近的 WiFi 热点
$ sudo nmcli dev wifi
- 连接到指定的 WiFi 热点
$ sudo nmcli dev wifi connect "SSID" password "PASSWORD"
请将 SSID和 PASSWORD 替换成实际的 WiFi名称和密码。
连接成功后,下次开机,WiFi 也会自动连接。
- 多个WiFi硬件时,可以用 ifname参数指定要操作的WiFi设备,例如wlan1:
sudo nmcli device wifi connect "ssid" password "password" ifname wlan1
3.2 命令行下的图形化操作(nmtui)
nmtui 是一个基于curses的图形化前端界面,输入以下命令即可进入:
$ sudo nmtui
使用信息参见man nmtui。
3.3 图形界面操作
在Debian的桌面环境下,有两个入口可以管理网络:
一是点击桌面任务栏右下角的网络图标,会弹出 NetworkManger 的菜单,列出当前的网络连接状态,如果有WiFi网络,会列出周边的无线热点,如下图所示:
你可以点击菜单上的无线热点,即可连接到该热点。
二是通过系统菜单 Preferences -> Network Connections进入:
4 NetworkManager的卸载
NetworkManager虽然方便,但如果你还是觉得传统的 wpa_supplicant 网络管理方式更顺手,你可以通过以下方式卸载NetworkManager:
创建一个脚本文件例如 rmnm.sh:
$vi rmnm.sh
脚本内容如下:
#!/bin/bash apt-get --yes --force-yes remove --auto-remove --purge network-manager apt autoremove -y cat >/etc/network/interfaces <<INTERFACEEOL source-directory /etc/network/interfaces.d auto lo iface lo inet loopback allow-hotplug wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf INTERFACEEOL cat >/etc/network/interfaces.d/eth0 <<ETH0EOLB auto eth0 iface eth0 inet dhcp hwaddress 76:92:d4:85:f3:0f ETH0EOLB
然后执行脚本:
$chmod 755 rmnm.sh $ sudo ./rmnm.sh
完成后重启即可。
5 其他参考资料
更详细的NetworkManager使用指南可参考这篇文章: NetworkManager