桥接
桥接(Bridging),是指依据OSI网络模型的链路层的地址,对网络数据包进行转发的过程,工作在OSI的第二层。一般的交换机,网桥就有桥接作用。就交换机来说,本身有一个端口与mac的映射表,通过这些,隔离了冲突域(collision)。 简单的说就是通过网桥可以把两个不同的物理局域网连接起来,是一种在链路层实现局域网互连的存储转发设备。网桥从一个局域网接收MAC帧,拆封、校对、校验之后 ,按另一个局域网的格式重新组装,发往它的物理层,通俗的说就是通过一台设备(可能不止一个)把几个网络串起来形成的连接。
网络桥接的管理命令
• brctl
### 桥接管理命令
– show ### 显示
– addbr ### 添加网桥
– delbr ### 删除网桥
– addif ### 添加网桥连接
– delif ### 删除网桥连接
1.linux下怎么配置网络桥接
1>先将原先的网桥文件备份到/mnt下
#mv /etc/sysconfig/network-scripts/ifcfg-br0 /etc/sysconfig/network-scripts/ifcfg-enp2s0 /mnt
2>#nm-connection-editor
我们要在真机上删掉两个Ethernet下的System enp2s0,Bridge下面的Bridge enp2s0
3>编写网桥文件
#vim /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
NAME="Bridge enp2s0"
ONBOOT=yes
BOOTPROTO=none
IPADDR=172.25.254.101
PREFIX=24
TYPE=Bridge
# vim /etc/sysconfig/network-scripts/ifcfg-enp2s0
DEVICE=enp2s0
BOOTPROTO=none
BRIDGE=br0
ONBOOT=yes
TYPE=Ethernet
NAME="System enp2s0"
4>重启网络
#systemctl restart network
在虚拟机中配置网桥:
1.先删除IPv4的配置
2.
#brctl addbr br0 ##添加网桥br0
#brctl show ##显示当前网桥
#brctl addif br0 eth0 ##将网桥配在网卡上
#brctl show ##显示当前网桥
#ifconfig ##此时我们会看到网桥br0就被我们配置好了
多网卡绑定
Bond 的原理是网卡在混杂 (promisc) 模式下运行;在这种模式下,网卡不像在通常情况下,只接收目的硬件地址是自身 Mac 的以太网帧,对于别的数据帧都滤掉,以减轻驱动程序的负担;而是接收网络上所有的数据帧,而且修改了驱动程序中的 mac 地址,将两块网卡的 Mac 地址改成相同,可以接收特定 mac 的数据帧,然后把相应的数据帧传送给 bond 驱动程序处理。
Bond 网卡的工作模式
网卡 bond 后的工作模式有两种:主备的工作方式和负载均衡方式。
在主备模式下 , 只有主网卡 eth0 工作,eth1 作为备份网卡是不工作的,只有当一个网络接口失效时 ( 例如主交换机掉电等 ),为了不会出现网络中断,系统会按照配置指定的网卡顺序启动工作,保证机器仍能对外服务,起到了失效保护的功能。
在负载均衡工作模式下,由于两块网卡都正常工作,它能提供两倍的带宽,在这种情况下出现一块网卡失效,仅仅会是服务器出口带宽下降,也不会影响网络使用。
配置Bond网卡绑定:
前提是有多块网卡,我用的是redhat7.2虚拟机
先用ifconfig看看是不是两块网卡,如果不是用虚拟机管理器给虚拟机添加一块虚拟网卡;
删掉IPv4的配置
上面事情完毕之后,开始配置
做以下操作时打开另一个终端监控:#watch -n 1 cat /proc/net/bonding/bond0
1.添加bonding模块
#nmcli connection add con-name bond0 ifname bond0 type bond active-backup ip4 172.25.254.101/24
2.设置网卡eth0为bond0服务
#nmcli connection add con-name eth0 ifname eth0 type bond-slave master bond0
3.设置网卡eht1为bond0服务
#nmcli connection add con-name eth1 ifname eth1 type bond-slave master bond0
4.打开另一个终端监控我们是否配置正确:#ping 172.25.254.90
在bond1模式下,即使一块网卡宕掉,另一块网卡会立即顶上,网一直是通的
5.我们来测试4里说的异常情况
#ifconfig eth0 down
如果配置正确的话,此时网一直是通的
6.恢复eth0
#ifconfig eth0 up
#nmcli connection delete eth0 ##删除eth0
#nmcli connection delete eth1 ##删除eth1
#nmcli connection delete bond0 ##删除bond0
Team:
Team 的种类
•broadcast 广播容错
•roundrobin 轮询
•activebackup 主·备份策略
•loadbalance 负载均衡
team相对于bond,功能大致相同,但是性能team还是有点强|
介绍
team也是链路聚合的一种方式最多支持8块网卡(bond最多支持两块)
配置Team
1.添加team模块
# nmcli connection add con-name team0 ifname team0 type team config '{"runner":{"name":"activebackup"}}' ip4 172.25.254.101/24
2.查看是否有Team模块
#ifconfig
3.监控Team的工作情况
#watch -n 1 teamctl team0 stat
4.打开另一个终端来监控Team配置是否正确
#ping 172.25.254. 253
5.设置eth0为team0工作
#nmcli connection add con-name eth0 type team-slave ifname eth0 master team0
6.设置eth1为team0工作
#nmcli connection add con-name eth1 type team-slave ifname eth1 master team0
7.模拟异常情况
#ifconfig eth0 down
8.恢复eth0
#ifconfig eth0 up