1、简介
NetworkManager是RedHat 7系列提供网络服务的一个动态网络控制和配置守护进程,图形界面工具为nmtui,命令行工具为nmcli,由GNOME Shell提供的图形界面工具control-center,尚未由 control-center 处理的某些任务的由nm-connection-editor处理。
NetworkManager 可用于以下连接类型:以太网、VLAN、网桥、绑定、成组、Wi-Fi、移动宽带(比如移动网络 3G)及 IP-over-InfiniBand。在这些连接类型中,NetworkManager 可配置网络别名、IP 地址、静态路由器、DNS 信息及 *** 连接以及很多具体连接参数。最后,NetworkManager 通过 D-bus 提供 API,D-Bus 允许应用程序查询并控制网络配置及状态。
2、nmcli
使用nmcli需先安装并启动NetworkManager
2.1、安装并启动NetworkManager
yum install NetworkManager
systemctl start NetworkManager
systemctl enable NetworkManager
2.2、nmcli使用格式
nmcli OPTIONS OBJECT { COMMAND | help }
OPTIONS
-a, --ask 询问缺少的参数
-c, --colors auto|yes|no 是否在输出中使用颜色
-e, --escape yes|no 值中是否有转义符分隔符
-f, --fields |all|common 指定要输出的字段
-g, --get-values |all|common 通用快捷方式 -m 表格 -t -f
-h, --help 打印帮助信息
-m, --mode tabular|multiline 指定输出模式,输出网卡相关信息
-o, --overview 输出网卡相关信息的概述
-p, --pretty 输出网卡相关信息
-s, --show-secrets 允许显示密码
-t, --terse 简短的输出
-v, --version 查看程序版本
-w, --wait 设置超时等待时间
OBJECT
g[eneral] 常规操作
* status 显示 NetworkManager 总体状态
* hostname [<主机名>]
* permissions
* logging [level <日志级别>] [domains <日志域>] NetworkManager 日志记录
n[etworking] 管理网络
* on
* off
* connectivity [check]
r[adio] 管理无线交换机
* all | wifi | wwan [ on | off
c[onnection] 管理连接
* 查看相关:
* * show [--active] [--order ]
* * show [--active] [id | uuid | path | apath] …
* 启动与关闭连接:
* * up [[id | uuid | path] ] [ifname ] [ap ] [passwd-file ]
* * down [id | uuid | path | apath] …
* 管理连接相关:
* * add COMMON_OPTIONS TYPE_SPECIFIC_OPTIONS SLAVE_OPTIONS IP_OPTIONS [-- ([+|-]. )+]
* * modify [--temporary] [id | uuid | path] ([+|-]. )+
* * clone [--temporary] [id | uuid | path ]
* * edit [id | uuid | path]
* * edit [type ] [con-name
* * delete [id | uuid | path]
* * monitor [id | uuid | path] …
* 重载连接:
* * reload
* * load [ ... ]
* * import [--temporary] type file
* * export [id | uuid | path] [
2.3、配置IPv4示例
nmcli con modify eth0 ipv4.addresses "172.25.0.11/24 172.25.254.254" ipv4.method manual
nmcli con modify eth0 ipv4.dns 172.25.254.254
nmcli con down eth0
nmcli con up eth0
2.4、配置示例:使用 nmcli 配置端口聚合
在server0和desktop0之间按以下要求配置:
此链路使用接口eth1和eth2
此链路在一个接口失效时仍然能工作
此链路在server0使用下面的地址 192.168.0.101/255.255.255.0
此链路在desktop0使用下面的地址 192.168.0.102/255.255.255.0
此链路在系统重启之后依然保持正常状态
# server0配置
#创建新的成组接口,NetworkManager 还会将配置写入 /etc/sysconfig/network-scripts/ifcfg-team0,其中会将对应的 ONBOOT 设定为 yes,并将 BOOTPROTO 设定为 dhcp
nmcli con add type team con‐name team0 ifname team0 config '{"runner":{"name":"activebackup"}}'
#向team0中添加名为team0-slave1的接口eth1
nmcli con add type team‐slave con‐name team0‐slave1 ifname eth1 master team0
nmcli con add type team‐slave con‐name team0‐slave2 ifname eth2 master team0
#为聚合组配置IP
nmcli con mod team0 ipv4.addresses "192.168.0.101/24 192.168.0.254" ipv4.method manual
#要启用成组,必须首先激活端口
nmcli con up team0‐slave1
nmcli con up team0‐slave2
#启用成组
nmcli con up team0
# desktop0配置
nmcli con add type team con‐name team0 ifname team0 config '{"runner":{"name":"activebackup"}}'
nmcli con add type team‐slave con‐name team0‐slave1 ifname eth1 master team0
nmcli con add type team‐slave con‐name team0‐slave2 ifname eth2 master team0
nmcli con mod team0 ipv4.addresses "192.168.0.102/24 192.168.0.254" ipv4.method manual
nmcli con up team0‐slave1
nmcli con up team0‐slave2
nmcli con up team0
# 检查
nmcli con show
teamdctl team0 state
参考资料:
RedHat官方文档:https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html-single/networking_guide/index#sec-Network_Config_Using_nmcli