Hi,

How much memory does your machine have? I have never tried ipfw with -d option.
I'll try next time. Actually one_pass is already turned off in sysctl.conf
Any other recommendations? One suggested me to remove keep-state from
http filtering rules. Will it solve the problem?

Ganbold


At 01:41 AM 05.01.2004, you wrote:
i have:

sysctl net.inet.ip.fw.dyn_buckets=16384
sysctl net.inet.ip.fw.dyn_syn_lifetime=5
sysctl net.inet.ip.fw.dyn_max=32000
sysctl net.inet.ip.fw.debug=0
sysctl net.inet.ip.dummynet.max_chain_len=256
sysctl net.inet.ip.dummynet.hash_size=1024
sysctl net.inet.ip.fw.verbose_limit=1

and am running ~3000 users with ~2 sessions each, stateful, with shaping.

i wonder what you get if you run ipfw -d show when your error happens?

i wonder if your shaper is getting full and droping the syn packets that
setup the flow? maybe if you put the shaper rules @ the end and turned off
one-pass?

> -----Original Message-----
> From: Ganbold [mailto:[EMAIL PROTECTED]
> Sent: January 4, 2004 4:32 AM
> To: [EMAIL PROTECTED]
> Cc: [EMAIL PROTECTED]
> Subject: ipfw2 problem
>
>
> Hi,
>
> I'm using FreeBSD 5.2-current machine for firewall. It is
> configured as a
> bridged ipfw2 firewall.
> Also this machine works a a traffic shaper using ip dummynet features.
> The machine has 2GHz Pentium 4 CPU and 128MB RAM and 3 Intel
> Pro 100MB
> cards. 2 cards are used
> for bridging.
> Everything works fine, except sometimes it seems to be
> dropping some packets.
> When I try to browse the web, sometimes it just shows error
> page. This
> situation happens during peak hours
> So my guess is firewall drops packets and maybe the machine
> needs more RAM.
> Another guess is I'm using stateful features of ipfw2 and
> when dynamic rule
> count reaches maximum
> it just drops packets waiting to be deleted some dynamic
> rules. Am I right?
> Can somebody explain
> me what will happen when  net.inet.ip.fw.dyn_count reaches
> net.inet.ip.fw.dyn_max value?
>
> Also I tried to increase the maximum value up to 8192 but it
> seems no result.
>
> # Added in sysctl.conf
> net.inet.ip.fw.dyn_max=8192
>
> I attached my /etc/rc.firewall and /etc/sysctl.conf files.
> Can somebody tell me where I did wrong in config files?
> Should I increase
> the RAM?
> Or should I set smaller life time for dynamic rules?
>
> I hope somebody in this list point me to the right direction.
>
> Part of the /etc/rc.firewall
> --------------------------------------------------------------
> ---------------------------------------------------------------
> ...
> [Cc][Uu][Ss][Tt][Oo][Mm])
>
> ${fwcmd} -f flush
> ${fwcmd} -f pipe flush
>
> # Things that we have kept state on before get to go through
> in a hurry
> ${fwcmd} add 10 check-state
>
> ${fwcmd} add 21 deny all from 10.0.0.0/8 to any via fxp0
> ${fwcmd} add 23 deny all from 172.16.0.0/12 to any via fxp0
> ${fwcmd} add 25 deny all from 192.168.0.0/16 to any via fxp0
>
> ${fwcmd} add 34 deny all from 127.0.0.0/8 to any in via fxp0
>
> ################### stop Welcia/Nachi ###########################
> ${fwcmd} add 35 deny icmp from any to any iplen 92
>
> ####################### DUMMYNET config #########################
>
> ##################### 64KB #######################################
> #
> # selenge
> ${fwcmd} pipe 41 config bw 64kbit/s
> ${fwcmd} pipe 42 config bw 64kbit/s
> ${fwcmd} add 62 pipe 41 all from 202.179.x.x/30 to any in via fxp1
> ${fwcmd} add 63 pipe 42 all from any to 202.179.x.x/30 in via fxp0
>
> # khentii
> ${fwcmd} pipe 43 config bw 64kbit/s
> ${fwcmd} pipe 44 config bw 64kbit/s
> ${fwcmd} add 64 pipe 43 all from 202.179.x.x/30 to any in via fxp1
> ${fwcmd} add 65 pipe 44 all from any to 202.179.x.x/30 in via fxp0
>
> # arkhangai
> ${fwcmd} pipe 45 config bw 64kbit/s
> ${fwcmd} pipe 46 config bw 64kbit/s
> ${fwcmd} add 66 pipe 45 all from 202.179.x.x/30 to any in via fxp1
> ${fwcmd} add 67 pipe 46 all from any to 202.179.x.x/30 in via fxp0
>
> # traffic police
> ${fwcmd} pipe 47 config bw 64kbit/s
> ${fwcmd} pipe 48 config bw 64kbit/s
> ${fwcmd} add 68 pipe 47 all from
> 202.179.x.x/30,202.179.x.x/28 to any in
> via fxp1
> ${fwcmd} add 69 pipe 48 all from any to
> 202.179.x.x/30,202.179.x.x/28 in
> via fxp0
>
> ##################### 128KB #######################################
> #
> # glencore
> ${fwcmd} pipe 49 config bw 128kbit/s
> ${fwcmd} pipe 50 config bw 128kbit/s
> ${fwcmd} add 70 pipe 49 all from
> 202.179.x.x/29,202.179.x.x/30 to any in
> via fxp1
> ${fwcmd} add 71 pipe 50 all from any to
> 202.179.x.x/29,202.179.x.x/30 in
> via fxp0
>
> # ikh tenger
> ${fwcmd} pipe 51 config bw 128kbit/s
> ${fwcmd} pipe 52 config bw 128kbit/s
> ${fwcmd} add 72 pipe 51 all from 202.179.x.x/29 to any in via fxp1
> ${fwcmd} add 73 pipe 52 all from any to 202.179.x.x/29 in via fxp0
>
> # xas
> ${fwcmd} pipe 53 config bw 128kbit/s
> ${fwcmd} pipe 54 config bw 128kbit/s
> ${fwcmd} add 74 pipe 53 all from
> 202.179.x.x/29,202.179.x.x/30 to any in
> via fxp1
> ${fwcmd} add 75 pipe 54 all from any to
> 202.179.x.x/29,202.179.x.x/30 in
> via fxp0
>
>
> ##################### 256KB #######################################
> #mtc
> ${fwcmd} pipe 55 config bw 256kbit/s
> ${fwcmd} pipe 56 config bw 256kbit/s
>
> ${fwcmd} add 76 pipe 55 all from
> 202.179.x.x/30,202.179.x.x/29 to any in
> via fxp1
> ${fwcmd} add 77 pipe 56 all from any to
> 202.179.x.x/30,202.179.x.x/29 in
> via fxp0
>
> #gtz
> ${fwcmd} pipe 57 config bw 256kbit/s
> ${fwcmd} pipe 58 config bw 256kbit/s
>
> ${fwcmd} add 78 pipe 57 all from 202.179.x.x/28 to any in via fxp1
> ${fwcmd} add 79 pipe 58 all from any to 202.179.x.x/28 in via fxp0
>
> ######################### STANDARDS #########################
> # Allow TCP through if setup succeeded
> ${fwcmd} add 100 pass tcp from any to any established
>
> # Allowing connections through localhost.
> ${fwcmd} add 300 pass all from any to any via lo0
>
> # pass ARP
> ${fwcmd} add 301 allow layer2 mac-type arp
>
> # Allow the inside hosts to say anything they want
> ${fwcmd} add pass tcp from any to any in via fxp1 setup keep-state
> ${fwcmd} add pass udp from any to any in via fxp1 keep-state
> ${fwcmd} add pass ip from any to any in via fxp1
>
> # Allowing SSH,web connection and LOG all incoming connections.
> ${fwcmd} add pass tcp from any to any 22 in via fxp0 setup keep-state
> ${fwcmd} add pass tcp from any to any 80,443 in via fxp0
> setup keep-state
>
> # Allowing and LOG all INCOMING, outgoing FTP, telnet, SMTP,
> POP3, ident,
> imap conections.
> ${fwcmd} add pass tcp from any to any 20-21,23,25,110,113,143 in via
> fxp0  setup keep-state
> ${fwcmd} add pass udp from any to any 20-21,23,25,110,113,143
> in via fxp0
> keep-state
>
> # Pass the "quarantine" range
> ${fwcmd} add pass tcp from any to any 18198,18211,40000-65535
> in via fxp0
> setup keep-state
> ${fwcmd} add pass udp from any to any 18198,18211,40000-65535
> in via fxp0
> keep-state
>
> # MSN, Yahoo ports
> ${fwcmd} add pass tcp from any to any
> 1863,2001-2120,6801,6891-6901,7801-7825 in via fxp0 setup keep-state
> ${fwcmd} add pass udp from any to any
> 1863,2001-2120,6801,6891-6901,7801-7825 in via fxp0 keep-state
>
> # additional h323,yahoo,remote admin,vnc ports
> ${fwcmd} add pass tcp from any to any
> 1719-1725,2082,5000-6000,8010,8100 in
> via fxp0 setup keep-state
> ${fwcmd} add pass udp from any to any
> 1719-1725,2082,5000-6000,8010,8100 in
> via fxp0 keep-state
>
> # Allowing mysql,Jabber,IRC,chat.
> ${fwcmd} add pass tcp from any to any
> 3306,4899,6155,6502,6667,8000 in via
> fxp0  setup keep-state
> ${fwcmd} add pass udp from any to any
> 3306,4899,6155,6502,6667,8000 in via
> fxp0 keep-state
>
> # allow radius
> ${fwcmd} add pass tcp from any to any
> 1645,1646,1812,1813,9000-9002 in via
> fxp0  setup keep-state
> ${fwcmd} add pass udp from any to any
> 1645,1646,1812,1813,9000-9002 in via
> fxp0 keep-state
>
> # additional eMule ports
> ${fwcmd} add pass tcp from any to any
> 2323,4242,4243,4661-4672,7700-7800 in
> via fxp0 setup keep-state
> ${fwcmd} add pass udp from any to any
> 2323,4242,4243,4661-4672,7700-7800 in
> via fxp0 keep-state
>
> # Allowing DNS lookups.
> ${fwcmd} add pass tcp from any to any 53 in via fxp0 setup keep-state
> ${fwcmd} add pass udp from any to any 53 in via fxp0 keep-state
> ${fwcmd} add pass udp from any 53 to any in via fxp0 keep-state
>
> ${fwcmd} add pass icmp from 202.179.x.x/19 to any icmptypes
> 0,3,4,8,11,12
> ${fwcmd} add pass icmp from not 202.179.x.x/19 to
> 202.179.x.x/19 icmptypes
> 0,3,4,11,12
>
> # Allowing SOCKS,HTTP proxy to outside only
> ${fwcmd} add pass tcp from 202.179.x.x/19 to any 1080,8080 in via
> fxp0  setup keep-state
> ${fwcmd} add pass udp from 202.179.x.x/19 to any 1080,8080 in
> via fxp0
> keep-state
>
> # Allow the bridge machine to say anything it wants
> ${fwcmd} add pass tcp from 202.179.x.x to any setup keep-state
> ${fwcmd} add pass udp from  202.179.x.x  to any keep-state
> ${fwcmd} add pass ip from  202.179.x.x  to any
>
> ${fwcmd} add pass tcp from any to any in via fxp2 setup keep-state
> ${fwcmd} add pass udp from any to any in via fxp2 keep-state
> ${fwcmd} add pass ip from any to any in via fxp2
>
> # Allow NTP queries out in the world
> ${fwcmd} add pass udp from any to any 123 in via fxp0 keep-state
>
> # allow multicast
> ${fwcmd} add pass all from 202.179.x.x/19 to 224.0.0.0/4 via fxp0
> ${fwcmd} add pass all from 224.0.0.0/4 to 202.179.x.x/19 via fxp0
>
> # Allowing OSPF
> ${fwcmd} add pass ospf from any to any
>
> # Allowing GRE
> ${fwcmd} add pass gre from any to any
>
> # Allowing IP fragments to pass through.
> ${fwcmd} add 65001 pass all from any to any frag
>
> # Everything else is suspect
> ${fwcmd} add drop log ip from any to any
> ...
> --------------------------------------------------------------
> ---------------------------------------------------------------
>
> /etc/sysctl.conf file.
> --------------------------------------------------------------
> ---------------------------------------------------------------
> net.link.ether.bridge_cfg=fxp0:0,fxp1:0
> net.link.ether.bridge_ipfw=1
> net.link.ether.bridge.enable=1
>
> net.inet.ip.fw.one_pass=0
> security.bsd.see_other_uids=0
> net.link.ether.inet.max_age=1200
> kern.ipc.somaxconn=1024
> net.inet.tcp.sendspace=32768
> net.inet.tcp.recvspace=32768
>
> net.inet.ip.sourceroute=0
> net.inet.ip.accept_sourceroute=0
>
> # Stop broadcast ECHO response
> net.inet.icmp.bmcastecho=0
>
> # Stop other broadcast probes
> net.inet.icmp.maskrepl=0
>
> net.inet.tcp.blackhole=2
> net.inet.udp.blackhole=1
>
> net.inet.ip.fw.dyn_max=8192
> net.inet.ip.fw.dyn_ack_lifetime=3600
> net.inet.ip.fw.dyn_udp_lifetime=10
> net.inet.ip.fw.dyn_buckets=1024
>
> --------------------------------------------------------------
> ---------------------------------------------------------------
>
> tia,
>
> Ganbold
>
> _______________________________________________
> [EMAIL PROTECTED] mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to
> "[EMAIL PROTECTED]"
>

_______________________________________________ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to