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

FreeBSD / ipfw nat / pptp

очередной топик из серии "вай-вай, тормозит нат" ))

ситуация - стоит FreeBSD 10.3/amd64, двухпортовая ix, поднято несколько натов, каждый в свой белый ip. примерно так (только натов там около 20):

add 10020 skipto 20000 tag 20 all from 192.168.10.0/24 to any via ix1 keep-state
nat 20 config ip my-ip-1 log deny_in same_ports reset
add 20020 nat 20 all from 192.168.10.0/24 to any out xmit ix0 tagged 20
add 20021 nat 20 all from any to my-ip-1 in recv ix0

в loader.conf сделано alias_pptp_load="YES"

 

4 ядра, прерывания по ядрам разбегаются равномерно, средняя загрузка каждого ядра - порядка 20% в чнн.

но... в последние дни наступает не чнн, а какой-то "час жэ", и в какой-то момент сначала прерывания сжирают все ядра, а потом те же ядра начинает отъедать процесс system (пока не дошли до 100% по прерываниям - system имеет 0%).

через netstat -I ix1 1 углядел сильные колебания pps при 100% загрузке, поставил FastNetMon из соседнего топика, однако... похоже, эти колебания являлись следствием загрузки, а не причиной. ну то есть ни одного клиента с pps выше 15к не поймано.

посмотрел show nat, и удивился.

на одном из натов имеем такое:

# ipfw nat 50 show
nat 50: icmp=72, udp=5976, tcp=33956, sctp=0, pptp=108102, proto=0, frag_id=6 frag_ptr=0 / tot=148112

на остальных экземплярах - не больше 20.

прибил экземпляр ната, создал заново - тормоза как рукой сняло. однако, pptp=88 уже за полчаса. повесил tcpdump, буду смотреть.

есть стойкое подозрение, что это по какой-то причине зависшие в нате сессии от какого-то "хорошего" клиента (у меня рисуется общий график количества сессий, и он плавно растет в течение двух месяцев после последней перезагрузки. раньше тоже рос).

как лечить, кроме как nat delete / nat config?

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


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

Может обновится для начала?

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


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

уже месяц или больше ждем сервера нового (с нага, кстати), как приедет - так да. вот обещали 3 ноября. сегодня уже не третье ))

а вообще читал чейнджлоги - ничего про nat/libalias не увидел ни в 10.4, ни в 11.х.

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


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

Обычно исходники читают.
Для производительности ipfw NAT, нужно править исходники libalias...
Или переходите на многопоточный PF NAT...

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


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

3 часа назад, nixx сказал:

уже месяц или больше ждем сервера нового (с нага, кстати), как приедет - так да. вот обещали 3 ноября. сегодня уже не третье ))

а вообще читал чейнджлоги - ничего про nat/libalias не увидел ни в 10.4, ни в 11.х.

А что мешает взять ещё один диск, склонировать туда систему (я обычно ручками разметку делаю, пишу загрузчики, форматирую и rsync для закидывания файлов), потом вставить его в любой комп, обновить, потом переткнуть диск при ребуте.

Если что то пойдёт не так - оригинальный диск не тронут, один ребут и всё как было.

 

 

1 час назад, vlad11 сказал:

Или переходите на многопоточный PF NAT...

Там же нет хелперов вроде как до сих пор.

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


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

5 часов назад, Ivan_83 сказал:

А что мешает взять ещё один диск, склонировать туда систему (я обычно ручками разметку делаю, пишу загрузчики, форматирую и rsync для закидывания файлов), потом вставить его в любой комп, обновить, потом переткнуть диск при ребуте.

Если что то пойдёт не так - оригинальный диск не тронут, один ребут и всё как было.

у нас есть очень привередливые клиенты. даже в 4 ночи. даже если заранее предупреждать. даже с серыми ip-шниками )) поэтому количество простоев, тем более ~10 и более -минутных - стараемся сводить к минимуму.

пока (вроде как) причину нашел, зло понятно и известно, надо следить за конкретным числом. попутно пытаюсь подампить/посчитать число pptp-коннектов, чтобы отловить-таки злодея.

ну и далее ждем сервер, обновляться будем по-любому.

тут эти тормоза с натом уже шума в колл-центре наделали. тормозить он начинал за последние четыре дня раз шесть-семь, каждый раз посреди дня, минут по 10. потом его отпускало. у клиентов в это время начинались лаги эдак по 200мс и вообще дропы. ругались...
 

7 часов назад, vlad11 сказал:

Для производительности ipfw NAT, нужно править исходники libalias...
Или переходите на многопоточный PF NAT...

дык дело не производительности ната. точнее, проблемы с производительностью (оговорюсь - смотря насколько правильно я поймал зависимость) вылезают как следствие странного глюка с pptp-сессиями.

вот сейчас (прямщас) у него счетчик pptp сессий по тому же экземпляру ната - 1588. откуда они там в 4 ночи? реально максимум там их штук 20-30 висит от всяких банкоматов-магазинов. остальное - происки вредителей.

 

а pf... не помню, насколько многопоточным он был раньше, когда мы им пользовались (года три-четыре назад), но вот то, что для "правильного" ната pptp приходилось использовать помесь бобика со свиньей (pf nat + ipfw nat чисто для pptp) - это точно помню ))

у него это полечили сейчас?

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


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

12 часов назад, vlad11 сказал:

Простите, чего нет?

ALG нет.

PPTP, FTP, SIP и чего то там ещё, что без костылей через нат не ходит.

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


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

 pf nat там емнип никто и недопилит до многопоточности. ipfw nat хорош, но неконфигурябелен до слёз. Пришлось пингвина ставить натом :( А так - Фри - рулит без ната. Даже пайпы нарезает, почти честно, за исключением udp.

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


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

nixx а если, найти вредителя и поставить лимит ему например на 10 pptp соединений?

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


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

17 часов назад, YuryD сказал:

pf nat там емнип никто и недопилит до многопоточности.

Вылезай из комы, ещё в 10 сделали.

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


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

4 часа назад, Ivan_83 сказал:

Вылезай из комы, ещё в 10 сделали.

 Хм, надо попробовать, на офисной машинке. Правда там нагрузить не особо чем. Ну и как - по ощущениям - не подтупливает ?

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


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

Я же не провайдер, у меня нет ощущений :)

Про многопоток ещё в 2013-14 годах на конференции по BSD в яндексе доклад был, как раз когда Тео приезжал, они ещё потролили тем что они у себя пф переписали и теперь надо весь фрёвый по хорошему опять переписывать...

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


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

Join the conversation

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

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

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

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

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

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

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