"Решение проблемы с kernel panic на FreeBSD (https://www.opennet.ru/base/sys/freebsd_panic_solution.txt.html)" - разбор причин падения FreeBSD при высокой загруженности системы в момент удаления ipfw правил, отправляющих пакеты в dummynet.URL: https://www.opennet.ru/base/sys/freebsd_panic_solution.txt.html
Новость: https://www.opennet.ru/opennews/art.shtml?num=20179
Вся проблема в этом net.inet.ip.fw.one_pass если выставить в 0 то ipfw:ouch!, skip past end of rules, denying packet не будет, если эта переменная всеже необходима то я решал проблему отказом от ipfw flush.
Да и интернет не молчит http://www.google.ru/search?q=ipfw:+ouch!,+skip+past+end+of+rules,+denying+packet.++&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ru-RU:unofficial&client=firefox-a
>Вся проблема в этом net.inet.ip.fw.one_pass если выставить в 0 то ipfw:ouch!, skip
>past end of rules, denying packet не будет, если эта переменная
>всеже необходима то я решал проблему отказом от ipfw flush.
>Да и интернет не молчит http://www.google.ru/search?q=ipfw:+ouch!,+skip+past+end+of+rules,+denying+packet.++&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ru-RU:unofficial&client=firefox-aописался, ошибка ipfw:ouch!, skip past end of rules, denying packet возникает при
net.inet.ip.fw.one_pass=0
>описался, ошибка ipfw:ouch!, skip past end of rules, denying packet возникает >при
>net.inet.ip.fw.one_pass=0Ну разумеется. При этом пакеты из dummynet просто идут мимо фаервола. Так что это применимо в очень редких случаях.
А к чему тут
>ipfw flushя не понял вообще.
Это старая и до сих пор нерешенная проблема: http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/106316
net.inet.ip.fw.one_pass=0 нужен при использовании netgraph'a.
Избегать kernel panic'a можно IMHO тремя способами:1) вместо удаления/создания правила менять параметры queue/pipe,
которое используется в правиле, а само правило оставлять без изменений.2) если в правиле используются таблица, то очистить таблицу и подождать:
ipfw add 10 pipe 20 from any to table(30) in
ipfw table 30 flush && sleep 1 && ipfw delete 103) временно добавить "ipfw add N-1 skipto N+1 from any to any" и подождать
(где N - номер dummynet-правила).
Я прошу модераторов не удалять мой коммент, как в прошлый раз!
Я говорю по сути! У автора _!В КОРНЕ!_ неправильный подход к построению сервера доступа в Интернет по протоколу РРТР!
Я настаиваю на том, что для того случая, о котором пишет автор, нельзя строить сервер с использованием РОРТОР + user-ppp + ipfw + dummynet.
Такая конфигурация, кроме поедания ресурсов CPU, ничего хорошего не принесёт!
Такие сервера доступа нужно строить с использованием mpd + ng_car.
Тогда всё будет работать _!ОЧЕНЬ!_ быстро, проблем не будет, один сервер сможет обслуживать _!ОЧЕНЬ!_ много клиентов и маршрутизировать много трафика как в мегабитах, так и в килопакетах.
При использовании схемы, описанной автором, такое невозможно!
Не делайте так никто!
хе, проше резать трафик самим mpd, man mpd, радиус передаёт функцию на нарезку интерффейса! а ipfw использывать только как нат! фсё пожно зделать проше, и без паники в ядро!
P.S. читаем маны не стесняемся! :)
хе, проше резать трафик самим mpd, man mpd, радиус передаёт функцию на нарезку интерффейса! а ipfw использывать только как нат! фсё пожно зделать проше, и без паники в ядро!P.S. читаем маны не стесняемся! :)
Как раз об этом я и говорю!
mpd получает от радиуса опции для настройки ng_car на каждом интерфейсе!
всё очень мощно получается!
Окрываем ссылку и смотрм в самом её низу:
http://mpd.sourceforge.net/doc5/mpd30.html#30