solaris9下实现socks5代理( 三 )



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和该服务的监听端口

推荐阅读