网桥的基本知识
1、概念:linux网桥是一种以同种协议连接两个局域网的产品。可以把它看成是一个决定发送的包是到自己的局域网还是到另一个局域网的设备。linux网桥检查局域网上所有的包,在同一个局域网中传送它,如果不是同一个网中的,就将它发到别的网上。
2、原理:网桥工作在数据链路层,将两个LAN连起来,根据MAC地址来转发帧,可以看作一个“低层的路由器”(路由器工作在网络层,根据网络地址如IP地址进行转发)。 远程网桥通过一个通常较慢的链路(如电话线)连接两个远程LAN,对本地网桥而言,性能比较重要,而对远程网桥而言,在长距离上可正常运行是更重要的。
3、功能:网桥的功能在延长网络跨度上类似于中继器,然而它能提供智能化连接服务, 即根据帧的终点地址处于哪一网段来进行转发和滤除。网桥对站点所处网段的了 解是靠“自学习”实现的。而且网桥在一定程度上有增大网络带宽的作用。
4、工作流程:
(1) 检查收到的信号,解释0和1的含义,并找出帧中的目的MAC地址。
(2) 如果具有该目的的MAC地址的帧能够通过网桥上不同的接口到达目的地(不是帧到达网桥的那个接口),则通过重新生成信号来传输这帧。(这个过程叫做转发。)
(3)如果该帧到达的接口就是目的地址可达到的端口,则丢弃该帧。(这个过程叫做过滤。)
网络桥接的配置实验
为什么要配置桥接????有什么作用????
在linux系统中,网桥主要是用来完成主机与虚拟机之间的互相访问以及网络传输,若没有网桥,则真机无法访问虚拟机
网络桥接用网络桥实现共享上网主机和客户机除了利用软件外 ,还可以用系统自带的网络桥建立连接用双网卡的机器做主机
有桥接的网络更快
nat:地址转换
网桥:连接两个不能通信的接口,由真机内核控制网卡开启
实验1:配置真机的网络
第一步:删除真机的网络
第二步:编辑ifcfg-enp0s25网络配置文件
DEVICE=eno1
ONBOOT=yes
BOOTPROTO=none
IPADDR=172.25.254.22
NETMASK=255.255.255.0
第三步:查看网络
注意:这个时候虚拟机没有br0这一项,此时安装虚拟机的时候比较慢
实验2:在真机配置网络桥接
添加网络桥接模式
第一步:编辑ifcfg-enp0s25文件
DEVICE=enpo1
ONBOOT=yes
BOOTPROTO=none
BRIDGE=br0
第二步:编辑ifcfg-br0文件
DEVICE=br0
ONBOOT=yes
BOOTPROTO=none
IPADDR=172.25.254.22
NETMASK=255.255.255.0
TYPE=Bridge
测试:
实验3:在虚拟机中配置桥接网络
网络桥接的管理命令
brctl# 桥接管理命令
show # 显示
addbr # 添加网桥
delbr# 删除网桥
addif # 添加网桥连接
delif # 删除网桥连接
添加:
第一步:添加网桥 brctl addbr br0,并显示
第二步:添加网桥连接
删除:
第一步:删除网桥连接
第二步:删除网桥
解决问题:将网桥停止工作
如果配置好了,但是ping不通,删除网卡,重新添加
bond 网络
Red Hat Enterprise Linux 允许管理员使用bonding 内核模块和称为通道绑定接口的特殊网络接口将多个网络接口绑定到一个通道。根据选择的绑定模式 , 通道绑定使两个或更多个网络接口作为一个网络接口 , 从而增加带宽和 / 提供冗余性
命令方式实现
首先删除所有的网络
1.创建一个网络接口,
注意:如果创建连接错了,要删除重建,只能有一个
nmcli connection add con-name bond0 ifname bond0 type bond mode active-backup ip4 172.25.254.222/24
active-backup 使接口稳定
2.查看设备的状态
cat /proc/net/bonding/bond0
3.添加硬件设备到接口上接口才能使用
nmcli connection add con-name eth0 ifname eth0 type bond-slave master bond0
nmcli connection add con-name eth1 ifname eth1 type bond-slave master bond0
添加设备eh0
添加设备eth1
如果此时eth0 down掉,eth1会立即替补,保证网络不会中断
网络没有发生中断
文本方式实现
首先删除主机上的所有网络连接
第一步:编辑ifcfg-bond0文件
DEVICE=bond0
ONBOOT=yes
BOOTPROTO=none
IPADDR=172.25.254.222
NETMASK=255.255.255.0
TYPE=Bond
BONDING_OPTS=mode=active-backup
测试:/proc/net/bonding/bond0这个文件出现
第二步:编辑ifcfg-eth0文件 ##配置设备,为bond0服务
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
第三步:编辑ifcfg-eth1文件
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
测试:ifconfig eth0 down 会自动切换到eth1这块网卡,网络不会中断
网络没有发生中断
Team 接口
Team 和 bond0 功能类似
Team 不需要手动加载相应内核模块,Team 有更强的拓展性支持 8 快网卡
Team 的种类:
broadcast广播容错
roundrobin平衡轮叫
activebackup主备
loadbalance负载均衡
注意:
轮循:一个接一个
负载均衡:谁空闲给谁工作
bound:不支持加密,不支持负载均衡,ipv6支持不好
命令方式实现
首先删除所有网络,否则可能会出现错误
1.创建网络接口
nmcli connection add con-name team0 ifname team0 type team config '{"runner":{"name":"activebackup"}}' ip4 172.25.254.222/24
2.查看teamctl team0 stat
3.添加设备接口
nmcli connection add con-name eth0 ifname eth0 type team-slave master team0
nmcli connection add con-name eth1 ifname eth1 type team-slave master team0
添加eth0
添加eth1
测试:ifconfig eth0 down 会自动切换到eth1这块网卡,网络不会中断
网络不会发生中断
文本方式
首先删除主机上的所有网络连接
第一步:编辑ifcfg-team0文件
DEVICE=team0
TEAM_CONFIG="{\"runner\":{\"name\":\"activebackup\"}}"
DEVICETYPE=Team
BOOTPROTO=none
IPADDR=172.25.254.222
NETMASK=255.255.255.0
NAME=team0
ONBOOT=yes
测试:/proc/net/bonding/bond0这个文件出现
第二步:编辑ifcfg-eth0文件 ##配置设备,为bond0服务
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
TEAM_MASTER=team0
DEVICETYPE=TeamPort
第三步:编辑ifcfg-eth1文件
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
TEAM_MASTER=team0
DEVICETYPE=TeamPort
测试:ifconfig eth0 down 会自动切换到eth1这块网卡,网络不会中断
网络不发生中断