Linux系统下基于Kvm创建虚拟机时网络网桥的配置使用说明

提示:本篇是基于RedHatEnterprise5.0来设置网桥的。部分文字摘录于相关技术网站。

一,配置命令

1。创建网桥设备:brctladdbr<bridge>,eg:brctladdbrbr0

2。向网桥设备添加物理网卡:brctladdif<bridge><device>,eg:brctladdifbr0eth0/eth1(根据需要添加几个网卡)

3。从网桥中删除网卡:brctldelif<bridge><device>,eg:brctldelifbr0eth0/eth1

4。删除网桥:brctldelbr<bridge>,eg:brctldelbrbr0

5。查看网桥配置情况:brctlshow

二,实例讲解

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

2。其次创建一个虚拟网桥:#brctladdbrbr0

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

4。#brctladdifbr0eth0(让eth0成为br0的第一个端口)

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

如图:

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

  #ifconfigeth00.0.0.0

  #ifconfigeth10.0.0.0

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

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

三,在RedHatEnterprise5.0上基于网桥创建虚拟机

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

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

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

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

只要笑一笑,没什么事请过不了

Linux系统下基于Kvm创建虚拟机时网络网桥的配置使用说明

相关文章:

你感兴趣的文章:

标签云: