免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1852 | 回复: 8
打印 上一主题 下一主题

[FreeBSD] 我的FreeBSD+ipfilter随机冻结,请大家帮我诊断一下原因 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-07-22 11:24 |只看该作者 |倒序浏览

使用FreeBSD也有几年了,一般常用它配合ipfilter为很多客户做防火墙,
一直都很顺利,但最近却碰到一个很恼火的问题,就是FreeBSD系统随机在
没有任何反应和提示的情况下冻结。

过程是这样的,有个客户大约有2000多个用户,但同时在线的最多也只有600
多人,我用FreeBSD做过滤和NAT,它下面有三层交换机也做了过滤,其实很多病毒
数据上不来了,到不了FreeBSD,硬件我用的工控机,板载两个Intel559网卡,硬盘
用的DOM(电子盘),软件用的FreeBSD 4.7(P27)+ipfilter 3.4.35,内核都是
很平常的配置。

最开始的时候只要把防火墙放上去一接外部网线,机器立刻冻结,后面我换了一块
主板,可以用一会但是也会在没任何提示的情况下冻结,当时流量并不大。太可怕了。

后来我重新用FreeBSD 4.8(P24)+ipfilter 4.1.2,又换了一块不同型号的主板,
情况依旧,有时在下面没接任何电脑的情况也会冻结,但是这几次我在单位用它又没
这种情况,开一天都没事,而在同样的机器下装个win2000没问题,想来内存没问题,
现在找不到原因,没办法,我现在换成FreeBSD 4.8(P24)+ipfilter 3.4.31,但还没敢
测试。

这事严重打击我,我用FreeBSD几年了,做了很多同样的防火墙。第一次这么不顺,
还不知道是软件问题还是硬件问题,一愁没展,请各为好兄弟帮我想想原因在哪???
先谢谢了!!!

我的QQ:40448037

附:我的ipf规则:
block in quick all with ipopts
block in quick all with frag
block in quick all with short

block in  quick proto tcp/udp from any to any port 134 >;< 140
block in  quick proto tcp/udp from any to any port = 445
block in  quick proto tcp/udp from any to any port = 593
block in  quick proto tcp/udp from any to any port = 333
block in  quick proto tcp/udp from any to any port = 5554
block in  quick proto tcp/udp from any to any port = 9995
block in  quick proto tcp/udp from any to any port = 9996
block in  quick proto tcp/udp from any to any port = tftp
block in  quick proto tcp/udp from any to any port = 554
block in  quick proto tcp/udp from any to any port = 1434
block in  quick proto tcp/udp from any to any port = 4444

pass  in  quick on fxp1 all
pass  out quick on fxp1 all
pass  in  quick on lo0  all
pass  out quick on lo0  all

block out quick on fxp0 all  head 11
block out quick on fxp0 from any to 192.168.0.0/16 group 11
block out quick on fxp0 from any to 172.16.0.0/12 group 11
block out quick on fxp0 from any to 10.0.0.0/8 group 11
block out quick on fxp0 from any to 127.0.0.0/8 group 11
block out quick on fxp0 from any to 0.0.0.0/8 group 11
block out quick on fxp0 from any to 169.254.0.0/16 group 11
block out quick on fxp0 from any to 192.0.2.0/24 group 11
block out quick on fxp0 from any to 204.152.64.0/23 group 11
block out quick on fxp0 from any to 224.0.0.0/3 group 11
block out quick on fxp0 from any to 20.20.20.0/24 group 11
pass  out quick on fxp0 from 172.16.0.0/12 to any keep state group 11
pass  out quick on fxp0 from 192.168.0.0/16 to any keep state group 11
pass  out quick on fxp0 from 10.0.0.0/8 to any keep state group 11

block in quick on fxp0 all  head 12
block in quick on fxp0 from 192.168.0.0/16 to any group 12
block in quick on fxp0 from 172.16.0.0/12 to any group 12
block in quick on fxp0 from 10.0.0.0/8 to any group 12
block in quick on fxp0 from 127.0.0.0/8 to any group 12
block in quick on fxp0 from 0.0.0.0/8 to any group 12
block in quick on fxp0 from 169.254.0.0/16 to any group 12
block in quick on fxp0 from 192.0.2.0/24 to any group 12
block in quick on fxp0 from 204.152.64.0/23 to any group 12
block in quick on fxp0 from 224.0.0.0/3 to any group 12
block in quick on fxp0 from 20.20.20.0/24 to any group 12
pass  in quick on fxp0 proto tcp from any to 172.17.0.0/16 port = http flags S keep state group 12
pass  in quick on fxp0 proto tcp from any to 172.17.0.0/16 port = ftp  flags S keep state group 12
pass  in quick on fxp0 proto tcp from any to 172.17.0.0/16 port = smtp flags S keep state group 12
pass  in quick on fxp0 proto tcp from any to 172.17.0.0/16 port = pop3 flags S keep state group 12
pass  in quick on fxp0 proto tcp from any to any port = 22 flags S keep state group 12


我的NAT:
map fxp0 192.168.0.0/16 ->; xx.xx.xx.xx/29 proxy port 21   ftp/tcp
map fxp0 192.168.0.0/16 ->; xx.xx.xx.xx/29 proxy port 1720 h323/tcp
map fxp0 192.168.0.0/16 ->; xx.xx.xx.xx/29 portmap tcp/udp auto
map fxp0 192.168.0.0/16 ->; xx.xx.xx.xx/29

map fxp0 172.16.0.0/12 ->; xx.xx.xx.xx/29 proxy port 21   ftp/tcp     
map fxp0 172.16.0.0/12 ->; xx.xx.xx.xx/29 proxy port 1720 h323/tcp         
map fxp0 172.16.0.0/12 ->; xx.xx.xx.xx/29 portmap tcp/udp auto
map fxp0 172.16.0.0/12 ->; xx.xx.xx.xx/29

map fxp0 10.0.0.0/8 ->; xx.xx.xx.xx/29 proxy port 21   ftp/tcp     
map fxp0 10.0.0.0/8 ->; xx.xx.xx.xx/29 proxy port 1720 h323/tcp         
map fxp0 10.0.0.0/8 ->; xx.xx.xx.xx/29 portmap tcp/udp auto
map fxp0 10.0.0.0/8 ->; xx.xx.xx.xx/29

论坛徽章:
0
2 [报告]
发表于 2004-07-22 13:05 |只看该作者

我的FreeBSD+ipfilter随机冻结,请大家帮我诊断一下原因

1.是否 “接外网”==“死机”?而“不接外网”==“不死机”
2.将防火墙的 block 规则都加上 log,定向到 syslog ,然后将 syslog 定向到其它机器
3.分析日志
4.ipfilter 的 HOWTO 不建议使用 proxy,说会有漏洞。不知道是否和故障相关(偶不敢确定)
5.检查你的网卡是否工作正常

可能网络相关配置(包括核心的相关配置)有关,要么在用户环境中有异常包。

论坛徽章:
0
3 [报告]
发表于 2004-07-22 13:25 |只看该作者

我的FreeBSD+ipfilter随机冻结,请大家帮我诊断一下原因

你配置单个网卡,绑两个IP问题便可以解决

论坛徽章:
0
4 [报告]
发表于 2004-07-22 13:33 |只看该作者

我的FreeBSD+ipfilter随机冻结,请大家帮我诊断一下原因

楼上的朋友说的:你配置单个网卡,绑两个IP问题便可以解决???能说说为啥吗?可行吗?

这个系统配置在其它地方都没问题的,我怀疑电源问题和ipfilter版本问题,但在家里一天都没事,真郁闷啊!!!

论坛徽章:
0
5 [报告]
发表于 2004-07-22 13:42 |只看该作者

我的FreeBSD+ipfilter随机冻结,请大家帮我诊断一下原因

回复james_h 朋友的问题:
1,反正在上网的过程中要冻结,没任何先兆和提示,但在单位测试没任何问题,开一天都没问题
2,冻结的时候没任何输出和提示,用syslog没用,因为我就用它来做日志
3,用的DOM电子盘,是只读的,不会有日志
4,核心配置很平常是:
machine                i386
#cpu                 I386_CPU
#cpu                 I486_CPU
cpu                 I586_CPU
cpu                I686_CPU
ident                firewall
maxusers        0

makeoptions        KERNEL=fw.586

options         INET                        #InterNETworking
options         FFS                        #Berkeley Fast Filesystem
options         FFS_ROOT                #FFS usable as root device [keep this!]
options         MFS                        #Memory Filesystem
options         MD_ROOT                        #MD is a potential root device
options         PROCFS                        #Process filesystem
options         COMPAT_43                #Compatible with BSD 4.3 [KEEP THIS!]
options         P1003_1B                #Posix P1003_1B real-time extensions
options         _KPOSIX_PRIORITY_SCHEDULING
options                ICMP_BANDLIM                #Rate limit bad replies
options         KBD_INSTALL_CDEV        #install a CDEV entry in /dev

options         SYSVMSG
options         MSGMNB=8192     # max # of bytes in a queue
options         MSGMNI=40       # number of message queue identifiers
options         MSGSEG=512      # number of message segments per queue
options         MSGSSZ=64       # size of a message segment
options         MSGTQL=2048     # max messages in system

options         PANIC_REBOOT_WAIT_TIME=4
options                VM_KMEM_SIZE_SCALE="2"

options         IPFILTER                #ipfilter support
options                IPFILTER_DEFAULT_BLOCK        #block all packets by default
options                IPFILTER_LOG

options         TCP_DROP_SYNFIN         #drop TCP packets with SYN+FIN
options         IPSTEALTH                  #支持秘密IP转发
options         RANDOM_IP_ID                 #随机IP ID,阻止信息泄漏
options                BRIDGE

options         NMBCLUSTERS=4096
options         NO_SWAPPING

options         DEVICE_POLLING                 #改善网络响应时间,但realtek不支持
options                HZ=1000

options         NETGRAPH
options         NETGRAPH_PPPOE
options         NETGRAPH_SOCKET
options         NETGRAPH_ETHER
options                 NETGRAPH_IFACE
options                 NETGRAPH_PPP
options                 NETGRAPH_BPF
options                 NETGRAPH_VJC
options                 NETGRAPH_KSOCKET
options                 NETGRAPH_PPTPGRE
options                 NETGRAPH_L2TP
options                 NETGRAPH_TTY
options                 NETGRAPH_MPPC_ENCRYPTION
options                 NETGRAPH_ONE2MANY

options                IPSEC
options                IPSEC_ESP

device                isa
device                pci


# ATA and ATAPI devices
device                ata
device                atadisk                        #ATA disk drives
options                ATA_STATIC_ID

# atkbdc0 controls both the keyboard and the PS/2 mouse
device                atkbdc0        at isa? port IO_KBD
device                atkbd0        at atkbdc? irq 1 flags 0x1

device                vga0        at isa?
options         VGA_NO_FONT_LOADING         # 不需要保存/加载字体[节省内存]
options         VGA_NO_MODE_CHANGE          # 不需要修改显示模式[节省内存]

# syscons is the default console driver, resembling an SCO console
device                sc0        at isa? flags 0x100
options         MAXCONS=1                 # 不需要更多的控制台
options         SC_DISABLE_REBOOT         # 禁止Ctrl+Alt+Del重启,必须以root登录。
options         SC_NO_CUTPASTE                 # 禁用剪贴板[节省内存]
options         SC_NO_FONT_LOADING         # 禁用字体加载[节省内存]
options         SC_NO_SYSMOUSE                 # 禁用鼠标[节省内存]


# Floating point support - do not disable.
device                npx0        at nexus? port IO_NPX irq 13

# Serial (COM) ports
device                sio0        at isa? port IO_COM1 flags 0x10 irq 4
device                sio1        at isa? port IO_COM2 irq 3

# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device                miibus                # MII bus support
#device                dc                # DEC/Intel 21143 and various workalikes
device                fxp                # Intel EtherExpress PRO/100B (82557, 8255
#device                pcn                # AMD Am79C97x PCI 10/100 NICs
device                rl                # RealTek 8129/8139
#device                sf                # Adaptec AIC-6915 (``Starfire'')
#device                sis                # Silicon Integrated Systems SiS 900/SiS 7016
#device                ste                # Sundance ST201 (D-Link DFE-550TX)
#device                tl                # Texas Instruments ThunderLAN
#device                tx                # SMC EtherPower II (83c170 ``EPIC'')
#device                vr                # VIA Rhine, Rhine II
#device                wb                # Winbond W89C840F
#device                wx                # Intel Gigabit Ethernet Card (``Wiseman'')
#device                xl                # 3Com 3c90x (``Boomerang'', ``Cyclone'')
#device                bge                # Broadcom BCM570x (``Tigon III'')
#device                de

# ISA Ethernet NICs.
# 'device ed' requires 'device miibus'
device                ed0        at isa? port 0x280 irq 10 iomem 0xd8000
#device                ex
#device                ep
#device                fe0        at isa? port 0x300
# Xircom Ethernet
#device                xe
# The probe order of these is presently determined by i386/isa/isa_compat.c.
device                lnc0        at isa? port 0x280 irq 10 drq 0

# Pseudo devices - the number indicates how many units to allocate.
pseudo-device        loop                # Network loopback
pseudo-device        ether                # Ethernet support
pseudo-device        ppp                # Kernel PPP
pseudo-device        tun                # Packet tunnel.
pseudo-device        pty                # Pseudo-ttys (telnet etc)
pseudo-device        md                # Memory "disks"
pseudo-device        gif                # IPv6 and IPv4 tunneling
pseudo-device        vlan

# The `bpf' pseudo-device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
pseudo-device        bpf                #Berkeley packet filter

后面包括网卡polling我都去掉了,还是这样

论坛徽章:
0
6 [报告]
发表于 2004-07-22 14:13 |只看该作者

我的FreeBSD+ipfilter随机冻结,请大家帮我诊断一下原因

关注这个问题。

论坛徽章:
0
7 [报告]
发表于 2004-07-22 14:46 |只看该作者

我的FreeBSD+ipfilter随机冻结,请大家帮我诊断一下原因

原帖由 "sh1970" 发表:
...
这个系统配置在其它地方都没问题的,我怀疑电源问题和ipfilter版本问题,但在家里一天都没事,真郁闷啊!!!


你用的 ipfilter 不是系统自己的,而是另外安装的?

论坛徽章:
0
8 [报告]
发表于 2004-07-22 14:49 |只看该作者

我的FreeBSD+ipfilter随机冻结,请大家帮我诊断一下原因

既然同样的配置在其他环境下可以,那应该是硬件环境的问题。

论坛徽章:
0
9 [报告]
发表于 2004-07-22 14:57 |只看该作者

我的FreeBSD+ipfilter随机冻结,请大家帮我诊断一下原因

对,我也注意到楼主在不断换IPFILTER的版本,为何不直接用BSD自带的IPFILTER呢?我想这个是最稳定的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP