用虚拟机实现校园网和ADSL双网合一
Network 04月 20th, 2009校园网和ADSL双网合一不是什么新鲜事,搜一下就有很多,但我这个方法是不同的,先说网上流传的方法吧
- 网上的方法通常都是要求双网卡或者双路由器,至于选择那条线路,需要修改系统路由表,也就是要指明去哪个ip段就经哪条线路,换个网络还要查查网站IP,改路由表,超级麻烦的,设置起来还要接触一大堆网络概念,甚是麻烦。
- 而我这个方法简单易懂(不然以我这水平也搞不出来),只需要单网卡单路由器或双网卡,这些都是宿舍标配了吧,而且经那条线路是根据程序选择的,也就是说你可以用迅雷下电影经校园网,玩游戏浏览网页经ADSL,无需要修改什么路由表,也不用接触一大堆网络概念,设置只需简单几步,还很方便切换,只是需要一个比较强劲运行得起虚拟机的电脑就行了,对现在的电脑来说运行虚拟机小意思啦。
单网卡单路由器的设置
- 首先是接线,因为只有一个网卡,校园网那条就需借用路由器了,找一条网线把路由器的Lan口和校园网接口连起来,看清楚了,是Lan,Wan口还是接ADSL的modem的。
- 然后虚拟机设置,假设我真机是Linux,要经ADSL,虚拟机XP,要经校园网(锐捷破客户端只能用XP),其实真机和虚拟机是什么系统都行,能拨号就行了。
- 把Virtualbox的网络连接方式选择桥接,英文是“Bridged Network”,别搞错,选择接路由器的网卡。
- 启动虚拟机,这时虚拟机也是ADSL的(因为路由器自动分配了ip),但用校园网拨号器拨号后,发现连通了,ip变成了校园网的ip的,这样就搞定了。
就是这么简单,真机的程序是经ADSL,虚拟机的程序经校园网,如果不把虚拟机当成虚拟出来的话,实际上不就是两台电脑分别连接ADSL和校园网吗?
所以我说经那条线路是根据程序选择的,想用迅雷下电影经校园网,那就在虚拟机运行,玩游戏浏览网页经ADSL,那就经真机运行。底层的一堆复杂线路选择规则都由虚拟机搞定了,不需要担心去某个IP段要经那条,而是关心程序在不在虚拟机中。
双网卡设置
双网卡我没条件试了,虽然我的笔记本还有个无线网卡,但是路由器不是无线,不过理论上是这样的,方法也差不多。
- 一条接校园网接口,一条路由器。
- 把Virtualbox的网络连接方式选择桥接,不过是桥接到连校园网的那块网卡。
映射下载目录
校园网通常都是用来下大文件的吧,带宽大,满世界都是迅雷、BT、emlue抢资源,造成响应速度慢,不适合打游戏。但如果下好后的文件还要虚拟机上转到真机上来,几G的东西转起来是很麻烦的,还会另虚拟机的虚拟磁盘映像变大,碎片多,带来性能损失。
有一个方法能解决,就是在虚拟机中利用共享文件夹功能把下载文件夹挂载到真机的某个文件夹,那么下载时写入内容实际上就是直接写到真机的文件夹里面了。
- 选择Virtualbox的当前虚拟机的“设备”菜单,选择分配数据空间,选择一个文件夹为共享文件夹,并允许可写。
- 假设虚拟机是XP,那么选“网上邻居”,点“文件夹”弹出树目录,展开“网络邻居”->“整个网络”->“VirtuaBox Shared Folder”看到共享的文件夹,在共享的文件夹点右键,选择“映射网络驱动器”,把它映射为“Z”盘,多个文件夹可以依次类推。
- 这样在我的电脑里就多了个Z盘,把什么迅雷啊,BT,emule的下载目录都指向这个Z盘,这样就直接把下载内容存到真机里去了。
这样就能把ADSL和校园网的优点结合了,双网合一了,娃哈哈哈哈。绝对没搞错的哦,通过查外网地址真机确实是ADSL地址,而虚拟机是学校地址,写这篇文件的功夫都把个4G电影下载回来了,128K的ADSL小水管能做到吗?
有时间再为这篇文章画个图
Linux单网卡多IP
那么Linux还能不能直接访问虚拟机的IP呢?答案是能,给网卡再添加一个ip就行了
sudo ifconfig eth0:1 123.456.789.123
其中123.456.789.123为跟虚拟机同子网的IP,通常把把最后一位改一下就行了。配合之前的《用虚拟机做代理终于在Linux下上到校园网了》,再在虚拟机里架设代理,令真机的程序也能通过代理方式来切换到校园网线路,还真他妈的方便啊。

04月 28th, 2009 at 10:36 am
很欣赏你的独特视角和横溢才华,所以怯怯的想你问个问题,希望你能够帮助解答。
校园局域网中的电脑,可以正常上校园局域网和外网,但是在公网资源紧张,电驴迅网络电视疯开,没法子安心打游戏,家里的电脑是拨号上网的。我想在校园局域网中的一台电脑【双核3.0+3.0,内存1.5G,主机是Windows XP Home正版,虚拟机系统是VMWare中的雨林木风精简版】上同时实现你所创的“双网合一”,这能够么?
请不吝赐教,多有感激。
04月 28th, 2009 at 1:36 pm
@crossingjew
你好,crossingjew,我这里双网合一是指在宿舍能同时上ADSL校园网。你是校园网在宿舍,ADSL在家吧?这样是不叫双网合一的(除非你家就在宿舍旁边能用无线传信号过来)
如果你是仅仅想访问公网快一点,那么需找个代理服务器,前提你访问这个服务器也是要够快,这个代理服务器我强烈推荐gappproxy,Google的服务器速度恐怕不是问题了,gappproxy的设计初衷就是让校园网访问外网快点。至于你的游戏能不能支持gappproxy代理你可以研究一下(你可以搜一下相关文章)。当然你也可以在家的电脑搭建自己专用的代理(前提也是访问家里的电脑也要够快),开源的代理软件可用3proxy,用法你可以参考一下这篇文章《用虚拟机做代理终于在Linux下上到校园网了》