一、网桥
网桥(Bridge)是早期的两端口二层网络设备,用来连接不同网段。网桥的两个端口分别有一条独立的交换信道,不是共享一条背板总线,可隔离冲突域。网桥比集线器(Hub)性能更好,集线器上各端口都是共享同一条背板总线的。后来,网桥被具有更多端口、同时也可隔离冲突域的交换机(Switch)所取代。
网桥(Bridge)像一个聪明的中继器。中继器从一个网络电缆里接收信号, 放大它们,将其送入下一个电缆。相比较而言,网桥对从关卡上传下来的信息更敏锐一些。网桥是一种对帧进行转发的技术,根据MAC分区块,可隔离碰撞。网桥将网络的多个网段在数据链路层连接起来。
网桥也叫桥接器,是连接两个局域网的一种存储/转发设备,它能将一个大的LAN分割为多个网段,或将两个以上的LAN互联为一个逻辑LAN,使LAN上的所有用户都可访问服务器。
扩展局域网最常见的方法是使用网桥。最简单的网桥有两个端口,复杂些的网桥可以有更多的端口。网桥的每个端口与一个网段相连。
* 使用文件配置*
1.编辑网卡配置
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 BOOTPROTO=none ONBOOT=yes BRIDGE=br0 |
2.编辑网桥配置
[root@localhost ~]# cat <<END>>/etc/sysconfig/network-scripts/ifcfg-br0
> DEVICE=br0
> ONBOOT=yes
> BOOTPROTO=none
> IPADDR=172.25.254.141
> PREFIX=24
> TYPE=Bridge
> END
3.重启网络并检验
[root@localhost ~]# systemctl restart network
[root@localhost ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.525400004f0a no eth0
* 使用命令配置*
1.打开图形管理网络界面
[root@localhost ~]# nm-connection-editor
2.手动在界面删除或命令删除网卡网桥
3.添加网桥和网卡
- 添加网桥
- 给网桥配置ip
- 使网桥连接网卡
二、Bond配置
原理:
多块网卡虚拟成一张,实现冗余;多张网卡对外显示一张,具有同一个IP;
- 工作在网卡是混杂模式的情况下;
对于多物理网卡的 Bond 网卡而言,其中一块物理网卡会被设置为 Master,其他的网卡都是 Slave,Bond 网卡的 MAC 地址取自标志为 Master 的物理网卡,然后将这个 MAC 地址复制到其他物理网卡上;
工作模式:
- roundrobin平衡轮询模式:两块网卡轮流接收数据包。由于两块网卡都正常工作,它能提供两倍的带宽,在这种情况下出现一块网卡失效,仅仅会是服务器出口带宽下降,也不会影响网络使用。
- activebackup主动备份模式:只有主网卡 eth0 工作,eth1 作为备份网卡是不工作的,只有当一个网络接口失效时 ( 例如主交换机掉电等 ),为了不会出现网络中断,系统会按照配置指定的网卡顺序启动工作,保证机器仍能对外服务,起到了失效保护的功能。
- broadcast广播容错模式:所有数据包都通过接口广播
Bond网络配置
activebackup主动备份模式
1.删除其他网络配置
[root@localhost network-scripts]# nmcli connection show
NAME UUID TYPE DEVICE
br0 7d0583d6-63fd-4e42-b420-4a257b81c877 bridge br0
eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 802-3-ethernet eth0
[root@localhost sysconfig]# brctl delif br0 eth0
[root@localhost network-scripts]# ifconfig br0 down
[root@localhost network-scripts]# brctl delbr br0
[root@localhost network-scripts]# nmcli connection show
NAME UUID TYPE DEVICE
eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 802-3-ethernet eth0
2.添加网卡
3.添加bond接口并添加ip地址(本次是active-backup模式)
[root@localhost network-scripts]# nmcli connection add ifname bond0 con-name bond0 type bond mode active-backup ip4 172.25.254.141/24
Connection 'bond0' (d4cb5c3b-184b-450b-8775-11ca1e4b52d3) successfully added.
4.添加网卡
[root@localhost sysconfig]# nmcli connection add con-name eth0 ifname eth0 type bond-slave master bond0
Connection 'eth0' (ffd01811-1085-4b8a-8865-b3d492062afb) successfully added.
[root@localhost Desktop]# nmcli connection add con-name eth1 ifname eth1 type bond-slave master bond0
Connection 'eth1' (e8ae3486-c5e3-4bcd-b86b-4d75b5a15c24) successfully added.
5.检验:
[root@localhost network-scripts]# watch -n 1 cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 1
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth0
MII Status: up
Speed: Unknown
Duplex: Unknown
Link Failure Count: 0
Permanent HW addr: 52:54:00:c9:a0:68
Slave queue ID: 0
Slave Interface: eth1
MII Status: up
[root@localhost Desktop]# ifconfig eth0 down
[root@localhost network-scripts]# watch -n 1 cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth1
MII Status: up
MII Polling Interval (ms): 1
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth0
MII Status: down
Speed: Unknown
Duplex: Unknown
Link Failure Count: 1
Permanent HW addr: 52:54:00:c9:a0:68
Slave queue ID: 0
Slave Interface: eth1
MII Status: up
[root@localhost sysconfig]# ping 172.25.254.79
PING 172.25.254.79 (172.25.254.79) 56(84) bytes of data.
64 bytes from 172.25.254.79: icmp_seq=1 ttl=64 time=0.183 ms
64 bytes from 172.25.254.79: icmp_seq=2 ttl=64 time=0.107 ms
roundrobin平衡轮询模式
方法一、在命令中设置
重复上述操作,除了将步骤三中active-backup改为balance-rr
[root@localhost network-scripts]# nmcli connection add ifname bond0 con-name bond0 type bond mode balance-rr ip4 172.25.254.141/24
方法二、在配置文件中更改bond模式
[root@localhost network-scripts]# vim /etc/sysconfig/network-scripts/ifcfg-Bond_connection_1
DEVICE=bond0
TYPE=Bond
BONDING_MASTER=yes
BOOTPROTO=none
DEFROUTE=yes
NAME=bond0
UUID=cb8cbbed-1550-4211-9533-7c2a487ff3d9
ONBOOT=yes
IPADDR0=172.25.254.141
PREFIX0=24
BONDING_OPTS="miimon=0 updelay=0 downdelay=0 mode=balance-rr"
三、Team接口的配置
在 linux 中, centos7之前都是使用bond机制来实现多网络绑定同一个IP 地址,来对网络提供访问,并按不同的模式来负载均衡或者轮回接替管理处理数据。而到了contos7之后,提供了一种强大的工具,nmcli工具命令,使用此工具,将会根据命令参数的配置来重新生成特定的配置文件来供网络接口使用,方便而又灵活。在linux不再使用bond机制定义,而是使用网路组 team 机制,把 team 组当作一个设备。
team :也是链路聚合 最多支持8块网卡,Team 不需要手动加载相应内核模块
支持模式:
broadcast | 广播容错 |
---|---|
roundrobin | 轮询 |
activebackup | 主备 |
loadbalance | 负载均衡 |
配置方式与bond接口类似
1.建立 team
[root@localhost network-scripts]#nmcli connection add con-name team0 ifname team0 type team config ‘{“runner”:{“name”:”activebackup”}}’ ip4 1.2.3.4/24
2.添加网络接口:
[root@localhost network-scripts]#nmcli connection add con-name eth0 ifname eth0 type team-slave master team0
[root@localhost network-scripts]#nmcli connection add con-name eth1 ifname eth1 type team-slave master team0
3.检验:
可能出现的问题:
配置完bond接口,监察不到网卡
[root@localhost network-scripts]# vim ifcfg-bond0_slave_2
TYPE=Ethernet
NAME=eth0
BOOTPROTO=none
UUID=d101cb51-90aa-4e34-8381-0df9e7a0f10e
ONBOOT=yes
MASTER=bond0
SLAVE=yes
HWADDR=52:54:00:C9:A0:68