Linux系统云计算的KVM/QEMU桥接网络设置及kvm资料
2013-08-16 15:34:07 来源:WEB开发网核心提示:default bogon ..................eth0那么,你八成是不能成功桥接的,Linux系统云计算的KVM/QEMU桥接网络设置及kvm资料(3),出现这样的问题应该是由于你的ETH0网络被配置了IP,处理的办法就是想办法去掉eth0的IP,配置网卡的网络参数,代码:sudo ifconfig
default bogon ..................eth0
那么,你八成是不能成功桥接的,出现这样的问题应该是由于你的ETH0网络被配置了IP,处理的办法就是想办法去掉eth0的IP,可以使用这个方法:
#ifconfig eth0 0.0.0.0
比较一下,你的桥接网络接口:
#brctl show
bridge name bridge id STP enabled interfaces
br0 8000.00215e4e33e2 no eth0
tap0
tap1
tap2
应该有这行存在(了可能还会出现其它的行,例如pan0),后面的tapX是不同的虚拟机的接口,这里可以看出,我桥接了三个虚拟接口到一个直接的接口。
如果你的IP地址配置与路由表跟我的一样,那么,应该是可以桥接成功的。
接下来就是启动你的虚拟机,启动前需要创建虚拟机的磁盘(即下面的u_ubuntu.img,可以参照网上的方法,这里就不重复了),启动虚拟机的方法:
#sudo kvm -hda u_ubuntu.img -boot c -net nic,model=virtio,macaddr=DE:AD:AF:22:33:22 -net tap,script=qemu-ifup -m 1024 -smp 2 -clock rtc -localtime
当然,有很的参数可用,我就不介绍了(其实我也不是很懂,嘿嘿),关键的问题就是macaddr和script两项,如果你有多个虚拟机,那么一样要配置不同的macaddr,script一定要指向你刚才保存的那个文件,可以使用绝对路径指明。
启动后,你应该可以正常安装操作系统了,安装完成后,如果虚拟机操作系统网络配置成DHCP,那么应该可以获取一个192.168.1.0网络内的地址,如果你不能获取地址,那么说明配置不成功。
在虚拟机工作的情况下,在宿主计算机上运行ifconfig,应该可以看到一个自动增加的接口tapX(其中X从0开始)。
小结一下:
1)eth0(宿主计算机连接到网络的真实网络接口)不能有IP地址!
2)路由表一定要正确,可以去找一找关于路由方面的介绍,了解一下这个路由信息的意思
=============================================================================================
近几天在搞kvm。kvm真的是很不错,运行操作系统速度非常快,至少比我以前用的vbox要快。但是 kvm的网络配置让我头疼了一阵,上网找了很多资料,无奈那些资料要不省略了一些内容(都把我当高手看了),要不就是写了一堆东西,不说原理,看了半天都搞不懂为什么要那么做,反正都不适合我这种“从0开始”的人。故今天花了几个小时做实验,终于弄出了一个解决方法,现在从头到尾讲出来跟大家分享一下。
对于那些跟我一样想要找到一个只要照着它的提示打命令就多半能成功的方法的人,此帖应该有用。高手请无视此帖~
首先说一下实现原理。我是想先在host上造一块假网卡,然后guest的系统跟这假网卡连接构成一个局域网。guest想连外网的话,就把host当路由器。至于域名服务器,在guest系统里直接指定。
本人实验的host是ubuntu 8.04 server,guest是freebsd 7.0 release。(都是64位)
接下来我会假设你已经装了kvm,而且能用它启动虚拟机。
(以下一到四参照了vbox的网络设定,都在host下操作)
一,首先把必要的工具装了:
代码:
sudo apt-get install uml-utilities
那么,你八成是不能成功桥接的,出现这样的问题应该是由于你的ETH0网络被配置了IP,处理的办法就是想办法去掉eth0的IP,可以使用这个方法:
#ifconfig eth0 0.0.0.0
比较一下,你的桥接网络接口:
#brctl show
bridge name bridge id STP enabled interfaces
br0 8000.00215e4e33e2 no eth0
tap0
tap1
tap2
应该有这行存在(了可能还会出现其它的行,例如pan0),后面的tapX是不同的虚拟机的接口,这里可以看出,我桥接了三个虚拟接口到一个直接的接口。
如果你的IP地址配置与路由表跟我的一样,那么,应该是可以桥接成功的。
接下来就是启动你的虚拟机,启动前需要创建虚拟机的磁盘(即下面的u_ubuntu.img,可以参照网上的方法,这里就不重复了),启动虚拟机的方法:
#sudo kvm -hda u_ubuntu.img -boot c -net nic,model=virtio,macaddr=DE:AD:AF:22:33:22 -net tap,script=qemu-ifup -m 1024 -smp 2 -clock rtc -localtime
当然,有很的参数可用,我就不介绍了(其实我也不是很懂,嘿嘿),关键的问题就是macaddr和script两项,如果你有多个虚拟机,那么一样要配置不同的macaddr,script一定要指向你刚才保存的那个文件,可以使用绝对路径指明。
启动后,你应该可以正常安装操作系统了,安装完成后,如果虚拟机操作系统网络配置成DHCP,那么应该可以获取一个192.168.1.0网络内的地址,如果你不能获取地址,那么说明配置不成功。
在虚拟机工作的情况下,在宿主计算机上运行ifconfig,应该可以看到一个自动增加的接口tapX(其中X从0开始)。
小结一下:
1)eth0(宿主计算机连接到网络的真实网络接口)不能有IP地址!
2)路由表一定要正确,可以去找一找关于路由方面的介绍,了解一下这个路由信息的意思
=============================================================================================
近几天在搞kvm。kvm真的是很不错,运行操作系统速度非常快,至少比我以前用的vbox要快。但是 kvm的网络配置让我头疼了一阵,上网找了很多资料,无奈那些资料要不省略了一些内容(都把我当高手看了),要不就是写了一堆东西,不说原理,看了半天都搞不懂为什么要那么做,反正都不适合我这种“从0开始”的人。故今天花了几个小时做实验,终于弄出了一个解决方法,现在从头到尾讲出来跟大家分享一下。
对于那些跟我一样想要找到一个只要照着它的提示打命令就多半能成功的方法的人,此帖应该有用。高手请无视此帖~
首先说一下实现原理。我是想先在host上造一块假网卡,然后guest的系统跟这假网卡连接构成一个局域网。guest想连外网的话,就把host当路由器。至于域名服务器,在guest系统里直接指定。
本人实验的host是ubuntu 8.04 server,guest是freebsd 7.0 release。(都是64位)
接下来我会假设你已经装了kvm,而且能用它启动虚拟机。
(以下一到四参照了vbox的网络设定,都在host下操作)
一,首先把必要的工具装了:
代码:
sudo apt-get install uml-utilities
二,再造假网卡tap0(名字随便取)并作一些基本配置
代码:
sudo tunctl -t tap0 -u xxx
此处xxx换成你自己的用户名
代码:
sudo chmod 0666 /dev/net/tun
这样大家都有权力去读写那个假网卡。即使在上面那行代码中你指定了自己的用户名,你还是没有办法读写tap0(很奇怪),所以这条命令是有用的。
三,配置网卡的网络参数。
代码:
sudo ifconfig tap0 192.168.0.10 netmask 255.255.255.0 up
随便设,但是你要确保你待会设置的guest的网卡ip跟tap0的属于同一个网段。
赞助商链接