一.bond网络接口
Bond 就是将多块网卡虚拟成为一块网卡的技术,通过 bond 技术让多块网卡看起来是一个单独的以太网接口设备并具有相同的 IP 地址。 Red Hat Enterprise Linux 允许管理员使用,bonding内核模块和称为通道绑定接口的特殊网络接口将多个网络接口绑定到一个通道上。根据选择的绑定模式,通道绑定使两个或更多个网络接口作为一个网络接口,从而增加带宽,提供冗余性。
选择 Linux 以太网绑定模式
目前网卡绑定mode共有七种(0~6):bond0、bond、bond1、bond2、bond3、bond4、bond5、bond6
-
模式 0 balance-rr ( 平衡轮循 ) - 轮循策略 , 网卡轮流接收数据包
-
模式 1 active-backup ( 主动备份 ) - 容错。一次只能使用一个 Slave 接口, 但是如果该接口出现故障 , 另一个 Slave 将 接替它。本次实验中主要用该模式进行实验,正常情况下只有主网卡 eth0 工作,eth1 作为备份网卡是不工作的,只有当一个网络接口失效时 ( 例如主交换机掉电等 ),为了不会出现网络中断,系统会按照配置指定的网卡顺序启动工作,保证机器仍能对外服务,起到了失效保护的功能。
-
模式 3 broadcast ( 广播 ) - 容错。所有封包都通过所有 Slave 接口广播
实验环境:至少有两块网卡的主机
1)添加双网卡
在物理机上执行virt-manager命令,再添加一块网卡eth1
点击左下角 add hardware--->选择添加network--->选择bridge br0--->选择virto--->finish
重新查看可以看出网卡配置成功
在该主机上ifconfig也可以看出网卡添加成功了
2)重新打开一个shell监控所配置的bond接口的状态
watch -n 1 cat /proc/net/bonding/bond0 //bond0当前的状态
bond网络接口的配置
1.nmcli命令方式配置bond接口
nmcli connection add con-name bond0 ifname bond0 type bond mode active-backup ip4 172.25.254.181/24 ##建立一个bond连接
注:以上命令只是建立了bond,还没有添加真实的网卡设备,这时这个bond连接虽然有IP,但是实际上是不能用的。可以通过ping真机ip地址进行测试
检测之后发现网络是不通,因为此时并没有给bond添加网络接口
nmcli connection add con-name eth0 ifname eth0 type bond-slave master bond0 ##添加第一块eth0网卡作为bond网络接口
重新检测,可以发现网络是通的
nmcli connection add con-name eth1 ifname eth1 type bond-slave master bond0 ##添加第二块eth1网卡作为bond网络接口
监控shell查看bond0的状态可以看出当前eth0正在工作,eth1处于闲置状态。
ifconfig eth0 down #####断开eth0
检测网络是否通畅
这是由于我们建立的bonding工作在主备模式,关闭eth0后eth1立即工作,网络不受到影响
ifconfig eth0 up ####重新开启eth0网络接口
此时的eth0将作为闲置网卡,一旦eth1损坏之后,eth0将会代替工作
2.配置文件方式配置bond接口
在/etc/sysconfig/network-scripts/目录下,编辑bond网络接口配置文件及网卡配置文件
vim ifcfg-bond0 ###编辑bond网络接口配置文件
vim ifcfg-eth0 #编辑eth0网卡配置文件
vim ifcfg-eth1 #编辑eth1网卡配置文件
systemctl restart network ###重启网络服务
监控shell查看bond0的状态,可以发现配置是否成功。其他测试同上。
删除bond网络接口:
nmcli connection delete eth0 ##删除连接eth0
nmcli connection delete eth1 ##删除连接eth1
nmcli connection delete bond0 ##删除bond0
二.team网络接口
什么是team
team是链路聚合的一种方式,最多支持8块网卡工作。
team 和 bond 功能类似,较bond的主要优点有三点:
- team支持负载均衡模式
- team支持hash加密
- team有更强的扩展性,而bond对ipv6较弱
team支持四种工作模式:
broadcast 广播容错
roundrobin 平衡轮循
activebackup 主备
loadbalance 负载均衡
team网络接口的配置
1.nmcli命令方式配置team接口
nmcli connection add con-name team0 ifname team0 type team config '{"runner":{"name":"activebackup"}}' ip4 172.25.254.181/24 //新建team0接口
检测之后发现网络是不通,因为此时并没有给team添加网络接口
nmcli connection add con-name eth0 ifname eth0 type team-slave master team0 //设定eth0网卡作为team0网络接口
nmcli connection add con-name eth1 ifname eth1 type team-slave master team0 //设定eth1网卡作为team0网络接口,但此时活跃的是eth0,eth1作为备份
teamdctl team0 stat 查看team0的状态 可以看出当前eth0正在工作,eth1处于闲置状态。
2.配置文件方式配置team接口
在/etc/sysconfig/network-scripts/目录下,编辑team网络接口配置文件及网卡配置文件
vim ifcfg-team0 ###编辑team网络接口配置文件
vim ifcfg-eth0 #编辑eth0网卡配置文件
vim ifcfg-eth1 #编辑eth1网卡配置文件
systemctl restart network ###重启网络服务
查看team0的状态,可以发现配置是否成功。
查看连接是否成功
删除team网络接口
nmcli connection delete team0 #删除team网络接口team0
nmcli connection delete eth0 #删除网络接口eth0
nmcli connection delete eth1 #删除网络接口eth1
三.网络桥接
虚拟机的网络连接提供了三种工作模式,它们是bridged(桥接模式)、NAT(网络地址转换模式)和host-only(主机模式)。
1.bridged模式:当虚拟机系统的网络连接模式为桥接模式时,相当于在主机系统和虚拟机系统之间连接了一个网桥,而网桥两端的网络都属于同一网络,主机和虚拟机是处于同一网络中的对等主机。使用桥接模式的虚拟系统和宿主机器的关系,就像连接在同一个Hub上的两台电脑。想让它们相互通讯,你就需要为虚拟系统配置IP地址和子网掩码,否则就无法通信。
如果你想利用VMWare在局域网内新建一个虚拟服务器,为局域网用户提供网络服务,就应该选择桥接模式。
2.NAT模式:NAT即Network Address Translation,网络地址转换是虚拟专用网和全球IP地址之间的转换,虚拟专用网是企业,政府部门的内部网络,在虚拟专用网中主机的IP地址是虚 拟专用地址,它不能被互联网中的路由器所识别,因此,在企业接入互联网的默认网关(接入路由器)中,需要地址转换NAT软件使得虚拟专用网内部的主机可以 连接到互联网。采用NAT模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机器能访问互联网即可。
3.host-only模式在某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开,这时你就可采用host-only模式。在host-only模式中,所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开的。
注:在host-only模式下,虚拟系统和宿主机器系统是可以相互通信的,相当于这两台机器通过双绞线互连。
什么是网络桥接模式
桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器。
网络桥接模式的功能
在桥接的作用下,类似于把物理主机虚拟为一个交换机,所有桥接设置的虚 拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互可以访问而不干扰。在桥接模式 下,虚拟机ip地址需要与主机在同一个网段,如果需要联网,则网关与DNS需要与主机网卡一致。
配置网络桥接
实验环境:物理机
实验准备:
备份网络配置文件: cp ifcfg-br0 ifcfg-enp2s0 /opt
手动删除所有ethernet、wifi所有的选项以及系统原有的bridge nm-connection-editor
配置过程
vim ifcfg-enp2s0 ###编辑网卡配置文件,enp2s0为物理网卡
文件内容:
vim ifcfg-br0 ###编辑桥接配置文件
文件内容:
systemctl restart network ####重启网络
brctl show ####查看桥接接口是否存在
检测网络桥接的影响:
安装2个虚拟机(一种网络连接设置为bridge方式;另一种网络连接设置为NAT方式)
同时执行命令ping 172.25.254.74,比较两者的时间;(网桥连接的网络连接较快)
临时桥接接口配置
实验环境:虚拟机
brctl show ###查看是否存在有桥接接口
新建桥接接口:
brctl addbr br0 ###建立桥接接口br0
brctl show ###查看桥接接口是否建立成功
ifconfig br0 172.25.254.181/24 ###配置br0
ping 172.25.254.81 ###查看网络是否通畅,由于br0是没有网络接口的,所以ping不通
配置桥接接口的网卡信息:
brctl addif br0 eth0 ###添加桥接接口的网卡
ping 172.25.254.81 ####检测网络是否通
注:若是reboot之后,该桥接临时设置会失效
删除桥接接口:
ifconfig br0 down ###停止桥接接口工作
brctl delif br0 eth0 ####删除桥接接口的网卡
brctl delbr br0 ####删除桥接接口