练习前相关配置
查看操作系统版本
[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