成人在线你懂的-成人在线免费小视频-成人在线免费网站-成人在线免费视频观看-日韩精品国产一区二区-日韩精品国产一区

掃一掃
關注微信公眾號

Solaris下實現socks5代理
2008-09-12   天極網絡安全 

剛開始找了一下,發現全是在linux下實現的,我按照readme步驟在rh9下作了一遍,用系統默認的gcc很容易的就搞定了。這里強調的gcc編譯器是一個比較關鍵環節。先用gcc3.3是沒有裝過去主要問題出在和ftp上面。沒辦法,找個gcc3.4準備看一下,結果解壓的時候出現校驗和錯誤,我是bin方式上傳的啊,搞不懂了,先不管這個了。后來仔細了解后發現gcc2。9系列的在rh9下沒有問題。好家伙,好歹要找個for-solaris-sparc的話,找到一個接近版本gcc-2.95.3-pkg.zip。好了羅嗦半天了,就是要這個東東。

當然在solaris8下的話,直接裝就可以了,因為sunfreware有for這個東東,但是gcc有什么要求嗎?一句話---不知道!!s9下還有哪個gcc版本可以呢,也不知道,知道的告訴我哦!

下載編譯器gcc-2.95.3-pkg.zip(www.sunfreeware.com),解壓后得到安裝包SFWgcc(這個編譯器是要SFW支持)的。安裝這個包:
#pkgadd –d SFWgcc
默認的安裝目錄是/opt/sfw,為正確使用這個編譯器而設置環境變量:
#PATH=/opt/sfw/bin:/usr/local/bin:/usr/ccs/bin:/usr/bin:/usr/ucb:/etc:.
#export

1. 下載socks5安裝包,一搜一大堆,現在可能有兩個大的區別一個是在win下一個是unix下的,后面我給出的這個包名字有的網站上說只在linux下能用,不要管他這一套,繼續就是了(其實for solaris8也就是這個了。另外據我所知socks5幾乎可以在任何系統下實現的,自己去實驗吧)。將socks5安裝包socks5-v1.0r11.tar.gz以bin方式上傳到RH9/solaris9服務器上。

2. 解壓縮軟件包
 #gunzip socks5-v1.0r11.tar.gz
 #tar xvf socks5-v1.0r11.tar

3. 開始編譯
 #cd socks5-v1.0r11
 #./configure --with-threads

說明:可以根據需要參考readme來作配置,也可在安裝后進行配置(推薦這樣就可以了,搞了幾個別的配置出錯了,怕怕啊)。
#make
#make install

4. 建立/etc/socks5.conf(許多文件都自己建吧,裝完后我是沒有看到自動生成的)

需要達到的目的:在局域網段(192.168.0)內提供代理服務,要求提供用戶名和密碼。要使用用戶驗證,首先要建立/etc/socks5.pwsswd文件,內容為:
# vi /etc/socks5.passwd
   userA passwdA (userA代表用戶名。passwdA代表用戶userA的密碼)

完成/etc/socks5.conf配置文件:
#vi /etc/socks5.conf
 auth - - u
 permit u - 192.168.0. - - -

注:若改變u和192.168.0.為-,則允許任何用戶(不需要用戶名和密碼)的任意ip使用代理服務;192.168.0.等同于192.168.0.0/255.255.255.0,這個字段同樣可以設定某一個ip來使用代理服務。

在解壓目錄socks5-v1.0r11下的examples目錄下提供了幾個常用的配置文件內容,可以參考使用。
#cd examples
#ls
sock5.conf.dualhomed sock5.conf.gssapi sock5.conf.multipleservers sock5.conf.server2server sock5.conf.singlehomed 。。。。    每一個配置文件的后綴說明了它所面向的服務內容,需要時可根據其內容作適當更改。
5. 運行代理服務:
 #socks
在第一次裝好socks5之后可以通過運行#/usr/local/bin/socks5 –f –s來測試代理服務能否正常運行,如果出現02716:Socks5 starting at Thu May 20 20:33:58 2004 in normal mode,則表示可以正常運行。
6. 停止socks5,只要運行stopsocks -KILL就行,socks5就會停止!
7. 高級配置
7.1 使用非默認端口:如果想讓socks5服務啟動的時候不啟動默認監聽端口1080,比如為8888,可以運行如下命令
# socks5 -b 8888
相應的關服務命令為:
# stopsocks -p 888 -KILL
7.2 為了密碼文件的安全,使用自建的密碼文件,比如/etc/myc.passwd。這時,只要修改/etc/socks5.conf文件,在其中新加一條項數:
set SOCKS5_PWDFILE /etc/myc.passwd
7.3 指定SOCKS v5綁定的ip地址和監聽的端口。如果不指定綁定的IP將使用0.0.0.0
set SOCKS5_BINDINFC 192.168.0.8:1080
7.4 忽略ident請求。當客戶機沒有運行identd時,使用SOCKS5_NOIDENT將降低超時值
set SOCKS5_NOIDENT
7.5 指定連接停頓最長時間。超過最大值后,socks5斷開連接
set SOCKS5_TIMEOUT 15
7.6 socks5將接受SOCKS V4 協議的請求,默認不接受
set SOCKS5_V4SUPPORT
7.7 指定同時存在的最大子進程數,Socks5預設為64
set SOCKS5_MAXCHILD 4
8. 添加自動啟動服務和日志記錄
# /usr/local/bin/socks5 -t -s 2> /var/log/socks5
#echo "/usr/local/bin/socks5 -t -s 2> /var/log/socks5" >> /etc/rc2.d/rc.local
如果是linux則改rc2.d為rc.d
附錄,socks5 server配置文件(只要定制好自己的配置方式后,將條目寫到/etc/socks5.conf中即可。有人用cp example目錄下的文件方法來生成配置文件,個人不提倡這樣,反正我也出現過錯,自己按格式來保證不出錯)。
socks5.conf通常由以下幾個方面的內容構成:
-ban host:定義拒絕服務的客戶列表
-authentication:定義Socks5服務器使用的用戶認證方法
-interface:定義Socks5服務器綁定的ip地址和服務端口
-variables and flags:定義Socks5服務器運行的環境
-proxies:定義客戶可以通過Socks5服務器訪問的地址列表以及Socks5服務器訪問這些地址的方法
-access control:定義Socks5服務器接受或拒絕客戶連接的規則
下面我們分別來講述這些條目對應的語法:
ban host
語法:ban source-host source-port
說明:Socks5服務器將拒絕接受來自source-host:source-port的客戶連接。
authentication
語法:auth source-host source-port auth-methods
說明:對于來自source-host:source-port的客戶連接,Socks5服務器將使用

auth-methods所定義的用戶認證方法。對于沒有定義認證方法的客戶將使用任何可以使用的認證方法。
interface
語法:interface hostpatern portpattern interface-address
說明:來自source-host:source-port的客戶連接由interface-address處理;目的地址為source-host:source-port的客戶連接由Socks5 代理服務器從 interface-address發出連接請求。
variables
語法:set variable value
說明:定義Socks5運行參數,Socks5有以下一些常用的運行參數:
SOCKS5_BINDINTFC host:port
host:port 指定socks5運行的主機和端口號,用于代替缺省的端口。忽略時,socks5用0.0.0.0作為主機值。
SOCKS5_CONFFILE filename
Filename 指定配置文件。在許多系統中,缺省是/etc/socks5.conf。在運行socks5之前,設置這個變量。如果有多個socks5 daemon運行,為每個daemon使用不同的配置文件。
SOCKS5_DEMAND_IDENT 
當客戶沒有響應ident 請求時,認證失敗。使用SOCKS5_DEMAND_IDENT確認每個連接有一個關聯的用戶名。
SOCKS_ENCRYPT 
如果可能的話,請求下一個socks5進程加密數據。SOCKS5_ENCRYPT 僅僅在編譯socks5時包括了GSS-API認證時,才有意義。
SOCKS5_FORCE_ENCRYPT 
當認證方式支持加密時,強迫客戶加密數據。
SOCKS5_IDENTFILE filename 
Filename指定存儲ident信息的文件名。在許多系統中,缺省是/tmp/socks5.ident。當有多個socks5 daemon運行時,SOCKS5_IDENTFILE非常有用。
SOCKS5_MAXCHILD val 
val指定同時存在的最大子進程數。Socks5預設為64。可以降低預設置。不能超過64。Socks5運行在線程模式時,忽略此參數。當運行在oneshot或inetd模式時,此參數不發生作用。
SOCKS_NOIDENT 
忽略ident請求。當客戶機沒有運行identd時,使用SOCKS5_NOIDENT將降低超時值。
SOCKS_NOINTCHK 
請求下一個socks5進程執行沒有完整檢查的代理請求。只有在編譯時加入GSS-API認證時,SOCKS5_NOINTCHK才發生作用。
SOCKS_NONETMASKCHECK 
指示daemon忽略檢查主機的子網掩碼。缺省時,daemon檢查掩碼,如果在同一子網時,在檢查配置文件之前,直接連接。
SOCKS5_REVERSEMAP 
總是試圖影射地址到主機名。缺省時,socks5只有當主機名或域名在配置文件中使用時才影射。設置后,log文件將紀錄主機名,這將降低性能。
SOCKS5_SERVICENAME
總是影射端口號到服務名。缺省時,socks5只有當服務名在配置文件中使用時才影射。設置后,log文件將紀錄服務名,這將降低性能。
SOCKS5_PASSWD [password] 
當socks5 daemon連接到其它socks服務器時,如果采用Username/Password 認證,用它來指定密碼。
SOCKS5_PIDFILE filename 
指定存儲socks5進程ID的文件名。Socks5缺省存貯PID在/tmp/socks5.pid。你可以用—bindintfc參數或設置SOCKS5_BINDINTFC環境變量運行socks5在不同于缺省端口的其它端口。當運行在不同于缺省端口的其它端口時,socks5存貯PID在/tmp/socks5.pid-port。
SOCKS5_PWDFILE filename 
指定密碼文件。在許多系統中,缺省是/etc/socks5.passwd。
SOCKS5_TIMEOUT minutes
指定連接停頓最長時間。超過最大值后,socks5斷開連接。忽略此值時,缺省是15。
SOCKS5_UDPPORTRANGE port1-port2 
指定一個Socks5用來發送UDP包的UDP端口范圍。
SOCKS5_USER [user id]
當socks5 daemon連接到其它socks server時,如果采用Username/Password認證,用此變量指定用戶名。
SOCKS5_V4SUPPORT
缺省時,socks5只接受SOCKS5協議(rfc 1928)的請求。設此變量后,socks5將接受SOCKS V4 協議的請求。
proxies
語法:proxy-type dest-host dest-port proxy-list
說明:當客戶請求的目的為dest-host:dest-port時,Socks5將使用proxy-list中的代理服務器請求數據。
access control
語法:permit auth cmd src-host dest-host src-port dest-port [user-list]
deny auth cmd src-host dest-host src-port dest-port [user-list]
說明:通過這兩條語句所定義的規則來進行客戶訪問控制。
我們再對以上語法作進一步的解釋:
host的表示方法:
-:表示任意主機
n1.:表示n1.0.0.0/255.0.0.0
n1.n2.:表示n1.n2.0.0/255.255.0.0
n1.n2.n3.:表示n1.n2.n3.0/255.255.255.0
.domain.name:表示主機名以.domain.name結尾的主機
some.domain.name:表示主機名為some.domain.name的主機
port的表示方法
-:表示任意端口
service name:用/etc/service中定義的服務名來表示,如telnet
port number:直接指定數字端口,如80
[port_start,port_end]:指定一個端口范圍,如[1024,6000]表示從端口1024到6000,(1024,6000)表示從端口1025到5999
auth的值
n:無用戶認證
u:使用username/password用戶認證方法
k:使用Kerberos用戶認證方法
-:使用任何可用的用戶認證方法
cmd的值
-:任何命令
c:connect
b:bind
u:UDP
p:ping
t:traceroute
user的值
-:任何用戶
proxy的值
socks5: Socks 5
socks4: SOCKS 版本4
noproxy:不使用代理而直接連接
server的值
host: 指定服務器的hostname,使用缺省服務端口
host:port:指定服務器的hostname和該服務的監聽端口

熱詞搜索:

上一篇:Sun收購Aduva加強Solaris補丁管理
下一篇:Solaris 10安裝命令sys-uncofig用法介紹

分享到: 收藏
主站蜘蛛池模板: 普通日记200字可抄| 抖音网页版登录入口| 体温36.5度正常吗| 2014春节联欢晚会| 91天堂素人97年清纯嫩模| 白瑞个人简历| 我的电影在线观看| 速度与激情 电影| 远景山谷1981免费版| 出彩中国人第三季 综艺| 好医生5| 巨神战击队| 花样美男| 和平精英捏脸码| 意大利a级情欲片女人城| 中央三套节目表| 陈奂生上城| 长靴靴虐视频vk| 二年级数学下册期末测试卷| 纽约巨人| 极寒之城在线观看高清完整 | 尤勇智的个人资料简介| 谍变1939全部演员表| 挠脚心 | vk| 好看的国产动漫| charlie sheen| 大学英语精读3第三版全书答案| 花样美男| 我爱我爹全集高清版免费观看| 温州新闻| 极寒风暴电影| 和平精英捏脸码| 朱璇| 天下第一楼演员表全部| 国测四年级语文试题| 电视剧玫瑰的故事主演演员表| 张国立主演电视剧全剧大全免费观看| 美女交配网站| 欲海浮沉| 天天操免费视频| 艳女十八式无删除版|