Имеем 2 сервера - на всех Фря 7.2
gw3 - смотрит на юзверей:[root@gw3 ~]# uname -a
FreeBSD gw3.serv.linet 7.2-RELEASE-p4 FreeBSD 7.2-RELEASE-p4 #0: Sat Nov 7 20:27:09 EET 2009 root@gw3.serv.linet:/usr/obj/usr/src/sys/LINET-Intel i386
Драйвер em скачан с сайта Интела - 6.9.20
# less loader.conf
autoboot_delay="2"
kernel="kernel"
bootfile="kernel"
kern.ipc.nmbclusters=16384
kern.ipc.maxsockets=16384
net.graph.maxalloc=2048
kern.maxusers=512
kern.ipc.maxpipekva=32000000
if_lagg_load="YES"
if_em_load="YES"
[root@gw3 /etc]# cat sysctl.conf
kern.polling.enable=1
net.inet.ip.fw.one_pass=1
net.inet.ip.dummynet.hash_size=256
net.inet.ip.dummynet.io_fast=1
net.graph.maxdgram=128000
net.graph.recvspace=128000
net.inet.ip.fastforwarding=1
net.inet.ip.intr_queue_maxlen=5000
kern.ipc.maxsockbuf=8388608
net.inet.tcp.sendspace=3217968
net.inet.tcp.recvspace=3217968
net.inet.tcp.rfc1323=1
Ядро
cpu I686_CPU
ident LINET-Intel
options DEVICE_POLLING
options HZ=1000
options NETGRAPH
options NETGRAPH_ETHER
options NETGRAPH_TEE
options NETGRAPH_NETFLOW
options NETGRAPH_PPTPGRE
options NETGRAPH_PPP
options NETGRAPH_SOCKET
options NETGRAPH_IPFW
options NETGRAPH_KSOCKET
options NETGRAPH_IFACE
options NETGRAPH_TCPMSS
options NETGRAPH_PPPOE
options IPFIREWALL
options IPFIREWALL_FORWARD
options IPDIVERT
options IPFILTER
options DUMMYNET
options IPFIREWALL_DEFAULT_TO_ACCEPT
#options IPFIREWALL_NAT
options LIBALIAS
# To statically compile in device wiring instead of /boot/device.hints
#hints "GENERIC.hints" # Default places to look for devices.
# Reboot when panic
options KDB_UNATTENDED
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
#options SCHED_4BSD # 4BSD scheduler
options SCHED_ULE
.......
Железо:
CPU: Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz (2396.41-MHz 686-class CPU)
real memory = 2145361920 (2045 MB)
avail memory = 2093039616 (1996 MB)
Мамка: INTEL S3200SHC
Сетевые - Intel(R) PRO/1000 Network Connection - двухголовая
Второй - смотрит в инет:[zentavr@gateway ~]$ uname -a
FreeBSD gateway.linet.zp.ua 7.2-RELEASE-p4 FreeBSD 7.2-RELEASE-p4 #0: Fri Nov 6 18:09:11 EET 2009 root@gateway.linet.zp.ua:/usr/obj/usr/src/sys/NODENY64INTEL amd64
CPU: Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz (2400.09-MHz K8-class CPU)
usable memory = 4284018688 (4085 MB)
avail memory = 4119355392 (3928 MB)
Сеть - Intel(R) PRO/1000 Network Connection - двухголовая. одна голова в инет, вторая на юзерский сервак.
[zentavr@gateway ~]$ cat /boot/loader.conf
autoboot_delay="2"
kernel="kernel"
bootfile="kernel"
pf_load="YES"
accf_http_load="YES"
geom_mirror_load="YES"
if_em_load="YES"
Драйвер Интел с сайта интела 6.9.20
[zentavr@gateway ~]$ cat /etc/sysctl.conf
net.inet.tcp.log_in_vain=0
net.inet.udp.log_in_vain=0
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
net.inet.ip.fw.one_pass=1
net.inet.ip.fw.dyn_buckets=2048
net.inet.ip.portrange.first=2000
net.graph.maxdgram=128000
net.graph.recvspace=128000
net.inet.ip.fastforwarding=1
net.inet.ip.intr_queue_maxlen=5000
kern.ipc.maxsockbuf=8388608
kern.ipc.somaxconn=1024
net.inet.tcp.sendspace=3217968
net.inet.tcp.recvspace=3217968
net.inet.tcp.rfc1323=1
net.inet.ip.dummynet.hash_size=2048
net.inet.ip.dummynet.io_fast=1
Ядро:
cpu HAMMER
ident NODENY64
options DEVICE_POLLING
options HZ=1000
options NETGRAPH
options NETGRAPH_ETHER
options NETGRAPH_TEE
options NETGRAPH_NETFLOW
options NETGRAPH_PPTPGRE
options NETGRAPH_PPP
options NETGRAPH_SOCKET
options NETGRAPH_IPFW
options NETGRAPH_KSOCKET
options NETGRAPH_IFACE
options NETGRAPH_TCPMSS
options NETGRAPH_PPPOE
options IPFIREWALL
options IPFIREWALL_FORWARD
options IPDIVERT
options IPFILTER
options DUMMYNET
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_NAT
options LIBALIAS
# Reboot when panic
options KDB_UNATTENDED
# To statically compile in device wiring instead of /boot/device.hints
#hints "GENERIC.hints" # Default places to look for devices.
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
options SCHED_ULE # ULE scheduler
......
Используется pf NAT
ifU="em1"
ipU="62.221.40.166"
gwU="62.221.40.165"
ifL="em0"
# Nat IPs
natAll="194.126.204.12"
nat24="194.126.204.24"
nat25="194.126.204.25"
nat26="194.126.204.26"
nat28="194.126.204.28"
nat30="194.126.204.30"
nat31="194.126.204.31"
nat32="194.126.204.32"
nat33="194.126.204.33"
nat34="194.126.204.34"
# Tables
table <me> const { self }
table <rfc_gray> { 10.0.0.0/8, 169.254.0.0/16, 172.16.0.0/12, 192.168.0.0/16 }
table <linet_all> { 10.0.0.0/8, 192.168.0.0/16, 194.126.204.0/24 }
table <linet_gray> { 10.0.0.0/8, 192.168.0.0/16 }
# UserZ
table <linet24> { 10.1.24.0/24 }
table <linet25> { 10.1.25.0/24 }
table <linet26> { 10.1.26.0/24 }
table <linet28> { 10.1.28.0/24 }
table <linet30> { 10.1.30.0/24 }
table <linet31> { 10.1.31.0/24 }
table <linet32> { 10.1.32.0/24 }
table <linet33> { 10.1.33.0/24 }
table <linet34> { 10.1.34.0/24 }
table <linet_srv> {10.0.0.0/8, 192.168.0.0/16 }
set limit states 128000
set optimization aggressive
# Rdr for me
rdr on $ifU proto tcp from any to $nat32 port 19456 -> 10.1.32.194 port 19456
# Nat Outgoing Connections
nat pass on $ifU from <linet24> to any -> $nat24
nat pass on $ifU from <linet25> to any -> $nat25
nat pass on $ifU from <linet26> to any -> $nat26
nat pass on $ifU from <linet28> to any -> $nat28
nat pass on $ifU from <linet30> to any -> $nat30
nat pass on $ifU from <linet31> to any -> $nat31
nat pass on $ifU from <linet32> to any -> $nat32
nat pass on $ifU from <linet33> to any -> $nat33
nat pass on $ifU from <linet34> to any -> $nat34
nat pass on $ifU from <linet_srv> to any -> $natAll
.....
Проблема в следующем:
аплоад по спидтесту вроде нормальный, а вот даунлоад в 10 раз меньше. До этого на инетовском серваке стоял Линух - траблов не было. По systat -ifstat загрузка канала примерно 60%
Я вот думаю - или я в PCI шину упираюсь по скорости, либо не совсем корректно натюнил фрю.
Поделитесь люди добрые своими параметрами Фряхи как для гигабитного роутера