概述
什么是网络桥接?
在网络的使用中,有时需要搭建网络桥来实现网络桥接。例如在一台主机上制作一台虚拟机,
虚拟机是没有物理网卡的,这时虚拟机数据的发送和接收就需要通过主机上的物理网卡,需要主机
的内核来处理这些问题,这无疑增加了主机内核的负担,也延长了虚拟机的反应速度,如果搭建网
络桥,使得虚拟机的内核可以在一定程度上使用主机的物理网卡,就可以解决这个问题。
搭建网络桥可以通过编辑配置文件和命令管理来实现。
1、什么是网络桥接?
在网络的使用中,有时需要搭建网络桥来实现网络桥接。例如在一台主机上制作一台虚拟机,
虚拟机是没有物理网卡的,这时虚拟机数据的发送和接收就需要通过主机上的物理网卡,需要主机
的内核来处理这些问题,这无疑增加了主机内核的负担,也延长了虚拟机的反应速度,如果搭建网
络桥,使得虚拟机的内核可以在一定程度上使用主机的物理网卡,就可以解决这个问题。
搭建网络桥可以通过编辑配置文件和命令管理来实现。
真机上的网卡是一个真实的物理设备,真机与外界进行通信需要网卡这个设备,网卡是由内核进行控制的;
真机上的虚拟机也是一个真实的设备,但是这个虚拟机的网卡是虚拟的,它也有内核kernel
虚拟机通过使用真机上面的kernel上面开启一个网络接口,进而使用真机的网卡与外界进行通信
网桥br0的作用:使虚拟机可以使用真实主机上面的网卡,进而使虚拟机可以上网,与外界进行通信;
官方来说:
网桥(bridge)像一个聪明的中继器。中继器从一个网络电缆里接收信号,放大它们,将其送入下一个相比较而言,网桥对从关卡上传下来的信息更敏锐一些;
网桥是一种对帧进行转发的技术,根据MAC分区块,可隔离碰撞。网桥将网络的多个网段在数据链路层连接起来
网桥也叫桥接器,是连接两个局域网的一种存储/转发设备,它能将一个大的LAN分割为多个网段或将两个以上的LAN互联为一个逻辑LAN,使LAN上的所有用户的都可访问服务器;
我这里所说的网桥(br0)其实就是在真机的内核上开一个接口,此接口同时连着虚拟机的网卡和真机的网卡
真机和虚拟机的发送的数据包都通过网桥出去,因此实现虚拟机和外界通信
2.在真机里面搭建实验环境
#1 移走网桥br0和网卡p1p1的配置文件(不要轻易删除,移走还可以恢复)
#2 采用图形方式删除网卡配置、wifi以及网桥
[root@foundation61 ~]# nm-connection-editor
#3 采用图形方式添加一个ip172.25.254.61
重启电脑reboot
3.真机有网桥(用网桥br0方式)和没网桥(用NAT方式)安装虚拟机的区别
NAT(Network Address Translation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。
记得重启网络:systemctl restart network
桥接给虚拟化带来的好处,有桥接虚拟化更快
也就是说,当真机有网桥接口的时候,真机上的虚拟机经过一些设置之后才能上网
具体在真机和虚拟机里面怎样设置才能使虚拟机上网前面的文章已经详细讲过
这里只是给大家举一个简单的例子来说明网桥的重要性
4.网络桥接的配置(此时我的真机没有br0)
配置网卡
vim ifcfg-p1p1
DEVICE=p1p1
ONBOOT=yes
BOOTPROTO=none
BRIDGE=br0
配置网桥
vim ifcfg-br0
DEVICE=br0
ONBOOT=yes
BOOTPROTO=none
IPADDR=172.25.254.11
PREFIX=24
TYPE=Bridge
#5 网络桥接的管理命令
(1)实验环境
(2)桥接管理命令示例
此时没有网桥
添加网桥br0
给网桥br0添加一个ip地址
给网桥br0添加一个真实存在的网卡eth0
注意:真机的网络一般不要乱设置
当真机的网络遇到问题的时候:
首先看网络配置的目录下以ifcfg-开头的文件除了网卡配置文件和网桥配置文件有没有其它的
cd /etc/sysconfig/network-scripts/
ls
因为启动真机的时候系统会自动读取所有以ifcfg-开头的文件,因此将其余没用的删除
然后检查网卡和网桥配置文件有没有写错
重启网络,看网络管理者NetworkManager的状态是否为开启
systemctl status NetworkManager
如果以上这些都好了,那很有可能就是桥接的问题
使用brctl addif br0 网卡名字;给网桥添加真实的网卡设备连接,这样才可以
用命令的方式添加网桥(临时的,重启会失效)
网络桥接是用来连接不同的网段,使虚拟机的网卡直接连接到真机的真实网卡,使上网速度更快
#实验开始时,这台主机是没有IP的
[root@station ~]# brctl show # 查看网桥
bridge name bridge id STP enabled interfaces
[root@station ~]# brctl addbr br0 # 添加br0网桥
[root@station ~]# brctl show # 查看是否添加成功
[root@station ~]# ifconfig br0 # 查看到此网桥上没有IP
[root@station ~]# ifconfig br0 172.25.254.242/24
[root@station ~]# ifconfig br0
[root@station ~]# ping 172.25.254.78 # 没有网络接口 ,所以无法与外界通信
[root@station ~]# brctl addif br0 eth0 # 添加eth0网络接口
[root@station ~]# brctl show # 添加成功
[root@station ~]# ping 172.25.254.78
#还原环境
[root@station ~]# brctl delif br0 eth0 # 删除网桥链接
[root@station ~]# ifconfig br0 down # 停止设备工作
[root@station ~]# brctl delbr br0 # 删除网桥接口
[root@station ~]# brctl show
以文件的方式添加(永久)
[root@station ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0
1 DEVICE=br0
2 ONBOOT=yes
3 BOOTPROTO=none
4 IPADDR=172.25.254.242
5 PREFIX=24
6 TYPE=Bridge # br0的类型为网桥
[root@station ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
1 DEVICE=eth0
2 ONBOOT=yes
3 BOOTPROTO=none
4 BRIDGE=br0 # 写入本机的网桥
[root@station ~]# systemctl restart network
[root@station ~]# brctl show
最后
以上就是追寻宝马为你收集整理的Linux——网络桥接的全部内容,希望文章能够帮你解决Linux——网络桥接所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复