IP Masquerade mini HOWTO(8)

2008-02-23 07:23:26来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


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 的资料.

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Linux Quota mini-HOWTO 磁盘空间限制

下一篇:faxsrv-mini-HOWTO 传真机服务器