亲爱的读者,你好!综合小编来为大家讲解下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来明文填写密码。不用担心,你的虚拟机在内网,无法从外部连接。