| 您的位置:首页 > 文档 > 系统管理 > |
文章分类热门文章 |
socks5 daemon 的配置文件创建:2005-10-28 00:00:00 作者:Unlinux 来自: http://www.Unlinux.com Socks5.conf – socks5 daemon 的配置文件 SYNOPSIS Socks5 daemon通常从/etc/socks5.conf读配置文件。但如果你编译socks5时用了 –with-srvconffile=filename参数,你可以改变文件目录。如果系统是FreeBSD,配置文件缺省是/usr/local/etc/socks5.conf。 DESCRIPTION Socks5 daemon 启动时或收到一个HUP信号时,都读此配置文件。配置文件保存以下信息: - 连接地址的接口。 - 什么情况下服务器直接连接到一个地址。 - 什么情况下服务器使用另一个代理服务器。 - 请求一个代理连接的必要要求。 配置文件分成六部分: - ban host - authentication - interfaces - variables and flags - proxies - access control 在每部分中,socks5 daemon 顺序的读每一行,直到遇到了匹配行。各部分的顺序和各部分中行的顺序是非常重要的。一行中的每个条目都必须匹配。 BAN HOST ENTRIES Ban host entries 使用如下语法识别socks5 daemon 不允许连接的主机: ban source-host source-port ban 不允许授权。 source-host 必须是一个有效的hostpattern。 source-port 必须是一个有效的portpattern。 socks5 daemon 拒绝从source-host 的source-port发起的连接。 AUTHENTICATION ENTRIES Authentication entries 确定socks5 daemon的身份验证方式。使用如下语法: auth source-host source-port auth-methods auth 指出此条目是一条身份验证条目。 source-host 必须是一个有效的hostpattern。 source-port 必须是一个有效的portpattern。 auth-methods 必须是一种有效的authpattern。 socks5 daemon 使用auth-methods 验证source-host 的 source-port 的连接请求。 配置文件没有auth项时,任何身份认证都可以工作。忽略auth项等效于指定认 证方式为auth – (任意认证方式)。如果使用auth项,不匹配的客户将被拒绝。 Socks5 daemon 不要求身份认证时,它收不到用户信息,除非socks5配置为要求ident 响应。使用SOCKS5_DEMAND_IDENT环境变量要求ident响应。请参考socks5(1)得到完全的socks5环境变量的列表。 如果socks5 daemon 要使用Username/Password身份认证,并且有socks4客户要使用此服务器,设置授权顺序为n,u。对于socks5的客户端,socks5 daemon 先使用 Username/Password 身份认证。 Socks5 daemon 以逆序检查auth-methods子段。从最后一个auth-method开始。 INTERFACE ENTRIES 如果一台机器有多个接口,多个IP地址,多数情况下,管理员使socks5使用特定的接口和特定的地址。通过指定内部主机使用向内的接口,外部主机使用向外的接口,可以防止外部主机冒充内部主机。同时要求socks5决定当接受一个bind或发送一个sendto时,使用哪一个接口去bind。当socks5在配置文件中没有发现匹配项时,它使用INADDR_ANY 去bind,这意味着在任意接口接受连接。Single-homed(单宿)主机不要求interface项。只有多接口主机才要求有interface项。interface 项使用如下格式: interface hostpattern portpattern interface-address I interface 标志一个interface项 hostpattern 指定可以连接的源或目标主机 portpattern 指定可以连接的源或目标端口 interface-address 标志IP地址或接口名,例如:eth0 interface项代替以前版本的route项。当前版本两者等价。在将来的版本,route项将不被支持。 VARIABLE ENTRIES variables 和 flags 控制系统纪录文件的数量和类型。语法如下: set variable value set 指定内部使用的初始环境变量。请参考socks5(1) ENVIRONMENT部分。 PROXY ENTRIES Proxy 项指定daemon通过socks server 连接到特定主机。配置文件没有此项的话,daemon将直接连接到特定主机。语法如下: proxy-type dest-host dest-port proxy-list proxy-type 指定proxy server类型。有效值如下: socks5 SOCKSv5 socks4 SOCKS version 4 noproxy 直接连接 dest-host 必须是有效的hostpattern dest-port 必须是有效的portpattern proxy-list 必须是有效的proxypattern daemon使用proxy-list中的server连接到dest-host的dest-port。Proxy-list中的server必须符合proxy-type.。 ACCESS CONTROL ENTRIES access control 部分决定daemon允许或拒绝连接请求。如果是access control项不匹配的连接请求,即使是已授权主机也不能建立连接。语法如下: permit auth cmd src-host dest-host src-port dest-port [usr-list] deny auth cmd src-host dest-host src-port dest-port [user-list] auth 必须是有效的authpattern并且指定授权方式列表。 cmd 必须是有效的authpattern,指定src-host上的客户可以在dest-host上执行的命令。 src-port 必须是有效的portpattern dest-port 必须是有效的portpattern user-list 必须是有效的userpattern PATTERNS hostpattern socks5使用ip地址和掩码的方式,格式如下: hostip/mask 标准ip加掩码方式 - 匹配所有主机 n1. 等价于n1.0.0.0/255.0.0.0 ni.n2. 等价于ni.n2.0.0/255.255.0.0 n1.n2.n3. 等价于ni.n2.n3.0/255.255.255.0 .domain.name 主机名必须以.domain.name结尾 a.host.name 主机名必须为a.host.name 如果使用域名,SOCKS5_REVERSEMAP必须被设置。因为hostnames和domains依赖于DNS,所以推荐使用ip地址加掩码的方式。有很多种情况会导致逆向DNS查询工作不正常。 socks5.conf也支持老的hostpattern语法,我们推荐使用新的语法,新的语法可读性强。 portpattern 用服务名,数字或范围指定端口。中括号包括边界,圆括号不包括边界。指定范围用两个数字或服务名,中间用逗号隔开,没有空格。语法如下: tftp tftp的服务端口,通常是69 80 端口80 - 所有端口 [100,1000] 端口100到1000 (100,1000) 端口101到999 (100,1000) 端口101到1000 authpattern 指定认证类型,socks5 daemon用逆序检查授权方式。语法如下: n 没有认证 u Username/Password k Kerberos 5(GSS-API) - 任何认证方式 后面的认证方式优先级比前面的高,如果你输入: n,u,k server 先请求Kerberos认证,如果socks5 client没有安装使用Kerberos,server使用Username/Password 认证。因为SOCKS4 client 不能使用Kerberos 或Username/Password 认证方式。Serverz对SOCKS4 client不要求认证。 如果输入:n,k,u server先请求Username/Password认证。 commandpattern 指定命令,可用逗号分开,中间没有空格。Socks5.conf识别如下命令: c connect b bind u UDP p ping t traceroute - 所有命令 userpattern 可用逗号隔开指定多个用户,用户类型必须匹配认证方式。例如,如果你使用Username/Password认证,socks5 daemon认为你是socks5用户,如果你使用Kerberos 认证,socks5 daemon 认为你是Kerberos 用户。一个短横线,“-”,匹配所有用户。 proxypattern 顺序指定服务器,用逗号分开。只有当前面的server无效时,客户才使用后面的server。 EXAMPLES 请参考examples目录获得更多的信息。 auth - - k permit k – 111.111.111. - - - 只有Kerberos认证的C网111.111.111.0用户能使用这个server。 socks5 - - s5srv1,s5srv2 permit - - .mydomain.com - - - 所有的socks5连接请求都通过s5srv1。如果s5srv1不可用,所有的socks5连接请求通过s5srv2。只有.mydomain.com的客户可使用此服务器。 auth otherserver – k noproxy .internal.net.com – socks5 - - otherserver permit - - .internal.net.com - - - permit k – otherserver - - - .internal.net.com的客户可使用server,不要求Kerberos认证。Socks5 server可以直接连接到 .internal.net.com。并且为其它主机通过otherserver代理。otherserver也是socks5 server,要使用此代理,必须使用Kerberos认证。 POOR CONFIGURATIONS 如同其它软件的情况一样,处于安全的理由,适当的配置是必须的。如下行: permit - - - - - - 是不应该使用的。如果使用这样的设置,怀有恶意的用户可以使用这个socks5 server作为他们的跳板去攻击别的系统。 SEE ALSO Socks5(1),libsocks5.conf(5),sockd4_to_5.pl(1) AUTHORS NWSL SOCKS5 Development Team Send comments to socks5-comments@socks.nec.com 转载自:http://www.unlinux.com/doc/system/20051105/6799.html 【评论】 【加入收藏夹】 【大 中 小】 【打印】 【关闭】 ※ 相关链接
|