Date: Wed, 14 Oct 2009 02:33:08 +0400 From: Jeff Laine <wtf.jlaine@gmail.com> To: Michael Powell <nightrecon@hotmail.com> Cc: freebsd-questions@freebsd.org Subject: Re: How can I get >100 connections in FIN_WAIT_2 state from the same IP? Message-ID: <20091013223307.GA70023@free.bsd.loc> In-Reply-To: <hb2skn$scs$1@ger.gmane.org> References: <4AD4B9EA.5070304@optiksecurite.com> <B20ABCEA-21D4-47D6-8465-1C82D3F4EAA3@mac.com> <hb2skn$scs$1@ger.gmane.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue,13-10-2009 [17:50:00], Michael Powell wrote:
> Chuck Swiger wrote:
>
> > On Oct 13, 2009, at 10:33 AM, Martin Turgeon wrote:
> >> I would like to know if anyone knows the reason why I get a lot of
> >> connections (more than 100) from the same IP in FIN_WAIT_2 state.
> >
> > That IP is probably running a web proxy or possibly some kind of
> > spider. It could also be malicious, trying to exploit webserver
> > vulnerabilities, etc-- search your logs for that IP and see what it is
> > doing.
> >
> >> In this case the connections are on port 80. Is it a problem with the
> >> client's browser or OS? Is it possible that some mobile devices
> >> doesn't
> >> close their connections correctly to save bandwidth and battery?
> >
> > Yes, it's not uncommon for various platforms to simply drop
> > connections rather than closing them properly. You can run tcpdrop to
> > forcibly get rid of them, but they should time out within a few
> > minutes anyway. If you believe the remote IP is being abusive,
> > consider firewalling it....
> >
>
> This is also common from the differences in TCP/IP stacks across various
> platforms. Windows, Linux, Solaris, etc are all slightly different in this
> regard.
>
> If you're running a web server you can set the following in /etc/sysctl.conf
> in an attempt to mitigate. Don't know if the timeout period can be altered.
>
> net.inet.tcp.fast_finwait2_recycle=1
>
> This won't stop it from happening but it will trim the pool down some.
Hi,
maybe you'll find this info useful as well:
>From man pf.conf:
[...]
Options
tcp.finwait
The state after both FINs have been exchanged and the connec-
tion is closed. Some hosts (notably web servers on Solaris)
send TCP packets even after closing the connection. Increas-
ing tcp.finwait (and possibly tcp.closing) can prevent block-
ing of such packets.
[...]
It looks like this pf tunable has a 45s default value:
#pfctl -st
[...]
tcp.finwait 45s
[...]
Setting pf optimization to 'aggressive' changes it to 30s value.
--
Best regards,
Jeff
| "Nobody wants to say how this works. |
| Maybe nobody knows ..." |
| Xorg.conf(5) |
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20091013223307.GA70023>
