溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux中如何使用netpas網(wǎng)絡加速器

發(fā)布時間:2021-07-23 11:47:52 來源:億速云 閱讀:241 作者:Leah 欄目:系統(tǒng)運維

這篇文章將為大家詳細講解有關Linux中如何使用netpas網(wǎng)絡加速器,文章內(nèi)容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

2 準備工作

2.1 好點的機器配置。

既然是用虛擬機跑代理,當然機子內(nèi)存要大,這點最重要。512M估計是會卡 的,1G應該就行,2G以上就很理想了,再小的話可能就要采用些非常手段了,下面也會稍微提到下。

2.2 安裝VirtualBox

至少3.0以上吧,最好是3.1以上的。VirtualBox這幾年開發(fā)進度很快,很多特 性都加了進去,合理運用能有效減少工作量。Ubuntu下是有的,其它的Linux 發(fā)行版的源里一般也都有,而且既然你都用Linux了,那么就至少現(xiàn)在能裝軟 件,不知道的話,搜下吧。我用的是Arch74(Archlinux 64位)。

2.3 安裝winxp虛擬機。

VirtualBox怎么用就不說了,VirtualBox本身的文檔很詳細,網(wǎng)上這方面的 介紹也很多。這里提下,windows可以用98的,如果你機器內(nèi)存小的話,但可 能會遇到一些小問題。最好是winxp了,最好不要用一些網(wǎng)上流傳的鏡像和 Deepin啥的,這些都是修改版,難保后面配置時沒問題。重新安裝個新 的,winxp professional的,不會用太多時間。最后記得安裝VirtualBox Addition,這個副加包可以提高虛擬機的運行效率,另外還提供不少好用的 額外功能。

2.4 虛擬機windows中,下載,安裝<nat32e>。

NAT32是一個我目前看到的最先進的NAT類軟件(一般也叫共享網(wǎng)絡 連接), 我也試過許多其它的,但是要么是沒辦法滿足要求,要么就是不穩(wěn)定少功能。 這個軟件是免安裝的,但是要安裝一個驅動,這個可以手動作。圖省事的, 就直接點setup就好了。軟件是共享的,功能不設限,程序每次只能連續(xù)運行 2小時,但可以無限制地重新運行,所以這不是個問題,后面有個簡單的腳 本,能讓這個軟件幾乎總是在運行(無需人為干預)。

2.5 可選:虛擬機windows中,下載<3proxy>

3proxy是一個非常非常小的proxy軟件,功能很全也很強 大,windows和linux 下都可以使用。配置的時候是直接修改配置文件的,典型的unix風格。有人 喜歡用ccproxy的話,就自己到網(wǎng)上搜下如何使用吧。 3proxydownloadsection中 有各個版本(包括windows64位的)下載。

3 配置與使用 3.1 設置虛擬機

你這時候應該已經(jīng)安裝好了netpas,并且在linux主機聯(lián)網(wǎng)的情況下,netpas 能聯(lián)上,然后在虛擬機中能正常上外網(wǎng)。

3.1.1 設置網(wǎng)卡

主要是安裝完windows后,設置虛擬機的網(wǎng)卡。默認是只有一個NAT網(wǎng)卡,地 址是10.0.*.*(*表示任意,當然具體只能是確定的)。這個是VirtualBox自 己配置的,后面也要用,但無需額外配置。在網(wǎng)卡配置里啟動第二個網(wǎng)卡, 選擇Host-only(中文應該是主機網(wǎng)絡吧?),底下有個連接網(wǎng)線的選項,選 中。你還可以把虛擬機中別的不用的設備選項都關掉。圖形里的2D圖形加速 可以選上。啟動虛擬機,這時候可以看到,有兩個網(wǎng)絡連接,找到那個 192.168.56.101(大致類似這個的),記下它現(xiàn)在的IP信息,然后修改IP屬 性,把DHCP改為靜態(tài)地址,并把剛才記下的都填上,沒多填。這步之所以重 要是因為,這個網(wǎng)絡連接,過會兒會作為linux主機的網(wǎng)關,所以我不希望它 的地址有任何變化,這點尤為重要如果你像我一樣經(jīng)常用到兩個虛擬機同時 運行的話,這時候DHCP分配的地址會根據(jù)虛擬機啟動順序不同而不同。

注:不少學校的網(wǎng)絡比較無聊,linux下沒有對應的聯(lián)網(wǎng)客戶端,好像有個 叫銳捷的網(wǎng)絡登錄系統(tǒng)就是這樣。這時候,推薦你到網(wǎng)上搜一下,有人作過 一個linux下的銳捷認證軟件,如果還是不行,那么這里你可以用虛擬機聯(lián) 網(wǎng),不過虛擬機要用一個網(wǎng)橋連接的網(wǎng)卡。這方面網(wǎng)上也有不少資料,這里 就不多說了。

3.2 虛擬機windows下

3.2.1 獲取netpas的路由表

必須先啟動netpas。 開始菜單-運行-輸入“cmd”-命令行窗口-輸入“route PRINT” 這時候可以看到,屏幕上輸出在netpas啟動后的路由表。把這個輸出復制到 文本文件中,編輯刪除所有目標地址為保留地址(0.*.*.*, 192.*.*.*, 10.*.*.*等)的行,刪除那些注釋用行,最后文件中每一行都是路由表中的 一項,保存并傳到linux主機中(用網(wǎng)絡傳,或是用共享文件夾,這個推薦 吧,方便)。

3.2.2 配置nat32e

注:因為后面用到了NAT的功能,據(jù)說在windows 2003 server版中有相應的 工具進行設置,比較方便可靠。但一來是虛擬機里跑,資源比較緊;二來也懶 得再去整另一個系統(tǒng)了,有知道的歡迎留言。另外,我知道有個netsh的命令 可以用來配置NAT,但整了挺長時間,沒辦法找到netpas虛擬網(wǎng)卡的名稱 (netsh中需要這個),也不想浪費時間去學windows里這個怪怪的命令(用 過你就知道了,留著時間學linux吧:),所以放棄了。知道的也歡迎留言。

如果配置過共享上網(wǎng)的機器,在每一個網(wǎng)絡聯(lián)接屬性的高級選項里都有一個 共享該連接的選項,這其實就是初等的NAT了。但因為netpas的連接比較特 殊,這種簡單高效的方法不能用了。這里用nat32e來解決這個問題。

先連接上netpas吧,便于后面配置。 安裝好net32e后,桌面上會有幾個圖標,第一次用需要用NAT32CFG這個功 能進行配置。配置過程本身很簡單,基本上都是下一個(next/continue)。 只有一個頁面需要介入,就是選擇內(nèi)網(wǎng)和外網(wǎng)時。 (人懶,就不截圖了,相信用linux的都至少有一定的英文基礎吧,不過有 需要的可以留言,我再作個截圖重新說下,這里簡單講)頁面上,方框里有 一些網(wǎng)卡供選擇,一般有三個,每選中一個其下有IP地址,名稱等說明。選 擇框右而有幾個單選按鈕,Private(內(nèi)網(wǎng)),Internet(外網(wǎng))。選上名 稱為Unknown Name Netpas Adapter的網(wǎng)卡,然后選上Internet按鈕,這時 候網(wǎng)卡前標記為I,然后選另一個網(wǎng)卡,地址是192的那個,再選上Private 按鈕。那個網(wǎng)卡前出現(xiàn)個P。好了,下一步直到完成。

配置完成后,以后每次運行時只要點桌面上的NET32RUN就可以了。 現(xiàn)在你還不可以通過NAT上網(wǎng),需要在linux下作一些配置。

3.2.3 可選,配置3proxy

注:這個是可選的,就是對那些更喜歡用代理的人來說,或是那些想省事的人,設置代理可要簡單得多,而NAT還有不少配置要做,但堅持到最后的人是會有回報的:)

3proxy的功能是非常強大的,有興趣的或需求可以花時間讀一下文檔,這里給一個比較通用的配置文件。 ================================================================ ================3proxy.cfg Starts ============================== 

#!/usr/local/bin/3proxy

# Yes, 3proxy.cfg can be executable, in this case you should place

# something like

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

# to show which configuration 3proxy should re-read on realod.

system "echo 3proxy is running...!"

# you may use system to execute some external command if proxy starts

# We can configure nservers to avoid unsafe gethostbyname() usage

####! maybe useful, but dont understand

#nserver 10.1.2.1

#nserver 10.2.2.2

# nscache is good to save speed, traffic and bandwidth

nscache 65536

# in log file we want to have underscores instead of spaces

logformat "- +_L%t.%.  %N.%p %E %U %C:%c %R:%r %O %I %h %T"

rotate 30

# We will keep last 30 log files

internal 192.168.56.101

# internal is address of interface proxy will listen for incoming requests

# 127.0.0.1 means only localhost will be able to use this proxy. This is

# address you should specify for clients as proxy IP.

# You MAY use 0.0.0.0 but you shouldn't, because it's a chance for you to

# have open proxy in your network in this case.

auth none

# no authentication is requires

####! maybe useful in some occassions

# dnspr

# dnsproxy listens on UDP/53 to answer client's DNS requests. It requires

# nserver/nscache configuration.

#external $./external.ip

#internal $./internal.ip

# this is just an alternative form fo giving external and internal address

# allows you to read this addresses from files

auth none

# We want to protect internal interface

deny * * 127.0.0.1,192.168.56.101

# and llow HTTP and HTTPS traffic.

allow * * * 80-88,8080-8088 HTTP

allow * * * 443,8443 HTTPS

proxy -n -p8090

auth none

flush

socks -p9080

===============3proxy.cfg End ================================ ================================================================

這是根據(jù)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的全部過程,現(xiàn)在你應該可以在firefox里上國外網(wǎng)了 推薦使用foxproxy等firefox插件,這些使設置代理變得非常方便。

補充:NAT與proxy的區(qū)別 

網(wǎng)上介紹的大部分是用代理來共享的,這是因為代理簡單,適用范圍廣。但 是,如果能夠用NAT的話,最好還是用NAT。原因很簡單,要求使用代理的程 序必須得支持代理,而且代理一般只支持特定協(xié)議如常見的http代理。當然 現(xiàn)在有很多socks代理,實際上可以支持任何協(xié)議,但首先程序必須能夠支 持socks代理。這一點其實通常沒有滿足,這也是為什么像wincaps這樣的 程序非常的流行,它們可以使原來不支socks代理的程序使用socks代理, 但問題依然存在:對每一個你需要用代理的程序,你要單獨進行設置,另 外可能也有性能上的降低(這個不是很清楚)。另外,似乎linux下沒有特 別好用這類軟件(知道的,歡迎留言),tsocks的開發(fā)都停止很多年了。

而NAT雖然并非在所有場合都能用,但一旦使用,你獲得的就是從網(wǎng)絡底層 到高層統(tǒng)一一致的服務,從ping到http,無需再做設置就可直接使用所有網(wǎng) 絡資源,而且結合使用路由表,靈活性不比proxy差。而在性能上一般也較 好。對于在linux中,你可能有IM,需要聯(lián)網(wǎng)的桌面應用如桌面天氣,桌面 RSS等,新聞下載客戶端Miro,或是開源的聯(lián)網(wǎng)小游戲teeworlds等。這些中 許多沒有內(nèi)置代理支持,而其使用的協(xié)議也各式各樣。但在NAT下都能直接 使用。

3.3 linux下配置路由表

這部分應該說是最難的,而且因為大家上網(wǎng)的方式不一致,所以路由表的內(nèi) 容和配置也不同,可能配置上會有些差異(??)

3.3.1 導入從windows下獲得的netpas路由表(依前修改后)

這個路由表的特點是,所有表中的目標地址的訪問netpas都設為不通過 netpas加速,這其中包括所處教育網(wǎng),netpas的服務器地址等等netpas認為 不應或不需通過其加速的地址段。把這些都導入到linux下的路由表,其中 網(wǎng)關一項全部改為你直接在linux上網(wǎng)時用的默認網(wǎng)關,具體步驟如下:

打開一個終端,以root身份執(zhí)行命令(su, 然后輸入root的密碼)。命 令“route -n”, 會輸出目前系統(tǒng)的路由表,記住開頭為default的一項后的 IP地址,此即當前的默認網(wǎng)關。

用命令“route add -net <1> netmask <2> gw <3>” 或 “route add -host <4> gw <5>” 導入新的路由表項。 其中<1>為目標網(wǎng)段,<4>為目標地址,即netpas路由表中的第一列,結 尾為0的是目標網(wǎng)段,其它為目標地址。而<2>為網(wǎng)址掩碼,也就是 netpas路由表的第二列。<4>,<5>都是上一步得到的當前默認網(wǎng)關。 不要一個一個輸入這些命令執(zhí)行,先把這些命令寫入一個shell腳本,然 后再一起執(zhí)行。 腳本應該是類似這樣的:

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

#/bin/sh echo "NEED root authentication"

echo "The following is from Netpas in w32&hellip;"

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 -.-.-.-

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

即一條命令接著一條,網(wǎng)關gw,“-.-.-.-”要填上你的網(wǎng)關。 至少如何執(zhí)行,具體自己去搜吧,命令是“chmod u+x <腳本文件名>”,“./<腳本文件名>”。

3.3.2 進一步設置路由表

完成上面的導入,現(xiàn)在就是切換路由路線的時候了。正如前面所說,netpas 路由表的表項都是不通過netpas加速的,所以上面都設置為直接通過你現(xiàn)在 的網(wǎng)卡連接。而對于其它的地址,我們需要設置其通過netpas。三步:

執(zhí)行,“route add default gw 192.168.56.101",即增加一個默認網(wǎng) 關,這個網(wǎng)關就是虛擬機。這一步必須在虛擬機啟動后執(zhí)行才有效,否 則。

執(zhí)行,“add -net 10.0.0.0 netmask 255.0.0.0 dev eth0”,即讓所有 通過netpas加速的包都直接發(fā)送到外網(wǎng)端口。這里eth0應換成是你在 linux下用來上網(wǎng)的網(wǎng)卡名稱。這一步很重要,否則需要加速的包就出不 去了。這一步可以在任何時候執(zhí)行

執(zhí)行,“route del default gw -.-.-.-”。即從路由表中刪除你當前的 默網(wǎng)關。這樣,需要加速的包就必須從虛擬機這個網(wǎng)關通過。

好了,如果虛擬機里netpas和nat32都連上打開了,你現(xiàn)在應該可以上外網(wǎng) 了,無需在相應程序中設置:)

4 更好的代理

4.1 打破2小時的限制

前面說到nat32有連續(xù)2小時的限制,然后必須重啟nat32. 大家都不喜歡限 制,要么為什么要用Linux呢?:) 那么我們?nèi)フ移平獍桑∥胰フ疫^,網(wǎng)上的破解大多不能用了,就算能用(沒 找到,實際上,搜索結果挺多的)吧,也很老了,nat32這個軟件1.8版本在 2005年就推出了,現(xiàn)在還是1.8版但卻是在今年二三月份推出的,我對比了 下,差別很大,同是1.8界面功能都不太一樣。所以,沒有現(xiàn)成的破解。 那么我們?nèi)懸粋€破解吧!好吧,我承認,我太菜,這個任務我不能完成, 就留給聰明的讀者和強大的黑客吧。不過,俺覺得有這個時間,不如寫更好 的linux程序,這才是長久之道??炊嗔恕捌平猓a?。平猓a?。平?amp;hellip;&hellip;” 的惡性循環(huán)。 當然有第三種選擇,就是寫個腳本來自動重新啟動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 這一行,= 后面的參數(shù)可以 通過看“NAT32RUN”這個桌面快捷方式找到,復制粘貼就行,一般若安裝的 NAT32就是這個參數(shù)。 這里這個腳本,其實可以用來維持任意會中斷的程序的運行,原理很簡單,就 是啟動程序后,等待其終止,一旦中止就再啟動。一般,為了避免一些因為程 序剛關閉時的一些問題,最好等一會兒再啟動。對nat32而言,因為它用到了 驅動,所以感覺最好等久些,我設成了30秒。至于其中等待用ping來實現(xiàn),則是從網(wǎng)上復制來(人懶,沒花時間去研究)的高人前輩的“暗黑系魔法”。2003 server里有個sleep的程序,而xp pro里沒有。。。 以后,每次就不再運行NAT32RUN,而是直接用這個腳本。

4.2 更好的路由

其實,netpas路由表是很有限的?,F(xiàn)在教育網(wǎng)訪問公網(wǎng),對有的地址其實是 很快的,像baidu,youku之類的,應該是相應的網(wǎng)站針對教育網(wǎng)進行了優(yōu)化。 所以,這些也通過netpas加速的效果反而更差。所以,你可以找到這些地址,然 后用“route”來設置為直接訪問。 這里其實有個不好的地方,就是這里說的設置路由的方法總是要用到root權 限。當然,其實路由表是相對穩(wěn)定了。不知道有沒有更好的方法。

4.3 不再用了

不用NAT了,要回到正常聯(lián)網(wǎng),只需執(zhí)行下面兩個命令: “route del default gw 192.168.56.101". “route add default gw -.-.-.-”。 其實就是,上面設置路由表最后兩步的逆過程,其它都不用改。

4.4 Some geek stuff:

對于像我一樣,覺得命令行,文本更好,并且覺得應該盡量減少windows在 linux中的出現(xiàn)的。介紹兩個命令,VBoxManage, VBoxHeadless。 VBoxManage,是VirtualBox的命令行,像“ VBoxManage startvm xpnet &” 這個命令,可以用來從命令行啟動虛擬機,xpnet是虛擬機的名稱。這樣就 不用每次都打開VirtualBox的圖形窗口了:) 當然,你會覺得這還不夠,為什么要一個windows虛擬機的窗口始終在我的桌 面上呢,為什么我只是想用它來聯(lián)網(wǎng)而它始終要一個顯示窗口呢?好吧,讓 它消失吧~ VBoxHeadless,原本的目的是為了在遠程服務器上啟動虛擬機用的,因為是 在遠程服務器上,所以服務器上是不應有圖形窗口的(沒人在那看),所以 由它啟動的虛擬機是沒有窗口的。為了控制由此啟動的虛擬機,它支持一個 VRDP的協(xié)議,相當于VirtualBox的遠程桌面。當然,這里我們不用它這個功 能,因為開啟這個功能會在主機上啟動這項服務,可能會導致有人可以從網(wǎng) 上聯(lián)到你的虛擬機。 開啟winxp pro的遠程桌面,用“VBoxHeadless -startvm=xpnet -vrdp=off &”啟動虛擬機,用 “rdesktop -a 16 192.168.56.101 &”來連接,如果 需要手動調(diào)整配置什么的。 如果覺得每次輸入密碼麻煩,用下面這個命令 rdesktop -a 16 -p <passwd> 192.168.56.101 & -p 后面填上密碼明文,不用擔心,你的虛擬機在內(nèi)網(wǎng)里,外面聯(lián)不進來的。

關于Linux中如何使用netpas網(wǎng)絡加速器就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI