nmcli命令及team链路聚合

nmcli基于会话的网络管理

是对网卡进行配置,可以永久的生效

查看网卡信息

可以直接通过输入nmcli+tab键进行补齐,来查看所有的命令,下面举例一下常用命令
[root@localhost ~]# nmcli connection show
#查看所以的网络连接
[root@localhost ~]# nmcli connection show -active
#查看正在活动的网络连接
[root@localhost ~]# nmcli connection show ens33
#查看指定网卡的网络信息,这里的ens33是你通过show命令看到的网卡中的一块
[root@localhost ~]# nmcli device status
#显示设备的连接状态
[root@localhost ~]# nmcli device show
#查看所有网络设备的详细信息
[root@localhost ~]# nmcli device show ens33
#指定查看某网络设备的详细信息

网卡状态修改

[root@localhost ~]# nmcli connection up ens33
#开启网卡连接
[root@localhost ~]# nmcli connection down ens33
#关闭网卡连接--可以被自动激活
#如果通过远程登录到虚拟机,通过网卡的ip,关闭网络后,将会断开和虚拟机的连接
[root@localhost ~]# nmcli device disconnect ens33
#禁用网卡放置被激活
[root@localhost ~]# nmcli connection delate ens33
#删除网卡的配置文件
[root@localhost ~]# nmcli connection reload
#重新加载网络配置

网卡配置修改

网卡的配置都在示例文件里,都可以通过直接编辑文件的方式生效。

[root@localhost ~]# cd /usr/share/doc/teamd-1.27/example_configs/
[root@localhost example_configs]# ll
total 64
-rw-r--r--. 1 root root 305 Mar 18  2017 activebackup_arp_ping_1.conf
-rw-r--r--. 1 root root 465 Mar 18  2017 activebackup_arp_ping_2.conf
-rw-r--r--. 1 root root 194 Mar 18  2017 activebackup_ethtool_1.conf
-rw-r--r--. 1 root root 212 Mar 18  2017 activebackup_ethtool_2.conf
-rw-r--r--. 1 root root 241 Mar 18  2017 activebackup_ethtool_3.conf
-rw-r--r--. 1 root root 447 Mar 18  2017 activebackup_multi_lw_1.conf
-rw-r--r--. 1 root root 285 Mar 18  2017 activebackup_nsna_ping_1.conf
-rw-r--r--. 1 root root 318 Mar 18  2017 activebackup_tipc.conf
-rw-r--r--. 1 root root  96 Mar 18  2017 broadcast.conf
-rw-r--r--. 1 root root 209 Mar 18  2017 lacp_1.conf
-rw-r--r--. 1 root root  98 Mar 18  2017 loadbalance_1.conf
-rw-r--r--. 1 root root 140 Mar 18  2017 loadbalance_2.conf
-rw-r--r--. 1 root root 183 Mar 18  2017 loadbalance_3.conf
-rw-r--r--. 1 root root  93 Mar 18  2017 random.conf
-rw-r--r--. 1 root root 244 Mar 18  2017 roundrobin_2.conf
-rw-r--r--. 1 root root  97 Mar 18  2017 roundrobin.conf
[root@localhost ~]# nmcli connection modify ens33 connection.autoconnect yes
#网卡自启动
[root@localhost ~] nmcli connection modify ens33 ipv4.method manual ipv4.addresses +ip地址/掩码
#手动更改ip地址
nmcli connection modify ens37 ipv4.method auto
#dhcp模式。
#实际修改的是网卡配置文件BOOTPROTO,BOOTPROTO=none 表示手动;BOOTPROTO=dhcp 表示dhcp
[root@localhost ~]# nmcli connection modify ens33 ipv4.addresses +ip地址/掩码
#修改ip地址,网关,dns类似
# nmcli connection modify ens33 ipv4.gateway +网关
# nmcli connection modify ens33 ipv4.dns+dns服务器

team链路聚合

什么是teaming

所谓teaming技术就是把同一台服务器上的多个物理网卡通过软件绑定成一个虚拟的网卡,也就是说,对于外部网络而言,这台服务器只有一个可见的网卡。对于任何应用程序,以及本服务器所在的网络,这台服务器只有一个网络链接或者说只有一个可以访问的IP地址。
之所以要利用Teaming 技术,除了利用多网卡同时工作来提高网络速度以外,还有可以通过Teaming 实现不同网卡之间的负载均衡(Loadbalancing)和网卡冗余(Fault tolerance)。
就像是网络搭建中使用路由器实现负载均衡和备份一样。

teaming和bonding的区别

网卡绑定bonding可以提高网络的冗余,保证网络可靠性,提高网络速度。为了提高网络容错或吞吐量,一般服务器都会采取多网卡绑定的策略,在RHEL5/RHEL6中使用的是Bonding。而RHEL7提供了一项新的实现技术Teaming,用来实现链路聚合的功能,但是在RHEL7中,不会使用teaming替换bonding,它们是并存的,我们可以选择Teaming,也可以选Bonding。

team的工作模式

Broadcast 广播模式 传输来自所有端口的包
roundrobin 以轮循的模式传输所有端口的包
activebakup 主备模式这是一个故障迁移程序,监控链接更改并选择活动的端口进行传输
loadbalance 监控流量并使用哈希函数以尝试在选择传输端口的时候达到完美均衡

team链路聚合配置

##创建team0设备和team0会话
[root@localhost ~]# nmcli connection add type team con-name team0 ifname team0 config '{"runner":{"name":"activebackup"}}'
Connection 'team0' (b0849fe0-2896-4f31-b0f0-a3eaeca63886) successfully added.

##查看是否创建成功
[root@localhost ~]# nmcli connection show
NAME                UUID                                  TYPE      DEVICE
Wired connection 1  46dcfadc-166f-499f-9af9-16045eaff4de  ethernet  ens38
ens33               892a522c-8ed9-4ecc-ad13-c557ca857932  ethernet  ens33
team0               b0849fe0-2896-4f31-b0f0-a3eaeca63886  team      team0
virbr0              385dab9c-4aba-4296-ab6b-d73fece08692  bridge    virbr0

##为team0创建一个虚拟ip,此ip和你网卡ip在同一个网段,但不能相同。
[root@localhost ~]# nmcli connection modify team0 ipv4.addresses 192.168.168.120/24

##为其添加网关
[root@localhost ~]# nmcli connection modify team0 ipv4.gateway 192.168.168.1

##修改地址方式为手动
[root@localhost ~]# nmcli connection modify team0 ipv4.method manual
##查看修改后的方法
[root@localhost ~]# nmcli connection show team0 | grep method
ipv4.method:                            manual

##将设备添加到team0
[root@localhost ~]# nmcli connection add type team-slave con-name team0-port1 ifname ens33 master team0
Connection 'team0-port1' (f94fe2cd-13a5-4a16-8c13-1c83d8e923f7) successfully added.
[root@localhost ~]# nmcli connection add type team-slave con-name team0-port2 ifname ens38 master team0
Connection 'team0-port2' (ce236eea-82be-47e7-8b97-ad2c5fc5a8ea) successfully added.

#激活从设备
[root@localhost~]# nmcli connection up team0-port1
[root@localhost~]# nmcli connection up team0-port2

#激活主设备
[root@localhost~]# nmcli connection up team0

#查看启动后的team0状态
[root@localhost~]# teamdctl team0 state

设备状态:
在这里插入图片描述
通过ip a查看team0的信息:
在这里插入图片描述
通过ping进行测试:
在这里插入图片描述
通过关闭team0中的网卡进行测试:
在这里插入图片描述
两块网卡关闭后仍然能ping通的原因是之前从接口模式是up,虚拟网卡有ip,连接到了电脑主机的网络模式下的虚拟交换机,网络依然是通的,IP还是存在的。

在真实环境下,两个从接口down了,team是没有ip的,是ping不通。

配置软件桥接

#创建一个软件桥接设备和会话
[root@localhost~]# nmcli connection add type bridge con-name br1 ifname br1

#添加从设备和会话到桥接设备
[root@localhost~]# nmcli connection add type bridge-slave con-name br1-port0 ifname en34 master br1

#启动从设备会话
[root@localhost~]# nmcli connection up br1-port0

#启动桥接会话
[root@localhost~]# nmcli connection up br1
或者
#配置软件桥接网卡的IP地址、网关和地址获取方式
[root@localhost~]# nmcli connection modify br1 ipv4.addresses 192.168.168.151/24
[root@localhost~]# nmcli connection modify br1 ipv4.gateway 192.168.168.1
[root@localhost~]# nmcli connection modify br1 ipv4.method manual
##桥接是连接到真实的网卡上,和这个网卡处于同一个网段,桥接的ip地址不能和真实的网卡的ip地址冲突。

配置桥接 team0

配置team

#创建team1设备和team1会话
[root@localhost ~]# nmcli connection add type team con-name team1 ifnameteam1 config '{"runner": {"name":"activebackup"} }'

#添加设备到team1
[root@localhost~]# nmcli connection add type team-slave con-name team1-port1 ifname  网卡 master team1
[root@localhost~]# nmcli connection add type team-slave con-name team1-port2 ifname 网卡 master team1

#激活从设备
[root@localhost~]# nmcli connection up team1-port1
[root@localhost~]# nmcli connection up team1-port2

#激活主设备
[root@localhost~]# nmcli connection up team1

#查看team状态
[root@localhost~]# teamdctl team1 state

#断掉team1设备
[root@localhost ~]# nmcli devicedisconnect team1

#停用NetworkManager服务/network
[root@localhost ~]# systemctl stop NetworkManager.service     nmcli

配置br0配置文件

[root@localhost network-scripts]# vimifcfg-br0
DEVICE=br0
ONBOOT=yes
TYPE=Bridge
IPADDR=192.168.168.166
PREFIX=24

#切换到网卡配置目录
[root@localhost~]# cd /etc/sysconfig/network-scripts/

#编辑team1配置文件
[root@localhostnetwork-scripts]# vi ifcfg-team1

#追加如下内容:
BRIDGE=br0
##即是将team1进行了桥接
#重启网络服务
[root@localhost~]# systemctl restart NetworkManager
[root@localhost~]# nmcli device connet team1

文末言语

渡尽劫波兄弟在,相逢一笑泯恩仇。

喜欢的点个赞吧。

猜你喜欢

转载自blog.csdn.net/qq_42707739/article/details/105537736