nixx Posted November 14, 2017 Posted November 14, 2017 очередной топик из серии "вай-вай, тормозит нат" )) ситуация - стоит 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? Вставить ник Quote
Ivan_83 Posted November 14, 2017 Posted November 14, 2017 Может обновится для начала? Вставить ник Quote
nixx Posted November 14, 2017 Author Posted November 14, 2017 уже месяц или больше ждем сервера нового (с нага, кстати), как приедет - так да. вот обещали 3 ноября. сегодня уже не третье )) а вообще читал чейнджлоги - ничего про nat/libalias не увидел ни в 10.4, ни в 11.х. Вставить ник Quote
vlad11 Posted November 14, 2017 Posted November 14, 2017 Обычно исходники читают. Для производительности ipfw NAT, нужно править исходники libalias... Или переходите на многопоточный PF NAT... Вставить ник Quote
Ivan_83 Posted November 14, 2017 Posted November 14, 2017 3 часа назад, nixx сказал: уже месяц или больше ждем сервера нового (с нага, кстати), как приедет - так да. вот обещали 3 ноября. сегодня уже не третье )) а вообще читал чейнджлоги - ничего про nat/libalias не увидел ни в 10.4, ни в 11.х. А что мешает взять ещё один диск, склонировать туда систему (я обычно ручками разметку делаю, пишу загрузчики, форматирую и rsync для закидывания файлов), потом вставить его в любой комп, обновить, потом переткнуть диск при ребуте. Если что то пойдёт не так - оригинальный диск не тронут, один ребут и всё как было. 1 час назад, vlad11 сказал: Или переходите на многопоточный PF NAT... Там же нет хелперов вроде как до сих пор. Вставить ник Quote
nixx Posted November 15, 2017 Author Posted November 15, 2017 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) - это точно помню )) у него это полечили сейчас? Вставить ник Quote
Ivan_83 Posted November 15, 2017 Posted November 15, 2017 12 часов назад, vlad11 сказал: Простите, чего нет? ALG нет. PPTP, FTP, SIP и чего то там ещё, что без костылей через нат не ходит. Вставить ник Quote
YuryD Posted November 15, 2017 Posted November 15, 2017 pf nat там емнип никто и недопилит до многопоточности. ipfw nat хорош, но неконфигурябелен до слёз. Пришлось пингвина ставить натом :( А так - Фри - рулит без ната. Даже пайпы нарезает, почти честно, за исключением udp. Вставить ник Quote
polmax Posted November 16, 2017 Posted November 16, 2017 nixx а если, найти вредителя и поставить лимит ему например на 10 pptp соединений? Вставить ник Quote
Ivan_83 Posted November 16, 2017 Posted November 16, 2017 17 часов назад, YuryD сказал: pf nat там емнип никто и недопилит до многопоточности. Вылезай из комы, ещё в 10 сделали. Вставить ник Quote
YuryD Posted November 16, 2017 Posted November 16, 2017 4 часа назад, Ivan_83 сказал: Вылезай из комы, ещё в 10 сделали. Хм, надо попробовать, на офисной машинке. Правда там нагрузить не особо чем. Ну и как - по ощущениям - не подтупливает ? Вставить ник Quote
Ivan_83 Posted November 16, 2017 Posted November 16, 2017 Я же не провайдер, у меня нет ощущений :) Про многопоток ещё в 2013-14 годах на конференции по BSD в яндексе доклад был, как раз когда Тео приезжал, они ещё потролили тем что они у себя пф переписали и теперь надо весь фрёвый по хорошему опять переписывать... Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.