[resolved]如何在vps中架设socks5服务器? -必须把新添加的IP绑定到网卡上

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
头像
relaxssl
帖子: 1448
注册时间: 2007-01-30 7:13

[resolved]如何在vps中架设socks5服务器? -必须把新添加的IP绑定到网卡上

#1

帖子 relaxssl » 2009-11-23 1:45

如果这台vps有5个IP, 如何设置5个不同的socks5帐户并且每个帐户绑定一个IP。

测试环境:
美国的VPS, ubuntu 9.10 server, 捆有2个独立的IP。

测试所用socks5服务器软件:
http://ss5.sourceforge.net/ 需要的人自己去下载最新版

需求的编译环境:

代码: 全选

apt-get install gcc
    apt-get install make
    apt-get install build-essential
    apt-get install libpam0g-dev
    apt-get install libldap-2.2-7
    apt-get install ldap-utils
    apt-get install libldap2-dev
    apt-get install libldap2

    apt-get install g77-3.4 # install due to simply experiment
    apt-get install libxext-dev # install due to simply experiment
    apt-get install libxpm-dev # install due to simply experiment
架设过程, 这是非常标准的编译过程, ./configure, make, make install, 卸载都很干净: make uninstall, make clean, make distclean
一个好的编辑程序起码的结构应该要具备的, 不仅能安装, 还能完全彻底的卸载
下载解压

代码: 全选

wget http://internode.dl.sourceforge.net/sourceforge/ss5/ss5-3.6.4-3.tar.gz
    tar -zxvf ss5-3.6.4-3.tar.gz
    cd ss5-3.6.4
安装

代码: 全选

./configure
    make
    sudo make install
运行(0.0.0.0是服务器的IP, 1896是自己设定的端口, 为了防止被proxyhunter类似的软件扫描并被别人使用, 不要用默认的端口1080)

代码: 全选

sudo /usr/sbin/ss5 -u root -b 0.0.0.0:1896
查看一下监听端口

代码: 全选

netstat –tln
查看ss5的进程

代码: 全选

ps -ef | grep ss5

存在的问题:
1、我购买了2个独立的IP并绑定到我的VPS中, 只有那个主要的IP能ping得通, 另一个不能ping, 为什么?
因为没有把IP绑定在网卡上, 如何绑定呢?

代码: 全选

sudo vi /etc/network/interfaces
修改部分(红色是需要修改的部分, 其实就是复制一段, 然后再修改红色的部分, IP是新添加的IP):
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 63.220.4.82
netmask 255.255.255.248
network 63.220.4.80
broadcast 63.220.4.87
gateway 63.220.4.81
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 202.14.67.4
dns-search static.pccwglobal.net

auto eth0:0
iface eth0:0 inet static
address 63.220.4.83
netmask 255.255.255.248
network 63.220.4.80
broadcast 63.220.4.87
gateway 63.220.4.81
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 202.14.67.4
dns-search static.pccwglobal.net

修改之后, 无论新添加多少IP, 都可以使用新添加的IP登录服务器, 并且架设socks5也成功(这里面出现了新的问题, 2个IP不能同时架设成socks5, 虽然检测监听的端口有打开, 但是用socks5查询发现, 它会以最后一次运行启动socks5命令的端口和IP为准)
1.A: 如何同时让添加的IP都同时架设socks5呢?


2、运行socks5, 只有主要IP能架设成功, 另外购买的哪个却不能成功, 这是否和另外购买的那个IP不能ping得通有关?(在irc上问一下老外, 说是private subnets)
3、如何给socks5设置一个用户名和密码?
上次由 relaxssl 在 2009-11-24 3:39,总共编辑 10 次。
头像
relaxssl
帖子: 1448
注册时间: 2007-01-30 7:13

Re: 如何在vps中架设socks5服务器?

#2

帖子 relaxssl » 2009-11-23 2:22

qkbeyond 写了:lz 最近的问题还真是不少啊 :D
如何解决这个问题, 还请高抬贵手说明一下哈。
头像
relaxssl
帖子: 1448
注册时间: 2007-01-30 7:13

Re: 如何在vps中架设socks5服务器?

#3

帖子 relaxssl » 2009-11-23 2:25

socks5服务器软件:
http://socks-relay.sourceforge.net/ 这个项目的主页却提到了挪威的socks5代理服务器, dante, 可见dante还是比较出名的。
http://sourceforge.net/projects/ss5/ http://ss5.sourceforge.net/ (测试成功的, 而且现在的最新版本还支持ICAP, RADIUS用来控制流量等等高端参数倒是很不错。)
:arrow: http://wiki.kartbuilding.net/index.php/ ... cks_Server http://www.inet.no/dante/ (这个不错, 看看)
http://www.inet.no/dante/module.html 还能添加模块, 控制流量等。


http://www.socks.nec.com/ (NEC出品的商业软件, 非商业则免费使用。看来这个的功能是比较全面的, 重点考虑这个。) http://www.linux.org/apps/AppId_6665.html

Squid: Linux下很多人选择这个, 忽略不学。http://doc.linuxpk.com/1498.html
http://docstore.mik.ua/squid/FAQ-4.html (说明了squid对 socks的支持, 但这个支持只是网页形式的代理支持, 而不是全局软件层模式, 这个代理的架设不可以忽略。)
http://www.inet.no/dante/
上次由 relaxssl 在 2009-11-28 3:14,总共编辑 9 次。
头像
relaxssl
帖子: 1448
注册时间: 2007-01-30 7:13

Re: 如何在vps中架设socks5服务器?

#4

帖子 relaxssl » 2009-11-23 2:59

qkbeyond 写了:其实俺知道您才是高手 您不能解决的问题 您觉着俺能解决么 :D
我要是高手就不用这样费劲了, 那些高手一般是不出声的, 让像我这些人慢慢的google吧。
头像
relaxssl
帖子: 1448
注册时间: 2007-01-30 7:13

Re: [half resolved]如何在vps中架设socks5服务器?

#5

帖子 relaxssl » 2009-11-23 4:08

这里有另一篇文章

代码: 全选

<html xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=gb2312">
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 10">
<meta name=Originator content="Microsoft Word 10">
<link rel=File-List href="socks5.files/filelist.xml">
<link rel=Edit-Time-Data href="socks5.files/editdata.mso">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<title>SOCKS5 Server</title>
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:GrammarState>Clean</w:GrammarState>
<w:Compatibility>
<w:UseFELayout/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</w:WordDocument>
</xml><![endif]-->
<style>
<!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"\@宋体";
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
mso-pagination:widow-orphan;
font-size:10.5pt;
font-family:"Times New Roman";
mso-fareast-font-family:宋体;}
a:link, span.MsoHyperlink
{color:blue;
text-decoration:underline;
text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
{color:purple;
text-decoration:underline;
text-underline:single;}
span.GramE
{mso-style-name:"";
mso-gram-e:yes;}
@page Section1
{size:595.3pt 841.9pt;
margin:72.0pt 90.0pt 72.0pt 90.0pt;
mso-header-margin:42.55pt;
mso-footer-margin:49.6pt;
mso-paper-source:0;
layout-grid:15.6pt;}
div.Section1
{page:Section1;}
-->
</style>
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";}
</style>
<![endif]-->
</head>

<body lang=ZH-CN link=blue vlink=purple style='tab-interval:21.0pt;text-justify-trim:
punctuation'>

<div class=Section1 style='layout-grid:15.6pt'>

<p class=MsoNormal><span lang=EN-US style='font-size:22.0pt;font-family:宋体'>SOCKS5
Server</span><span lang=EN-US style='font-size:22.0pt'><o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-family:宋体'>本文档最后更新于:</span><!--[if supportFields]><span
lang=EN-US style='font-family:宋体'><span style='mso-element:field-begin'></span>
TIME \@ "yyyy'年'M'月'd'日'" <span style='mso-element:field-separator'></span></span><![endif]--><span
lang=EN-US style='font-family:宋体'><span style='mso-no-proof:yes'>2003年5月5日</span></span>& lt;!--[if supportFields]><span
lang=EN-US style='font-family:宋体'><span style='mso-element:field-end'></span></span><![endif]--><span
lang=EN-US style='font-family:宋体'> </span><!--[if supportFields]><span
lang=EN-US style='font-family:宋体'><span style='mso-element:field-begin'></span><span
style='mso-spacerun:yes'>&nbsp;</span>TIME \@ "h时m分" <span
style='mso-element:field-separator'></span></span><![endif]--><span lang=EN-US
style='font- family:宋体'><span style='mso-no-proof:yes'>3时40分</span></span><!--[if supportFields]><span
lang=EN-US style='font-family:宋体'><span style='mso-element:field-end'></span></span><![endif]--><span
lang=EN-US style='font-family:宋体'><o:p></o:p></span></p>

<div class=MsoNormal align=center style='text-align:center'><span lang=EN-US
style='font-family:宋体;mso-bidi-font-family:宋体'>

<hr size=1 width="100%" align=center>

</span></div>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-family:宋体'>除了前面介绍到的<span lang=EN-US>squid,其它常用的代理软件还有Socks5。Socks是个电路级网关,由David
Koblas在1990年开发。此后,就一直作为Internet RFC(Request for Comments)中的开放标准。Socks在协议<span
class=GramE>栈</span>的TCP层上运行。Socks代理只是简单地传递数据包,而不必关心是何种应用协议(比如FTP、HTTP和NNTP请求)。</span></span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>Socks5代理支持TCP和UDP协议,而且还支持各种身份验证机制、服务器端域名解析等,socks5通过配置可以支持socks4。我们平时使用的Internet
Explorer、QQ等软件都支持socks代理设置。</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>Red Hat Linux本身并不带socks5的rpm软件包,但可以从网上下载:</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'><a
href="http://ftp.falsehope.com/home/gomez/socks5/socks5-1.0r11-3.i386.rpm">http://ftp.falsehope.com/home/gomez/socks5/socks5-1.0r11-3.i386.rpm</a></span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span style='font-family:宋体'>我们主要通过<span lang=EN-US>socks5.conf文件来配置socks5服务器。缺省路径为:/etc/socks5.conf。在/usr/doc /socks5-1.0r11/examples目录下有socks5的配置示例(注意是/usr/doc/而不是/usr/share/doc /)。</span></span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
style='font-size:12.0pt;font-family:宋体'>§§ <span lang=EN-US>socks5.conf的配置选项</span></span></b><b
style='mso-bidi-font-weight:normal'><span lang=EN-US style='font-size:12.0pt'><o:p></o:p></span></b></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>socks5.conf通常由以下几个方面的内容构成:</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span style='font-family:宋体'>-<span lang=EN-US>ban host:定义拒绝服务的客户列表</span></span></p>

<p class=MsoNormal><span style='font-family:宋体'>-<span lang=EN-US>authentication:定义Socks5服务器使用的用户认证方法</span></span& gt;</p>

<p class=MsoNormal><span style='font-family:宋体'>-<span lang=EN-US>interface:定义Socks5<span
class=GramE>服务器绊定的</span>ip地址和服务端口</span></span></p>

<p class=MsoNormal><span style='font-family:宋体'>-<span lang=EN-US>variables and
flags:定义Socks5服务器运行的环境</span></span></p>

<p class=MsoNormal><span style='font-family:宋体'>-<span lang=EN-US>proxies:定义客户可以通过Socks5服务器访问的地址列表以及Socks5服务器访问这些地址的方法< /span></span></p>

<p class=MsoNormal><span style='font-family:宋体'>-<span lang=EN-US>access
control:定义Socks5服务器接受或拒绝客户连接的规则</span></span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span style='font-family:宋体'>下面我们分别来讲述这些条目对应的语法:</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span class=GramE><span lang=EN-US style='font-family:宋体'>ban</span></span><span
lang=EN-US style='font-family:宋体'> host</span></p>

<p class=MsoNormal><span style='font-family:宋体'>语法:<span class=GramE><span
lang=EN-US>ban</span></span><span lang=EN-US> source-host source-port</span></span></p>

<p class=MsoNormal><span style='font-family:宋体'>说明:<span lang=EN-US>Socks5服务器将拒绝接受来自source-host:source-port的客户连接。</span& gt;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span class=GramE><span lang=EN-US style='font-family:宋体'>authentication</span></span>< /p>

<p class=MsoNormal><span style='font-family:宋体'>语法:<span class=GramE><span
lang=EN-US>auth</span></span><span lang=EN-US> source-host source-port
auth-methods</span></span></p>

<p class=MsoNormal><span style='font-family:宋体'>说明:对于来自<span lang=EN-US>source-host:source-port的客户连接,Socks5服务器将使用</span>< /span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>auth-methods所定义的用户认证方法。对于没有定义认证方法的客户将使用任何可以使用的认证方法。</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span class=GramE><span lang=EN-US style='font-family:宋体'>interface</span></span></p>

<p class=MsoNormal><span style='font-family:宋体'>语法:<span class=GramE><span
lang=EN-US>interface</span></span><span lang=EN-US> hostpatern portpattern
interface-address</span></span></p>

<p class=MsoNormal><span style='font-family:宋体'>说明:来自<span lang=EN-US>source-host:source-port的客户连接由interface-address处理;目的地址为 source-host:source-port的客户连接由Socks5
代理服务器从 interface-address发出连接请求。</span></span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span class=GramE><span lang=EN-US style='font-family:宋体'>variables</span></span></p>

<p class=MsoNormal><span style='font-family:宋体'>语法:<span class=GramE><span
lang=EN-US>set</span></span><span lang=EN-US> variable value</span></span></p>

<p class=MsoNormal><span style='font-family:宋体'>说明:定义<span lang=EN-US>Socks5运行参数,Socks5有以下一些常用的运行参数:</span></span>& lt;/p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>SOCKS5_BINDINTFC
host<span class=GramE>:port</span> </span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>host:port 指定socks5运行的主机和端口号,用于代替缺省的端口。忽略时,socks5用0.0.0.0作为主机值。
</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>SOCKS5_CONFFILE
filename </span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>Filename 指定配置文件。在许多系统中,缺省是/etc/socks5.conf。在运行socks5之前,设置这个变量。如果有多个socks5
daemon运行,为每个daemon使用不同的配置文件。 </span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>SOCKS5_DEMAND_IDENT </span></p>

<p class=MsoNormal><span style='font-family:宋体'>当客户没有响应<span lang=EN-US>ident 请求时,认证失败。使用SOCKS5_DEMAND_IDENT确认每个连接有一个关联的用户名。
</span></span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>SOCKS_ENCRYPT </span></p>

<p class=MsoNormal><span style='font-family:宋体'>如果可能的话,请求下一个<span lang=EN-US>socks5进程加密数据。SOCKS5_ENCRYPT
仅仅在编译socks5时包括了GSS-API认证时,才有意义。 </span></span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>SOCKS5_FORCE_ENCRYPT
</span></p>

<p class=MsoNormal><span style='font-family:宋体'>当认证方式支持加密时,强迫客户加密数据。 </span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>SOCKS5_IDENTFILE
filename </span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>Filename指定存储ident信息的文件名。在许多系统中,缺省是/tmp /socks5.ident。当有多个socks5
daemon运行时,SOCKS5_IDENTFILE非常有用。 </span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>SOCKS5_MAXCHILD <span
class=GramE>val</span> </span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>val指定同时存在的最大<span
class=GramE>子进程数</span>。Socks5预设为64。可以降低预设置。不能超过64。Socks5运行在线程模式时,忽略此参数。<span
class=GramE>当运行</span>在oneshot或inetd模式时,此参数不发生作用。 </span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>SOCKS_NOIDENT </span></p>

<p class=MsoNormal><span style='font-family:宋体'>忽略<span lang=EN-US>ident请求。当客户机没有运行identd时,使用SOCKS5_NOIDENT将降低超时值。
</span></span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>SOCKS_NOINTCHK </span></p>

<p class=MsoNormal><span style='font-family:宋体'>请求下一个<span lang=EN-US>socks5进程执行没有完整检查的代理请求。只有在编译时加入GSS-API认证时,SOCKS5_NOINTCHK才发生作用。
</span></span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>SOCKS_NONETMASKCHECK
</span></p>

<p class=MsoNormal><span style='font-family:宋体'>指示<span lang=EN-US>daemon忽略检查主机的子网掩码。缺省时,daemon检查掩码,如果在同一子网时,在检查配置文件之前,直接连接。
</span></span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>SOCKS5_REVERSEMAP </span></p>

<p class=MsoNormal><span style='font-family:宋体'>总是试图影射地址到主机名。缺省时,<span
lang=EN-US>socks5只有当主机名或域名在配置文件中使用时才影射。设置后,log文件将纪录主机名,这将降低性能。 </span></span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>SOCKS5_SERVICENAME </span></p>

<p class=MsoNormal><span style='font-family:宋体'>总是影射端口号到服务名。缺省时,<span
lang=EN-US>socks5只有当服务名在配置文件中使用时才影射。设置后,log文件将纪录服务名,这将降低性能。 </span></span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>SOCKS5_PASSWD
[password] </span></p>

<p class=MsoNormal><span style='font-family:宋体'>当<span lang=EN-US>socks5 daemon连接到其它socks服务器时,如果采用Username/Password
认证,用它来指定密码。 </span></span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>SOCKS5_PIDFILE
filename </span></p>

<p class=MsoNormal><span style='font-family:宋体'>指定存储<span lang=EN-US>socks5进程ID的文件名。Socks5缺省存贮PID在/tmp/socks5.pid。你可以用— bindintfc参数或设置SOCKS5_BINDINTFC环境变量运行socks5在不同于缺省端口的其它端口。<span
class=GramE>当运行</span>在不同于缺省端口的其它端口时,socks5存贮PID在/tmp/socks5.pid-port。 </span></span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>SOCKS5_PWDFILE
filename </span></p>

<p class=MsoNormal><span style='font-family:宋体'>指定密码文件。在许多系统中,缺省是<span
lang=EN-US>/etc/socks5.passwd。 </span></span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>SOCKS5_TIMEOUT
minutes </span></p>

<p class=MsoNormal><span style='font-family:宋体'>指定连接停顿最长时间。超过最大值后,<span
lang=EN-US>socks5断开连接。忽略此值时,缺省是15。 </span></span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>SOCKS5_UDPPORTRANGE
port1-port2 </span></p>

<p class=MsoNormal><span style='font-family:宋体'>指定一个<span lang=EN-US>Socks5用来发送UDP包的UDP端口范围。
</span></span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>SOCKS5_USER [user
id] </span></p>

<p class=MsoNormal><span style='font-family:宋体'>当<span lang=EN-US>socks5 daemon连接到其它socks
server时,如果采用Username/Password认证,用此变量指定用户名。 </span></span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>SOCKS5_V4SUPPORT </span></p>

<p class=MsoNormal><span style='font-family:宋体'>缺省时,<span lang=EN-US>socks5只接受SOCKS5协议(rfc
1928)的请求。设此变量后,socks5将接受SOCKS V4 协议的请求。 </span></span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span class=GramE><span lang=EN-US style='font-family:宋体'>proxies</span></span></p>

<p class=MsoNormal><span style='font-family:宋体'>语法:<span class=GramE><span
lang=EN-US>proxy-type</span></span><span lang=EN-US> dest-host dest-port
proxy-list</span></span></p>

<p class=MsoNormal><span style='font-family:宋体'>说明:当客户请求的目的为<span lang=EN-US>dest-host:dest-port时,Socks5将使用proxy-list中的</span>& lt;/span></p>

<p class=MsoNormal><span style='font-family:宋体'>代理服务器请求数据。</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span class=GramE><span lang=EN-US style='font-family:宋体'>access</span></span><span
lang=EN-US style='font-family:宋体'> control</span></p>

<p class=MsoNormal><span style='font-family:宋体'>语法:<span class=GramE><span
lang=EN-US>permit</span></span><span lang=EN-US> auth cmd src-host dest-host
src-port dest-port [user-list]</span></span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span class=GramE>deny</span> auth cmd src-host dest-host src-port dest-port
[user-list]</span></p>

<p class=MsoNormal><span style='font-family:宋体'>说明:通过这两条语句所定义的规则来进行客户访问控制。</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span style='font-family:宋体'>我们再对以上语法作进一步的解释:</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>host的表示方法:</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>-:表示任意主机</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>n1.:表示n1.0.0.0/255.0.0.0</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>n1.n2.:表示n1.n2.0.0/255.255.0.0</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>n1.n2.n3.:表示n1.n2.n3.0/255.255.255.0</span& gt;</p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>.domain.name:表示主机名以.domain.name结尾的主机</span& gt;</p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>some.domain.name:表示主机名为some.domain.name的主机< /span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>port的表示方法</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>-:表示任意端口</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>service name:用/etc/service中定义的服务名来表示,如telnet</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>port number:直接指定数字端口,如80</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>[port_start,port_end]:指定一个端口范围,如[1024,6000]表示从端口1024到6000,(1024,6000)表示从端口1025到5999</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>auth的值</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>n:无用户认证</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>u:使用username/password用户认证方法</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>k:使用Kerberos用户认证方法</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>-:使用任何可用的用户认证方法</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>cmd的值</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>-:任何命令</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>c:<span class=GramE>connect</span></span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>b:<span class=GramE>bind</span></span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>u:UDP</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>p:<span class=GramE>ping</span></span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>t:<span class=GramE>traceroute</span></span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>user的值</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>-:任何用户</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>proxy的值</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>socks5: Socks 5</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>socks4: SOCKS 版本4</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>noproxy:不使用代理而直接连接</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>server的值</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>host: 指定服务器的hostname,使用缺省服务端口</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>host:port:指定服务器的hostname和该服务的监听端口</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span style='font-family:宋体'>下面是一些例子:</span></p>

<p class=MsoNormal><span class=GramE><span lang=EN-US style='font-family:宋体'>auth</span></span><span
lang=EN-US style='font-family:宋体'> - - u </span></p>

<p class=MsoNormal><span style='font-family:宋体'>说明:对所有的客户连接都使用<span lang=EN-US>username/password用户认证方法</span></span></p& gt;

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span class=GramE><span lang=EN-US style='font-family:宋体'>permit</span></span><span
lang=EN-US style='font-family:宋体'> u - 192.168.1. - - -</span></p>

<p class=MsoNormal><span style='font-family:宋体'>说明:允许来自<span lang=EN-US>192.168.1.的任何经过用户认证的连接</span></span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span style='font-family:宋体'>更多的例子请参考以下资源:<span lang=EN-US>http://www.socks.nec.com/reference/socks5.html</span></span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
style='font-size:12.0pt;font-family:宋体'>§§ <span lang=EN-US>Socks5一些常见问题的说明</span></span></b><b
style='mso-bidi-font-weight:normal'><span lang=EN-US style='font-size:12.0pt'><o:p></o:p></span></b></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>Windows客户端的配置</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span style='font-family:宋体'>有些<span lang=EN-US>Windows的应用程序,如IE、QQ等等本身就支持SOCKS代理服务器,但是更多的Windows应用程序是不提供对 SOCKS代理服务器的支持的,这时候我们就可以利用一些相应的工具来使得这些应用程序可以使用SOCKS代理服务器。其中最常用的工具 sockscap,可以从以下的网址下载:http://www.socks.nec.com/cgi-bin/download.pl< /span></span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span style='font-family:宋体'>用户认证问题</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>Socks5已经具有了用户认证功能。诸如IE等应用程序虽然提供了对SOCKS代理服务器的支持,但是并不能进行用户认证,这种情况下我们也只能用sockscap等工具来提供IE的用户认证接口。需要注意的是,SOCKS的认证过程并不会<span
class=GramE>象</span>squid一样弹出认证窗口。</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span style='font-family:宋体'>运行模式问题</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>Socks5具有以下几种运行模式:</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>standalone:这是Socks5缺省的运行模式</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>preforking:该模式适合服务器资源有限的情况,因为我们可以事先指定运行的<span
class=GramE>子进程数</span>。可以用-p选项指定SOCKS以preforking模式运行。</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>inetd:和telnet等服务一样通过inetd超级服务器运行SOCKS< /span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>threaded:在linux平台上,我们推荐使用该模式运行SOCKS,这样能获得最佳性能。</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span style='font-family:宋体'>超时问题</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span style='font-family:宋体'>默认的,在一个客户会话空闲超过<span
lang=EN-US>15分钟后,该会话将被断开,可以使用SOCKS5_TIMEOUT 变量改变该值。</span></span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span style='font-family:宋体'>绑定失败问题</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span style='font-family:宋体'>有时候会出现<span lang=EN-US>Bind
failed for xxx.xxx.xxx.xxx: ...的提示,通常这是因为SOCKS所绑定的端口已被其他程序所使用的缘故,可以通过更改该端口的值来解决这类问题。</span></span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span
style='font-size:12.0pt;font-family:宋体'>§§ 一个简单的<span lang=EN-US>socks5配置文件</span></span></b><b
style='mso-bidi-font-weight:normal'><span lang=EN-US style='font-size:12.0pt'><o:p></o:p></span></b></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span style='font-family:宋体'>下面给出一个<span lang=EN-US>socks代理的简单配置示例,该配置允许192.168.100.0/255.255.255.0这个网络的用户使用 socks代理,但禁止通过socks代理访问ftp服务:</span></span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'># <span class=GramE>variables</span>
and flags</span></p>

<p class=MsoNormal><span class=GramE><span lang=EN-US style='font-family:宋体'>set</span></span><span
lang=EN-US style='font-family:宋体'>&nbsp;&nbsp;&nbsp;&nbsp; SOCKS5_NOIDENT</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>#超时设置为15分钟</span></p>

<p class=MsoNormal><span class=GramE><span lang=EN-US style='font-family:宋体'>set</span></span><span
lang=EN-US style='font-family:宋体'>&nbsp;&nbsp;&nbsp;&nbsp; SOCKS5_TIMEOUT 15</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>#支持socks4</span></p>

<p class=MsoNormal><span class=GramE><span lang=EN-US style='font-family:宋体'>set</span></span><span
lang=EN-US style='font-family:宋体'>&nbsp;&nbsp;&nbsp;&nbsp; SOCKS5_V4SUPPORT </span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'># <span class=GramE>access</span>
control</span></p>

<p class=MsoNormal><span class=GramE><span lang=EN-US style='font-family:宋体'>deny</span></span><span
lang=EN-US style='font-family:宋体'> - - - - - 20</span></p>

<p class=MsoNormal><span class=GramE><span lang=EN-US style='font-family:宋体'>deny</span></span><span
lang=EN-US style='font-family:宋体'> - - - - - 21</span></p>

<p class=MsoNormal><span class=GramE><span lang=EN-US style='font-family:宋体'>permit</span></span><span
lang=EN-US style='font-family:宋体'> - - 192.168.100.0/255.255.255.0 - - -</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

<p class=MsoNormal><span lang=EN-US style='font-family:宋体'>&nbsp;</span></p>

</div>

</body>

</html>
头像
relaxssl
帖子: 1448
注册时间: 2007-01-30 7:13

Re: [half resolved]如何在vps中架设socks5服务器?

#6

帖子 relaxssl » 2009-11-23 6:16

you can use a ssh tunnel for a SOCKS5 proxy from/to linux

ssh -D <port number> <user>@<linux proxy server ip address>

then tell skype to use <port number> for proxy and you should be good... Note, from what I have read if you do have any chance to connect to the internet without a proxy skype will not use the proxy server.
http://forum.skype.com/index.php?showtopic=205541
aigt_meng
帖子: 21
注册时间: 2008-07-31 16:45

Re: [resolved]如何在vps中架设socks5服务器? -必须把新添加的IP绑定到网卡上

#7

帖子 aigt_meng » 2010-05-05 21:23

:em06

楼主我编译ss5的时候可以./configure,但是不能make啊,错误提示是
# make
make[1]: 正在进入目录 `/home/mj/ss5-3.7.9/common'
gcc -g -O2 -DLINUX -D_FILE_OFFSET_BITS=64 -I . -I ../include -c -o SS5OpenLdap.o SS5OpenLdap.c
In file included from /usr/include/string.h:640,
from ../include/SS5Main.h:36,
from SS5OpenLdap.c:19:
In function ‘strncat’,
inlined from ‘DirectoryQuery’ at SS5OpenLdap.c:152:
/usr/include/bits/string3.h:154: warning: call to __builtin___strncat_chk might overflow destination buffer
make[1]:正在离开目录 `/home/mj/ss5-3.7.9/common'
make[1]: 正在进入目录 `/home/mj/ss5-3.7.9/modules'
make[2]: 正在进入目录 `/home/mj/ss5-3.7.9/modules/mod_socks4'
gcc -g -O2 -DLINUX -D_FILE_OFFSET_BITS=64 -I . -I ../../include -shared -fPIC -c -o SS5Mod_socks4.o SS5Mod_socks4.c
gcc -g -O2 -DLINUX -D_FILE_OFFSET_BITS=64 -I . -I ../../include -shared -fPIC -o mod_socks4.so SS5Mod_socks4.o ../../common/SS5OpenLdap.o -lpthread
make[2]:正在离开目录 `/home/mj/ss5-3.7.9/modules/mod_socks4'
make[2]: 正在进入目录 `/home/mj/ss5-3.7.9/modules/mod_socks5'
gcc -g -O2 -DLINUX -D_FILE_OFFSET_BITS=64 -I . -I ../../include -shared -fPIC -c -o SS5Mod_socks5.o SS5Mod_socks5.c
gcc -g -O2 -DLINUX -D_FILE_OFFSET_BITS=64 -I . -I ../../include -shared -fPIC -o mod_socks5.so SS5Mod_socks5.o ../../common/SS5OpenLdap.o -lpthread
make[2]:正在离开目录 `/home/mj/ss5-3.7.9/modules/mod_socks5'
make[2]: 正在进入目录 `/home/mj/ss5-3.7.9/modules/mod_authen'
gcc -g -O2 -DLINUX -D_FILE_OFFSET_BITS=64 -I . -I ../../include -shared -fPIC -c -o SS5Mod_authentication.o SS5Mod_authentication.c
In file included from SS5Mod_authentication.c:29:
../../include/SS5Supa.h:22:26: error: openssl/x509.h: 没有那个文件或目录
../../include/SS5Supa.h:23:28: error: openssl/x509v3.h: 没有那个文件或目录
../../include/SS5Supa.h:24:25: error: openssl/ssl.h: 没有那个文件或目录
../../include/SS5Supa.h:25:25: error: openssl/evp.h: 没有那个文件或目录
../../include/SS5Supa.h:26:25: error: openssl/md5.h: 没有那个文件或目录
../../include/SS5Supa.h:27:25: error: openssl/dsa.h: 没有那个文件或目录
../../include/SS5Supa.h:28:28: error: openssl/engine.h: 没有那个文件或目录
../../include/SS5Supa.h:29:24: error: openssl/dh.h: 没有那个文件或目录
../../include/SS5Supa.h:30:24: error: openssl/bn.h: 没有那个文件或目录
../../include/SS5Supa.h:31:25: error: openssl/des.h: 没有那个文件或目录
make[2]: *** [SS5Mod_authentication.o] 错误 1
make[2]:正在离开目录 `/home/mj/ss5-3.7.9/modules/mod_authen'
make[1]: *** [all] 错误 1
make[1]:正在离开目录 `/home/mj/ss5-3.7.9/modules'
make: *** [modules] 错误 2
请问编译环境是缺了什么啊?

文章开头的那几个中间有些
apt-get install g77-3
.提示找不到该软件包,然后
libldap2,这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到
可是下列软件包取代了它:
slapd libldap-2.4-2
好难啊

我用得ubuntu10.04,嗯,可以求一个编译好的deb吗?是32位系统,谢谢各位和楼主了
白 朗 宁
帖子: 2
注册时间: 2014-12-22 8:42
系统: windows xp

Re: [resolved]如何在vps中架设socks5服务器? -必须把新添加的IP绑定到网卡上

#8

帖子 白 朗 宁 » 2014-12-22 8:53

relaxssl,
回复