转:https://blog.csdn.net/shichaog/article/details/38037691

 

按照博客一所述,应该能够创建lxc虚拟机并运行虚拟机,如果是本地的话,应该能够进入虚拟机操作了,会发现虚拟机只提供了最原始和简单的一些程序,如果使用template方式,甚至连vim,gcc,python等都没有安装,更别说myql了。安装包如此之多,不能都使用源码方式安装,使用yum 和rpm需要联网。所以这节就讲讲联网的设置。

由于使用了VMware下centos虚拟机中建lxc,所以第一步是让centos能够连上internet,其次是让lxc连接上网,为了不弄混淆,win7的VMware中安装的成为centos,centos中安装的LXC成为CN,CN1…之所以使用VMware方式主要是因为其具有快照功能,这一功能可以让我迅速的回到之前保存的一个状态。这一功能在尝试性探索中非常有用!

首先在centos中使用ifconfig查看是否virbr0这个网络设备,安装libvirt包,启动该服务就会有这个网络设备,这个网络设备用于主机(安装VMware的机器)和Centos进行网络通信的,网络的通信方式默认为NAT。在/etc/sysconfig/network-scripts/ifcfg-et0中将ONBOOT,添加进入,这样每次启动centos虚拟机时,该网络就会被启动。

ONBOOT="yes"

具体我的该文件设置为:

 

由于使用的是虚拟机,虚拟机centos和win7桥接:

 

在centos中查看网络设备:

 

 

Lxc

 

LXC的配置脚本:该脚本显示其连接的网络设备是virbr0,而自己的设备类型是veth,就是virtual ethernet的简称。这就是说,该虚拟网卡连接到virbr0。

 

既然知道了lxc的网卡连接方式,那么更进一步,看看lxc虚拟机的信息。这里看到奇怪的vethLMNXK5和veth2RO1DR,这是在上面没有提及的。这也是两块网卡,不过也是虚拟的桥接设备,就是使用brctl创建出来的。

            

 

通过上面两个,知道两点第一点:LXC通过virbr0连接,第二点:vethLMNXK5和veth2RO1DR为LXC虚拟机的虚拟网卡,那他们之间是如何连接的呢,brctl可以看出。

 

从这里可以看出,virbr0是由多个lxc虚拟机共享的,当然,存在另一个问题,就是如果还有一个virbr0,它们连接的方式是bridge方式。

再来看看vethLMNXK5的信息。显示已经接收到了数据包信息。其实这是lxc已经可以连网了,所以可以看见有RX。

 

 

virbr0 是一种虚拟网络接口,这是由于安装和启用了 libvirt 服务后生成的,libvirt 在服务器(host)上生成一个 virtual network switch (virbr0),host 上所有的虚拟机(guests)通过这个 virbr0 连起来。默认情况下 virbr0 使用的是 NAT 模式(采用 IP Masquerade),所以这种情况下 guest 通过 host 才能访问外部。

 

至此,网络设置完毕。lxc可以连接外网了。

Logo

更多推荐