今天我们继续实验Bridge方式的网络配置。

Bridge的逻辑原理图如下:

上图中的“br0”就充当了一个桥的作用,主机上的物理网口eth0等根据需要加入到这个桥里面,所有虚拟机要跟外界通信都通过这个br0, br0再经过真实的物理接口eth0等与外界通信。与NAT不同,桥接方式虚拟机跟主机一样能获得主机所在网络的IP地址,不再由主机进行伪装。那么br0是如何在Ubuntu主机上创建出来的呢?虚拟机如何使用br0?

1.        br0的创建

在Ubuntu下br0的创建如下:

打开/etc/network/interfaces,做如下修改:

保存后,重启网络服务或重启机器。(上述配置的每个选项的具体含义不再详述,请查阅相关文档)

然后再检查主机网路:

可以看到,有一个网络接口br0被创建出来,它的IP地址是192.168.1.103,而原先的eth0没有IP地址了。

2.        虚拟机如何配置br0

虚拟机的定义XML中的interface定义如下:

<interface type='bridge'>

<mac  address='52:54:00:7b:a8:d8'/>

<source bridge=’br0’/>

<target dev='vnet0'/>

<model  type='virtio'/>

</interface>

上面的source bridge就指向了“br0”.

启动虚拟机后,运行“ifconfig”, 可以看到有个叫vnet0的网络接口被创建出来,这就是该虚拟机的虚拟网络接口。

再运行“brctlshow”看看:

很清楚,这个虚拟机的vnet0网络接口是加入到br0这个网桥了(原先NAT模式是在virbr0里),所以这个虚拟机的网络数据都改成由这个br0转发。

最后来看一下,虚拟机里面的IP情况:

可以看到这个虚拟机的IP地址是192.168.1.105,网关、DHCP服务器地址和DNS服务器地址都是192.168.1.1,192.168.1.1又是什么呢?它是我环境下的一台路由器(兼DNS、DHCP服务器和网关)。这跟上一篇NAT模式下它获得的是主机上的虚拟网桥的IP地址等已经完全不同了。

Ubuntu12.10 下搭建基于KVM-QEMU的虚拟机环境(十六)的更多相关文章

  1. Ubuntu12.10 下搭建基于KVM-QEMU的虚拟机环境(八)

    Libvirt 是用c写的一个管理虚拟机及其资源(如网络.存储和外设等)的工具库,它不仅支持KVM/QEMU,它还支持xen,Vmware,OpenVZ和VirtualBox等其他HyperVisor ...

  2. Ubuntu12.10 下搭建基于KVM-QEMU的虚拟机环境(三)

    原则上来说,qemu, libvirt, libusb, usbredir, spice等都可以通过 apt-get install的方式从Ubuntu源在线安装.但是这样如果碰到一点问题,就比较难办 ...

  3. Ubuntu12.10 下搭建基于KVM-QEMU的虚拟机环境(十五)

    接下来我们试验虚拟机的网络配置功能,KVM虚拟机网络配置主要有两种方式:NAT方式和Bridge方式.今天我们主要理解和实验NAT方式的网络配置. NAT方式是kvm安装后的默认方式,它支持主机与虚拟 ...

  4. Ubuntu12.10 下搭建基于KVM-QEMU的虚拟机环境(十三)

    今天我们实验libvirt提供的快照功能,快照可以用于系统恢复,防止安装了某些软件或中病毒等情况导致系统损毁的情况. 一.快照类型 1)        磁盘快照 内部的:快照驻留在原来的镜像文件内部 ...

  5. Mac下搭建基于PlatformIO的嵌入式开发环境(STM32开发)

    PlatformIO简介 PlatformIO是开源的物联网开发生态系统.提供跨平台的代码构建器.集成开发环境(IDE),兼容 Arduino,ESP8266和mbed等 支持在Windows.Lin ...

  6. 小白秒懂的Windows下搭建基于pytorch的深度学习环境

    配置环境总体思路 1.依据python版本选择对应Anaconda版本: 2.依据显卡驱动版本选择对应的CUDA版本: 3.依据CUDA版本选择对应的cudnn和pytorch版本. 一.Anacon ...

  7. Windows 7下 搭建 基于 ssh 的sftp 服务器

    Windows  xp 下 搭建 基于  ssh 的sftp 服务器,服务器端可以用 freesshd,F-secure server等,filezilla server不可用,之前傻乎乎的用file ...

  8. ubuntu12.10下OpenFoam的编译

    最近在ubuntu12.10下编译OpenFoam,遇到一些问题,小记一下. 首先到官网下载源码包(我这里下载的是OpenFOAM-2.3.0.tgz,ThirdParty-2.3.0.tgz). 1 ...

  9. [IDS]CentOS6.6下搭建基于snort+barnyard2+base的入侵检测系统,超详细!!!

    最详细的CentOS6.6下搭建基于snort+barnyard2+base的入侵检测系统免责声明一.如果因为使用本文档照成损失(系统崩溃.数据丢失等),作者不承担任何责任.二.本文档只是个人使用本文 ...

随机推荐

  1. win7 下配置resin的一些tip

    一.如何查看jdk安装目录: 通过不同方法搜索javac看看, javac.exe 是java的编译器: 可用的搜索方法: 1.cmd 控制台:  where javac 2.开始菜单的搜索: 一直到 ...

  2. [转]linux的du和df命令

    转自:http://blog.csdn.net/kmesg/article/details/6570800 今天也有同学问我Linux下查看目录大小的命令,现在也将前阵子学习到du/df两个命令总结一 ...

  3. kinect 录制彩色和深度视频

    安装 KinectSDK-v1.8-Setup.exe OpenNI-Windows-x86-2.1.0.msi Qt工程 拷贝 Redist 下内容到 编译的exe所在目录 #include < ...

  4. DHCP工作过程详解

    DHCP动态主机配置协议的作用我想作为网管的兄弟们都应该知道了,这里我就不多废话了,今天我要谈的是DHCP的工作过程,了解了工作过程,要排除故障就容易了.   一.DHCP客户机初始化: 1. 寻找D ...

  5. 基于vagrant工具在win7下免密登录linux

    一.SSH加密方式 SSH采用的是"非对称密钥系统",即耳熟能详的公钥私钥加密系统,其安全验证又分为两种级别. 1. 基于口令的安全验证 这种方式使用用户名密码进行联机登录,一般情 ...

  6. js和jquery实现tab选项卡

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. 解决ext时间插件在谷歌下变宽的BUG

    在做一个项目时候遇到EXT这么一个问题,现分享出解决问题的代码 Ext.override(Ext.menu.DateMenu, { render: function () { Ext.menu.Dat ...

  8. C语言——内存分配

    1.在C语言的运行过程中,需要内存来存储数据.C语言使用的内存总体可以分为两类:一类是静态区,一类是动态区.2.静态数据存储区包含:只读数据区.已初始化的读写数据区.未初始化的读写数据区     动态 ...

  9. leetcode—sudoku solver

    1.题目描述 Write a program to solve a Sudoku puzzle by filling the empty cells. Empty cells are indicate ...

  10. github Top100

    nodejs 文件 var restify = require('restify'), moment = require('moment'), fs = require('fs'), yesterda ...