Перейти к содержимому
Калькуляторы

FreeBSD + pf (нат) ipfw (firewall). PF - не справляется

p4-Cel-D 2.8+256mem FreeBSD 6.0 + pf (как нат) ipfw (как firewall)

1000 работающих юзеров в данный момент

[root@]# pfctl -s state | wc -l

6200 (кол-во сопоставлений pf nat)

[root@]# ipfw show | wc -l

3020

[root@]# ipfw show | grep pipe | wc -l

1000

[root@]# top

last pid: 26961; load averages: 0.00, 0.01, 0.00 up 13+13:19:18 17:19:26

46 processes: 1 running, 45 sleeping

CPU states: 4.3% user, 0.0% nice, 0.0% system, 52.2% interrupt, 43.5% idle

Mem: 23M Active, 128M Inact, 69M Wired, 7640K Cache, 34M Buf, 11M Free

Swap: 483M Total, 483M Free

Сетевухи интел 1000baseTX PCI. Драйвер em0. Полинг включен. HZ=1000

 

[root@]#ping xxx.xxx.xxx.xxx (ближайшую ненагруженную машину в тойже подсети)

ping -i 0.1 xxx.xxx.xxx.xxx

PING xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx): 56 data bytes

64 bytes from xxx.xxx.xxx.xxx: icmp_seq=0 ttl=63 time=25.439 ms

64 bytes from xxx.xxx.xxx.xxx: icmp_seq=1 ttl=63 time=31.898 ms

64 bytes from xxx.xxx.xxx.xxx: icmp_seq=2 ttl=63 time=32.563 ms

64 bytes from xxx.xxx.xxx.xxx: icmp_seq=3 ttl=63 time=25.775 ms

64 bytes from xxx.xxx.xxx.xxx: icmp_seq=4 ttl=63 time=27.609 ms

64 bytes from xxx.xxx.xxx.xxx: icmp_seq=5 ttl=63 time=30.570 ms

64 bytes from xxx.xxx.xxx.xxx: icmp_seq=6 ttl=63 time=22.836 ms

 

потери icmp от 1 до 4%

чем выше кол-во сопоставлений pf nat - тем выше дает пинги этот роутер (пинги от/к роутера или от/к юзерам)

отключаю pf nat - пинги падают до 1-2 мс. отключаю часью юзеров - кот. натяться на этом роуторе

pfctl -s state | wc -l падает до 1500-2000 - и пинги падают до 1-2 мс

 

Как лечить ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

кстати, по top у тебя далеко не 512 метров памяти :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

маловата машинка для такой нагрузки - тут недалече была тема "Когда и в чем затыкается софтовый роутер" - там подробненько эти вопросы обсуждались

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 Blackmore - мои вопросы там не обсуждались. Я вот думаю или машинка слабовато или руки кривоваты =)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

пользуем фрёвый ipnat

что такое pf сопоставления слабо себе представляю.

fwuu# ipnat -s

mapped in 2544840546 out 2714542767

added 103311333 expired 0

no memory 0 bad nat 1414867

inuse 101642

rules 112

wilds 0

 

fwuu# ipfw show | wc -l

143

 

Так мало правил, потому что они генерируются по маске и с помощью таблиц.

Вот пара правил:

01037 279689688 188335984543 pipe 37 ip from any to table(18) via em2 out

01038 304067690 155780212500 pipe 38 ip from table(18) to any via em2 in

 

Где-то на форуме это дело проскакивало. Там же объяснялось, что если много правил, то нагрузка по прерываниям сильно большая и поллинг фактически не работает.

Ищи слова "mask dst-ip 0xffffffff"

 

Например, вот отличная тема:

http://forum.nag.ru/viewtopic.php?t=14889&...fffffff&start=0

 

У меня HZ=2500.

fwuu# netstat -w 1 -d

input (Total) output

packets errs bytes packets errs bytes colls drops

13589 0 6615551 13313 0 6463091 0 0

13975 0 6642171 13696 0 6657126 0 0

13847 0 6381799 13158 0 6358238 0 0

13639 0 6797838 13588 0 6705836 0 0

 

top

CPU states: 0.8% user, 0.0% nice, 3.0% system, 1.9% interrupt, 94.4% idle

Mem: 111M Active, 475M Inact, 65M Wired, 29M Cache, 105M Buf, 63M Free

Swap: 1024M Total, 8K Used, 1024M Free

 

CPU states: 0.0% user, 0.0% nice, 0.4% system, 1.1% interrupt, 98.5% idle

Mem: 110M Active, 475M Inact, 65M Wired, 29M Cache, 105M Buf, 64M Free

Swap: 1024M Total, 8K Used, 1024M Free

 

Сетевухи такие же.

Проц Athlon 64 3200+

FreeBSD/amd64 6.1-PRERELEASE

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Используйте таблицы в ipfw kamuzon прав + попробовать

в pf для ната использовать set optimization aggressive.

 

PS. Pf натит очень хорошо

PS1. Кол-во записей в таблице трансляций pfctl -si

# pfctl -si

No ALTQ support in kernel

ALTQ related functions disabled

Status: Enabled for 78 days 20:07:15 Debug: Urgent

 

Hostid: 0x2e1662f9

 

State Table Total Rate

current entries 52376

searches 293797491002 43131.7/s

inserts 1944303411 285.4/s

removals 1944251035 285.4/s

Counters

match 205819928498 30215.9/s

bad-offset 0 0.0/s

fragment 0 0.0/s

short 176227 0.0/s

normalize 0 0.0/s

memory 0 0.0/s

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а когда используются таблицы и mask в ipfw pipe X config,

где можно задать макс кол-во создаваемых pipes, время их жизни ?

Вопрос соб-но тут

http://forum.nag.ru/viewtopic.php?t=19049

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 Blackmore - мои вопросы там не обсуждались. Я вот думаю или машинка слабовато или руки кривоваты =)

Для оценки кривизны ручек желательно посмотреть на конфиги pf/ipfw. Так что спишем на слабоватость машинки :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.