BBS水木清华站∶精华区

发信人: tjb (老六), 信区: Linux 
标  题: Firewall HOWTO 7 
发信站: BBS 水木清华站 (Tue Jul  7 20:27:19 1998) 
 
防火墙和代理伺服器 - HOWTO : SOCKS代理伺服器 
Previous: 安装TIS代理伺服器 
Next: 高级设置 
  ------------------------------------------------------------------------ 
 
8. SOCKS代理伺服器 
 
8.1. 设定代理伺服器 
 
SOCKS代理伺服器可从 
ftp://sunsite.unc.edu/pub/Linux/system/Network/misc/socks-linux- src.tgz取 
得。该档内也有一个称为"socks-conf"的设置档可作参考。可把该档解压,然後根据其 
中的说明使用该档。但使用时并不简单,应首先确定Makefile档正确无误。 在 
/etc/inetd.conf中应该增添代理伺服器。因此,应该增加以下一行。 
 
  socks  stream  tcp  nowait  nobody  /usr/local/etc/sockd  sockd 
 
这样伺服器才会在需要时运行。 
 
8.2. 设置代理伺服器 
 
SOCKS需要两个设置档进行设定。一个设置档设定进入取用的权限,另一个设置档设定 
路径,以便找到适当的代理伺服器。权限档应在伺服器上,路径档应在每一台UNIX机 
上。DOS机和Macintosh机都会确定自行的路径。 
 
8.2.1. 权限档 
 
在socks4.2(beta)版中,权限档称为"sockd.conf",应该只有两行,一行允许 
(permit),一行拒绝(deny)。每行都有三项设定: 
 
   * 识别标示行(permit/deny) 
   * IP地址行 
   * 修改地址行 
 
识别标示用于permit或deny。应该有单独的permit行和单独的deny行。 IP地址使用标 
准的4byte方式表示,如I.E. 192.168.2.0.。 修改地址行也是标准的4位元 IP地址, 
用来作为netmask。将这个地址想成32位元的数字。如果是1,则核对的地址的相应位置 
应符合IP地址中相应的位元。例如,此行的地址为∶ 
 
    permit 192.168.2.23  255.255.255.255 
 
则只允许每一位元相符的地址,即192.168.2.23。如果地址为∶ 
 
    permit 192.168.2.0  255.255.255.0 
 
则会允许192.168.2.0至192.168.2.255之间的每一个地址,即整个C级的地址。不得有 
下列这种地址出现∶ 
 
    permit 192.168.2.0  0.0.0.0 
 
这会允许每一地址使用,不论其地址为何。 因此,允许每一个应该允许的地址,然後 
拒绝其余地址。如允许192.168.2.xxx范围中的每一用户,可用下列方式表示∶ 
 
    permit 192.168.2.0  255.255.255.0 
    deny 0.0.0.0  0.0.0.0 
 
注意deny行中的第一个"0.0.0.0"。由于地址以0.0.0.0修改,因此IP为何都没有影响。 
用0作为IP地址,因为便于打字。 特别的用户可以给予或拒绝使用的权限。这可通过 
iden的查验来实现。由于不是所有系统都支持iden,其中包括Trumpet Winsock,所以 
此处不预备多加说明。随同socks提供的说明以够使用。 
 
8.2.2. 路径档 
 
SOCKS中的路径档称为"socks.conf",极易与权限档混淆。 路径档让SOCKS用户知道何 
时用socks,何时不用。例如,在示□的网路中192.168.2.3并不需要使用socks与 
192.168.2.1防火墙对话。通过Ethernet,它们之间有直接的连接。又127.0.0.1自动设 
为loopback。因此也不需要用socks同自己对话。它有三行输入∶ 
 
   * deny 
   * direct 
   * sockd 
 
Deny行告诉socks何时拒绝一项请求。在此添入的内容同sockd.conf的内容相同,地址 
标示行、IP地址和修改地址行。一般而言,权限档sockd.conf也与此有关,修改地址部 
分则用0.0.0.0。如果不打算连到任何地方,在此可作出修改。 
 
在direct行下列入不使用sock的地址。所有这些地址都可直接联上网路,无须经过代理 
伺服器。在这里又有三个位置要填∶identifier、address和modifier。例如∶ 
 
    direct 192.168.2.0 255.255.255.0 
 
Sockd行告诉电脑那一个用户的电脑上有socks server daemon。该行内容如下∶ 
 
  sockd @=<serverlist> <IP address> <modifier> 
 
注意@= 填入的内容。利用这种方法可以填入一系列代理伺服器的IP地址。在这里只用 
一个代理伺服器的地址为例。但可以列上多个伺服器的地址,以便加大容量,并当有伺 
服器失灵时,有其他的伺服器顶替。 
 
设定IP地址和modifier域的方法和其他例子相同。 
 
8.2.3. 防火墙後的DNS 从防火墙後设定Domain Name Service是件简单不过的事。只要 
在作为防火墙的电脑上设定DNS即可。然後在防火墙後的电脑上设定使用这个DNS。 
 
8.3. 代理伺服器 
 
8.3.1. Unix 
 
要使应用程序利用代理伺服器,这些应用程序需要"sockified"。在这里需要两个 
telnet,一个进行直接通讯,一个通过代理伺服器进行通讯。SOCKS软件中有说明sock 
一个程式的方法,也附有几个已经sock好的程式。如果要直接使用sock好的程式, 
SOCKS软件会直接设定。因此,应该将保护网路内的所有程式改名,然後再改用已经 
sock好的程式。例如,"Finger"变为"finger.orig","telnet"变为"telnet.orig"。 
必须通过include/socks.h档告诉SOCKS这种设定。 有些程式能自行处理routing和 
sockifying的问题。Netscape就使其中之一。例如在Netscape下要用用代理伺服器,只 
要在Proxies下SOCK栏内填入伺服器的地址即可(在此为192.168.2.1)。当然,每种应 
用程式都得作些小变动,不论其处理代理伺服器的方法为何。 
 
8.3.2. 微软视窗与Trumpet Winsock 
 
Trumpet Winsock中有自带的代理伺服器功能。在"setup"选单中填入伺服器的IP地址和 
所有直接可联的电脑的地址。然後,Trumpet就会处理所有外送的数据包。 
 
8.3.3. 使代理伺服器配合UDP数据包 
 
SOCKS软件只处理TCP数据包,而不处理 UDP。这多少减少了它的用处,因为,许多有用 
的程式,例如talk和Archie,都利用UDP。有一套软件,称为UDPrelay,由Tom 
Fitzgerald设计<fitz@wang.com>,主要作为UDP数据包的代理伺服器使用。不过在编写 
本文时,这套软件不能用于Linux. 
 
8.4. 代理伺服器的缺点 
 
归根结底,代理伺服器是一个安全装置。在有限的IP地址的情况下,用它使许多用户进 
入网际网路有许多缺点。代理伺服器可使保护网路内的用户联到网路之外,但使网路之 
外的用户完全无法同网路之内的用户联系。这表示无法同网路之内的电脑进行talk或 
archie联网,也无法发送电子邮件。这些缺点看来并不严重,但是如果∶ 
 
   * 你有一份没有完成的报告留在保护网路防火墙内的电脑上。回家後,你又想看看 
     这份报告。但是没有办法。因为电脑在防火墙後,无法联网。如果首先login 防 
     火墙,但由于每一个人都可进入代理伺服器,因此你在这个伺服器上并没有个别 
     帐户。 
   * 你女儿去了大学。你想写封电子邮件给她。你想谈些私事,因此最好能把电子邮 
     件直接放到自己的电脑上。你当然信得过你的系统管理员,但这倒底与公务无 
     关,是个人的信件。 
   * 不能使用UDP是代理伺服器的一个大缺陷。我想不久之後就会有UDP的功能。 
 
FTP是代理伺服器的另一个问题。在取得或使用ls时,FTP伺服器在客户机上打开一个 
socket,并通过它传送信息。代理伺服器不允许进行这项工作,因此FTP无法使用。 此 
外,代理伺服器运行缓慢。由于需要额外资源较多,几乎任何其他能达成这项作用的伺 
服器都要比它快。 一般而言,如果有IP地址联网,而又不必特别顾虑安全问题,那就 
不要使用防火墙和(或)代理伺服器。如果没有IP地址联网,但也不顾虑安全问题,那 
就不妨使用IP模拟器,象Term,Slirp或TIA。Term可从ftp://sunsite.unc.edu取得, 
Slirp可从ftp://blitzen.canberra.edu.au/pub/slirp取得,TIA可从marketplace.com 
取得。使用代理伺服器的理想网路是有许多用户需要联网,那只要做一次设定之後就不 
必再做太多其他的工作。 
 
  ------------------------------------------------------------------------ 
防火墙和代理伺服器 - HOWTO : SOCKS代理伺服器 
Previous: 安装TIS代理伺服器 
Next: 高级设置 
-- 
                         
      一壶浊酒喜相逢       
   古今多少事均赋笑谈中    
                           
                           
 
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.200.37.100] 

BBS水木清华站∶精华区