ubuntu 10.04 server上kvm guest联网的问题
-
- 帖子: 33
- 注册时间: 2009-09-12 17:00
ubuntu 10.04 server上kvm guest联网的问题
我在ubuntu 10.04 server上安装了kvm,然后在kvm上安装了ubuntu 10.04 server,但不知道该怎么样使guest联网?请教大家。
-
- 帖子: 33
- 注册时间: 2009-09-12 17:00
ubuntu 10.04 server上kvm桥接方法
在ubuntu 10.04 server上安装好了kvm后,需要配置kvm桥接网络,首先需要安装桥接工具:
sudo apt-get install bridge-utils
安装创建TAP界面的工具:
sudo apt-get install uml-utilities
然后在host上编辑网络界面配置文件sudo vi /etc/network/interfaces,内容如下:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.11.66
netmask 255.255.255.0
gateway 192.168.11.1
auto tap0
iface tap0 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user cbpos \\cbpos是我的用户名,在这里换为你的用户名
auto br0
iface br0 inet static \\当然这里也可以使用DHCP分配
bridge_ports eth0 tap0
address 192.168.11.68
netmask 255.255.255.0
network 192.168.11.0
broadcast 192.168.11.255
gateway 192.168.11.1
激活tap0和br0: //有些时候会不奏效,但重启后就行了
代码:
sudo /sbin/ifup tap0
sudo /sbin/ifup br0
好了以后ifconfig看一下,多了一个tap0和br0, br0上的IP地址就是你本机的IP地址。
然后创建虚拟磁盘(用qemu-img命令):
mkdir kvm
cd kvm
qemu-img create -f qcow2 ubuntu.img 20G
创建虚拟机:
kvm -m 1024 -hda /home/cbpos/kvm/ubuntu.img -net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,ifname=tap0,script=no -boot d -cdrom /home/cbpos/ubuntu-10.04.2-server-amd64.iso -no-acpi
这里对各个参数说明一下:
-m 1024 分配512MB的内存给GUEST OS
-hda /home/cbpos/kvm/ubuntu.img 使用虚拟磁盘的文件和路径
-net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,ifname=tapo,script=no
使用网络,并连接到一个存在的网络设备tap0,注意mac地址一定要自己编一个,特别是如果你虚拟了多个系统并且要同时运行的话,不然就MAC冲突了,在KVM-87下去掉df=h
-boot d 从光盘启动 (从硬盘启动则为 -boot c )
接下来就是安装系统。系统安装好了之后用下面命令启动虚拟机
kvm -m 1024 -hda /home/cbpos/kvm/ubuntu.img , -net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,ifname=tap0,script=no -boot c
然后在guest os下用命令ifconfig查看ip,如果eth0有显示IP则不需要设置IP,在我的电脑上用命令sudo vi /etc/network/interface查看到的情况如下:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
IP是自动获取的,用命令ipconfig查看到的ip是
ip:192.168.11.141
netmask: 255.255.255.0
macaddr:52:54:00:12:34:01
broadcast:192.168.11.255
如果同时运行多个GUEST OS ,则网络设置要改一下,在/etc/network/interfaces 里加几个tap界面就行了,每个GUEST OS单独使用一个TAP,比如说现在要同时运行3个GUEST OS ,则配置文件如下:
代码:
auto tap0
iface tap0 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user cbpos \\cbpos是我的用户名,在这里换为你的用户名
auto tap1
iface tap1 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user cbpos \\cbpos是我的用户名,在这里换为你的用户名
auto tap2
iface tap2 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user cbpos \\cbpos是我的用户名,在这里换为你的用户名
auto br0
iface br0 inet static \\当然这里也可以使用DHCP分配
bridge_ports eth0 tap0
address 192.168.11.68
netmask 255.255.255.0
network 192.168.11.0
broadcast 192.168.11.255
gateway 192.168.11.1
启动GUEST OS
kvm -m 1024 -hda /home/cbpos/kvm/ubuntu.img , -net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,ifname=tap0,script=no -boot c
把ifname=tap0换为你要tap1或者tap2就行了,MAC也要改
要注意,系统重启后要重新加载kvm内核模块:
代码:
sudo modprobe kvm
sudo modprobe kvm-amd //如果使用AMD处理器
sudo modprobe kvm-intel //如果是用INTEL处理器
当然,你也可以修改系统相关设置在启动时自动加载该模块。
参考:http://wiki.ubuntu.org.cn/Kvm_网络桥接方案
sudo apt-get install bridge-utils
安装创建TAP界面的工具:
sudo apt-get install uml-utilities
然后在host上编辑网络界面配置文件sudo vi /etc/network/interfaces,内容如下:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.11.66
netmask 255.255.255.0
gateway 192.168.11.1
auto tap0
iface tap0 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user cbpos \\cbpos是我的用户名,在这里换为你的用户名
auto br0
iface br0 inet static \\当然这里也可以使用DHCP分配
bridge_ports eth0 tap0
address 192.168.11.68
netmask 255.255.255.0
network 192.168.11.0
broadcast 192.168.11.255
gateway 192.168.11.1
激活tap0和br0: //有些时候会不奏效,但重启后就行了
代码:
sudo /sbin/ifup tap0
sudo /sbin/ifup br0
好了以后ifconfig看一下,多了一个tap0和br0, br0上的IP地址就是你本机的IP地址。
然后创建虚拟磁盘(用qemu-img命令):
mkdir kvm
cd kvm
qemu-img create -f qcow2 ubuntu.img 20G
创建虚拟机:
kvm -m 1024 -hda /home/cbpos/kvm/ubuntu.img -net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,ifname=tap0,script=no -boot d -cdrom /home/cbpos/ubuntu-10.04.2-server-amd64.iso -no-acpi
这里对各个参数说明一下:
-m 1024 分配512MB的内存给GUEST OS
-hda /home/cbpos/kvm/ubuntu.img 使用虚拟磁盘的文件和路径
-net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,ifname=tapo,script=no
使用网络,并连接到一个存在的网络设备tap0,注意mac地址一定要自己编一个,特别是如果你虚拟了多个系统并且要同时运行的话,不然就MAC冲突了,在KVM-87下去掉df=h
-boot d 从光盘启动 (从硬盘启动则为 -boot c )
接下来就是安装系统。系统安装好了之后用下面命令启动虚拟机
kvm -m 1024 -hda /home/cbpos/kvm/ubuntu.img , -net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,ifname=tap0,script=no -boot c
然后在guest os下用命令ifconfig查看ip,如果eth0有显示IP则不需要设置IP,在我的电脑上用命令sudo vi /etc/network/interface查看到的情况如下:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
IP是自动获取的,用命令ipconfig查看到的ip是
ip:192.168.11.141
netmask: 255.255.255.0
macaddr:52:54:00:12:34:01
broadcast:192.168.11.255
如果同时运行多个GUEST OS ,则网络设置要改一下,在/etc/network/interfaces 里加几个tap界面就行了,每个GUEST OS单独使用一个TAP,比如说现在要同时运行3个GUEST OS ,则配置文件如下:
代码:
auto tap0
iface tap0 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user cbpos \\cbpos是我的用户名,在这里换为你的用户名
auto tap1
iface tap1 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user cbpos \\cbpos是我的用户名,在这里换为你的用户名
auto tap2
iface tap2 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user cbpos \\cbpos是我的用户名,在这里换为你的用户名
auto br0
iface br0 inet static \\当然这里也可以使用DHCP分配
bridge_ports eth0 tap0
address 192.168.11.68
netmask 255.255.255.0
network 192.168.11.0
broadcast 192.168.11.255
gateway 192.168.11.1
启动GUEST OS
kvm -m 1024 -hda /home/cbpos/kvm/ubuntu.img , -net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,ifname=tap0,script=no -boot c
把ifname=tap0换为你要tap1或者tap2就行了,MAC也要改
要注意,系统重启后要重新加载kvm内核模块:
代码:
sudo modprobe kvm
sudo modprobe kvm-amd //如果使用AMD处理器
sudo modprobe kvm-intel //如果是用INTEL处理器
当然,你也可以修改系统相关设置在启动时自动加载该模块。
参考:http://wiki.ubuntu.org.cn/Kvm_网络桥接方案