ubuntu配置KVM虚拟机网桥

先说两个定义:Guest机器为虚拟机,Host机器为开机运行的真实机器.

查看libvirt的教程,看到网络配置有许多中方式.详情可以访问http://libvirt.org/formatdomain.html#elementsNICS

  • NAT (默认上网) 虚拟机利用host机器的ip进行上网.对外显示一个ip
  • Bridge 将虚拟机桥接到host机器的网卡上,guest和host机器都通过bridge上网.对外不同的ip

Bridge桥接原理

Bridge方式即虚拟网桥的网络连接方式,是客户机和子网里面的机器能够互相通信。可以使虚拟机成为网络中具有独立IP的主机。

桥接网络(也叫物理设备共享)被用作把一个物理设备复制到一台虚拟机。网桥多用作高级设置,特别是主机多个网络接口的情况。

bridge桥接原理

bridge桥接原理

如上图,网桥的基本原理就是创建一个桥接接口br0,在物理网卡和虚拟网络接口之间传递数据。

在host机器配置桥接网络

确保你想使用bridge网桥的网卡能够为kvm虚拟机模块提供网络连接能力并且网卡是否可以工作.这个网卡应该要能够给guest的kvm虚拟机提供相同的网络支持.接下来例子说明了网卡的配置,并且可以被外部网络访问.这个例子中,使用eth0网卡.

# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:e0:6f:68:95:c5  
          inet addr:192.168.8.213  Bcast:192.168.8.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:38557 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15930 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:26715447 (26.7 MB)  TX bytes:2539922 (2.5 MB)

备份interfaces网络脚本文件<

# cp /etc/network/interfaces ~

编辑bridge网桥配置文件

我这里以静态IP的配置为例,如果是DHCP方式的就更加简单了。

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet static
address 192.168.8.213
netmask 255.255.255.0
broadcast 192.168.8.255
gateway 192.168.8.254
dns-nameserver 114.114.114.114
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
bridge_maxage 12

重启网络服务

# /etc/init.d/networking restart

然后使用ifconfig查看是否成功。

为Guest虚拟机配置网络

在虚拟机的xml配置文件进行设置网络的连接方式为bridge桥接,并且桥接的设备为br0。其中mac地址要改变!不然MAC相同,局域网MAC地址相同的电脑不能上网。

<interface type="bridge"> <!--虚拟机网络连接方式-->
    <source bridge="br0" /> <!-- 当前主机网桥的名称-->
    <mac address="00:16:e4:9a:b3:6a" /> <!--为虚拟机分配mac地址,务必唯一,否则dhcp获得同样ip,引起冲突-->
</interface>

然后启动虚拟机在虚拟机里设置一个IP或者是DHCP获取IP就可以上网了。

 

No comments yet.

Leave a comment

Comment form

All fields marked (*) are required

返回顶部
跳到底部