Bear_UA Опубликовано 8 сентября, 2019 · Жалоба Сегодня вечером словил странный глюк на следующей связке. FreeBSD 11.2-RELEASE-p9 MPD version: 5.8 Клиенты подключаются по PPPOE. Онлайна на машине в районе 1600 абонентов Стали звонить под вечер клиенты с проблемой на неработающий интернет. Причем некоторые. Стали разбираться В результате выяснился странный глюк [] show sessions ip 10.10.0.9 ng1865 10.10.0.9 C-1866 7956732-C-1866 vlan60-1137 1137 7956732-vlan60-1137 vova 54:e6:fc:fe:5d:53 ng2233 10.10.0.9 C-2234 7959914-C-2234 vlan60-2290 2290 7959914-vlan60-2290 vova 54:e6:fc:fe:5d:53 ng2151 10.10.0.9 C-2152 7960268-C-2152 vlan60-2298 2298 7960268-vlan60-2298 vova 54:e6:fc:fe:5d:53 ng2112 10.10.0.9 C-2113 7960073-C-2113 vlan60-2299 2299 7960073-vlan60-2299 vova 54:e6:fc:fe:5d:53 Почему-то перестали удаляться старые неактивные сессии клиентов. Руками удаляю все сессии - клиент подключается и работает но я так думаю это до следующего реконнекта. Вот конфиг мпд (может там что-то довписать надо, хотя конфиг переносится от сервака к серваку уже долгие годы) pppoe_server: create bundle template C set bundle disable encryption set bundle disable compression set ccp disable mppc set ipcp dns 8.8.8.8 1.1.1.1 set ipcp range a.b.c.d/32 0.0.0.0/0 set iface enable tcpmssfix create link template oe pppoe set link action bundle C set link disable chap pap eap set link enable pap chap set link enable peer-as-calling load radius create link template vlan2 oe set link max-children 1000 set pppoe iface vlan2 set pppoe service "*" set link enable incoming ...... Почему мпд создает ng интерфейс с тем же ип если уже такой существует? Ну и почему не удаляются старые сессии? Подскажите может сталкивался кто и как побороть. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vlad11 Опубликовано 8 сентября, 2019 · Жалоба Самое обновиться до FreeBSD 12-STABLE. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Bear_UA Опубликовано 8 сентября, 2019 · Жалоба 2 часа назад, vlad11 сказал: Самое обновиться до FreeBSD 12-STABLE. Не ну конечно это выход НО - у меня стабильно работают уйма 9.х, 10.х, 11.х без особых проблем уйму времени. И эта машина отлично работала в течении 3-х месяцев. Должно быть решение проблемы без обновления версии. Да и STABLE версии как-то не внушают доверия еще со времен 8.х Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jffulcrum Опубликовано 9 сентября, 2019 · Жалоба Патч для mpd стоит? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 9 сентября, 2019 · Жалоба 9 часов назад, Bear_UA сказал: Не ну конечно это выход НО - у меня стабильно работают уйма 9.х, 10.х, 11.х без особых проблем уйму времени. И тебя не смущает: https://www.freebsd.org/security/notices.html https://www.freebsd.org/security/advisories.html ? 9 часов назад, Bear_UA сказал: И эта машина отлично работала в течении 3-х месяцев. Должно быть решение проблемы без обновления версии. Да и STABLE версии как-то не внушают доверия еще со времен 8.х Оно разумеется есть, всего то нужно найти багу в коде и пофиксить. Можно и просто найти и бэкпортировать фикс из 100500 коммитов :) Кроме того, вот тебе не внушает доверия а нетфликс сидит на карренте да и ещё со своими патчами :) Правда у них есть команда погромистов которые ядро пилят. Да и я всё чаще задумываюсь о переезде со stable на current даже на десктопе - дрова на амд видюху там свежее. Конкретно в твоём случае похоже где то что то не очистилось, возможно у тебя упёрлось в лимит буфера сокета и сообщения гоняемые через ngctl не пролезли целиком. Кажется maxpipekva и от netgraph что то. в лоадере: kern.ipc.maxpipekva="33554432" # Pipe KVA limit в сисцтл: # ng_socket net.graph.maxdgram=262144 # Maximum outgoing Netgraph datagram size / really max datagram size net.graph.recvspace=262144 # Maximum space for incoming Netgraph datagrams / можешь ещё больше сделать, раза в 4. Можно поискать в netstat что то на предмет нетграфа и попробовать подиагностировать. Обычный ребут должен помочь. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Bear_UA Опубликовано 9 сентября, 2019 · Жалоба 13 минут назад, Ivan_83 сказал: Конкретно в твоём случае похоже где то что то не очистилось, возможно у тебя упёрлось в лимит буфера сокета и сообщения гоняемые через ngctl не пролезли целиком. Кажется maxpipekva и от netgraph что то. в лоадере: kern.ipc.maxpipekva="33554432" # Pipe KVA limit в сисцтл: # ng_socket net.graph.maxdgram=262144 # Maximum outgoing Netgraph datagram size / really max datagram size net.graph.recvspace=262144 # Maximum space for incoming Netgraph datagrams / можешь ещё больше сделать, раза в 4. kern.ipc.maxpipekva: 128659456 в сисцтл net.graph.maxdgram=8388608 net.graph.recvspace=8388608 kern.ipc.maxsockbuf=83886080 14 минут назад, Ivan_83 сказал: Обычный ребут должен помочь. Ребут то помог - но надолго ли? Под 9.х/10.x с такой же настройкой NAS-ы стоят с аптаймом в несколько лет и никаких нюансов :( Только вот не поддерживаются уже и обновлений нет ни на 9.х ни на 10.х :( Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 9 сентября, 2019 · Жалоба 3 минуты назад, Bear_UA сказал: в сисцтл net.graph.maxdgram=8388608 net.graph.recvspace=8388608 kern.ipc.maxsockbuf=83886080 Можно ещё в 2х увеличить. 4 минуты назад, Bear_UA сказал: Ребут то помог - но надолго ли? Под 9.х/10.x с такой же настройкой NAS-ы стоят с аптаймом в несколько лет и никаких нюансов :( Только вот не поддерживаются уже и обновлений нет ни на 9.х ни на 10.х :( Кажется нынче минимально поддерживаемое это 11.4. Только на днях выставили метку что 12.1 пререлиз для стабле ветки. Там процесс разработки такой: current - master ветка куда всё впиливается, дальше это стараются обкатать и бэкпортирую по возможности в stable (недели через две). А в прошлый стабле бэкпортируют только совсем-совсем важные вещи типа секурити фиксов, ну или может то что не требует усилий. Потом всякие изменения ломающие совместимость в куренте накапливаются и становится всё сложнее в стабле бэкпортировать, тогда апают мажорную версию :) Во всём процессе занято меньше сотни человек, я бы сказал что активных менее 50, так что тянуть даже это - уже на пределе возможностей. Это редхат может позволить себе содержать армию макак которые круглосуточно бэкпортируют всё подряд в окаменелости. Как workaround можешь написать скрипты которые будут вычищать старые сессии как это делал ты руками. Можно подобные скрипты повесить на хуки if up, if down - помнится mpd5 такое умел. Скажем на if down ты посылаешь ngctl shutdown (или как ты их там килял) на ноду с интерфейсом, а на if up скрипт делает что то типа "[] show sessions ip 10.10.0.9" и дальше так же киляет всё что не текущий интерфейс. PS: крайне некрасиво выдавать абонентам чужие днс, ты же сливаешь все их запросы прямиком в анб, прощай приватность. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vlad11 Опубликовано 9 сентября, 2019 · Жалоба Да, ДНС лучше, чтоб был кеширующий и локальный. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...