Есть проблема с падением производительности сети, а именно исходящих запросов. Глюк довольно странный и не устраняемый заменой оборудования. Дело в том что когда клиентов немного- все прекрасно работает, запросы уходят моментально и страницы открываются как по локалке, но когда количество одновременно подключенных клиентов увеличивется до 30-40 все - затык, запрос может висеть и минуту, иногда приходится даже обновлять его, а ответ приходить практически моментально( страницы грузятся очень быстро)
Есть сервак:
две сетевухи первая: смотрит в интернет на ней прицеплен реальный адрес 212.154.х.хFreeBSD 8.0-RELEASE-p2 #1: Wed Feb 24 12:04:18 ALMT 2010
CPU: Intel(R) Xeon(TM) CPU 3.00GHz (2992.51-MHz K8-class CPU)
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
вторая смотрит внутрь с адресом 192.168.0.2em0: <Intel(R) PRO/1000 Network Connection 6.9.14> port 0xec80-0xecbf mem 0xfebe0000-0xfebfffff irq 16 at device 4.0 on pci7
(сразу оговорюсь что неисправности оборудования практически сведены к минимуму, т.к. это последняя конфигурация и та же ситуация происходила и на 3Com-овской и на Intel-овской карте)re0: <RealTek 8169/8169S/8169SB(L)/8110S/8110SB(L) Gigabit Ethernet> port 0xdc00-0xdcff mem 0xfcfffc00-0xfcfffcff irq 48 at device 1.0 on pci3
включен pf,nat
поднят: BIND 9.6.1-P1 -t /var/named -u bind он держит первичную зону.
Канал 2Мб/с. Сначала были глюки с ласт-майлом, но после усердного пинания прова, и замены кабеля а также порта на DSLAMе, ситуация не изменилась.
Так же на нем крутится
и поднят exim:Squid Cache: Version 2.7.STABLE7
пробовал добавить одновременных коннектов и портовExim version 4.71 #0 (FreeBSD 8.0) built 25-Feb-2010 10:17:08
Copyright (c) University of Cambridge, 1995 - 2007
Probably Berkeley DB version 1.8x (native mode)
Support for: crypteq iconv() use_setclassresources PAM Perl Expand_dlfunc OpenSSL Content_Scanning DKIM Old_Demime Experimental_SPF
Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz dnsdb dsearch mysql nis nis0 passwd
Authenticators: cram_md5 dovecot plaintext spa
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp
Fixed never_users: 0
Size of off_t: 8
OpenSSL compile-time version: OpenSSL 0.9.8k 25 Mar 2009
OpenSSL runtime version: OpenSSL 0.9.8k 25 Mar 2009
Configuration file is /usr/local/etc/exim/configure
результат тот же.net.inet.ip.portrange.randomtime: 45
net.inet.ip.portrange.randomcps: 10
net.inet.ip.portrange.randomized: 1
net.inet.ip.portrange.reservedlow: 0
net.inet.ip.portrange.reservedhigh: 1023
net.inet.ip.portrange.hilast: 65535
net.inet.ip.portrange.hifirst: 49152
net.inet.ip.portrange.last: 48000
net.inet.ip.portrange.first: 1024
net.inet.ip.portrange.lowlast: 600
net.inet.ip.portrange.lowfirst: 1023
kern.ipc.somaxconn: 4096
Перегрузишь правила PF 2 минуты работает, потом опять затык.
Пробовал стопить squid чтоб все ездили через голый NAT эффект тот же.
В Pfе уже открыл все что можно было вот конфиг:
вот и так уже неделю.int_if="re0"
ext_if="em0"
int_net="192.168.0.0/24"
ext_net="212.154.х.х/26"
proxy="127.0.0.1"
gate="192.168.0.2"
aval="212.154.х.5/32"
ftp_ip="212.154.х.2/32"
mail="212.154.х.1/32"
vsrv="192.168.0.100"
srva="192.168.0.5"
john="192.168.0.234"
cheef="192.168.0.146"
table <badhosts> persist file "/etc/badhosts"
tcp_services="{ntp,domain,www,https,ssh,imap,imaps,pop3,pop3s,9100,smtp,3128,3306,6017,8000 }"
email="{smtp, 465, 587, pop3, imap, imap3, imaps, pop3s }"
webports="{ http, https, 1000 }"
ftp="{ftp, ftp-data }"
# options
set block-policy return
set loginterface $ext_if
set skip on lo
# scrub
#scrub in on $ext_if all fragment reassemble min-ttl 20 max-mss 1500
#scrub in on $ext_if all no-df
#scrub on $ext_if all reassemble tcp
nat on $ext_if from $int_if:network to any -> ($ext_if)
nat-anchor "ftp-proxy/*"
rdr-anchor "ftp-proxy/*"
#nat/rdr
#Redirect
rdr on $int_if proto tcp from $int_if:network to port 80 -> 127.0.0.1 port 3128
#rdr on $int_if proto tcp from any to any port ftp -> 127.0.0.1 port 8021
#web and email servers inside
rdr on $ext_if proto tcp from any to $aval port $webports -> $srva
rdr on $ext_if proto tcp from any to $aval port $email -> $srva
rdr on $ext_if proto tcp from any to $mail port $email -> $gate
rdr on $ext_if proto tcp from any to any port 6882 -> $john port 6882
rdr on $ext_if proto udp from any to any port 6882 -> $john port 6882
rdr on $ext_if proto tcp from any to any port 6883 -> $cheef port 6883
rdr on $ext_if proto udp from any to any port 6883 -> $cheef port 6883
rdr on $ext_if proto tcp from any to any port 5631 -> $cheef port 5631
rdr on $ext_if proto udp from any to any port 5632 -> $cheef port 5632
rdr on $ext_if proto tcp from any to any port 3389 -> $cheef port 3389
rdr on $ext_if proto udp from any to any port 3389 -> $cheef port 3389
rdr on $ext_if proto tcp from any to any port 8100 -> $vsrv port 8100
rdr on $ext_if proto udp from any to any port 8100 -> $vsrv port 8100
antispoof quick for { lo $int_if $ext_if }
anchor "ftp-proxy/*"
pass in quick on $ext_if proto tcp from any to $john port 6882 flags S/SA keep state
pass in quick on $ext_if proto udp from any to $john port 6882 keep state
pass in quick on $ext_if proto tcp from any to $cheef port 6883 flags S/SA keep state
pass in quick on $ext_if proto udp from any to $cheef port 6883 keep state
pass in quick on $ext_if proto tcp from any to $cheef port 3389 flags S/SA keep state
pass in quick on $ext_if proto udp from any to $cheef port 3389 keep state
pass in quick on $ext_if proto tcp from any to $cheef port 5631 flags S/SA keep state
pass in quick on $ext_if proto udp from any to $cheef port 5632 keep state
pass in quick on $ext_if proto tcp from any to $vsrv port 8100 flags S/SA keep state
pass in quick on $ext_if proto udp from any to $vsrv port 8100 keep state
#for web and email servers inside
pass in quick on $ext_if proto tcp from any to $srva port $webports flags S/SA synproxy state
pass in quick on $ext_if proto tcp from any to $srva port $email flags S/SA synproxy state
pass in quick on $ext_if proto tcp from $srva to any port smtp flags S/SA synproxy state
pass in quick on $ext_if proto tcp from any to $gate port $email flags S/SA synproxy state
pass in quick on $ext_if proto tcp from $gate to any port smtp flags S/SA synproxy state
pass in on $ext_if inet proto tcp to $aval port 21 flags S/SA keep state
pass out on $int_if inet proto tcp to $srva port 21 user proxy flags S/SA keep state
pass in quick on $ext_if proto tcp from any to $ftp_ip port ftp flags S/SA synproxy state
pass inet proto icmp from any to any
pass in quick on lo0 all
pass out quick on lo0 all
До этого стоял сервак на 6 фре и все было более чем замечательно, а тут решил на новую (ну не очень) железку переехать и вот...