NetworkManager是红帽于2004年推迟的一个标准的Linux网络配置工具套件,支持桌面、服务器和移动设备的各种网络设置,包括有线、无线网络管理。
安装
apt-get install -y NetworkManager NetworkManager-tui
help
man NetworkManager.conf
nmcli
命令是用来控制 NetworkManager
的命令行工具
$ nmcli -h
Usage: nmcli [OPTIONS] OBJECT { COMMAND | help }
OPTIONS
-a, --ask ask for missing parameters
-c, --colors auto|yes|no whether to use colors in output
-e, --escape yes|no escape columns separators in values
-f, --fields <field,...>|all|common specify fields to output
-g, --get-values <field,...>|all|common shortcut for -m tabular -t -f
-h, --help print this help
-m, --mode tabular|multiline output mode
-o, --overview overview mode
-p, --pretty pretty output
-s, --show-secrets allow displaying passwords
-t, --terse terse output
-v, --version show program version
-w, --wait <seconds> set timeout waiting for finishing operations
OBJECT
g[eneral] NetworkManager's general status and operations
n[etworking] overall networking control
r[adio] NetworkManager radio switches
c[onnection] NetworkManager's connections
d[evice] devices managed by NetworkManager
a[gent] NetworkManager secret agent or polkit agent
m[onitor] monitor NetworkManager changes
使用
device
# 查看device列表
nmcli d
nmcli dev status
# 查看所有device详细信息
nmcli d show
# 查看指定device的详细信息
nmcli d show eth0
# 激活网卡
nmcli d connect eth0
# 列出可用的热点
nmcli d
nmcli dev
# 断开
nmcli dev disconnect iface wlan0
nmcli connection show --active
connection
// 使用命令修改为静态 IP,重启生效
nmcli con mod \
ipv4.address "192.168.8.8" \
ipv4.gateway "192.168.8.1" \
ipv4.dns "8.8.8.8" \
ipv4.method "manual"
# 创建connection,配置静态ip(等同于配置ifcfg,其中BOOTPROTO=none,并ifup启动)
nmcli c add type ethernet con-name ethX ifname ethX ipv4.addr 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.method manual
# 创建connection,配置动态ip(等同于配置ifcfg,其中BOOTPROTO=dhcp,并ifup启动)
nmcli c add type ethernet con-name ethX ifname ethX ipv4.method auto
wifi
# 打开/关闭WiFi
nmcli nm wifi off|on
nmcli radio wifi off|on
# 扫描 wifi
nmcli dev wifi
nmcli dev wifi list
nmcli dev status
nmcli device wifi
# 链接 wifi
nmcli dev wifi connect <wifi-name> password <wifi-password>
nmcli dev wifi connect <wifi-name> password <wifi-password> iface wlan0
nmcli dev wifi connect <wifi-name> --ask
其他
nmtui
交互页面配置
/etc/sysconfig/network-scripts
ifcfg-xxx
修改后,需要 nmcli con reload
激活配置
nmcli
nmcli con show
显示所有connections
nmcli con show enoxx
显示connection的所有properties。 man nm-settings
nmcli con add
创建connection
nmcli con up
激活connection
nmcli con mod
修改connection参数
- nmcli命令太多记不住,有个办法:
man nmcli-examples
- ip命令的操作都是临时的,要想持久化,要用nmcli或nmtui