RedHat Enterprise下如何配置KVM虚拟机的网络网桥

一. 网桥的相关创建命令
    

1. 创建网桥设备:brctl addbr <bridge> ,eg:brctl addbr  br0

2. 向网桥设备添加物理网卡:brctl addif <bridge> <device>,eg:brctl  addif  br0 eth0/eth1(根据需要添加几个网卡)

3. 从网桥中删除网卡:brctl delif <bridge> <device>,eg:brctl  delif  br0 eth0/eth1 

4. 删除网桥:brctl delbr <bridge>,eg:brctl delbr br0

5. 查看网桥配置情况:brctl show


二. 下面以一个相关的例子来讲解

1. 假如我有一台主机装有linux操作系统 ,并安装了网桥模块,而且有两块物理网卡,希望能分别与公司内网和外网进行通信。同时为了方便管理,我把网桥配置固定IP(172.7.10.5)。

2. 其次创建一个虚拟网桥:# brctl  addbr br0

3. 建立一个虚拟网桥之后,我们还需要为它分配特定的端口。在Linux中,一个端口实际上就是一个物理网卡。而每个物理网卡的名称则分别为 eth0,eth1...。我们需要把每个网卡和br0  这个网桥联系起来,作为br0中的一个端口。

4. # brctl addif br0   eth0            (让eth0成为br0的第一个端口)

  # brctl addif br0   eth1            (让eth1成为br0的第二个端口)

      如图:

5. 网桥的每个物理网卡作为一个端口,可以直接运行于混杂模式,它们是在链路层工作,所以就不需要IP了。

  # ifconfig  eth0   0.0.0.0

  # ifconfig  eth1   0.0.0.0

       注:混杂模式(Promiscuous Mode)是指一台机器能够接收所有经过它的数据流,而不论其目的地址是否是它。这被网络管理员使用来诊断网络问题,但是也被无认证的想偷听网络通信(其可能包括密码和其它敏感的信息)的人利用。即它是接收所有经过网卡的数据包,包括不是发给本机的包。默认情况下网卡只把发给本机的包(包括广播包)传递给上层程序,其它的包一律丢弃。简单的讲,它就是指网卡能接受所有通过它的数据流,不管是什么格式,什么地址的。具体的地址转发则是在接受到数据后由MAC层来进行。

6. 最后给br0的虚拟网卡配置IP:# ifconfig br0  172.7.10.5,给br0配置了IP之后,网桥就能够工作了。br0的IP也可以动态获取。

三. 在RedHat Enterprise 5.0上基于网桥创建虚拟机

在Redhat Enterprise Linux 5 (RHEL5)上基于KVM创建虚拟机时有两种网络选项:

1. Virtual network - virbr0:QEMU 会在你的 Linux系统中产生一个 bridge 虚拟装置"virbr0" 。virbr0 不只是个单纯的 NAT 而已,他是一个 NAT + DHCP 的架构,所有的 Virtual machine 都会透过 virbr0 来指派一个私人网域 (private IP)。预设为 192.168.122.2 ~ 192.168.122.254 (在他的设定档中可以定义其 DHCP 可指定的 IP 范围).其预设的default gateway 为 192.168.122.1/24 ,所有在这架构下的 Virtual Machine 虚拟机器的封包都必须透过这 NAT 去连结到其它的网络.如同一般的 NAT 所有的 Virtual Machine 虚拟机器都是被隐藏在 private私有网络,所以外部不能直接连接到 Virtual Machine 虚拟机器上。如图:

 

2. Shared physical device:如果要使用"Shared physical device" 时需要经过手动设定才能使用。此时所有的 Virtual machine 的网络装置就会像是串接在一个 Hub 或是 Switch 上,只要是同区段的 IP 都可以互通。在 Linux 下网络的模式有一个东西叫做 Bridge mode,有点像将多个 NIC Adapter ports 透过一个虚拟出来的 Bridge(Switch) 全部串在一起,再透过一个虚拟出来的网络装置出去,这就像是把 Linux 当成一个 switch 来使用了。在一般的 Linux 环境下的方法也很简单:我们也可以透过下面几个简单的指令来产生自己所需要的 Bridge 装置出来。下面的图示你可以很清楚的看出来虚拟 NIC 和实体 NIC 是如何透过 bridge 模式串接在一起。

 

当新建虚拟机时,会出现如下网络选项,直接选择“br0”即可。


参考来源:  http://blog.csdn.net/lmp1987/article/details/7366049


Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐