一个刚装好的系统如何让他做防火墙,IPFW在BSD上可谓极品.以下是朋友的教程.拿来学习一下.

IPFW 的主要部分是在内核中运行的, 因此会需要在FreeBSD内核配置文件中添加部分选项。(注意,如果你没有安装FreeBSD核心源代码,是无法进入以下目录的,所以运行之前一定要先安装内核源代码)我们先进入内核配置文件:(系统安装好后要把SYS包装上)
# cd /sys/i386/conf
# cp GENERIC ./kernel_fw  (这里是新建一个内核文件)
打开内核配置文件:
# ee ./kernel_fw
添加四个选项,不需要后面的注释信息:
options IPFIREWALL # 将包过滤部分的代码编译进内核。
options IPFIREWALL_VERBOSE
# 启用通过syslogd记录的日志。如果没有指定这个选项,即使您在过滤规则中指定记录包, 也不会真的记录它们
options IPFIREWALL_VERBOSE_LIMIT=10
# 限制通过 syslogd(8) 记录的每项包规则的记录条数。在恶劣的环境中如果您想记录防火墙的活动, 而又不想由于 syslog 洪水一般的记录而导致拒绝服务攻击, 那么这个选项将会很有用。
options IPFIREWALL_DEFAULT_TO_ACCEPT
# 这将把默认的规则动作从 “deny’’ 改为 “allow’’。这可以防止在没有配置防火墙之前使用启用过 IPFIREWALL  支持的内核重启时把自己锁在外面。 另外, 如果您经常使用 ipfw(8) 来解决一些问题时它也非常有用。 尽管如此,在使用时应该小心,因为这将使防火墙敞开, 并改变它的行为。
options         IPFIREWALL               #必要项
options         BRIDGE                    #启动网关用
options         DUMMYNET                     #流量控制
options         IPFIREWALL_VERBOSE    
options         IPFIREWALL_VERBOSE_LIMIT=10  
options         IPFIREWALL_DEFAULT_TO_ACCEPT  




                
编译内核:
# /usr/sbin/config kernel_fw
# cd ../compile/kernel_fw (注意你的版本,如果是低于5.0的版本用../../compile/kernel_fw)
# make depend  (需要注意的是。在运行内核的时候。系统在安装完后会反复的安装。你只要在完成后按CTRL+C停止就可以了)
# make
# make install

然后在/etc/sysctl.conf中加入以下行用于(做透明网关用,如果是NAT转换就不用开了)

启用Bridge和IPFW:net.link.ether.bridge_cfg=fxp1,fxp2(这里的FXP是你的网卡名)

net.link.ether.bridge=1  

net.link.ether.bridge_ipfw=1

注:在FreeBSD5.2以上版本,上面的设置应改为:

net.link.ether.bridge.enable=1
net.link.ether.bridge.config=fx1,fx2
net.link.ether.bridge.ipfw=1
到了这里还是和转贴的文章一样。下面开始修改配置文件

vi  /etc/rc.conf
添加以下内容

firewall_enable=”YES”                      激活Firewall防火墙 (必须要)

firewall_script=”/etc/rc.firewall”         防火墙的默认脚本
上一句和firewall_type=”OPEN” 效果一样

firewall_type=”/etc/ipfw.conf”            自定义脚本

firewall_quiet=”NO”
  启用脚本时,是否显示规则信息;假如你的防火墙脚本已经不会再有修改,那么就可以把这里设置成“YES”了。

firewall_logging_enable=”YES”          启用Firewall的Log记录

如果要开记NAT转换的话请添加以下行
natd_interface="em0"       //NATD服务启用在哪块网卡。  
natd_enable="YES"        //激活NATD服务  
natd_flags="-config /etc/natd.conf"    //NATD服务参数设置文件。  
gateway_enable="YES"      //启动网关  




add 00400 divert natd ip from any to any via xl0   //natd服务启动设置
要是开NET转换请用以下设置添加/etc/natd.conf这个文件,其内容如下:  

log yes              //启动natd的log记录。  
redirect_port tcp 192.168.0.2:25 x.x.x.x:25     //把对服务器IP为x.x.x.x的smtp
访问转到192.168.0.2的25上去。  


  
添加完后保存。然后重起机器
文章来源: 本站原创 引用(0) 阅读(718)
 
对《IPFW配制全过程(freebsd)》有 1 条评论
gjkejkg 说:
2010/07/23 14:15
cnxgo你好 我想知道你的QQ 或联系方法能告诉我吗,想咨询防火强方面的.我的QQ:980460648
MSN:maker021@hotmail.com 请告诉我您的邮箱或MSN好吗?
cnxgo 回复于 2010/08/03 14:39: 有什么问题,可以直接给我留言就行了。
分页: 1/1 第一页 1 最后页
发表评论
昵称

网址

电邮
打开HTML 打开UBB 表情 打开表情 隐藏 记住我 [注册]