KVM网络桥接模式解说
在上一篇博客中,我画了一张图来解说桥接模式下kvm的网络是什么样子的。那今天我就仔细来解释一下这方面的内容,让大家学会配置桥接网络。

还是这样的一张图,我们知道bridge就是桥接网卡的名称。让虚拟机在桥接模式下联网,没有它是实现不了的,更实现不了虚拟机与物理机的网络环境并相结合。
桥接模式的物理网卡也只能有一个,我自己在做实验搭环境的时候把他命名为br0,实际上桥接模式下的虚拟机与物理机保持通信的时候,也就依靠这一张网卡来实现。早期的网桥其实也就是二层交换机(这种交换机没有路由功能),仅仅负责把虚拟机的网络信号转发到同一个网段的其他的主机。

我画了下面的这样的一张图来表示桥接实现的过程。可以看出来,不管多少个虚拟机,他们使用的都是同一个网卡br0。他们都在同一个局域网内,不管是物理机还是虚拟机都各自拥有独立的IP。说到这里大家可能对虚拟机的桥接有了稍微的认识,那我们再来看看具体是怎么实现的:
在我安装了3台虚拟机之后,结果如下图所示:

你会发现原来的物理网卡eth0(centos7上是ens33)的IP不显示了,改换成了br0,这是因为在桥接下,br0桥接网卡绑定了物理网卡eth0,这说白了就是在桥接模式下,br0就是物理网卡eth0,此时我们看到的br0网卡上的172.16.0.50这个IP地址,就是物理网卡eth0的地址。感觉很神奇。可能你还会有疑问,那么下面的virbr0和vnet0等等又是什么呢?
在上面的网卡信息中,以“vir”开头的网卡是NAT模式下的网卡信息,nat模式下自己又路由出来了一个网段的ip。nat是负责做转发的。与物理机不在同一个网络环境中。我们这里不对nat模式的网卡做过多说明,大家可以自己百度看看。而接下来的虚拟网卡vnet0、vnet1是很重要的设备。这些设备代表着一个个的虚拟机的网卡。大家可能有疑问,他怎么看不到IP呢?

通过这张图,你可以看出,vnet0是与第一台虚拟机的的网卡eth0绑定在一起的,vnet2是与第二台虚拟机的网卡eth0绑定在一起的。实际上在桥接网络中,网桥br0并不是直接与虚拟机的网卡eth0进行通信,中间需要一个虚拟网卡vnet#(此处的#表示数字序号)来进行通信。但是我们在物理机上又是看不到vnet#的ip地址信息的,这是因为虚拟机的ip地址信息是要在虚拟机里面来查看的,在物理上机上是看不到的。但是vnet#这中虚拟网卡是必不可少的,比如br0离开了ens33照样不能存活,同样的道理,虚拟机里面的eth0网卡离开了vnet#也照样不能通信。所以说在虚拟机里面配置网卡有时候也要考虑vnet#。如何配置呢?有几点大家要明白。
1、虚拟网卡vnet#是创建虚拟机的时候自动创建的。我们要做的就是将br0关联到虚拟网卡vnet#上。
2、虚拟网卡vnet#,#代表数字序号,比如0,1,2,3.....这个顺序是你先后创建虚拟机的次序排出来的,从0开始计数。
3、一般上,我们创建虚拟机好之后,无需关心vnet#虚拟网卡。你只要在虚拟机里面配置网卡eth0即可,这样就可以上网了。、
但是有些情况下,比如物理机网络故障了,这时候你再重启物理网卡,会对虚拟机的网络造成影响。这是因为br0没有与vnet#绑定的缘故,此时你需要重启虚拟机来解决,但是我们不可能总是重启虚拟机,很麻烦。所以你需要设置vnet#来达到上网的目的。
在安装好虚拟机的时候,输入以下命令:你会看到网络是这样子的:

在interfaces上,你会看到一个物理网卡eth0和三个虚拟网卡vnet0、vnet1、vnet2,我这里是按照了三台虚拟机。这就是正常的网络情况。但是如果网络出现故障不正常的话,比如我重启一下物理网卡,那么此时虚拟机也上不去网了,而且你也看不到后面的vnet#这些虚拟网卡,此时你应该这样做,就是重新将br0绑定到vnet#(interfaces)上。
网桥配置命令brctl:
1)查看网桥连接状况
[root@centos6-chaofeng ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 .00e04a682faf no eth0
vnet0
vnet1
vnet2
virbr0 .525400dd5574 yes virbr0-nic
2)添加接口
#brctl addif br0 vnet0
这个命令就是将br0绑定到vnet0。这时我们就可以好好的上网了。
关于这个命令的使用还有许多需要我们了解的,所以我们往后还要继续研究。
KVM网络桥接模式解说的更多相关文章
- CentOS7网络桥接模式下配置-经典完备
原文地址:http://blog.csdn.net/youzhouliu/article/details/51175364 首先要将Vmware设置为桥接模式: 并选择宿主机连接的网路进行桥接: Ce ...
- VMware网络桥接模式与NAT模式共存
对虚拟机有时我们会有一种需求,即需要虚拟机可以作为单独的主机拥有自己的独立IP,也希望宿主机可以通过NAT模式映射端口到虚拟机. 那么此时怎么办那,其实很简单,虚拟机是支持多网卡设置的,只要在虚拟 ...
- 设计模式学习之桥接模式(Bridge,结构型模式)(15)
参考地址:http://terrylee.cnblogs.com/archive/2006/02/24/336652.html 概述 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化, ...
- .NET设计模式(9):桥接模式(Bridge Pattern)(转)
概述 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?这就 ...
- NET设计模式 第二部分 结构性模式(8):桥接模式(Bridge Pattern)
桥接模式(Bridge Pattern) ——.NET设计模式系列之九 Terrylee,2006年2月 概述 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维 ...
- KVM/QEMU桥接网络设置及kvm资料
KVM/QEMU桥接网络设置 配置kvm的网络有2种方法.其一,默认方式为用户模式网络(Usermode Networking),数据包由NAT方式通过主机的接口进行传送.其二,使用桥接方式(Brid ...
- kvm 虚拟化技术 1.2 之配置网络桥接
实验一:配置网路桥接模式 默认kvm的网络是NAT模式,一般生产环境用桥接模式,把虚拟机改成桥接模式 1.查看是否安装网桥设备 [root@kibana opt]# rpm -qa|grep brid ...
- vmware在桥接模式下配置centos7网络,并使用xshell连接虚拟主机(总结篇)
虚拟机系统:centos7 mini版本 1.虚拟安装成功之后,首先我配置的是桥接模式,因为我使用的是网线,配置完桥接模式之后我的linux虚拟机就可以访问网络了 2.因为我安装的是centos7的迷 ...
- bridged(桥接模式)、NAT(网络地址转换模式)和host-only(主机模式)-VMware下三种网络配置方式
VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换模式)和host-only(主机模式).要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模式. 1 ...
随机推荐
- CentOS 安装 kafka
首先确保JDK已正确安装并设置好环境变量 安装Zookeeper 到官网下载: https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/ zooke ...
- Eureka多机高可用
线上Eureka高可用集群,至少三个节点组成一个集群,推荐部署在不同的服务器上,IP用域名绑定,端口保持一致. 10.1.22.26:876210.1.22.27:876210.1.22.28:876 ...
- Dockerfile文件制作自己的镜像
1.创建空目录 $ cd /home/xm6f/dev $ mkdir myapp $ cd myapp/ 2.vim Dockerfile,内容如下: ## 一个基础的 python 运行环境 FR ...
- 通过反射实现IOC功能
这段时间园子里有不少介绍IOC组件的文章,由于自己也一直在学习IOC的各种组件,及IOC的思想,常见的IOC组件很多:AutoFac.Ninject.Utity包括.NET自带的MEF等.由于今天周六 ...
- Xdebug在PHP中的安装配置
Xdebug在PHP中的安装配置涉及php.ini配置文件的修改. 1 首先需要下载Xdebug,根据安装的PHP版本,选择合适的Xdebug版本, 2 安装Xdebug将下载的php_xdebu ...
- Python机器学习笔记:不得不了解的机器学习面试知识点(1)
机器学习岗位的面试中通常会对一些常见的机器学习算法和思想进行提问,在平时的学习过程中可能对算法的理论,注意点,区别会有一定的认识,但是这些知识可能不系统,在回答的时候未必能在短时间内答出自己的认识,因 ...
- 史上最详细nodejs版本管理器nvm的安装与使用(附注意事项和优化方案)
使用场景 在Node版本快速更新迭代的今天,新老项目使用的node版本号可能已经不相同了,node版本更新越来越快,项目越做越多,node切换版本号的需求越来越迫切,传统卸载一个版本在安装另一个版本的 ...
- 【Elasticsearch全文搜索引擎实战】之Head插件实践
简介 Elasticsearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Ap ...
- 【协议】5、gossip 协议
Gossip是一种去中心化.容错并保证最终一致性的协议. Background:分布式环境 Gossip是为了解决分布式遇到的问题而设计的.由于服务和数据分布在不同的机器上,节点之间的每次交互都伴随着 ...
- element-ui 的el-button组件中添加自定义颜色和图标
我使用的element-ui的版本是V1.4.13. 如上图所示,如果使用el-button,加颜色是可以通过设置type属性的值,加图标就设置icon属性的值. 现在产品给了一个需求,就是自定义的很 ...