RedHat7之nmcli

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RedHat7之nmcli相关的知识,希望对你有一定的参考价值。

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 <field,...>|all|common? ? ? 指定要输出的字段
? -g, --get-values <field,...>|all|common? 通用快捷方式 -m 表格 -t -f
? -h, --help ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 打印帮助信息
? -m, --mode tabular|multiline ? ? ? ? ? ? 指定输出模式,输出网卡相关信息
? -o, --overview ? ? ? ? ? ? ? ? ? ? ? ? ? 输出网卡相关信息的概述
? -p, --pretty ? ? ? ? ? ? ? ? ? ? ? ? ? ?  输出网卡相关信息
? -s, --show-secrets ? ? ? ? ? ? ? ? ? ? ? 允许显示密码
? -t, --terse? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 简短的输出
? -v, --version? ? ? ? ? ? ? ? ? ? ? ? ? ? 查看程序版本
? -w, --wait <seconds> ? ? ? ? ? ? ? ? ? ? 设置超时等待时间

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 <order spec>]
* *     ? show [--active] [id | uuid | path | apath] <ID> …
*   启动与关闭连接:
* *     ? up [[id | uuid | path] <ID>] [ifname <ifname>] [ap <BSSID>] [passwd-file <file with passwords>]
* *     ? down [id | uuid | path | apath] <ID> …
*   管理连接相关:
* *     ? add COMMON_OPTIONS TYPE_SPECIFIC_OPTIONS SLAVE_OPTIONS IP_OPTIONS [-- ([+|-]<setting>.<property> <value>)+]
* *     ? modify [--temporary] [id | uuid | path] <ID> ([+|-]<setting>.<property> <value>)+
* *     ? clone [--temporary] [id | uuid | path ] <ID> <new name>
* *     ? edit [id | uuid | path] <ID>
* *     ? edit [type <new_con_type>] [con-name <new_con_name>
* *     ? delete [id | uuid | path] <ID>
* *     ? monitor [id | uuid | path] <ID> …
*   重载连接:
* *     ? reload
* *     ? load <filename> [ <filename>... ]
* *     ? import [--temporary] type <type> file <file to import>
* *     ? export [id | uuid | path] <ID> [<output file>]
d[evice]? ? ? ? 管理设备
*   status | show | set | connect | reapply | modify | disconnect | delete | monitor | wifi | lldp
a[gent] ? ? ? ? 管理代理相关
*   secret | polkit | all?
m[onitor] ? ? ? 监视网络管理器(NetworkManager)的更改,每当 NetworkManager 出现更改时打印一行信息。

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

以上是关于RedHat7之nmcli的主要内容,如果未能解决你的问题,请参考以下文章

RedHat7 nmcli命令行配置IP

nmcli命令详解

RHEL7网络管理之nmcli

网络配置之nmcli

linux之nmcli常见基本用法

linux之nmcli常见基本用法