Оптимизация фаервола ipfw
Добавлено: 21 дек 2009, 02:02
Доброго!
Есть роутер,
FreeBSD 6.4-RELEASE
который шейпит (dummynet), и натит (pf).
Стоят карточки Intel с драйверами от яндекса.
Когда трафика через роутер проходит больше ~300 мегабит, сервер начинает дропать пакеты.
Отключаю dymmynet и дропы проходят.
Что оптимизнуть еще ?
Правила ipfw :
/etc/syscl.conf
используется 1 сетевой интерфейс для всех вланов, включая вланы к 2 аплинкам, от которых принимается 2 full-viev-a. Так же принимается \22 блок адрсеов своих. Которые натятся pool-naf от внутренних адресов pf-ом.
Есть возможность разнести аплинкеров по 2 физическим интерфесам, будет ли толк ?
+ интересуют примеры использования в фаерволе - pipe tablearg, skipto. И разнесения таблиц по пайпам.
Есть роутер,
FreeBSD 6.4-RELEASE
который шейпит (dummynet), и натит (pf).
Стоят карточки Intel с драйверами от яндекса.
Когда трафика через роутер проходит больше ~300 мегабит, сервер начинает дропать пакеты.
Отключаю dymmynet и дропы проходят.
Что оптимизнуть еще ?
Правила ipfw :
- Код: Выделить всё
01000 divert 8888 ip from table(100) to not me via vlan111
01001 divert 8888 ip from not 192.168.0.0/16 to table(100) via vlan111
03500 allow ip from me to any
03500 allow ip from any to me
06000 pipe 8 ip from not table(111) to table(1) out
06002 pipe 4 ip from not table(111) to table(2) out
06004 pipe 1 ip from not table(111) to table(3) out
06006 pipe 2 ip from not table(111) to table(4) out
06008 pipe 3 ip from not table(111) to table(5) out
06010 pipe 4 ip from not table(111) to table(6) out
06012 pipe 5 ip from not table(111) to table(7) out
06014 pipe 6 ip from not table(111) to table(8) out
06016 pipe 5 ip from not table(111) to table(9) out
06018 pipe 6 ip from not table(111) to table(10) out
-<skip->
06101 pipe 118 ip from table(1) to not table(111) in
06103 pipe 113 ip from table(2) to not table(111) in
06105 pipe 111 ip from table(3) to not table(111) in
06107 pipe 112 ip from table(4) to not table(111) in
06109 pipe 113 ip from table(5) to not table(111) in
06111 pipe 114 ip from table(6) to not table(111) in
06113 pipe 115 ip from table(7) to not table(111) in
06115 pipe 116 ip from table(8) to not table(111) in
06117 pipe 115 ip from table(9) to not table(111) in
06119 pipe 116 ip from table(10) to not table(111) in
-<skip->
50000 allow ip from table(100) to any
50001 allow ip from any to table(100)
65535 deny ip from any to any
- Код: Выделить всё
###Pipe DST
ipfw pipe 1 config mask dst-ip 0xffffffff bw 64Kbit/s
ipfw pipe 2 config mask dst-ip 0xffffffff bw 256Kbit/s
ipfw pipe 3 config mask dst-ip 0xffffffff bw 384Kbit/s
ipfw pipe 4 config mask dst-ip 0xffffffff bw 512Kbit/s
-<skip->
###Pipe SRC
ipfw pipe 111 config mask src-ip 0xffffffff bw 64Kbit/s
ipfw pipe 112 config mask src-ip 0xffffffff bw 256Kbit/s
ipfw pipe 113 config mask src-ip 0xffffffff bw 384Kbit/s
ipfw pipe 114 config mask src-ip 0xffffffff bw 512Kbit/s
-<skip->
/etc/syscl.conf
- Код: Выделить всё
net.isr.direct=1
net.inet.icmp.drop_redirect=1
net.inet.ip.dummynet.hash_size=16384
net.inet.ip.dummynet.expire=0
net.inet.ip.dummynet.io_fast=1
net.inet.ip.redirect=0
- Код: Выделить всё
netstat -w1
input (Total) output
packets errs bytes packets errs bytes colls
37022 0 22099596 35286 0 21749490 0
37360 0 22011616 35528 0 21347836 0
37725 0 22415413 36078 0 21885994 0
35915 0 20433160 34055 0 20229192 0
37613 0 21515754 36192 0 21298763 0
36372 0 20944890 34760 0 20687527 0
36240 0 20884364 34757 0 20716686 0
37227 0 21448024 35241 0 20821458 0
36178 0 22039028 34803 0 21692352 0
37899 0 22194868 35889 0 21648754 0
35659 0 20748108 34122 0 20346314 0
36268 0 20797240 34760 0 20705586 0
36221 0 21590996 34398 0 20750023 0
36619 0 21370536 34821 0 20948217 0
36931 0 21977213 35096 0 21217615 0
34554 0 20297866 32773 0 19969300 0
34834 0 20036878 33334 0 19663359 0
36875 0 21161292 34726 0 20671711 0
35163 0 21006220 33600 0 20346644 0
используется 1 сетевой интерфейс для всех вланов, включая вланы к 2 аплинкам, от которых принимается 2 full-viev-a. Так же принимается \22 блок адрсеов своих. Которые натятся pool-naf от внутренних адресов pf-ом.
Есть возможность разнести аплинкеров по 2 физическим интерфесам, будет ли толк ?
+ интересуют примеры использования в фаерволе - pipe tablearg, skipto. И разнесения таблиц по пайпам.