菜鸟玩云计算之九:KVM虚拟机网络配置

cheungmine

前提:HOST是UbuntuServer12.10 amd64,虚拟机也是同样的OS。这样构造出来的KVM虚拟机有2种网络连接模式,一种称为bridge,一种称为nat。这2种模式的网络配置有点差别。使用我上一篇文章(菜鸟玩云计算之八:Ubuntu Server12.10 之KVM虚拟机:http://blog.csdn.net/cheungmine/article/details/8137236)创建出来的虚拟机默认是bridge模式。因此有必要说明如何实现nat模式作为基础,你必须精通“菜鸟玩云计算之八”所述的全部内容,才能玩转虚拟机。



HOST的网络配置在2种模式下没有区别,比如我的HOST的/etc/network/interfaces:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto br0
iface eth0 inet static
    address      201.123.167.110
    network      201.123.167.0
    netmask      255.255.255.0
    gateway      201.123.167.254
    dns-nameservers  8.8.8.8
    bridge_ports     eth0
    bridge_fd        9
    bridge_hello     2
    bridge_maxage    12

1bridge 模式

虚拟机vm1的网络配置(vm1:/etc/network/interfaces)

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address     201.123.167.111
    network     201.123.167.0
    netmask     255.255.255.0
    broadcast   201.123.167.255
    gateway     201.123.167.254
    # dns-* option ...
    dns-nameservers  8.8.8.8
    dns-search defaultdomain

虚拟机vm1的xml配置(HOST:/etc/libvirt/qemu/vm1.xml



...
<interface type='bridge'>
  <mac address='...' />
  <source bridge='br0'/>
  <model type='virtio'/>
  <address type='pci' .../>
</interface>
...
使用我上一篇文章创建的虚拟机默认是bri dge模式。而虚拟子网的nat模式在很多情况下很有用处,特说明如下:

(cheungmine原创作品,本文全部内容都经过测试)

2)nat 模式

虚拟机vm1的网络配置(vm1:/etc/network/interfaces)


auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

虚拟机vm1的xml配置(HOST:/etc/libvirt/qemu/vm1.xml)


...
<interface type='network'>
  <mac address='...'/>
  <source network='default'/>
  <model type='virtio'/>
  <address type='pci' domain='...' .../>
</interface>
...

nat模式下,开始HOST并不知道虚拟机的IP地址,这就需要用控制台登录虚拟机virsh console vm1)更改vm1的配置。更改结束后重启vm1的网络,ifconfig查看vm1的ip,就可以在主机模式下ssh登录到vm1。


mine@host:~$ sudo virsh console vm1
mine@vm1:~$ sudo vi /etc/network/interfaces
mine@vm1:~$ sudo vi /etc/init.d/networking restart
mine@vm1:~$ sudo ifconfig


假设192.168.122.34是vm1 eth0的ip

按 ctrl+] 退出vm1,重新登录vm1(使用ssh)

mine@host:~$ ssh mine@192.168.122.34

或(host和vm用户名相同可以省略)

mine@host:~$ ssh 192.168.122.34

(本文完)









Logo

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

更多推荐