FreeBSD4.7环境下使用IPFILTER设置小型企业防火…

2009-05-13 12:54:04来源:未知 阅读 ()

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

姜培军(peijun.jiang)
一、 网络环境
1、主机A:安装freebsd4.7,安装三块网卡fxp0、xl0和xl1。
fxp0为对外网卡,IP:x.x.x.x ISP为我提供的IP地址
xl0为对内公共区域网卡,IP:192.168.0.1
xl1为对内服务提供区域网卡,IP:192.168.80.1
2、主机B:对外提供www服务主机,ip地址为:192.168.80.80
3、主机C:对外提供ftp服务主机,ip:192.168.80.3。
4、其他工作站N台。
二、编译内核
1、
#cd /sys/i386/conf
#cp GENERIC kernel_IPF
2、编译kernel_IPF,加入一下选项:
options IPFILTER
options IPFILTER_LOG
options IPFILTER_DEFAULT_BLOCK
3、
#/usr/sbin/config kernel_IPF
#cd ../../compile/kernel_IPF
#make kepend
#make
#make install
4、编辑/etc/rc.rc.conf,打开以下选项:
defaultrouter="x.x.x.1" x.x.x.1为ISP提供的网关
gateway_enable="YES"
ipfilter_enable="YES"
ipnat_enable="YES"
5、重新启动系统:reboot
三、配置防火墙
1、 设置地址转换ipnat。在/etc下新建文件ipnat.rules,内容为:
map fxp0 192.168.0.0/16 -> 0/32 proxy port ftp ftp/tcp
map fxp0 192.168.0.0/24 -> 0/32 portmap tcp/udp 10000:30000
map fxp0 192.168.0.0/24 -> 0/32
map fxp0 192.168.80.0/24 -> 0/32 portmap tcp/udp 300001:60000
map fxp0 192.168.80.0/24 -> 0/32 portmap
rdr fxp0 x.x.x.x/32 port 80 -> 192.168.0.2 port 80
rdr fxp0 x.x.x.x/32 port ftp -> 192.168.0.3 port ftp
rdr fxp0 x.x.x.x/32 port 30001-50000 -> 192.168.80.3 port 30001 tcp
2、设置包过滤ipfilter。在/etc下新建文件ipf.rules,内容为:
block in log quick all with short
block in log quick all with ipopts
block in log quick all with frag
block in log quick all with opt lsrr
block in log quick all with opt ssrr
以上五句为过滤掉可能会带来安全问题的短数据包或具备路由信息的数据包以及防止非法扫描服务器
pass out on xl0 all
pass in on xlo all
pass out on xl1 all
pass in on xl1 all
pass out quick on lo0 all
pass in quick on lo0 all
以上为内部网络界面和loopback网络界面可以自由发送和接受数据包
block out on fxp0 all
以上为屏蔽外部网络界面向外发送数据包
block out log on fxp0 from any to 192.168.0.0/16
block out log quick on fxp0 from any to 0.0.0.0/8
block out log quick on fxp0 from any to 169.254.0.0/8
block out log quick on fxp0 from any to 10.0.0.0/8
block out log quick on fxp0 from any to 127.16.0.0/12
block out log quick on fxp0 from any to 127.0.0.0/8
block out log quick on fxp0 from any to 192.0.2.0/24
block out log quick on fxp0 from any to 204.152.64.0/23
block out log quick on fxp0 from any to 224.0.0.0/3
以上为屏蔽不合法地址的输出数据
pass out log on fxp0 proto tcp/udp from any to any keep state
pass out log on fxp0 proto icmp all keep state
以上为允许TCP 、UDP、ICMP数据包向外发送出去,并且允许回应数据包发送回到内部网络
block in log on fxp0 from 192.168.0.0/16 to any

标签:

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

上一篇:利用 FreeBSD 组建轻量级邮件系统

下一篇:FreeBSD4.7环境下构建中小企业Qmail邮件系统