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毫秒