NetworkManager高级网络管理.
网络管理器(NetworManager)是检测网络,自动连接网络的程序.无论是无线还是有线连接,它都可以令您轻松管理.对于无线网络,网络管理器优先连接已知的网络并可以自动切换到最可靠的无线网络.利用网络管理器的程序可以自由切换在线和离线模式,网络管理器会相对无线网络优先选择有线网络,支持 VPN.
网络管理器最初由 Redhat 公司开发,现在由 GNOME 管理.
警告WiFi的密码默认情况下是明文保存的.
安装NetworkManager.
Arch Linux
pacman -Syy networkmanager
systemctl enable --now NetworkManager.serviceDebian系列.
apt-get update &&\
apt-get install networkmanager &&\
systemctl enable --now NetworkManager.serviceRHEL系列.
yum makecache &&\
yum install networkmanager &&\
systemctl enable --now NetworkManager.servicenmcli详解.
简介:
nmcli是NetworkManager命令行网络接口配置工具,用户可以通过nmcli查询网络连接的状态,也可以管理网络接口参数.
可以通过如下命令使用nmcli:
nmcli [OPTIONS] OBJECT {COMMAND |help}其中OPTIONS是一些修改IP行为或者改变其输出的选项,所有选项都以’-‘字符开头,分为长,短两种形式,OPTIONS包含的选项如下表所示.
| 选项 | 说明 |
|---|---|
| -t[erse] | 简洁的输出模式,该模式适合计算机(脚本)处理 |
| -p[retty] | 详细输出模式,该模式适合用户阅读 |
| -m[mode]<field1,field2,..>|all|common | 在表格和多输出之间切换,默认值是表格 |
| -f[fields]<field1,field2,…>|all|common | 指定可以被打印出来的字段(列名) |
| -e[scape]yes|no | “:”和”\”字符的简洁表格模式 |
| -v | 打印IP的版本并退出 |
| -help | 显示帮助信息 |
| -a[ak] | 要求输入缺少的参数 |
| w[ait] | 设置超时等待时间 |
OBJECT是要管理或者获取信息的对象,OBJECT包含如下表的选系.
| 选项 | 说明 |
|---|---|
| n[etworking] | 使用此对象查询和修改NetworkManager的状态 子命令包括: status,sleep,wakeup,wifi,wwan status: 显示NetworkManager的整体状态sleep: 把NetworkManager设置为睡眠模式,此时NetworkManager管理的所有接口被停用wakeup:从睡眠模式唤醒wifi:查询或设置NetworkManager的无线网络设备的状态wwan:查询或设置NetworkManager的wwan网络设备的状态 |
| c[onnection] | 获取与NetworkManager的无线网络设备的状态 |
| d[evice] | 获取相关设备的信息 |
| r[adio] | 显示无线交换机开关状态,或开启和关闭交换机 |
| g[eneral] | 使用此命令可以显示NetworkManager的状态和权限,也可以获取和更改系统主机名及NetworkManager的日志级别和域,包含4个命令即,status,hostname,permissions,logging |
COMMAND子命令格式选项:
| 选项 | 说明 |
|---|---|
| list[id | 表示配置表的连接,如果没有设置参数,则配置为系统和用户设置的服务列出的连接,标识与连接的名称或UUID与连接的UUID必须被指定 |
| status | 表示打印活动连接的状态 |
| up id | 表示激活的连接,连接识别用的ID或UUID或使用连接名称 |
| down id | 表示停用的连接,连接识别用的ID或UUID,或使用连接名称 |
| disconnect iface | 表示断开一个设备,防止设备自动启动 |
| wifi [list[eface | 表示列出可用的WiFi接入点 |
nmcli应用示例
- 👉 显示附近的WiFi(使用设备wlan0)
nmcli device wifi list ifname wlan0
- 👉 连接WiFi(使用设备wlan0)
nmcli device wifi connect WiFi名称 password WiFi密码 ifname wlan0
- 👉 连接到隐藏的WiFi(使用设备wlan0)
nmcli device wifi connect WiFi名称 password WiFi密码 hidden yes ifname wlan0

- 👉 断开一个网卡(interface)上的连接
nmcli device disconnect ifname wlan0- 👉 重新连接一个标记为”已断开”的网卡.
nmcli connection up uuid 设备的UUID- 👉 显示所有连接过的UUID列表.
nmcli connection show- 👉 查看所有网络设备及其状态.
nmcli device- 👉 关掉/开启WiFi.
nmcli radio wifi off/on- 👉 查看网络是否启用
nmcli networking- 👉 查看当前活动的连接
nmcli connection show --active- 👉 查看主机名称
nmcli general hostname- 👉 修改主机名为Test
nmcli general hostname Test- 👉 查看网络设备列表
nmcli device show- 👉 查看日志信息
nmcli g logging
LEVEL DOMAINS
DEBUG PLATFORM,RFKILL,ETHER,WIFI,BT,MB,DHCP4,DHCP6,PPP,IP4,IP6,AUTOIP4,DNS,VPN,SHARING,SUPPLICANT,AGENTS,SETTINGS,SUSPEND,CORE,DEVICE,OLPC,INFINIBAND,FIREWALL,ADSL,BOND,VLAN,BRIDGE,TEAM,CONCHECK,DCB,DISPATCH,AUDIT,SYSTEMD,PROXY- 👉 配置静态IP地址
IP地址: 192.168.1.7/24
子网掩码: 255.255.255.0
网关: 192.168.1.1
DNS: 8.8.8.8
nmcli connection add con-name eth0 type ethernet ifname eth0 ip4 192.168.122.7/24 gw4 192.168.122.1
nmcli connection modify eth0 +ipv4.dns 8.8.8.8
nmcli connection up eth0- 👉 配置静态路由
将 192.168.122.0/24 子网的流量指向位于 10.10.10.1 的网关
nmcli connection modify eth0 +ipv4.routes "192.168.122.0/24 10.10.10.1"

