Linux的nmcli工具及网络组的实现

nmcli工具

nmcli是用于控制NetworkManager和获取其状态的命令行工具。

它可用于替换NM小程序或其他图形客户端。

nmcli用于创建、显示、编辑、删除、激活、和停用网络连接,以及控制和显示网络设备工作状态

格式: nmcli [OPTIONS...] {help | general | networking | radio | connection | device | agent | monitor}
         [COMMAND] [ARGUMENTS... ]
常用选项:
	-t:输出简明扼要
	-p:分页显示,与-t大同小异
	-c  {yes|no|auto}:是否支持添加颜色显示

nmcli的子命令:可使用TAB键查看并补全

device:查看和管理网络接口

nmcli device [option]

device的子命令功能
help查看帮助信息
status [ifname]设备状态信息
set [ifname]设置,[autoconnect yes 或no],相当于网卡配置文件中ONBOOT项
connect [ifname]自动获取地址并连接
disconnect [ifname]将指定网卡断开网络连接
delete [ifname]删除
modify [ifname ]修改网卡属性,这个子命令很强大,可修改很多网卡属性

这些是常用的,使用TAB键可看到很多
例:

nmcli device status DEVICE		:查看网卡状态
nmcli device modify eth0 connection.id eth100	:将网卡名字改为eth100,修改的仅是配置文件中NAME指向的名字,而不是DEVICE指向的名字
nmcli device modify eth0 ipv4.addresses 192.168.1.1	:修改eth0的IP地址
nmcli device modify eth0 ipv4.method manual|auto	:修改网卡为静态或自动获取,manual为静态,auto为自动
nmcli device modify eth0 ipv4.gateway 192.168.0.1	:修改eth0的网关
nmcli device connect eth0		:自动获取一个地址连接
nmcli device disconnect eth0	:断开此网卡的连接
nmcli device set eth0 autoconnect yes	:开机加载此设备,配置文件中ONBOOT项
nmcli device delete eth1		:删除此设备

connection:启动或关闭网卡等

格式:
nmcli connection [option]

connection的子命令作用
up ifname启动网卡
down ifname关闭网卡
add添加IP地址。网关。之类的
clone [ifname]克隆网卡配置,会生成配置文件,IP地址相同,需修改
edit [iduuid
delete [ifname]删除网卡,会删除其配置文件
reload [ifname ]重新加载网络服务

例:

nmcli connection up eth1		:启动网卡
nmcli connection down eth1		:关闭网卡
nmcli connection clone eth1 eth1:1	:克隆eth1,同时生成eth1:1的配置文件
nmcli connection reload			:重新加载网络服务
nmcli connection delete eth1	:删除

general:常规设定

格式:
nmcli general [option]

general的子命令说明
hostname获取或永久修改系统主机名,不加参数显示当前主机名
permissions显示已经过NetworkManager验证操作的权限
logging获取或更改NetworkManager的日志级别和域,不带任何参数显示当前日志级别和域
status显示NetworkManager的总体状态

例:

nmcli general hostname 			:显示当前主机名
nmcli general logging			:显示当前日志级别和域
nmcli general permissions		:显示已经过验证操作的授权
nmcli general status			:显示状态

radio:查看无线网状态

格式:nmcli redio [option ]

参数:
all:获取所有的状态
		  wifi :获取wifi的状态
		  wwan:获取无线广域网状态

networking:管理网络状态

格式:nmcli networking [option]

参数:
	on:启动网络
	off:关闭网络
	connectivity:连接状态

以上只是部分介绍!!!内容太多,还请谅解!


网络组的实现(network team)

网络组:将多个网卡聚合在一起的方法,实现容错和提高吞吐量,提供更高的性能和扩展性
直接给两块网卡设置同一IP地址是不可以的,通过网络组,虚拟一块网卡对外提供连接,物理网卡的MAC地址被修改为相同的MAC地址,指向网络组接口的MAC

多种方式(runner):
	broadcast
	roundrobin
	activebackup
	loadbalance
	lacp
启动网络组接口不会自动启动网络组中的port接口
启动网络组接口中的port接口总会自动启动网络组接口
禁用网络组接口会自定禁用网络组中的port接口
没有port接口的网络组接口可以启动静态IP链接
启用DHCP连接时,没有port接口的网络组会等待port接口的加入

创建网络组接口的格式:

nmcli con add type team con-name CNAME ifname INAME config JSON ipv4.addr IP/NET
	CNAME:连接名
	INAME:接口名
	JSON:指定runner方式 mode
	JSON格式:'{"runner":{"name":"activebackuo"}}'

示例:

如适用虚拟机做实验,准备两个虚拟网卡,使用相同网段
做实验之前建议将原 eth{0|1} 或 ens{33|37} 接口的配置文件移动至某目录,以下命令会自动生成新的配置文件
实验完成后删掉新生成的文件,将原 eth{0|1} 或 ens{33|37} 接口配置文件还原,重启服务就又回到了最初状态。

创建网络组接口
	nmcli con add type team con-name team0 ifname team0 config '{"runner":{"name":"activebackup"}}' 

为team0修改为手动获取IP
	nmcli con modif ipv4.method manual

为team0添加IP地址
	nmcli con modify  team0  ipv4.address 192.168.0.100/24 

添加从属接口
	nmcli con addd con-name team0-eth0 type team-slave ifname eth0 master team0
	nmcli con addd con-name team0-eth1 type team-slave ifname eth1 master team0
	
	team-slave:表示本网卡将附属于team0,不再是独立工作
	master:表示本网卡的主接口指向谁
启动
	nmcli con up team0
	nmcli con up team0-eth0
	nmcli con up team0-eth1

使用ping命令查看

查看状态:
	teamdctl team state

使用ifconfig team0-eth0 down 或 ifconfig team1-eth0 down,断掉一个网卡接口,测试网络是否还通!

删除接口
	nmcli device dis eth0

努力!奋斗!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值