这是根据3proxy给的样例加以改造的,把它复制到文件中,并保存为 3proxy.cfg,然后放入3proxy的bin目录下,双击3proxy.exe运行就可以了。 这个配置使3proxy开启了两个代理,一个是http代理,在8090端口;一个是 socks5代理,在9080端口。 接下来你只要在需要设置代理的程序中设置如下即可: Http: 192.168.56.101:8090 socks5: 192.168.56.101:9080 这就是配置3proxy的全部过程,现在你应该可以在firefox里上国外网了 推荐使用foxproxy等firefox插件,这些使设置代理变得非常方便。
补充:NAT与proxy的区别
【资料图】
网上介绍的大部分是用代理来共享的,这是因为代理简单,适用范围广。但 是,如果能够用NAT的话,最好还是用NAT。原因很简单,要求使用代理的程 序必须得支持代理,而且代理一般只支持特定协议如常见的http代理。当然 现在有很多socks代理,实际上可以支持任何协议,但首先程序必须能够支 持socks代理。这一点其实通常没有满足,这也是为什么像wincaps这样的 程序非常的流行,它们可以使原来不支socks代理的程序使用socks代理, 但问题依然存在:对每一个你需要用代理的程序,你要单独进行设置,另 外可能也有性能上的降低(这个不是很清楚)。另外,似乎linux下没有特 别好用这类软件(知道的,欢迎留言),tsocks的开发都停止很多年了。
而NAT虽然并非在所有场合都能用,但一旦使用,你获得的就是从网络底层 到高层统一一致的服务,从ping到http,无需再做设置就可直接使用所有网 络资源,而且结合使用路由表,灵活性不比proxy差。而在性能上一般也较 好。对于在linux中,你可能有IM,需要联网的桌面应用如桌面天气,桌面 RSS等,新闻下载客户端Miro,或是开源的联网小游戏teeworlds等。这些中 许多没有内置代理支持,而其使用的协议也各式各样。但在NAT下都能直接 使用。
3.3 linux下配置路由表
这部分应该说是最难的,而且因为大家上网的方式不一致,所以路由表的内 容和配置也不同,可能配置上会有些差异(??)
3.3.1 导入从windows下获得的netpas路由表(依前修改后)
这个路由表的特点是,所有表中的目标地址的访问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》为网址掩码,也就是 netpas路由表的第二列。《4》,《5》都是上一步得到的当前默认网关。 不要一个一个输入这些命令执行,先把这些命令写入一个shell脚本,然 后再一起执行。 脚本应该是类似这样的:
================
#/bin/sh echo “NEED root authentication”
echo “The following is from Netpas in w32…”
route add -net 58.154.0.0 netmask 255.254.0.0 gw -。-。-。-
route add -net 58.192.0.0 netmask 255.240.0.0 gw -。-。-。-
route add -net 59.64.0.0 netmask 255.240.0.0 gw -。-。-。-
route add -net 121.48.0.0 netmask 255.254.0.0 gw -。-。-。-
route add -net 121.192.0.0 netmask 255.252.0.0 gw -。-。-。-
================================================================即一条命令接着一条,网关gw,“-。-。-。-”要填上你的网关。 至少如何执行,具体自己去搜吧,命令是“chmod u+x 《脚本文件名》”,“。/《脚本文件名》”。
3.3.2 进一步设置路由表
完成上面的导入,现在就是切换路由路线的时候了。正如前面所说,netpas 路由表的表项都是不通过netpas加速的,所以上面都设置为直接通过你现在 的网卡连接。而对于其它的地址,我们需要设置其通过netpas。三步:
执行,“route add default gw 192.168.56.101“,即增加一个默认网 关,这个网关就是虚拟机。这一步必须在虚拟机启动后执行才有效,否 则。
执行,“add -net 10.0.0.0 netmask 255.0.0.0 dev eth0”,即让所有 通过netpas加速的包都直接发送到外网端口。这里eth0应换成是你在 linux下用来上网的网卡名称。这一步很重要,否则需要加速的包就出不 去了。这一步可以在任何时候执行
执行,“route del default gw -。-。-。-”。即从路由表中删除你当前的 默网关。这样,需要加速的包就必须从虚拟机这个网关通过。
好了,如果虚拟机里netpas和nat32都连上打开了,你现在应该可以上外网 了,无需在相应程序中设置:)
4 更好的代理
4.1 打破2小时的限制
前面说到nat32有连续2小时的限制,然后必须重启nat32. 大家都不喜欢限 制,要么为什么要用Linux呢?:) 那么我们去找破解吧!我去找过,网上的破解大多不能用了,就算能用(没 找到,实际上,搜索结果挺多的)吧,也很老了,nat32这个软件1.8版本在 2005年就推出了,现在还是1.8版但却是在今年二三月份推出的,我对比了 下,差别很大,同是1.8界面功能都不太一样。所以,没有现成的破解。 那么我们去写一个破解吧!好吧,我承认,我太菜,这个任务我不能完成, 就留给聪明的读者和强大的黑客吧。不过,俺觉得有这个时间,不如写更好 的linux程序,这才是长久之道。看多了“破解-补丁-破解-补丁-破解……” 的恶性循环。 当然有第三种选择,就是写个脚本来自动重新启动nat32,如下: ================================================================ ================ repeat_start.bat START ===================
@echo off
echo Simple script to keep a program running all the time
set program_path=C:\NAT32\nat32.exe 2
set program_name=NAT32
set count=0
set wait_seconds=30
:LOOP
set /A count=%count%+1
echo ”start %program_name% for %count% time(s)“
rem - wait it terminates
start /wait %program_path%
echo ”ooooops, it stops.。。“
echo ”wait for about %wait_seconds% seconds, then restart.。。“
rem - wait for several seconds
@ping 127.0.0.1 -n %wait_seconds% -w 1000 》 nul
@ping 127.0.0.1 -n %1% -w 1000》 nul
echo 。。。
echo ================================================================
rem - to restart an infinite loop
rem - of course, you can use a for loop to make it run limited times
goto LOOP================ repeat_start.bat END ====================== ================================================================
其中,set program_path=C:\NAT32\nat32.exe 2 这一行,= 后面的参数可以 通过看“NAT32RUN”这个桌面快捷方式找到,复制粘贴就行,一般若安装的 NAT32就是这个参数。 这里这个脚本,其实可以用来维持任意会中断的程序的运行,原理很简单,就 是启动程序后,等待其终止,一旦中止就再启动。一般,为了避免一些因为程 序刚关闭时的一些问题,最好等一会儿再启动。对nat32而言,因为它用到了 驱动,所以感觉最好等久些,我设成了30秒。至于其中等待用ping来实现,则是从网上复制来(人懒,没花时间去研究)的高人前辈的“暗黑系魔法”。2003 server里有个sleep的程序,而xp pro里没有。。。 以后,每次就不再运行NAT32RUN,而是直接用这个脚本。
4.2 更好的路由
其实,netpas路由表是很有限的。现在教育网访问公网,对有的地址其实是 很快的,像baidu,youku之类的,应该是相应的网站针对教育网进行了优化。 所以,这些也通过netpas加速的效果反而更差。所以,你可以找到这些地址,然 后用“route”来设置为直接访问。 这里其实有个不好的地方,就是这里说的设置路由的方法总是要用到root权 限。当然,其实路由表是相对稳定了。不知道有没有更好的方法。
4.3 不再用了
不用NAT了,要回到正常联网,只需执行下面两个命令: “route del default gw 192.168.56.101”。 “route add default gw -。-。-。-”。 其实就是,上面设置路由表最后两步的逆过程,其它都不用改。
4.4 Some geek stuff:
对于像我一样,觉得命令行,文本更好,并且觉得应该尽量减少windows在 linux中的出现的。介绍两个命令,VBoxManage, VBoxHeadless。 VBoxManage,是VirtualBox的命令行,像“ VBoxManage startvm xpnet &” 这个命令,可以用来从命令行启动虚拟机,xpnet是虚拟机的名称。这样就 不用每次都打开VirtualBox的图形窗口了:) 当然,你会觉得这还不够,为什么要一个windows虚拟机的窗口始终在我的桌 面上呢,为什么我只是想用它来联网而它始终要一个显示窗口呢?好吧,让 它消失吧~ VBoxHeadless,原本的目的是为了在远程服务器上启动虚拟机用的,因为是 在远程服务器上,所以服务器上是不应有图形窗口的(没人在那看),所以 由它启动的虚拟机是没有窗口的。为了控制由此启动的虚拟机,它支持一个 VRDP的协议,相当于VirtualBox的远程桌面。当然,这里我们不用它这个功 能,因为开启这个功能会在主机上启动这项服务,可能会导致有人可以从网 上联到你的虚拟机。 开启winxp pro的远程桌面,用“VBoxHeadless -startvm=xpnet -vrdp=off &”启动虚拟机,用 “rdesktop -a 16 192.168.56.101 &”来连接,如果 需要手动调整配置什么的。 如果觉得每次输入密码麻烦,用下面这个命令 rdesktop -a 16 -p 《passwd》 192.168.56.101 & -p 后面填上密码明文,不用担心,你的虚拟机在内网里,外面联不进来的。
文章有些长,但我觉得方法还是很好的,尤其是NAT的使用,使虚拟机整个构 成了一个支持所有协议的透明网关。另外,值得注意的是,这个方法适用于几乎所有的加速器,因为整个设置通过虚拟机实现了对加速器是透明的。
上面就是Linux下安装设置netpas网络加速器的方法介绍了,netpas网络加速器在windows上能够完美运行,但在Linux上就得花一些功夫了,赶紧试试看吧。