> 文章列表 > linux虚拟机连接网络(在Linux下使用网络加速器netpas)

linux虚拟机连接网络(在Linux下使用网络加速器netpas)

linux虚拟机连接网络(在Linux下使用网络加速器netpas)

大家好,综合小编来为大家讲解下linux虚拟机连接网络,在Linux下使用网络加速器netpas这个很多人还不知道,现在让我们一起来看看吧!

好了,不说废话了。下面的方法可能有点长,但是内容很丰富;)

2准备工作

2.1更好的机器配置。

既然是用虚拟机运行代理,当然机器的内存大,这是最重要的。512M大概卡了,1G应该够了,2G以上比较理想。如果它更小,可能有必要使用一些极端的措施,这将在下面稍微提到。

2.2安装VirtualBox

至少高于3.0,优选高于3.1。VirtualBox这几年的开发进度非常快,增加了很多功能。合理应用可以有效减少工作量。Ubuntu是可以用的,其他Linux发行源码一般都可以用,而且既然你用的是Linux,至少现在可以安装软件了。不知道就搜一下。我用的是Arch64(Archlinux 64位)。

2.3安装winxp虚拟机。

如何使用VirtualBox就不提了。VirtualBox本身的文档非常详细,网上也有很多这方面的介绍。对了,windows可以用98,如果你机器内存小的话,不过可能会遇到一些小问题。最好是winxp,最好不要用网上流传的一些图片和Deepin。这些都是修改过的版本,很难保证以后配置的时候不会有问题。重新装个新的,winxp professional,用不了多久。最后,记得安装VirtualBox Addition,可以提高虚拟机的运行效率,提供很多有用的额外功能。

2.4在虚拟机窗口中,下载并安装。

NAT32是我目前见到的最先进的NAT软件(俗称共享网络连接)。我试过很多其他的,不是达不到要求就是不稳定,功能欠缺。这个软件是免安装的,但是需要安装驱动,可以手动操作。为了省事,直接点设置就行了。软件共享,功能不限。程序每次只能连续运行2个小时,但是可以无限重新运行,所以这不是问题。背后有一个简单的模板,可以让软件几乎一直运行(无需人为干预)。

2.5可选:在虚拟机windows中,下载3proxy。

3proxy是一个非常非常小的代理软件,功能全,很强,可以在windows和linux下使用。配置时直接修改配置文件,这是典型的unix风格。如果有人喜欢用ccproxy,就在网上搜一下怎么用。3 proxydownload部分下载了各种版本(包括windows64位)。

3配置和使用3.1设置虚拟机

这时候应该已经安装了netpas,linux主机联网就可以连接netpas,然后就可以在虚拟机正常访问外网了。

3.1.1设置网卡

主要是安装windows后,设置虚拟机的网卡。默认只有一个NAT网卡,地址是10.0。*.*(*表示任意,但细节只能确定)。这是VirtualBox自行配置的,以后会用到,不需要额外配置。启动网卡配置中的第二块网卡,并选择仅主机。),下面有一个连接网线的选项,选中它。您还可以关闭虚拟机中所有其他未使用的设备选项。2D图形加速在图形中可以选择。启动虚拟机。这时,你可以看到有两个网络连接。找到那个192.168.56.101(大致和这个差不多),记下它当前的IP信息,然后修改IP归属,把DHCP改成?陈述地址,并填写您刚刚写下的所有内容,无需填写更多内容。这一步很重要,因为这个网络连接以后要作为linux主机的网关,所以我不希望它的地址改变。如果你像我一样经常使用两个虚拟机同时运行,这一点尤为重要。此时,根据虚拟机的启动顺序,DHCP分配的地址会有所不同。

注意:很多学校的网络都很无聊。linux下没有对应的联网客户端。好像有个网络登录系统叫锐捷。这个时候我推荐你去网上搜一下。有人做了一个linux下的锐捷认证软件。如果还是不行,可以在这里用虚拟机连接网络,但是虚拟机需要一个网桥连接的网卡。这方面网上也有很多资料,这里就不多说了。

3.2在虚拟机窗口下

3.2.1获取netpas的路由表

必须首先启动Netpas。开始菜单-运行-输入“cmd”-命令行窗口-输入“路由打印”。此时,您可以看到屏幕上输出了netpas启动后的路由表。将此输出复制到文本文件,编辑并删除所有带有保留地址的行(0。*.*.*, 192.*.*.*, 10.*.*,等等。),并删除那些用于注释的行。最后,文件中的每一行都是路由表中的一项,它被保存并传输到linux主机(通过网络或共享文件夹传输)

3.2.2配置nat32e

注:因为NAT的功能是后来才使用的,所以据说在windows 2003 server Edition中有相应的工具进行设置,更加方便可靠。但是一个是在虚拟机运行,资源紧张;其次,我也懒得去另一个系统。如果你知道,请留言。另外,我知道有一个netsh命令可以用来配置NAT,但是时间长了,找不到netpas虚拟网卡的名字(netsh里需要这个),我也不想浪费时间在windows里学这个奇怪的命令(用了就知道了,省点时间学linux:),所以我放弃了。知道的欢迎留言。

如果配置了共享互联网的机器,那么在每个网络连接属性的高级选项中都有一个共享连接的选项,实际上就是一个主NAT。但是由于netpas的特殊连接,这种简单高效的方法无法使用。这里用Nat32e来解决这个问题。

首先连接netpas,以便以后可以配置它。net32e安装后,桌面上会出现几个图标,第一次需要配置NAT32CFG。配置过程本身很简单,基本就是下一个/继续。只需要涉及一个页面,就是选择内网和外网的时候。(懒就不截图了。相信每个用linux的人至少都有一定的英语基础,不过有需要可以留言。我再截图再说一遍。下面简单解释一下。)页面上,框内有一些网卡可供选择。一般有三个,每个选中的都有IP地址,名字等说明。复选框右侧有几个单选按钮,私有(内网)和互联网(外网)。选择名为未知名称Netpas适配器的网卡,然后选择Internet按钮。此时,等待网卡标有I,然后选择另一个地址为192的网卡,再选择私人按钮。网卡前面有一个p。好吧,下一步是直到它完成。

配置完成后,每次运行时只需点击桌面上的NET32RUN即可。现在不能通过NAT上网,需要在linux下做一些配置。

3.2.3可选,配置3proxy。

注意:这个是可选的,就是对于比较喜欢用代理的人,或者想省事的人来说,设置代理就容易多了,而且NAT还有很多配置要做,但是坚持到最后的人会得到奖励:)

3proxy的功能非常强大。如果你有兴趣或者有需要,你可以花时间去阅读这个文件。下面是一个更通用的配置文件。===========================================================3 proxy . CFG Starts============================

#!/usr/local/bin/3proxy

#是的,3proxy.cfg可以执行,在这种情况下,您应该放置

#类似于

# config/usr/local/3 proxy/3 proxy . CFG

#显示哪个配置3proxy应该在realod上重新读取。

系统echo代理正在运行.'

#如果代理启动,您可以使用系统执行一些外部命令

#我们可以配置nservers以避免不安全的gethostbyname()用法

####!也许有用,但不理解

# n服务器

# n服务器

# nscache有助于节省速度、流量和带宽

nscache 65536

#在日志文件中,我们希望用下划线代替空格

logformat '- _L%t.%。%N,%p %E %U %C:%c %R:%r %O %I %h %T

旋转30

#我们将保留最后30个日志文件

内部

# internal是代理将侦听传入请求的接口的地址

# 127.0.0.1表示只有本地主机能够使用此代理。这是

#您应该为客户端指定作为代理IP的地址。

#您可以使用0.0.0.0,但不应该使用,因为这是一个机会

#在这种情况下,在您的网络中使用开放代理。

无身份验证

#不需要认证

####!在某些情况下可能有用

# dnspr

# dnsproxy侦听UDP/53以回答客户端的DNS请求。它需要

# n服务器/nscache配置。

#外部美元。/external.ip

#内部美元。/internal.ip

#这只是提供外部和内部地址的另一种形式

#允许您从文件中读取该地址

无身份验证

#我们希望保护内部接口

拒绝* * 127.0.0.1,192.168.56.101

#并允许HTTP和HTTPS流量。

允许* * * 80-88,8080-8088 HTTP

允许* * * 4438443 HTTPS

proxy -n -p8090

无身份验证

脸红

袜子-p9080

===============3 proxy . CFG End=============================================================

这是根据3proxy给出的例子修改的。复制到一个文件中,保存为3proxy.cfg,然后放在3proxy的bin目录下,双击3proxy.cfg运行。这个配置使得3proxy可以打开两个代理,一个是http代理,端口8090;一个是socks5代理,在端口9080。接下来只需要在程序中设置代理如下:http:192 . 168 . 56 . 101:8090 Socks 5:192 . 168 . 56 . 101:9080。这就是配置3proxy的全过程。现在你应该可以在firefox中使用国外网站的foxproxy等firefox插件,设置代理非常方便。

补充:NAT和代理的区别

网上的介绍大部分都是代理分享的,因为代理简单,应用范围广。但是,如果能使用NAT,最好使用NAT。原因很简单:需要使用代理的进程必须支持代理,而代理一般只支持常见的http代理等特定协议。当然,现在有许多socks代理,它们可以支持几乎任何协议,但是首先程序必须能够支持socks代理。事实上,这通常是不能满足的,这也是像wincaps这样的程序非常受欢迎的原因。他们可以让不支持socks代理的程序使用socks代理,但问题依然存在:对于每一个你需要使用代理的程序,你都要单独设置,可能会有性能下降(这个不是很清楚)。另外,这类软件在linux下好像没有什么特别的用途(知道的请留言),tsocks的开发已经停止很多年了。

虽然NAT不能在所有情况下使用,但是一旦使用,你会得到一个从网络底层到顶层的统一服务。从ping到http,可以直接使用所有网络资源,无需重新设置,结合路由表灵活度不亚于代理。并且通常在性能上更好。对于linux,你可能有IM,需要联网的桌面应用,比如桌面天气,桌面RSS,新闻下载客户端Miro,或者开源联网游戏teeworlds。其中许多没有内置的代理支持,它们使用各种协议。但是可以直接在NAT下使用。

3.3在Linux下配置路由表

这部分应该说是最难的,而且由于每个人上网的方式不同,路由表的内容和配置也不同,配置上可能会有一些差异。)

3.3.1导入从windows获得的netpas路由表(如前所述修改)。

这个路由表的特点是表中的所有目的地址都不通过netpas加速,包括教育网、netpas的服务器地址以及netpas认为不应该或不需要通过它加速的其他地址段。把这些都导入到linux下的路由表中,把所有网关都改成你直接在linux上上网时使用的默认网关。具体步骤如下:

打开终端,以root身份执行命令(su,然后输入root的密码)。命令“route -n”会输出当前系统的路由表,并记住以default开头的项后的IP地址,即当前默认网关。

使用命令“route add -net 1 netmask 2 gw 3”或“route add -host 4 gw 5”导入新的路由表条目。其中1是目标网段,4是目标地址,即netpas路由表中的第一列,目的网段以0结尾,其他是目标地址。2是URL掩码,它是netpas路由表的第二列。4和5是上一步中获得的当前默认网关。不要一个一个的输入这些命令,先写成一个shell脚本,然后一起执行。脚本应该是这样的:

================

#/bin/sh echo '需要根身份验证'

echo“以下来自w32的Netpas”

路由添加-网络58.154.0.0网络掩码255.254.0.0 gw -。-.-.-

路由添加-网络58.192.0.0网络掩码255.240.0.0 gw -。-.-.-

路由添加-网络59.64.0.0网络掩码255.240.0.0 gw -。-.-.-

路由添加-网络121.48.0.0网络掩码255.254.0.0 gw -。-.-.-

路由添加-网络121.192.0.0网络掩码255.252.0.0 gw -。-.-.-================================================================

也就是一个接一个的命令,gateway gw,“-”要填你的网关。至少怎么执行,自己去搜吧。这些命令是“chmod u x脚本文件名”和”。/脚本文件名”。

3.3.2进一步设置路由表。

以上导入完毕,就该切换路由路线了。如前所述,netpas路由表中的条目不由netpas加速,因此它们都被设置为通过您当前的网卡直接连接。对于其他地址,我们需要通过netpas进行设置。三个步骤:

执行,“路由添加默认GW 192.168.56.101”,即添加一个默认网关,这个网关是一个虚拟机。此步骤必须在虚拟机启动后执行,否则。

执行“add-net 10 . 0 . 0 net mask 255 . 0 . 0 . 0 dev eth 0”,即所有netpas加速的数据包都直接发送到外网端口。这里eth0要换成你在linux下上网用的网卡名称。这一步很重要,否则需要加速的包就出不来了。这个步骤可以在任何时候执行。

执行,"路由删除默认GW-。-.-".从路由表中删除您当前的静默网关。这样,需要加速的数据包就必须经过虚拟机的网关。

嗯,如果netpas和nat32在虚拟机中连接并打开,现在应该可以访问外部网络,而无需在相应的程序中设置:)

4更好的代理

4.1突破2小时限制

如前所述,nat32有连续两个小时的限制,然后必须重启nat32。大家都不喜欢极限,不然为什么用Linux?)那我们来找裂缝吧!我去找了一下,网上的破解大部分都不能用。就算能用(没找到,其实搜索结果也挺多的),也很老了。nat32的软件版本1.8是2005年推出的,现在还是1.8版本,不过是今年二三月份推出的。我对比了一下,差别很大。同样1.8的界面功能也不太一样。所以,没有现成的裂缝。那我们就写一个破解吧!好吧,我承认,我太坏了。我不能完成这个任务。让我们把它留给聪明的读者和强大的黑客。但是,我觉得有了这个时间,不如写出更好的linux程序,这才是长远之道。看到更多“裂-补-裂-补-裂”的恶性循环…。当然还有第三种选择,就是写一个脚本自动重启nat32,如下:=====================================================

@关闭回声

回显简单的脚本以保持程序一直运行

set program _ path=C:NAT 32 NAT 32 . exe 2

设置program_name=NAT32

设置计数=0

设置等待秒数=30

:循环

set /A count=%count% 1

回显“启动%program_name%达%count%次”

rem -等待它终止

开始/等待%program_path%

“哦,它停下来了…”

echo '等待大约%wait_seconds%秒,然后重新启动.'

rem -等待几秒钟

@ ping 127 . 0 . 0 . 1-n % wait _ seconds %-w 1000 nul

@ping 127.0.0.1 -n %1% -w 1000 nul

回声.

echo====================================================

重新开始一个无限循环

rem——当然,您可以使用for循环使其运行有限的时间

转到循环

==================repeat _ start . bat END===============================================================

其中,行集program _ path=c: NAT32nat32.exe2,后面的参数=可以通过查看桌面快捷方式“NAT32RUN”找到,复制粘贴即可,一般如果安装的nat32就是这个参数。这里的这个脚本实际上可以用来维护任何将被中断的程序的运行。原理很简单。启动程序后,等待它的终止,一旦它被挂起,再启动它。一般来说,为了避免流程刚关闭时出现一些问题,最好等一段时间再启动。对于nat32来说,因为用了驱动,所以长时间等待感觉更好。我设置为30秒。至于平要实现的等待,是从网上抄来的“黑魔法”(人懒,没时间学习)。2003 server有睡眠程序,xp pro没有。以后你不会每次都运行NAT32RUN,而是直接用这个脚本。

4.2更好的路由

事实上,netpas路由表非常有限。现在教育网访问公网,有些地址其实很快,比如百度,优酷。应该是针对教育网优化了相应的网站。所以这些通过netpas加速的效果更差。因此,您可以找到这些地址,然后使用“route”将它们设置为直接访问。其实这里有一个不好的地方,就是这里说的设置路由的方法总是使用root权限。当然路由表是相对稳定的。不知道有没有更好的办法。

4.3不再使用

如果没有NAT,要恢复正常联网,只需执行以下两个命令:“route del default GW 192 . 168 . 56 . 101”。“路由添加默认GW-。-.-".其实就是上面设置路由表最后两步的逆过程,其他什么都不需要改。

4.4一些极客的东西:

和我一样,我认为命令行和文本更好,我认为linux中windows的外观应该最小化。介绍两个命令,VBoxManage,VBoxHeadless。VBoxManage是VirtualBox的命令行,比如“VBoxManage startvm xpnet”,可以用来从命令行启动虚拟机,xpnet是虚拟机的名称。这样就不用每次都打开VirtualBox的图形窗口了:)当然你会觉得这样还不够。为什么windows虚拟机窗口总是在我的桌面上?为什么我只是想用它联网,它总是需要一个显示窗口?好了,让它消失吧~ vbox headless,最初的目的是在远程服务器上启动虚拟机。因为是在远程服务器上,服务器上应该没有图形窗口(没人看),所以它启动的虚拟机没有窗口。为了控制由此启动的虚拟机,它支持一个VRDP协议,相当于VirtualBox的远程桌面。当然我们这里不用这个功能,因为开启这个功能会在主机上启动这个服务,可能会导致有人从互联网连接到你的虚拟机。打开winxp pro的远程桌面,用“vbox headless-start VM=xpnet-vrdp=off”启动虚拟机,用“rdesktop -a 16 192.168.56.101”连接。如果需要手动调整配置什么的。如果你觉得每次输入密码都很麻烦,可以使用下面的命令-rdesktop-a 16-p 192 . 168 . 56 . 101-p来明文填写密码。不用担心,你的虚拟机在内网,无法从外部连接。

本文[高级伪原创标题]到此分享完毕,希望对大家有所帮助。