站长学堂
你的位置: 中国个人站长站 -- 站长学堂 -- 网络安全 -- freebsd -- 文章正文 使用FreeBSD构建流量控制防火墙
推荐位

使用FreeBSD构建流量控制防火墙

中国个人站长站 freebsd 点击数: 更新时间:2004-10-22 8:30:08
概述


利用FreeBSD内核支持的BRIDGE、IPFIREWALL以及DUMMYNET选项,可以建立基于FreeBSD的透明流量控制防火墙(桥接模式),起到限制流量和包过滤的功能。


准备


可以在任何FreeBSD的兼容硬件上构建流量控制防火墙,但是基于性能和管理上的考虑,建议:


使用Intel PII450以上的处理器


使用至少128MB RAM


使用高性能10/100Mbps自适应网络适配器


如果多于一组桥接设备,建议使用双处理器系统


另外准备一块单独的网络适配器用于管理


--------------------------------------------------------------------------------

实例

联想万全1300 PC服务器,具有一颗Intel PII300处理器,配置有128MB RAM,主板集成Intel 82557网络适配器,另外安装了4块3Com 3C905B 10/100Mbps自适应PCI网络适配器。


--------------------------------------------------------------------------------


安装


安装最新版本的FreeBSD。可以从www.FreeBSD.org获取当前的FreeBSD版本信息,并且获得安装源文件。可以使用光盘安装和FTP安装方式。为了保证最好的硬件兼容性,请使用FreeBSD 4.3 RELEASE或者更高的版本。



必须安装操作系统源代码中的"sys"部分,安装完成以后需要重新编译系统内核以支持必要的流量控制防火墙选项。


--------------------------------------------------------------------------------

实例

安装FreeBSD-4.3-20010818-STABLE版本,从


ftp://releng4.freebsd.org/pub/FreeBSD/snapshots/i386/


获得。使用FTP安装方式,安装选项为:

[X] bin

[X] crypto

[X] man

[X] src->sys

--------------------------------------------------------------------------------


配置


完成操作系统安装以后,必须重新编译系统内核使其支持桥接流量控制防火墙选项。必须在系统内核编译配置文件中添加以下内容:

options BRIDGE

options DUMMYNET

options IPFIREWALL

options IPFIREWALL_DEFAULT_TO_ACCEPT


重新编译完系统内核以后必须重新启动计算机。


--------------------------------------------------------------------------------

实例

# cd /usr/src/sys/i386/conf

# cp GENERIC BRGFW

# echo "options BRIDGE" >> BRGFW

# echo "options DUMMYNET" >> BRGFW

# echo "options IPFIREWALL" >> BRGFW

# echo "options IPFIREWALL_DEFAULT_TO_ACCEPT" >> BRGFW

# config

# cd ../../compile/BRGFW

# make depend all install

# reboot

--------------------------------------------------------------------------------


重新启动计算机以后,使用以下命令激活桥接流量控制防火墙选项:


sysctl -w net.link.ether.bridge_ipfw=1

sysctl -w net.link.ether.bridge_cfg=""

sysctl -w net.link.ether.bridge=1


其中bridge_cfg参数用于设置多组桥接设备,如果仅考虑单组桥接,可以忽略。实例使用集成的Intel 82557网络适配器作为管理网络,其他3Com 3C905B网络适配器分为两组网桥使用。




--------------------------------------------------------------------------------

实例

# sysctl -w net.link.ether.bridge_ipfw=1

# sysctl -w net.link.ether.bridge_cfg="xl0:0,xl1:0,xl2:1,xl3:1"

# sysctl -w net.link.ether.bridge=1




--------------------------------------------------------------------------------

使用

使用ipfw命令来控制流量和防火墙策略。其中流量控制是作为一条防火墙策略实现的,因此ipfw是唯一的管理界面。通过实例来说明ipfw的使用。



在实例中,网段192.168.254.0/24经过第一组网桥,网段192.168.250.0/24经过第二组网桥,并建立以下策略:

允许所有的ICMP连接,限制总流量为10Kbit/s


允许所有的UDP链接,限制总流量为100Kbit/s


允许TCP到网段192.168.254.0/24的所有连接,限制流量为5Mbit/s


允许TCP到主机192.168.250.222的HTTP连接,限制流量为2Mbit/s


允许TCP到主机192.168.250.0/24的所有其他连接,限制流量为1Mbit/s


禁止其他所有连接

--------------------------------------------------------------------------------

实例


# ipfw -flush

# ipfw add 100 pipe 1 icmp from any to any

# ipfw pipe 1 config bw 10Kbit/s

# ipfw add 200 pipe 2 udp from any to any

# ipfw pipe 2 config bw 100Kbit/s

# ipfw add 300 pipe 3 tcp from 192.168.254.0/24 to any

# ipfw pipe 3 config bw 5Mbit/s

# ipfw add 400 pipe 4 tcp from any to 192.168.254.0/24

# ipfw pipe 4 config bw 5Mbit/s

# ipfw add 500 pipe 5 tcp from any to 192.168.250.222 80

# ipfw pipe 5 config bw 2Mbit/s

# ipfw add 600 pipe 6 tcp from 192.168.250.222 80 to any

# ipfw pipe 6 config bw 2Mbit/s

# ipfw add 700 pipe 7 tcp from 192.168.250.0/24 to any

# ipfw pipe 7 config bw 1Mbit/s

# ipfw add 800 pipe 8 tcp from any to 192.168.250.0/24

# ipfw pipe 8 config bw 1Mbit/s

# ipfw add 60000 deny ip from any to any

# ipfw -a l
金山 FreeBSD 文章录入:swh    责任编辑:swh 
个人站长站与你风雨同舟!
本站所提供的资源均来源于互联网,如有侵权行为,请与本站管理员联系,我们会第一时间删除!
·如果您发现《使用FreeBSD构建流量控制防火墙》文章有错误,也请通知我们修改!
联系邮箱chinageren#126.com,谢谢支持!
站内搜索:
广告服务 | 友情链接 | 联系我们 | 免责声明 | 用户留言 | 网站导航
版权所有:中国个人站长站 2007-2008 未经授权禁止复制或建立镜像 客服QQ号:112731235
copyright © 2007-2008 www.ChinaGeRen.com online services. all rights reserved. 苏ICP备05000059号