<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>互联网，请记住我 &#187; virtualBox</title>
	<atom:link href="http://www.162cm.com/archives/category/virtualbox/feed" rel="self" type="application/rss+xml" />
	<link>http://www.162cm.com</link>
	<description>一米六二的北漂生活</description>
	<pubDate>Fri, 09 Jan 2009 11:52:09 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>qemu:一个win/linux/bsd/mac下的虚拟机软件(二):qemu的几种上网方式</title>
		<link>http://www.162cm.com/archives/482.html</link>
		<comments>http://www.162cm.com/archives/482.html#comments</comments>
		<pubDate>Fri, 21 Sep 2007 15:38:47 +0000</pubDate>
		<dc:creator>xurenlu</dc:creator>
		
		<category><![CDATA[qemu]]></category>

		<category><![CDATA[virtualBox]]></category>

		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://www.162cm.com/archives/482.html</guid>
		<description><![CDATA[上一文章大致地介绍了qemu.这篇写网络设置。
qemu虚拟机中客户机的上网方式有两种：
User-net:qemu 默认的上网方式是user-net.这种情况下你会看到Geust OS 中有一个网卡，通过DHCP方式得到了一个10.2.0.15的IP，通过真实主机访问互联网，但是虚拟机(Guest OS)与客户机的访问很难。因此这种方式我不喜欢。但是这个简单,装上系统就是了，不需配置，而虚拟机也能容易地上互联网。
另一种是Tap/tun模式。需要配置.
a.首先要启用Tap设备。modprobe tun即可。如果内核中没有对tap的支持，要重新编译内核。我用的是fedora,用yum安装一下就行了.
b.设置qemu使用tap设备时主机添加的tap设备的IP.建这样一个脚本(/etc/qemu-ifup)，加上可执行权限即可(chmod +x /etc/qemu-ifup)。
#! /bin/sh
/sbin/ifconfig $1 172.20.0.1
有了这个脚本后，当你用-net tap 参数启动qemu时，主机中就会多一个ip为172.20.0.1的tap设备。
c.启动qemu:
qemu -hda linux1.img -boot c -net tap -net nic,model=rtl8139
进入虚拟机系统后，将网卡IP设为172.20.0.100，掩码设为255.255.255.0,网关设置为172.20.0.1(就是你在/etc/qemu-ifup中设的IP)。现在虚拟机与主机间通信已经可以了，但是还需要第四步让虚拟机连上互联网。
d.在iptables中进行设置，以让虚拟机访问互联网:
分别执行:
[root@LFS ~]#echo 1 &#62; /proc/sys/net/ipv4/ip_forward
[root@LFS ~]#iptables -t nat -A POSTROUTING -o eth0 -s 172.20.0.0/24 -j MASQUERADE
注意/proc/sys/这个目录是不能保存的，所以如果你重启机器，这两个命令需要重新再做一次。（你可以将这两行命令写到/etc/ini.d/rc.local中去).现在试试，你的虚拟机就畅通无阻了!
下一篇我就写写如何才能在文本模式启动qemu.要知道,vmware,virtualBox都使用了SDL来构建GUI,因此必须在运行Xwindows时才能启动虚拟机。有些情况下我们不想要X,但是想跑虚拟机，怎么办呢?另外有些人鄙视用Xwindows的，他们也会关注如何在文本模式启动一个虚拟机.
后记：
  VirtualBox可以用VBoxVRDP -startvm &#8220;machine&#8221; 来无界面启动一个机器，然后用VRDP 或VNC协议来连接虚拟机。
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.162cm.com/archives/462.html">上一文章大致地介绍了qemu</a>.这篇写网络设置。<br />
qemu虚拟机中客户机的上网方式有两种：</p>
<p>User-net:qemu 默认的上网方式是user-net.这种情况下你会看到Geust OS 中有一个网卡，通过DHCP方式得到了一个10.2.0.15的IP，通过真实主机访问互联网，但是虚拟机(Guest OS)与客户机的访问很难。因此这种方式我不喜欢。但是这个简单,装上系统就是了，不需配置，而虚拟机也能容易地上互联网。</p>
<p>另一种是Tap/tun模式。需要配置.</p>
<p>a.首先要启用Tap设备。modprobe tun即可。如果内核中没有对tap的支持，要重新编译内核。我用的是fedora,用yum安装一下就行了.</p>
<p>b.设置qemu使用tap设备时主机添加的tap设备的IP.建这样一个脚本(/etc/qemu-ifup)，加上可执行权限即可(chmod +x /etc/qemu-ifup)。</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">#! /bin/sh</li>
<li>/sbin/ifconfig $1 172.20.0.1</li></ol></div>
<p>有了这个脚本后，当你用-net tap 参数启动qemu时，主机中就会多一个ip为172.20.0.1的tap设备。<br />
c.启动qemu:</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">qemu -hda linux1.img -boot c -net tap -net nic,model=rtl8139</li></ol></div>
<p>进入虚拟机系统后，将网卡IP设为172.20.0.100，掩码设为255.255.255.0,网关设置为172.20.0.1(就是你在/etc/qemu-ifup中设的IP)。现在虚拟机与主机间通信已经可以了，但是还需要第四步让虚拟机连上互联网。<br />
d.在iptables中进行设置，以让虚拟机访问互联网:<br />
分别执行:</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">[root@LFS ~]#echo 1 &gt; /proc/sys/net/ipv4/ip_forward</li>
<li>[root@LFS ~]#iptables -t nat -A POSTROUTING -o eth0 -s 172.20.0.0/24 -j MASQUERADE</li></ol></div>
<p>注意/proc/sys/这个目录是不能保存的，所以如果你重启机器，这两个命令需要重新再做一次。（你可以将这两行命令写到/etc/ini.d/rc.local中去).现在试试，你的虚拟机就畅通无阻了!<br />
下一篇我就写写如何才能在文本模式启动qemu.要知道,vmware,virtualBox都使用了SDL来构建GUI,因此必须在运行Xwindows时才能启动虚拟机。有些情况下我们不想要X,但是想跑虚拟机，怎么办呢?另外有些人鄙视用Xwindows的，他们也会关注如何在文本模式启动一个虚拟机.</p>
<p>后记：<br />
  VirtualBox可以用VBoxVRDP -startvm &#8220;machine&#8221; 来无界面启动一个机器，然后用VRDP 或VNC协议来连接虚拟机。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.162cm.com/archives/482.html/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
