- 论坛徽章:
- 0
|
在vm中安装了freebsd-5.4-release-p7,现在想使用用ipfw防火墙,并启用防火墙的日志功能。
防火墙的规则要求简单,关键是要把所有不符合通过规则的日志记录下来。
安装步骤:
1. 打开内核选项,并重新编译,启用ipfw
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=5
options IPFIREWALL_DEFAULT_TO_ACCEPT
在/etc/sysctl.conf中加入:
net.inet.ip.fw.verbose=1
net.inet.ip.fw.verbose_limit=5
该步骤成功
2. 修改/etc/rc.conf,加入:
firewall_enable="YES"
firewall_script="/etc/rc.firewall"
firewall_type="/etc/ipfw.rules"
firewall_logging_enabled="YES"
firewall_quiet="YES"
log_in_vain="YES"
3. 创建自定义的规则库/etc/ipfw.rules,内容如下:
ipfw -q -f flush
oif="lnc0"
odns="xxx.xxx.xxx.xxx" #我的dns ip
cmd="ipfw -q add"
ks="keep-state"
$cmd 00500 check-state
$cmd 00501 deny log all from any to any frag
$cmd 00502 deny tcp from any to any established
$cmd 00600 allow tcp from any to any 80 out via $oif setup $ks
$cmd 00610 allow tcp from any to $odns 53 out via $oif setup $ks
$cmd 00611 allow udp from any to $odns 53 out via $oif $ks
$cmd 20000 deny log ip from any to any
4. 修改/etc/syslog.conf,启用日志
加入一行:
!ipfw
*.* /var/log/ipfw.log
并touch /var/log/ipfw.log创建了日志文件
问题是:
1.规则库没有加载。
启动后,用ipfw show 查看,只看见一条规则
65535 18 3274 allow ip from any to any
这应该是内核选项吧。是不是意味着不仅/etc/ipfw.rules规则库没有加载,连/etc/rc.firewall都没有运行?
为了证实这一点,运行 sh /etc/rc.firewall ,提示出错:
Line 2 : bad command 'ipfw',稍微看了一下rc.firewall,并没有什么错啊,里面的命令是/sbin/ipfw
运行sh /etc/ipfw.rules ,再用ipfw show 查看,自定义规则加入
2.日志功能无法启用
如果第一个问题没有解决,估计这个问题也不可能解决
3.在控制台频繁出现提示,如:
Sep 15 10:43:21 john_f_1 kernel:Connection attempt to TCP xxx.xxx.xxx.xxx:135 from xxx.xxxx.xxx.xxx:3932 flags:0x02
烦死了,是不是因为firewall_quiet="YES"又没启作用?
通过这个提示看,又好像ipfw.rules中的某一条规则起作用了,why?
没有使用ipfw的经验,可现在又必须使用,我参考了不少文档,还是无法解决,大虾们给点建议吧。 |
|