摘要:結合HP-UX 操作系統小型計算機,討論了構建HP 小型機下的Socks代理服務器的安裝與配置,并探討了如何將一臺HP小型機構建成一臺高性能的Socks代理服務器的基本途徑。
關鍵詞:構建 HP小型計算機 Socks代理服務器
1 什么是Socks代理服務器
采用Socks協議的代理服務器就是Socks代理服務器,它是一種通用的代理服務器。Socks其實是一種網絡代理協議,是個電路級的底層網關,由David Koblas在1990年開發。此后,就一直作為Internet RFC中的開放標準。Socks在協議棧的TCP層上運行。Socks代理只是簡單地傳遞數據包,而不必關心是何種應用協議(比如FTP、HTTP、SMTP和POP等請求),所以,Socks代理比其他應用層代理要快得多。它通常綁定在代理服務器的1080端口上。因此Socks代理服務比HTTP代理服務的應用范圍要廣得多。
目前的Socks版本是Socks5,Socks5同Socks4的區別主要在于Socks5代理支持TCP和UDP協議,而且還支持各種身份驗證機制、服務器端域名解析等,Socks5通過配置可以支持Socks4。我們平時使用的Internet Explorer、QQ等軟件都支持Socks代理設置。
在實際應用中Socks代理可以用做為:電子郵件、新聞組軟件、網絡傳呼ICQ、網絡聊天MIRC和各種游戲應用軟件當中。
本文將介紹如何將一臺HP小型機架設成一臺Socks代理服務器。
2 設置Socks代理服務器的網絡環境和gcc編譯器的安裝
統計系統所配置的HP小型機一般都配有兩個網卡,要把HP小型機架設成一臺Socks代理服務器,要同時啟用這兩個網卡。如筆者所配置的HP小型機網絡環境為:一塊網卡使用的是統計系統的內部私有地址是:10.22.31.15/255.255.240.0,它連接內部網;另一塊網卡使用的是Internet網的合法地址是:210.72.44.15/255.255.255.0,并且缺省網關是210.72.44.1。
配置或修改網卡的IP地址,可通過sam工具。但最簡單的辦法是修改/etc/rc.config.d/netconf文件。
修改完后,用如下命令重啟網絡配置:
#/sbin/init.d/netstart
然后用ping命令檢查兩個網卡與自己的網段主機是否能連通,用netstat-r命令檢查網絡通信路由是否加上,即要保證本計算機既可以與內網的主機通信,同時也可以直接上因特網。
Socks v5軟件是基于GPL的自由軟件,故對下載源代碼后,要能在HPUX操作系統下運行,必須通過gcc編譯器進行重新編譯,下面介紹一下gcc編譯器的在HPUX下的安裝過程:
從網上下載gcc3.3.2forHPUX11版編譯器,下載地址為:http://hpux.connect.org.uk/ftp/hpux/Gnu/gcc-3.3.2/gcc-3.3.2-sd-11.00.depot.gz
以root用戶登錄,建立一個/usr/src目錄,將gcc-3.3.2-sd-11.
00.depot.gz文件拷貝到該目錄下。先用gzip將該文件包展開。命令如下:
#cd/usr/src
#gzip-dcgcc-3.3.2-sd-11.00.depot.gz
利用HPUX的軟件安裝工具swinstall來安裝gcc-3.3.2,命令如下:
#swinstall-s/usr/src/gcc-3.3.2-sd-11.00.depot
安裝完成后,用swlist命令檢查安裝的結果。
#swlistgcc
#Initializing...
#Contactingtarget“hbhp2000”...
#
#Target:hbhp2000:/
#
#gcc3.3.2gcc
gcc.gcc-INC
gcc.gcc-MAN
gcc.gcc-RUN
gcc.gcc-SHLIBS
表明gcc已安裝在本計算機上。
然后,用vi編輯/etc/PATH文件,在path路徑中加入gcc執行文件所在的目錄/usr/local/bin,存盤退出,再重新用root用戶登錄。
在root用戶提示符下鍵入gcc,若結果如下:
#gcc-v
Readingspecsfrom/usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.3.2/specs
Configuredwith:./configure:(reconfigured)./configure:
(reconfigured)./configure:(reconfigured)./configure:
(reconfigured)./configureThreadmodel:single
gccversion3.3.2
#
則表明gcc已成功安裝和可以正常運行。
3Socks v5的安裝
3.1 軟件的獲取 對于非商業使用Socks源代碼是免費的,你可以直接從Socks5的官司方站點http://archive.socks.permeo.com/
cgi-bin/download.pl下載:
Socks5 v1.0 realse 11(Unix Source)軟件包:Socks5-v1.0r11.tar.gz
補丁文件:Socks5-v1.0r11.patch1.txt
3.2 將下載來的Socks5-v1.0r11.tar.gz拷貝到/usr/src目錄下。
3.3 用gzip和tar解開壓縮包。
#gzipdc socks5v1.or11.tar.gz | tar xvf
3.4 打上補丁 將Socks5-v1.0r11.patch1.txt拷貝到/usr/socks5-
v1.0r11/include目錄下,并進入該目錄,用下列命令打上補丁。
#patch p0 3.5 進入Socks5-v1.0r11目錄開始編譯 #cd/usr/src/socks5-v1.0r11 #./configure - - withthreads #make #make install 執行configure時,后帶with-threads參數,表示Socks在執行是以多線程方式執行。 注意,在make的過程中會出現編譯錯誤,不用管它,繼續使用make install編譯安裝。完成后檢查/usr/local/bin目錄中有否有Socks5和stopsocks兩個執行文件。如果有,表明本系統可以執行Socks5代理服務進程。 4 Socks v5的配置 我們主要通過Socks5.conf文件來配置Socks v5服務器。該配置文件的路徑可以在編譯Socks v5時自行指定,缺省路徑為:/etc/socks5.conf。Socks v5服務器在每次啟動或收到HUP信號時讀入該配置文件的內容。該配置文件通常由以下幾個方面的內容構成: —ban host:定義拒絕服務的客戶列表 —authentication:定義SOCKS v5服務器使用的用戶認證方法 —interface:定義SOCKS v5服務器綁定的ip地址和服務端口 —variables and flags:定義SOCKS v5服務器運行的環境 —proxies:定義客戶可以通過SOCKS v5服務器訪問的地址列表以及Socks v5服務器訪問這些地址的方法 —access control:定義SOCKS v5服務器接受或拒絕客戶連接的規則 有關Socks5配置參考在因特網上有很多文章,讀者可自 行參閱。在筆者的網絡環境中,要求吉林統計信息內網(10.22.0.0/255.255.0.0)用戶都能使用Socks5代理服務器,故必須在/etc/socks5.conf中加入以下內容: #支持Socks4代理 Set SOCKSS_V4SUPPORT #連接時要經過用戶認證 Auth - - u #允許來自10.22.0.0/255.255.0.0的用戶名為user1的用戶認證的連接 Permit u10.22.0.0/255.255.0.0——user1 #允許來自10.22.0.0/255.255.0.0的用戶名為user2的用戶認證的連接 Permit u10.22.0.0/255.255.0.0——user2 要使用username/password用戶認證,其認證的用戶名和口令定義在/etc/socks5.passwd文件中,內容如下: User1 user1 User2 user2 表明定義了兩個用戶:user1、user2,其對應的口令也為user1和user2. 因編譯有錯誤,編譯完成后,沒有生成Socks5運行的兩個配置文件:/etc/socks5.conf和/etc/sockst5.passwd,故可vi編輯器創建這兩個文件,并將上述內容加到這兩個文件中,配置好后,就可以開始測試與運行Socks5。 5 測試與運行 鍵入以下命令 #/usr/local/bin/socks5fs 如果出現下面的信息表示測試成功: 07884:Socks5 starting at Wed Feb 11 12:14:31 2009 in normal mode 然后退出測試Socks5,可開始正式運行。 正式運行用/usr/local/bin/socks5命令;停止Socks5用/usr/local/binstopsocks命令??赏ㄟ^ Webmin工具,很容易地創建Socks5啟動腳本,這樣,下次系統啟動時就會自動啟動Socks5。