nixx Опубликовано 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? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 14 ноября, 2017 · Жалоба Может обновится для начала? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nixx Опубликовано 14 ноября, 2017 · Жалоба уже месяц или больше ждем сервера нового (с нага, кстати), как приедет - так да. вот обещали 3 ноября. сегодня уже не третье )) а вообще читал чейнджлоги - ничего про nat/libalias не увидел ни в 10.4, ни в 11.х. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vlad11 Опубликовано 14 ноября, 2017 · Жалоба Обычно исходники читают. Для производительности ipfw NAT, нужно править исходники libalias... Или переходите на многопоточный PF NAT... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 14 ноября, 2017 · Жалоба 3 часа назад, nixx сказал: уже месяц или больше ждем сервера нового (с нага, кстати), как приедет - так да. вот обещали 3 ноября. сегодня уже не третье )) а вообще читал чейнджлоги - ничего про nat/libalias не увидел ни в 10.4, ни в 11.х. А что мешает взять ещё один диск, склонировать туда систему (я обычно ручками разметку делаю, пишу загрузчики, форматирую и rsync для закидывания файлов), потом вставить его в любой комп, обновить, потом переткнуть диск при ребуте. Если что то пойдёт не так - оригинальный диск не тронут, один ребут и всё как было. 1 час назад, vlad11 сказал: Или переходите на многопоточный PF NAT... Там же нет хелперов вроде как до сих пор. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vlad11 Опубликовано 14 ноября, 2017 · Жалоба Простите, чего нет? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nixx Опубликовано 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) - это точно помню )) у него это полечили сейчас? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 15 ноября, 2017 · Жалоба 12 часов назад, vlad11 сказал: Простите, чего нет? ALG нет. PPTP, FTP, SIP и чего то там ещё, что без костылей через нат не ходит. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
YuryD Опубликовано 15 ноября, 2017 · Жалоба pf nat там емнип никто и недопилит до многопоточности. ipfw nat хорош, но неконфигурябелен до слёз. Пришлось пингвина ставить натом :( А так - Фри - рулит без ната. Даже пайпы нарезает, почти честно, за исключением udp. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
polmax Опубликовано 16 ноября, 2017 · Жалоба nixx а если, найти вредителя и поставить лимит ему например на 10 pptp соединений? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 16 ноября, 2017 · Жалоба 17 часов назад, YuryD сказал: pf nat там емнип никто и недопилит до многопоточности. Вылезай из комы, ещё в 10 сделали. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
YuryD Опубликовано 16 ноября, 2017 · Жалоба 4 часа назад, Ivan_83 сказал: Вылезай из комы, ещё в 10 сделали. Хм, надо попробовать, на офисной машинке. Правда там нагрузить не особо чем. Ну и как - по ощущениям - не подтупливает ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 16 ноября, 2017 · Жалоба Я же не провайдер, у меня нет ощущений :) Про многопоток ещё в 2013-14 годах на конференции по BSD в яндексе доклад был, как раз когда Тео приезжал, они ещё потролили тем что они у себя пф переписали и теперь надо весь фрёвый по хорошему опять переписывать... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...