KVM下网络配置的一个解决方案

来自:http://forum.ubuntu.org.cn/viewtopic.php?p=755408


近几天在搞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的属于同一个网段。
四,接下来是系统的配置(连外网所必须)
代码:
sudo echo 1 >
/proc/sys/net/ipv4/ip_forward
这样开启了linux的ip转发功能,host可以当路由器用了。如果你想让guest连上外网的话这条一定要。
代码:
sudo iptables -t nat -A POSTROUTING -j
MASQUERADE
这条命令也是连外网所必须的。
五,启动kvm虚拟机
代码:
kvm -M pc -m 512 -hda /root/hda.img -net nic -net
tap,ifname=tap0,script=no -boot c
-net nic -net
tap,ifname=tap0,script=no是跟网络相关的,上面的命令的其他部分自己跟据实际情况修改。ifname=你造的假网卡的名字,我的是tap0。
六,guest系统的配置。(接下来的事请我不详细讲了,在guest下操作,根据不同的guest系统自己找资料,不要鄙视我~~~)
guest启动后应该会认出一张网卡,realtek的。我的freebsd认出来是re0。把那网卡的ip设定成192.168.0.x,(这
个ip跟host下tap0的ip不能相同!但要确保它们同在一个子网。我的是192.168.0.11),并把netmask设成
255.255.255.0。到现在,guest和host应该是同在一个子网了。你可以试一下在guest里ping
192.168.0.10,在host里ping 192.168.0.11,如无意外,应该能ping通。到现在已实现host
guest之间的互访。
七,让guest连上外网。(前提是host已经连上外网)
只需要把guest的默认网关设置成192.168.0.10(你的假网卡的ip)就可以了,非常的简单。
域名服务器手动设置,不会很麻烦。
至此kvm网络设置的问题解决了,freebsd在线装东西中~
希望此帖能对大家有点帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值