Linux 版 (精华区)

发信人: clx (楚留香), 信区: Unix
标  题: Linux IP Masquerade mini HOWTO 中译版(05)
发信站: 紫 丁 香 (Sun Jun 28 10:21:54 1998), 转信

Linux IP Masquerade mini HOWTO 中译版 : 其它 IP Masquerade
的问题及软体支援
Previous: IP Masquerade 的设定
Next: 其它 


4. 其它 IP Masquerade 的问题及软体支


4.1. IP Masquerade 的问题

某些协定现在无法配合 masquerading 使用,因为它们不是假设有
关埠号的一些事情,就是在位址及埠号的资料流里编码资料 - 後
面这些协定需要在 masquerading 程式码里建立特定的代理程式使
它们能运作.

4.2. 进入系统的服务(incoming services)

Masquerading 完全不能处理外界的服务请求 (incoming services
). 只有极少方法能允许它们,但这完全与 masquerading 无关,
而且实在是标准的防火墙方式.

如果你并不要求高度的安全性那麽你可以简单地重导(redirect)这
些埠. 有几种不同的方法可以做这件事 - 我使用一只修改过的
redir 程式(我希望这只程式很快就能从 sunsite 及其 mirrors 取
得). 如果你希望能够对外界进入系统的服务请求有某种程度的身
分验认(authorisation) 那麽你可以在 redir 的顶层(0.7 or
above) 使用 TCP wrappers 或是 Xinetd 来允许特定 IP 位址通
过,或使用其它的工具.TIS 防火墙工具集是寻找工具及资讯的好
地方.

更多的详节可在 IP Masquerade Resource 找到.

4.3. 已支援的客户端软体以及其它设定方面的注意事项

     ** 下面的列表将不再被维护了.可经由 Linux IP
     masquerading 运作的应用程式请参考这里 和 IP Masquerade
     Resource 以取得进一步的细节. ** 

一般说来,使用传输控制协定(TCP) 或是使用者定义资料协定
(UDP)的应用程式应该都能运作. 如果你有任何关於应用程式与 IP
Masquerade 相容的建议,提示或问题,请拜访由 Lee Nevo 维护的
可与 Linux IP masquerading 运作的应用程式 网页.

4.3.1. 可以使用的客户端软体

一般客户端软体 

HTTP

     所有有支援的平台,浏览网页

POP & SMTP

     所有有支援的平台,电子邮件软体

Telnet

     所有有支援的平台,远端签入作业

FTP

     所有有支援的平台,配合 ip_masq_ftp.o 模组(不是所有站台
     都能配合各种客户端软体;例如某些不能使用 ws_ftp32 触及
     的站台却能使用 netscape 进入)

Archie

     所有有支援的平台,档案搜寻软体(并非所有 archie 客户端软
     体都支援)

NNTP (USENET)

     所有有支援的平台,网路新闻软体 

VRML

     Windows (可能所有有支援的平台都可以),虚拟实境浏览

traceroute

     主要是 UNIX 系列的平台,某些变种可能无法运作

ping

     所有平台,配合 ICMP 修补档

anything based on IRC

     所有有支援的平台,配合 ip_masq_irc.o 模组

Gopher client

     所有有支援的平台

WAIS client

     所有有支援的平台

多媒体客户端软体 

Real Audio Player

     Windows, 网路资料流音讯,配合载入 ip_masq_raudio 模组 

True Speech Player 1.1b

     Windows, 网路资料流音讯

Internet Wave Player

     Windows, 网路资料流音讯

Worlds Chat 0.9a

     Windows, 客户-伺服端立体交谈(3D chat) 程式

Alpha Worlds

     Windows, Windows, 客户-伺服端立体交谈(3D chat) 程式

Powwow

     Windows, 点对点文字声音白板通讯,如果你呼叫别人,人们可
     以与你交谈,但是他们不能呼叫你.

CU-SeeMe

     所有有支援的平台,配合载入 cuseeme 模组,详细细节请参
     阅 IP Masquerade Resource

VDOLive

     Windows, 配合 vdolive 修补档

注意: 即使不是由你呼叫别人,使用 ipautofw 套件某些客户端软
体像是 IPhone 以及 Powwow 可能还是可以运作(参阅 4.6 节)

其它客户端软体 

NCSA Telnet 2.3.08

     DOS, 包含 telnet, ftp, ping 等等的一组套件.

PC-anywhere for windows 2.0

     MS-Windows, 经由 TCP/IP 远端遥控 PC ,只有在作为客户端
     而非主机端的情形下才能运作

Socket Watch

     使用 ntp - 网路时间协定

Linux net-acct package

     Linux, 网路帐号管理套件

4.3.2. 无法使用的客户端软体

Intel Internet Phone Beta 2

     可以连上但声音只能单向(往外)传送

Intel Streaming Media Viewer Beta 1

     无法连上伺服器

Netscape CoolTalk

     无法连接对方

talk,ntalk

     这将不会运作 - 需要撰写一份核心代理程式.

WebPhone

     目前无法运作(它做了不合法的位址假设).

X

     没有测试过,但我想除非有人建立一套 X 代理程式否则它无法
     运作,这可能是 masquerading 程式码之外的一个外部程式.
     一个让它运作的方式是使用 ssh 作为链结并且使用其内部的 X
     代理功能来执行!

4.3.3. 已测试过可以作为其它机器的平台/作业系统

     Linux 
     Solaris 
     Windows 95 
     Windows NT (both workstation and server) 
     Windows For Workgroup 3.11 (with TCP/IP package) 
     Windows 3.1 (with Chameleon package) 
     Novel 4.01 Server 
     OS/2 (including Warp v3) 
     Macintosh OS (with MacTCP or Open Transport) 
     DOS (with NCSA Telnet package, DOS Trumpet works
     partially) 
     Amiga (with AmiTCP or AS225-stack) 
     VAX Stations 3520 and 3100 with UCX (TCP/IP stack for
     VMS) 
     Alpha/AXP with Linux/Redhat 
     SCO Openserver (v3.2.4.2 and 5) 
     IBM RS/6000 running AIX 
     (谁还测试过其它平台?) 

4.4. IP Firewall Administration (ipfwadm) 

这一节提供关於 ipfwadm 更深入的使用指引.

这是一个给在固定 PPP 位址之 PPP 连线後面的防火墙/伪装系统使
用的设定.信赖(trusted) 界面为 192.168.255.1, PPP 界面已经
修改过以避免犯错 :) .我分别列出每一个进入(incoming)以及送
出(outgoing)界面来抓出变更递送路径(stuffed routing) 以及/或
是伪装(masquerading)等等这些个 IP spoofing 技巧.同时任何没
有明确允许的东西都是禁止的!

#!/bin/sh
#
# /etc/rc.d/rc.firewall,  定义防火墙配置,从 rc.local 执行.
#

PATH=/sbin:/bin:/usr/sbin:/usr/bin

# 测试用,等待一段时间然後清除所有的防火墙规则.
# 如果你希望防火墙十分钟之後自动关闭就取消下列几行的注解.
# (sleep 600; \
# ipfwadm -I -f; \
# ipfwadm -I -p accept; \
# ipfwadm -O -f; \
# ipfwadm -O -p accept; \
# ipfwadm -F -f; \
# ipfwadm -F -p accept; \
# ) &

# 进入伪装闸道的设定,更新以及设定拒绝的策略(policy).事实上
# 预设的策略没什麽关系,因为原先就希望拒绝以及记录所有规则
ipfwadm -I -f
ipfwadm -I -p deny
# 伪装闸道的本地(local) 界面,区域网路里的机器,允许连往任何
# 地方
ipfwadm -I -a accept -V 192.168.255.1 -S 192.168.0.0/16 -D 0.0.0.0/0
# 伪装闸道的远端(remote)界面,声称是区域网路里的机器,IP spoofing
# 拒绝
ipfwadm -I -a deny -V your.static.PPP.address -S 192.168.0.0/16 -D 0.0.0.0/0 -o
# 伪装闸道的远端界面,任何来源,允许送往固定 (permanent) PPP
# 位址
ipfwadm -I -a accept -V your.static.PPP.address -S 0.0.0.0/0 -D your.static.PPP.address/32
# 回授(loopback)界面是允许的
ipfwadm -I -a accept -V 127.0.0.1 -S 0.0.0.0/0 -D 0.0.0.0/0
# 捕捉所有规则,任何其它的进入方式都会被拒绝并记录.可惜没有
# 记录用的选项但这可以代替

ipfwadm -I -a deny -S 0.0.0.0/0 -D 0.0.0.0/0 -o

# 送出伪装闸道的设定,更新以及设定拒绝的策略(policy).事实上
# 预设的策略没什麽关系,因为原先就希望拒绝以及记录所有规则
ipfwadm -O -f
ipfwadm -O -p deny
# 本地界面,允许任何来源送出至区域网路
ipfwadm -O -a accept -V 192.168.255.1 -S 0.0.0.0/0 -D 192.168.0.0/16
# 远端界面送出至区域网路,stuffed routing ,拒绝
ipfwadm -O -a deny -V your.static.PPP.address -S 0.0.0.0/0 -D 192.168.0.0/16 -o
# 区域网路的机器从远端界面送出,stuffed masquerading,拒绝
ipfwadm -O -a deny -V your.static.PPP.address -S 192.168.0.0/16 -D 0.0.0.0/0 -o
# 区域网路的机器从远端界面送出,stuffed masquerading,拒绝
ipfwadm -O -a deny -V your.static.PPP.address -S 0.0.0.0/0 -D 192.168.0.0/16 -o
# 任何其它远端界面送出的东西都是允许的
ipfwadm -O -a accept -V your.static.PPP.address -S your.static.PPP.address/32 -D 0.0.0.0/0
# 回授(loopback)界面是允许的
ipfwadm -O -a accept -V 127.0.0.1 -S 0.0.0.0/0 -D 0.0.0.0/0
# 捕捉所有规则,任何其它的送出方式都会被拒绝并记录.可惜没有
# 记录用的选项但这可以代替
ipfwadm -O -a deny -S 0.0.0.0/0 -D 0.0.0.0/0 -o

# 伪装闸道的转送设定,更新以及设定拒绝的策略(policy).事实上
# 预设的策略没什麽关系,因为原先就希望拒绝以及记录所有规则
ipfwadm -F -f
ipfwadm -F -p deny
# 伪装区域网路的机器从本地界面送出至任何地方的资料
ipfwadm -F -a masquerade -W ppp0 -S 192.168.0.0/16 -D 0.0.0.0/0
# 捕捉所有规则,任何其它的转送方式都会被拒绝并记录.可惜没有
# 记录用的选项但这可以代替
ipfwadm -F -a deny -S 0.0.0.0/0 -D 0.0.0.0/0 -o

你可以使用 -I, -O 或是 -F 来控制到某特定节点的流量.记得这
些规则集是由上往下扫描的而 -a 代表"附加(append)"到目前现有
的规则集中所以任何限制必须在全域(global)规则之前出现.例如
(没测试过) :-

使用 -I 规则.可能是速度最快的但是它只能阻止区域网路里的机
器,防火墙本身仍然可以存取"禁止"的节点.当然你可能想允许这
样的组合.

... start of -I rules ...
# 拒绝并记录本地界面,区域网路里的机器通往 204.50.10.13
ipfwadm -I -a reject -V 192.168.255.1 -S 192.168.0.0/16 -D 204.50.10.13/32 -o
# 本地界面,区域网路里的机器,允许通往任何地方
ipfwadm -I -a accept -V 192.168.255.1 -S 192.168.0.0/16 -D 0.0.0.0/0
... end of -I rules ...

使用 -O 规则.最慢,因为封包首先经过伪装但这个规则阻止防火
墙存取禁止的节点.

... start of -O rules ...
# 拒绝并记录送出至 204.50.10.13 的资料
ipfwadm -O -a reject -V your.static.PPP.address -S your.static.PPP.address/32 -D 204.50.10.13/32 -o
# 允许任何其它远端界面送出的东西
ipfwadm -O -a accept -V your.static.PPP.address -S your.static.PPP.address/32 -D 0.0.0.0/0
... end of -O rules ...

使用 -F 规则.可能比 -I 慢而这仍然只能阻止伪装的机器(例如内
部的机器),防火墙仍然可以取得禁止的节点.

... start of -F rules ...
# 拒绝并记录 PPP  界面送出从区域网路到 204.50.10.13 的资料.
ipfwadm -F -a reject -W ppp0 -S 192.168.0.0/16 -D 204.50.10.13/32 -o
# 伪装本地界面从区域网路送出至任何地方的资料.
ipfwadm -F -a masquerade -W ppp0 -S 192.168.0.0/16 -D 0.0.0.0/0
... end of -F rules ...

不需要有个特定的规则来允许 192.168.0.0/16 通往 204.50.11.0,
这涵盖於全域规则中.

有一种以上的方法可以对界面设定上述规则.例如可以使用 -W
eth0 来取代 -V 192.168.255.1,可以使用 -W ppp0 来取代 -V
your.static.PPP.address.个人的选择最重要.

4.5. IP Masquerade 以及需求式拨接
(Demand-Dial-Up)

  1.如果你想把网路设定成自动拨接上网际网路,那麽 diald
     demand 拨接套件将会是很棒的工具. 
  2.要设定 diald, 请查看 Setting Up Diald for Linux Page 网
     页 
  3.一旦 diald 以及 IP masq 设定完成,你可以在任何客户端机
     器上启动 web, telnet 或是 ftp 连线. 
  4.Diald 将会侦测到进入系统的请求,然後拨接到你的 ISP 并建
     立连线. 
  5.第一次连线将会发生逾时(timeout) 的情形.如果你使用类比
     式的数据机那这是无可避免的. 建立数据机连结以及 PPP 连
     线所花费的时间将会使你的客户端软体不耐. 如果你使用
     ISDN 连线那这是可以避免的.你得做的只是结束客户端软体现
     行的程序再重新启动即可. 

4.6. IPautofw 封包转送程式

IPautofw 是一个给 Linux masquerading 使用的一般性 TCP 及
UDP 转送程式.一般使用需要 UDP 的套件的时候,需要载入特定的
ip_masq 模组;ip_masq_raudio, ip_masq_cuseeme,... Ipautofw
以更一般化的方式运作,它将会转送包含这些应用程式特定模组都
不会转送的任何资料流型态.如果没有正确地管理这可能造成安全
上的漏洞.


Linux IP Masquerade mini HOWTO 中译版 : 其它 IP Masquerade
的问题及软体支援
Previous: IP Masquerade 的设定
Next: 其它 

--
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: 202.118.244.16]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.621毫秒