socks5.conf.5
上传用户:sddyfurun
上传日期:2007-01-04
资源大小:525k
文件大小:14k
源码类别:

代理服务器

开发平台:

Unix_Linux

  1. .TH socks5.conf 5 "02 May 1997"
  2. .SH NAME
  3. socks5.conf - Configuration file for the socks5 daemon
  4. .SH SYNOPSIS
  5. The socks5 daemon usually reads the configuration file in /etc/socks5.conf. When you configure and build socks5 with the
  6. .PP
  7. .RS 5
  8. --with-srvconffile=fIfilenamefP
  9. .RE
  10. .PP
  11. option, you can change the directory. Under FreeBSD's UNIX port, the configuration file resides in /usr/local/etc/socks5.conf.
  12. .SH DESCRIPTION
  13. The socks5 daemon reads the configuration file when it starts and each time it receives an HUP signal. The configuration file contains the information the server needs to determine:
  14. .RS 5
  15. - the interface to use to reach an address
  16. .br 
  17. - when the server should connect directly to an address
  18. .br
  19. - when the server should use another proxy server
  20. .br
  21. - the necessary requirements to make a proxy connection
  22. .RE
  23. .PP
  24. The configuration file contains six sections:
  25. .RS 5
  26. - ban host 
  27. .br
  28. - authentication
  29. .br 
  30. - interfaces
  31. .br
  32. - variables and flags
  33. .br
  34. - proxies
  35. .br
  36. - access control
  37. .RE
  38. .PP
  39. In each section, the socks5 daemon sequentially reads each line until it encounters a matching line for that section. The order of sections and the order of lines within a section are crucial to achieving the desired result. Every entry in a line must match.
  40. .SH BAN HOST ENTRIES
  41. Ban host entries identify hosts from which the socks5 daemon should not accept connections and use the syntax:
  42. .PP
  43. .RS 5
  44. ban fIsource-host source-portfP
  45. .RE
  46. .TP 15
  47. .B ban
  48. Indicates not to attempt authentication
  49. .TP
  50. .B fIsource-hostfP
  51. Must be a valid fIhostpatternfP
  52. .TP
  53. fIsource-portfP
  54. Must be a valid fIportpatternfP
  55. .PP
  56. The socks5 daemon refuses connections originating from clients on fIsource-portfP at fIsource-hostfP.
  57. .SH AUTHENTICATION ENTRIES
  58. Authentication entries identify the types of authentication the socks5 daemon can use. Authentication lines use the syntax:
  59. .PP
  60. .RS 5
  61. auth fIsource-host source-port auth-methodsfP
  62. .RE
  63. .TP 15
  64. .B auth
  65. Identifies the entry as an authentication entry
  66. .TP
  67. .B fIsource-hostfP
  68. Must be a valid fIhostpatternfP
  69. .TP
  70. fIsource-portfP
  71. Must be a valid fIportpatternfP
  72. .TP 
  73. .B fIauth-methodsfP
  74. Must be a valid fIauthpatternfP
  75. .PP
  76. The socks5 daemon authenicates clients that originate on fIsource-portfP at fIsource-hostfP using fIauth-methodsfP.
  77. .PP
  78. When the configuration file does not contain fB authfP lines, any authentication works. Omitting auth lines is the same as specifying an fIauthpatternfP containing -, any authentication.  If fBauthfP lines are used, clients not matching will be refused.
  79. .PP
  80. When the socks5 daemon does not require authentication, it receives no user information unless socks5 configuration requires ident responses. Use the SOCKS5_DEMAND_IDENT environment variable to require ident responses. See socks5(1) for a complete description of socks5 environment variables.
  81. To ensure that the socks5 daemon receives usernames from the client, and to allow socks4 clients to use the server, set the fIauthpatternfP order to n,u. With socks5 clients, the socks daemon chooses Username/Password authentication before no authentication.
  82. .PP
  83. The socks5 daemon checks fIauth-methodsfP in reverse order, beginning with the last fIauth-methodfP in fIauthpatternfP. 
  84. .PP
  85. .SH INTERFACE ENTRIES
  86. On machines with multiple interfaces, and therefore multiple IP addresses, frequently administrators want to ensure that socks5 uses certain interfaces with certain addresses. This prevents outside machines from impersonating inside machines by requiring inside machines to use the inside interface and outside machines to use the outside interface. It also allows socks5 to determine on which interface to bind when accepting a bind request, or when issuing a sendto request. 
  87. .PP
  88. When socks5 fails to find a match in the configuration file, it uses INADDR_ANY to bind, and receives a connection on any interface. 
  89. .PP
  90. Single-homed hosts do not require interface entries. Only machines with more than one interface should use interface entries.
  91. .PP 
  92. Use this format for interface entries in the socks5.conf file:
  93. .RS 5
  94. .TP
  95.  interface fIhostpattern portpattern interface-addressfP
  96. .RE
  97. .TP 18
  98. .B interface
  99. Identifies interface entries
  100. .TP
  101. fIhostpatternfP
  102. Contains a source or destination host for a connection
  103. .TP
  104. fIportpatternfP
  105. Contains a source or destination port for a connection
  106. patternfP
  107. .TP
  108. .B fIinterface-addressfP
  109. Identifies the IP address of an interface card or the name of the interface, for example le0.
  110. .PP
  111. When fIhostpatternfP or fIportpatternfP specify a source address, the patterns define the fIinterface-addressfP clients must use to connect to the socks5 server when connecting from the host defined in fIhostpatternfP or the port defined in fIportpatternfP. Connection attempts from interface addresses other than fIinterface-addressfP fail.
  112. When fIhostpatternfP or fIportpatternfP specify a destination address, the patterns define the interface address the socks5 daemon uses to connect to the host defined in fIhostpatternfP or the port defined in fIportpatternfP.
  113. The fIinterfacefP entry replaces the fIroutefP entry of previous releases.  For the current release, the entries are equivalent.  In future releases, support for fIroutefP entries may be removed. 
  114. .pp
  115. .PP
  116. .SH VARIABLE ENTRIES
  117. Variables and flags in the configuration file control the amount and types of logging and information messages. The configuration file syntax for initializing variables is:
  118. .RS 5
  119. .TP
  120. set fIvariablefP fIvaluefP
  121. .RE
  122. .PP
  123. .TP 10
  124. set
  125. Identifies entries that initialize environment variables for internal use.
  126. .P
  127. Refer to the socks5(1) ENVIRONMENT section for complete details about socks5 environment variables and values.
  128. .PP
  129. .SH PROXY ENTRIES
  130. Proxy entries describe the addresses clients can only reach through other SOCKS servers and identify how the daemon contacts the host. The daemon contacts the host directly when the configuration file does not contain an entry for that host.
  131. .RS 5
  132. .PP
  133. .I proxy-type dest-host dest-port proxy-list
  134. .RE
  135. .PP
  136. .TP 15
  137. fIproxy-typefP
  138. Specifies the type of proxy server. Valid entries include: 
  139. .RS 20
  140. .TP 10
  141. socks5
  142. SOCKSv5
  143. .TP
  144. socks4
  145. SOCKS version 4
  146. .TP
  147. noproxy
  148. Make direct connection
  149. .RE
  150. .TP 15
  151. .B fIdest-hostfP
  152. Must be a valid fIhostpatternfP
  153. .TP
  154. .B fIdest-portfP
  155. Must be a valid fIportpatternfP
  156. .TP
  157. .B fIproxy-listfP
  158. Must be a valid fIproxypatternfP and identifies the proxy server(s) to use. 
  159. .PP
  160. The daemon uses the servers in fIproxy-listfP to connect to fIdest-portfP on fIdest-hostfP. The servers is fIproxy-listfP must be the same type servers as fIproxy-typefP.
  161. .PP
  162. .SH ACCESS CONTROL ENTRIES
  163. The access control section determines when the server permits or denies a request to establish a connection. The socks5 daemon denies a request if an access control line does not match the request, even after it has authenticated the host. 
  164. .PP
  165. There are two types of lines, permit lines and deny lines, with this syntax:
  166. .PP
  167. .RS 5
  168. permit fIauth cmd src-host dest-hostfP \
  169. .RE
  170. .RS 8
  171. fIsrc-port dest-port [user-list]fP
  172. .RE
  173. .PP
  174. .RS 5
  175. deny fIauth cmd src-host dest-hostfP \
  176. .RE
  177. .RS 8
  178. fI src-port dest-port [user-list]fP
  179. .RE
  180. .PP
  181. .TP 12
  182. .B fIauthfP
  183. Must be a valid fIauthpatternfP and specifies a list of authentication methods.
  184. .TP
  185. .B fIcmdfP
  186. Must be a valid fIcommandpatternfP and specifies the commands clients on fIsrc-hostfP can execute on fIdest-hostfP.
  187. .TP
  188. .B fIsrc-hostfP
  189. Must be a valid fIhostpatternfP
  190. .TP
  191. .B fIdest-hostfP
  192. Must be a valid fIhostpatternfP
  193. .TP
  194. .B fIsrc-portfP
  195. Must be a valid fIportpatternfP
  196. .TP
  197. .B fIdest-portfP
  198. Must be a valid fIportpatternfP 
  199. .TP 
  200. .B fIuser-listfP
  201. Must be a valid fIuserpatternfP.
  202. .PP
  203. The entire line matches only when all the entries match.
  204. .PP
  205. .SH PATTERNS
  206. .SH fIhostpatternfP
  207. socks5 requires host addresses and netmasks to determine the hosts that apply to a socks5.conf entry. Specify the host/mask pair as a fIhostpatternfP, using the format: 
  208. .TP 15
  209. .B hostip/mask
  210. Matches when a host address bitwise anded with the mask equals the hostip anded with the mask. Use the hostip/mask to mask the host portion of the address from the network or subnetwork portion.
  211. .TP
  212. .B -
  213. all hosts match
  214. .TP
  215. .B n1.
  216. equivalent to n1.0.0.0/255.0.0.0
  217. .TP
  218. .B n1.n2.
  219. equivalent to n1.n2.0.0/255.255.0.0
  220. .TP
  221. .B n1.n2.n3.
  222. equivalent to n1.n2.n3.0/255.255.255.0
  223. .TP
  224. .B .domain.name
  225. hostname must end with .domain.name
  226. .TP
  227. .B a.host.name
  228. hostname must match exactly with a.host.name.
  229. .PP
  230. Although socks5.conf supports older fIhostpatternfP syntax, we recommend using the newer method. The newer method is also easier to read. The older fIhostpatternfP syntax is:
  231. .RS 5
  232. .TP 15
  233. .B hostip/a
  234. all hosts match, same as "-"
  235. .TP
  236. .B hostip/n
  237. network match. Masks the host and subnet portions of the address, leaving the network portion. The IP address class for hostip determines the mask.
  238. .TP
  239. .B hostip/s
  240. subnet match. Masks the host portion of the address, leaving the subnetwork and network portion. The IP address class for hostip determines the mask.
  241. .TP
  242. .B hostip/h
  243. host match, the same as hostip
  244. .RE
  245. .PP
  246. .SH fIportpatternfP
  247. Specify ports in a fIportpatternfP as a service name, number, or range. Enclose ranges in brackets to indicate the range is inclusive, or parentheses to indicate the range is non-inclusive. Specify the range as two port names or numbers, separated by a comma, with no white space.
  248. .RS 5
  249. .TP 15
  250. .B tftp
  251. the service port for tftp, usually port 69
  252. .TP
  253. .B 80
  254. port 80
  255. .TP
  256. .B -
  257. all ports
  258. .TP
  259. .B [100,1000]
  260. ports 100 through 1000
  261. .TP
  262. .B (100,1000)
  263. ports 101 through 999
  264. .TP
  265. .B (100,1000]
  266. ports 101 through 1000
  267. .RE
  268. .PP
  269. .SH fIauthpatternfP
  270. Specify authentication methods in an fIauthpatternfP as a comma separated list of letters, with no white space. The socks5 daemon checks fI auth-methodsfP in reverse order, beginning with the last fIauth-methodfP in fI authpatternfP. socks5.conf recognizes these authentication methods:
  271. .RS 5
  272. .TP
  273. .B n
  274. No authentication. If you built the socks5 daemon with ident, the server authenticates UNIX users.
  275. .TP
  276. .B u
  277. Username/Password
  278. .TP
  279. .B k
  280. Kerberos 5 (GSS-API)
  281. .TP
  282. .B -
  283. any authentication method 
  284. .RE
  285. .PP
  286. The last fIauth-methodfP listed takes precedence over the methods listed first. For example, if you list:
  287. .RS 5
  288. .PP
  289. n,u,k 
  290. .PP
  291. .RE
  292. the server requests Kerberos authentication for socks5 clients. If the socks5 client is not set up to use Kerberos, the server uses Username/Password authentication. 
  293. .PP
  294. Since SOCKS4 clients can not use Kerberos or Username/Password authentication, the server does not require authentication for SOCKS4 clients. 
  295. .PP
  296. If you list:
  297. .RS 5
  298. .PP
  299. n,k,u
  300. .PP
  301. .RE
  302. the server requests Username/Password authentication for socks5 clients. Since SOCKS4 clients can not use Username/Password or Kerberos authentication, the server does not require authentication for SOCKS4 clients. 
  303. .PP
  304. .SH fIcommandpatternfP
  305. Specify commands in a fIcommandpatternfP as a comma separated list of letters, with no white space. socks5.conf recognizes these commands:
  306. .RS 5
  307. .TP
  308. .B c
  309. connect
  310. .TP
  311. .B b
  312. bind
  313. .TP
  314. .B u
  315. UDP
  316. .TP
  317. .B p
  318. ping
  319. .TP
  320. .B t
  321. traceroute
  322. .TP
  323. .B -
  324. all commands
  325. .RE
  326. .PP
  327. .SH fIuserpatternfP
  328. Specify multiple users in a fIuserpatternfP as a comma separated list of individual users, with no white space and no wild card patterns.
  329. .PP
  330. The user type must match the authentication method. For example, when you specify Username/Password authentication, the socks5 daemon expects socks5 users. When you specify Kerberos authentication, the socks5 daemon expects Kerberos users. A dash, -, matches all users.
  331. When you specify u and k in the fIauthpatternfP, fIuserpatternfP can contain valid Kerberos and socks5 users.
  332. .PP
  333. .SH fIproxypatternfP
  334. Specify socks5 daemons in a fIproxypatternfP as a comma separated list of fIserver-entriesfP, with no white space. 
  335. .PP
  336. Specify servers in order of preference. The client attempts to connect to servers in the order in which they are listed in the fIproxypatternfP. It only attempts connections to a server when the preceeding server is not available. 
  337. .PP
  338. .SH fIserver-entriesfP
  339. A server entry is a hostname or IP address, optionally followed by a colon and the port number, with no white space. When you omit the port number, socks5 uses the default port.
  340. .RS 5
  341. .TP 15
  342. .B host
  343. hostname, default port
  344. .TP
  345. .B host:port
  346. hostname, specified port
  347. .PP
  348. .RE
  349. .PP
  350. .SH EXAMPLES
  351. Refer to the examples directory for more complete examples.
  352. .PP
  353. .RS 5
  354. auth - - k
  355. .br
  356. permit k - 111.111.111. - - -
  357. .RE
  358. .PP
  359. Only kerberos authenticated users from the class C network 111.111.111.0 can use the server.
  360. .PP
  361. .RS 5
  362. socks5 - - s5srv1,s5srv2
  363. .br
  364. permit - - .mydomain.com - - -
  365. .RE
  366. .PP
  367. All socks5 requests connect through s5srv1. If s5srv1 is not available, all socks5 requests connect through s5srv2.  Only clients from .mydomain.com can use the server.
  368. .PP
  369. .RS 5
  370. auth otherserver - k
  371. .br
  372. noproxy .internal.net.com -
  373. .br
  374. socks5 - - otherserver
  375. .br
  376. permit - - .internal.net.com - - -
  377. .br
  378. permit k - otherserver - - -
  379. .br
  380. .RE
  381. .PP
  382. Clients from .internal.net.com can use the server without kerberos authentication.
  383. The socks5 server will connect directly to .internal.net.com hosts and proxy through
  384. another socks5 server, otherserver, for other hosts.  For the other socks5 server,
  385. otherserver, to proxy through this socks5 server, it must authenticate with kerberos.
  386. .PP
  387. .SH POOR CONFIGURATIONS
  388. As with any software that has security issues, proper configuration is a fBmustfP.  The 
  389. line
  390. .PP
  391. permit - - - - - -
  392. .PP
  393. should never be used.  With this configuration, malicious users could use the socks5
  394. server to hide their attack of other systems.  Always try to restrict based on source
  395. or destination host.
  396. .PP
  397. .SH SEE ALSO
  398. socks5(1), libsocks5.conf(5), sockd4_to_5.pl(1)
  399. .PP
  400. .SH AUTHORS
  401. NWSL SOCKS5 Development Team
  402. .PP
  403. Send comments to socks5-comments@socks.nec.com