Date: Wed, 22 Oct 2014 16:41:52 -0700 From: javocado <javocado@gmail.com> To: freebsd-net@freebsd.org Subject: ipfw command freezes system Message-ID: <CAP1HOmSBcvTcJs4FHGk%2BO2dVmyn=UN6URnre74bQOcyJx8hWog@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
I'm seeing an occasional, recurring problem on my 8.3-RELEASE amd64 systems where when I enter an ipfw rule, the system becomes locked up. For example, when entering a command like this: ipfw add 1 allow ip from x.x.x.x to me or other times with a command like: ipfw add xxx skipto ........ the server becomes unreachable via the network. I am however still able to get to a shell via console where I ran top: last pid: 25518; load averages: 0.75, 1.12, 0.93 up 4+00:13:02 13:55:34 221 processes: 1 running, 215 sleeping, 5 lock CPU: 0.0% user, 0.0% nice, 0.0% system, 0.0% interrupt, 100% idle Mem: 486M Active, 40G Inact, 174G Wired, 24M Cache, 24G Buf, 18G Free Swap: 32G Total, 32G Free PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND 25518 root 1 44 0 9372K 2768K CPU12 12 0:00 0.10% top 79561 xxxx 1 46 0 35284K 13424K *IPFW 12 271:00 0.00% sshd 79564 xxxx 1 45 0 156M 16808K select 0 65:08 0.00% rsync 22311 xxxx 1 44 0 27092K 4676K select 4 13:23 0.00% sshd 13056 xxxx 1 44 0 27092K 4720K select 0 12:13 0.00% sshd 43625 xxxx 1 45 0 29140K 6924K select 5 10:25 0.00% sshd 18925 xxxx 1 44 0 27092K 4640K select 8 10:08 0.00% sshd 14423 xxxx 1 44 0 29140K 6328K select 3 7:59 0.00% sshd 11356 xxxx 1 44 0 12992K 2544K select 2 7:52 0.00% sftp-server 20619 xxxx 1 44 0 116M 101M select 5 6:25 0.00% rsync 98406 xxxx 1 44 0 29140K 7136K select 2 6:09 0.00% sshd 20617 xxxx 1 44 0 35284K 12992K *IPFW 15 6:03 0.00% sshd 54146 xxxx 1 44 0 27092K 4556K select 3 5:04 0.00% sshd 63688 xxxx 1 44 0 27092K 5728K select 16 4:07 0.00% sshd 20624 xxxx 1 44 0 156M 102M select 0 3:45 0.00% rsync 43629 xxxx 1 44 0 5832K 2084K select 0 3:41 0.00% rsync Note those "*IPFW" state processes are long running child sshd processes, not master sshd daemon itself. I've tried to do an ipfw flush in these situations before but those commands never return and the system just stays locked up and unreachable. I was able to issue a reboot from the console, but even that did not complete: Oct 21 13:56:53 xxxx reboot: rebooted by root Oct 21 13:56:54 xxxx syslogd: exiting on signal 15 Waiting (max 60 seconds) for system process `vnlru' to stop...done Waiting (max 60 seconds) for system process `bufdaemon' to stop... and I had to reset. Here's the ipfw ruleset in place: 00110 count ip from any to any via igb0 in 00111 count ip from any to any via igb0 out 00210 skipto 410 ip from x.x.x.x/27,x.x.x.x/29,x.x.x.x/24,x.x.x.x/28 to me 00210 skipto 410 ip from me to x.x.x.x/27,x.x.x.x/29,x.x.x.x/24,x.x.x.x/28 00211 skipto 410 ip from x.x.x.x/24 to me 00211 skipto 410 ip from me to x.x.x.x/24 00212 skipto 410 ip from x.x.x.x/24 to me 00212 skipto 410 ip from me to x.x.x.x/24 00214 skipto 410 ip from x.x.x.x,x.x.x.x to me 00214 skipto 410 ip from me to x.x.x.x,x.x.x.x 00218 skipto 410 ip from x.x.x.x to me 00218 skipto 410 ip from me to x.x.x.x 00219 skipto 410 ip from x.x.x.x to me 00219 skipto 410 ip from me to x.x.x.x 00225 skipto 410 ip from x.x.x.x to me 00225 skipto 410 ip from me to x.x.x.x 00226 skipto 410 ip from x.x.x.x to me 00226 skipto 410 ip from me to x.x.x.x 00227 skipto 410 ip from x.x.x.x to me 00227 skipto 410 ip from me to x.x.x.x 00310 pipe 5 ip from me to x.x.x.x 00310 pipe 5 ip from x.x.x.x to me 00311 skipto 410 ip from me to x.x.x.x 00311 skipto 410 ip from x.x.x.x to me 00312 pipe 1 ip from any to me 00313 pipe 2 ip from any to me 00314 pipe 3 ip from me to any 00315 pipe 4 ip from me to any 00410 allow tcp from any to any established 00411 allow icmp from any to any icmptypes 0,3,8,11 00420 deny icmp from any to any 00430 allow ip from any to any via lo0 00510 deny ip from any to 127.0.0.0/8 00511 deny ip from 127.0.0.0/8 to any 00512 deny ip from 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16 to any 00513 deny ip from any to 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16 00514 deny ip from 0.0.0.0/8,169.254.0.0/16,192.0.2.0/24,224.0.0.0/4,240.0.0.0/4 to any 00515 deny ip from any to 0.0.0.0/8,169.254.0.0/16,192.0.2.0/24,224.0.0.0/4,240.0.0.0/4 00610 deny tcp from any to any tcpflags syn tcpoptions !mss 00611 deny tcp from any to any tcpflags syn,fin 00612 deny tcp from any to any tcpflags fin,psh,rst,urg 00613 deny tcp from any to any tcpflags fin,psh,urg 00614 deny tcp from any to any tcpflags syn,fin,ack,rst 00615 deny tcp from any to any tcpflags !syn,!fin,!ack 01010 allow udp from me to any dst-port 53 01011 allow udp from x.x.x.x,x.x.x.x 53 to me 01012 allow udp from any to me dst-port 33433-33499 01020 allow tcp from any to x.x.x.x dst-port 21,22,62000-64000 setup 65000 deny log logamount 1000 ip from any to me 65001 deny log logamount 1000 ip from any to me6 65535 allow ip from any to any # ipfw pipe list 00001: 200.000 Mbit/s 0 ms burst 0 q131073 50 sl. 0 flows (1 buckets) sched 65537 weight 0 lmax 0 pri 0 droptail sched 65537 type FIFO flags 0x0 0 buckets 1 active 0 ip 0.0.0.0/0 0.0.0.0/0 10 15000 0 0 0 00002: 32.000 Mbit/s 0 ms burst 0 q131074 50 sl. 0 flows (1 buckets) sched 65538 weight 0 lmax 0 pri 0 droptail sched 65538 type FIFO flags 0x1 64 buckets 10 active mask: 0x00 0xffffffff/0x0000 -> 0x00000000/0x0000 0 00003: 100.000 Mbit/s 0 ms burst 0 q131075 50 sl. 0 flows (1 buckets) sched 65539 weight 0 lmax 0 pri 0 droptail sched 65539 type FIFO flags 0x0 0 buckets 1 active 0 ip 0.0.0.0/0 0.0.0.0/0 6 312 1 52 0 00004: 24.000 Mbit/s 0 ms burst 0 q131076 50 sl. 0 flows (1 buckets) sched 65540 weight 0 lmax 0 pri 0 droptail sched 65540 type FIFO flags 0x1 64 buckets 9 active mask: 0x00 0x00000000/0x0000 -> 0xffffffff/0x0000 0 00005: 40.000 Mbit/s 0 ms burst 0 q131077 50 sl. 0 flows (1 buckets) sched 65541 weight 0 lmax 0 pri 0 droptail sched 65541 type FIFO flags 0x0 0 buckets 0 active What other troubleshooting or remedy should I do via console when this happens, or perhaps is there a problem with the way we've setup our ruleset? Thanks for your help!
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAP1HOmSBcvTcJs4FHGk%2BO2dVmyn=UN6URnre74bQOcyJx8hWog>