nmcli、team虚拟网卡相关练习

发布于:2022-11-09 ⋅ 阅读:(402) ⋅ 点赞:(0)

练习前相关配置

查看操作系统版本

[root@rhel8 ~]# cat  /etc/redhat-release
Red Hat Enterprise Linux release 8.1 Beta (Ootpa)

关闭防火墙 (stop:临时停止;disable:永久停止)

[root@rhel8 ~]# systemctl stop firewalld

[root@rhel8 ~]# systemctl disable firewalld

 关闭selinux(安全访问控制;0:表示临时关闭,1:表示强制开启)

[root@rhel8 ~]# setenforce 0

[root@rhel8 ~]# setenforce 1

查看网络模式,此处使用nat模式

 挂载光盘

mount /dev/sr0 /mnt

配置yum源,后缀名必须为.repo(name仓库名;baseurl:本地仓库地址,如果使用的是网络源,则地址为网络连接地址;gpgcheck=0 表示不开启校验,为1表示开启校验;enable=1表示启用该仓库,默认情况下enable=1,所以,此命令可以不写)

vim /etc/yum.repos.d/download.repo

[BaseOS]
name=BaseOS
baseurl=file:///mnt/BaseOS
gpgcheck=0


[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream
gpgcheck=0

nmcli相关知识回顾

/etc/sysconfig/network-scripts/,网卡配置文件存放在此目录下,进入此目录,查看相关网卡配置,也可在此目录根据相关参数,添加IP地址,修改配置

[root@rhel8 ~]# cd /etc/sysconfig/network-scripts/
[root@rhel8 network-scripts]# ll
total 4
-rw-r--r--. 1 root root 351 Sep  2 09:49 ifcfg-ens160
[root@rhel8 network-scripts]# cat ifcfg-ens160
TYPE=Ethernet        设备类型
PROXY_METHOD=none     
BROWSER_ONLY=no
BOOTPROTO=none       指定协议,网卡的工作方式,none:静态模式,dhcp:动态模式
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens160        会话名,会话名默认和设备名一样
UUID=e0ad18ca-ada2-43b1-9462-aea8801d50ea  指定网卡会话文件的UID值
DEVICE=ens160    设备名
ONBOOT=yes      是否开机自启
IPADDR=192.168.123.123  IPV4地址
PREFIX=24       掩码
GATEWAY=192.168.123.2    网关地址
DNS=8.8.8.8  DNS服务器地址

用nmcli命令添加静态IPV4地址

[root@rhel8 ~]# nmcli connection modify ens160 ipv4.addresses 192.168.123.125/24 ipv4.gateway 192.168.123.2 ipv4.dns 114.114.114.114 +ipv4.dns 8.8.8.8 ipv4.method manual connection.autoconnect yes

 重新加载网卡,激活修改后的配置

[root@rhel8 network-scripts]# nmcli connection up ens160

利用多张网卡提高网速,还可以通过teaming绑定网卡,实现不同网卡之间的负载均衡和网卡冗余

team虚拟网卡

先准备多张网卡

在虚拟机设置中添加网卡,添加网卡一般基于2的N次方倍,上限10个

 网卡在设置中添加好后,可以在命令行通过ip a 查看

 通过nmcli device status 查看设备状态

[root@rhel8 ~]# nmcli device status
DEVICE      TYPE      STATE         CONNECTION
ens160      ethernet  connected     ens160
virbr0      bridge    connected     virbr0
ens224      ethernet  disconnected  --
ens256      ethernet  disconnected  --
lo          loopback  unmanaged     --
virbr0-nic  tun       unmanaged     --


nmcli device connet 会话名 通过设备连接会话

[root@rhel8 ~]# nmcli device connect ens224
Device 'ens224' successfully activated with '2438437a-3778-4fc7-bb4d-0fd519cd89c3'.

[root@rhel8 ~]# nmcli device connect ens256
Device 'ens256' successfully activated with '35e41272-9ab8-4fab-9d72-cf159010bbf5'.

再次查看设备状态,该设备已经运行

 绑定多个网卡,使用connection而不使用device,是因为虚拟网卡可以用会话名实现,不需要真实的物理网卡

team网卡配置文件的目录( *.conf识别为配置文件)

[root@rhel8 ~]# cd /usr/share/doc/teamd/example_configs/

-rw-r--r--. 1 root root 305 Jul  7  2017 activebackup_arp_ping_1.conf
-rw-r--r--. 1 root root 465 Jul  7  2017 activebackup_arp_ping_2.conf
-rw-r--r--. 1 root root 194 Jul  7  2017 activebackup_ethtool_1.conf
-rw-r--r--. 1 root root 212 Jul  7  2017 activebackup_ethtool_2.conf
-rw-r--r--. 1 root root 241 Jul  7  2017 activebackup_ethtool_3.conf
-rw-r--r--. 1 root root 447 Jul  7  2017 activebackup_multi_lw_1.conf
-rw-r--r--. 1 root root 285 Jul  7  2017 activebackup_nsna_ping_1.conf
-rw-r--r--. 1 root root 318 Jul  7  2017 activebackup_tipc.conf
-rw-r--r--. 1 root root  96 Jul  7  2017 broadcast.conf
-rw-r--r--. 1 root root 209 Jul  7  2017 lacp_1.conf
-rw-r--r--. 1 root root  98 Jul  7  2017 loadbalance_1.conf
-rw-r--r--. 1 root root 140 Jul  7  2017 loadbalance_2.conf
-rw-r--r--. 1 root root 183 Jul  7  2017 loadbalance_3.conf
-rw-r--r--. 1 root root  93 Jul  7  2017 random.conf
-rw-r--r--. 1 root root 244 Jul  7  2017 roundrobin_2.conf
-rw-r--r--. 1 root root  97 Jul  7  2017 roundrobin.conf

activebackup:主从模式

broadcast:广播模式

lacp:链路聚合模式

loadbalance:负载均衡模式

random:随机模式

roundrobin:轮询模式

 添加虚拟网卡,type配置网络类型,ifname配置设备名,con-name配置会话名,config配置网卡工作模式,此处配置的模式为activebackup主从模式

[root@rhel8 ~]# nmcli connection add type team ifname team0 con-name team0 config '{"runner":{"name": "activebackup"}}'
Connection 'team0' (e4511424-4089-4b40-918d-669588ba82b7) successfully added.

通过ip a名能查看, 虚拟网卡team0创建成功

绑定网卡,将真实的物理网卡作为team网卡的从设备

[root@rhel8 ~]# nmcli connection add type ethernet ifname ens224 con-name team0-port1 master team0
Connection 'team0-port1' (646d5717-735a-4d46-8bea-6aba5605f1ff) successfully added.

[root@rhel8 ~]# nmcli connection add type ethernet ifname ens256 con-name team0-port2 master team0
Connection 'team0-port2' (7491f00e-d32a-4652-bf50-c21ee8a4bd90) successfully added.

type:选择类型,没有team-slave类型,就选择真实网卡的类型  ifname:指定物理网卡名,con-name:指定虚拟网卡名  master:指定主从关系

连接team虚拟网卡的方式,先激活从设备,再激活主设备

[root@rhel8 ~]# nmcli connection up team0-port1    先将从设备激活
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/19)
[root@rhel8 ~]# nmcli connection up team0-port2   
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/20)
[root@rhel8 ~]# nmcli connection up team0       再激活主设备
Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/21)
[root@rhel8 ~]# nmcli connection show  查看设备是否激活,虚拟网卡绑定是否成功

默认情况下,ens224会话所连接的就是ens224的物理网卡,但绑定了虚拟网卡后,虚拟网卡绑定从设备的物理网卡,所以,基于虚拟网卡team0设备,最终绑定到ens224、ens256这两个真实的设备

真实的物理网卡出现故障后,是没办法用虚拟网卡实现通信的,但虚拟网卡挂了,能和物理网卡连接,就能实现通信

 team虚拟网卡启用后,能看到其地址为绑定的物理网卡中的一个地址

 [root@rhel8 ~]# teamdctl team0 stat    查看team网卡的状态
setup:
  runner: activebackup
ports:
  ens224
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up
        down count: 0
  ens256
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up
        down count: 0
runner:
  active port: ens224

可以看到运行模式是主从模式,且两张网卡都在运行

将team0-port1 down掉后,就只有从的网卡在工作

总结:

        team网卡绑定---冗余

        具备条件:

                多块网卡(同一种网络模式),基于2N次方进行绑定

                确保每块网卡基于主机都能实现网络通信

                nmcli device connect ens224

                添加虚拟team设备(主)

                nmcli connection add type team ifname team0 con-name team0 config '{"runner":{"name": "activebackup"}}'

                添加team设备(从),类型选项中,没有team-slave,可以选择ethernet

                nmcli connection add type ethernet ifname ens224 con-name team0-port1 master team0        

                激活team设备

                要先激活从设备,再激活主设备

                nmcli c up team0-port1

                nmcli c up team0-port2

                nmcli c up team0

                停止设备,无严格顺序

                测试网卡绑定

                teamdctl team0 stat

本文含有隐藏内容,请 开通VIP 后查看