Стабильная работа Squid3 на pfSenese - миф или реальност&
-
предыстория - платный виндовый корпоративный прокси после очередного обновления начал глючить и отказывать произвольным пользователям в доступе в инет, техподдержка оказалась бессильна, девелоперы тоже, был решено забить и попробовать найти альтернативу среди бесплатного софта.
с никсами опыт работы минимальный, но тем не менее - поставил сенс 2.2 с нуля, сквид 3.4.10, настроил керберос, из командной строки аутентификация проходит. настроил авторизацию по группам ад через лдап, опять же из командной строки всё работает.
правила в самом сквиде тоже работают, посидел день (рабочий) в инете со своего компа через сенс в качестве прокси - проблем нет. решил с утра потестить на небольшой группе людей, накатил групповую политику на новый прокси и ушёл домой.с утра первый прикол - сквид ночью с какого-то пререпуга поднял утилизацию процессора до 100% и держит её не останавливаясь, хотя ночью точно никто через него ходить не мог, кроме аськи с моего компа. перезапуск сквида вроде бы "решил" проблему.
днём второй прикол - пользователи жалуются на медленную работу инета, захожу в Status: RRD - оно вообще умерло через пару часов после перезапуска сквида, процессор опять 100% - опять рестарт сквида и добавляю сенсу ещё одно ядро.
на следующее утро новое ядро 0%, старое опять занято сквидом на 100%.
для исключения влияния среды виртуализации в плане кривости дров виртуальных сетевух (гибридных) пробовал качать файлик размером 5гб на скорости 100мбит - утилизация проца была в районе 25%, в основном из-за прерываний.в логах сквида проскакивают записи о слишком быстрой смерти процессов хелперов, причём он может работать пару суток не зависая, а может вешаться каждые 30 минут например.
на форуме видел кучу сообщений о проблемах со сквидом, в основном в англоязычной части, но так как пишу на eng плохо, решил запостить сюда.собственно вопрос #1 - какая версия сквида 3-ей ветки на какой версии сенса стабильно работает с керберос? и вообще есть ли такое в природе?
пробовал ставить сенс 2.1.5 - показалось что он ещё глюкавее чем 2.2, сквид там заработал только при переводе в режим тупого роутера, при тех же самых (1:1 скопировал с 2.2) правилах файера, причем если включить логирование пакетов на порт сквида, то видно что они от браузера прилетают и файером пропускаются, но браузер пишет что прокси не отвечает.
в общем проблема на 2.2 аналогична описанной здесь - https://www.linux.org.ru/forum/admin/10793520
и решение данное там же работает:
Откатывайся до 3.3, в 3.4 большие проблемы с загрузкой проца из-за авторизационных хелперов (ldap и керберос). Я пробовал 3.4, поплевался, откатился.
На версии 3.3.12-1 жрать проц перестало, загрузка болтается в районе 3-5% при 200 юзерах.
работает у меня сейчас на сенс 2.1.5 и squid3-dev 3.3.10 pkg 2.2.8, правда сутки всего, с отключенным почти полностью функционалом самого сенса (пакетный фильтр), на legacy network adapter, поэтому я лично это решением для продакшна считать не могу, отсюда данный пост и вопрос #1.
и вопрос #2 - можно ли как-то на сенс 2.2 поставить сквид более старой версии, чем предлагает его веб-морда? например в морде видим доступным 3.4.10_2 pkg 0.2.6, а по адресу https://files.pfsense.org/packages/10/All/
есть например squid-3.3.11-amd64.pbi
который я так понимаю уже под новую (десятую) фрю собран и в принципе может завестись (на мой страх и риск, без всяких гарантий и т.д.).судя по этому посту https://forum.pfsense.org/index.php?topic=89233.msg494046#msg494046
могут быть проблемы, но попробовать-то хоть можно?товарищ marcelloc в конце топика пишет, что запустив локальную копию репозитория можно поставить любую версию, а вроде как именно он автор пакета сквида? я пробовал поднимать локальный веб сервер, выкладывать на него пакет с нужной мне версией под именем текещей актуальной версии, заводить в локальном днс зоны files.pfsense.org и packages.pfsense.org, но ни фига не работает - веб морда пытается обратиться за /xmlrpc.php, которого у меня естественно нет и обламываясь пишет, что не смогла законнектиться - проверьте мол ваше подключение к интернет :D
кстати почему в морде последней светится версия сквид 3.4.10_2, а в файлах ещё с 13 февраля лежит squid-3.4.11-amd64.pbi?
-
1. Вы можете управлять пакетами из консоли ( удалять/устанавливать ), все как в обычно FreeBSD (кроме сборки из исходников)
2. Разные мажорные версии squid могут быть несовместимы на уровне конфиг-файлов, поэтому можете поиметь проблему совместимости с веб-гуи. Играйтесь только с близкими версиями.
3. Устанавливая пакеты с консоли Вы в WebGUI не увидите актуальной информации об их текущей версии -
из консоли я уже много чего ставил, тот же миднайт например, но тогда теряется весь смысл (в моём конкретном случае) сенса - возможность управления/наблюдения через веб-интерфейс людьми, слабо/вообще не знакомыми с *nix системами :(
т.е. это всё равно что накатить любой линукс и там поставить сквид и всё остальное, что кстати будет гораздо проще сделать, но задача стоит другая - запилить максимально понятный для виндового админа шлюз :)зы
то что описано здесь https://forum.pfsense.org/index.php?topic=84045
у меня не заработало, тем более насколько я понял там указывается только имя пакета без версии. -
из консоли я уже много чего ставил, тот же миднайт например, но тогда теряется весь смысл (в моём конкретном случае) сенса - возможность управления/наблюдения через веб-интерфейс людьми, слабо/вообще не знакомыми с *nix системами :(
т.е. это всё равно что накатить любой линукс и там поставить сквид и всё остальное, что кстати будет гораздо проще сделать, но задача стоит другая - запилить максимально понятный для виндового админа шлюз :)Ммм - я отвечал на Ваш вопрос
и вопрос #2 - можно ли как-то на сенс 2.2 поставить сквид более старой версии, чем предлагает его веб-морда? например в морде видим доступным 3.4.10_2 pkg 0.2.6, а по адресу https://files.pfsense.org/packages/10/All/
есть например squid-3.3.11-amd64.pbi
который я так понимаю уже под новую (десятую) фрю собран и в принципе может завестись (на мой страх и риск, без всяких гарантий и т.д.).Еще раз кратко: Вы можете поставить squid из вебморды, а затем из консоли переустановить более стабильную, на Ваш взгляд, его версию. При этом из вебморды управление сохраняется (с оговорками выше).
-
во как.
т.е. ставим с морды, затем удаляем с консоли и при этом из морды он не исчезает, точно так же как не появляется там при последующем pkg install?
но морда при этом содержит пхп код последней версии, которая может генерить не совсем подходящий для более старого сквида конфиг - ща попробуем :D -
во как.
т.е. ставим с морды, затем удаляем с консоли и при этом из морды он не исчезает, точно так же как не появляется там при последующем pkg install?
но морда при этом содержит пхп код последней версии, которая может генерить не совсем подходящий для более старого сквида конфиг - ща попробуем :DДа, морда - это всего-лишь нашлепка на системе.
-
облом'c однако - сквид, установленный через морду, в pkg info отсутствует, и удалить его с консоли соответственно нельзя.
-
облом'c однако - сквид, установленный через морду, в pkg info отсутствует, и удалить его с консоли соответственно нельзя.
Значит у Вас некорректно установлен пакет.
Попробуйте с консоли его установить, раз морда уже стоит. -
Напоминаю, что не всё так просто - там же pbi.
-
облом'c однако - сквид, установленный через морду, в pkg info отсутствует, и удалить его с консоли соответственно нельзя.
Значит у Вас некорректно установлен пакет.
Попробуйте с консоли его установить, раз морда уже стоит.значит у вас некорректное представление о работе менеджера пакетов - сейчас установил сенс с нуля, установил 9 пакетов подряд - ни один из них в pkg info не отображается. список установленного в аттаче.
-
значит у вас некорректное представление о работе менеджера пакетов
Коллега-же напомнил про PBI:
@Michael:Напоминаю, что не всё так просто - там же pbi.
Все то-же самое, что и для PKG
http://www.manualpages.de/FreeBSD/FreeBSD-ports-9.0-RELEASE/man1/pbi_info.1.html
pbi_info
pbi_add
pbi_delete -
ну так я во всех своих постах писал именно про pkg, возражений не было.
а про pbi я понял смысл другой - в смысле что может и не заработать.
щас попробуем через pbi. -
через pbi тоже не работает - структура каталогов слишком разная, плюс половина бинарников хэлперов в 3.3 отсутствует как класс. скрипты управляющие запуском/остановкой подозреваю содержат кривые пути, плюс куча костылей поналеплена (в виде линков) которые тоже разные в разных версиях, в общем задница полная.
тогда такой вопрос - морда и скрипты генерятся из .xml файлов, так? если их тоже взять из старой версии и затереть ими текущие? по идее тогда и морда должна конфиг адекватный генерить начать, и пути в скриптах выправятся?
ну может пару костылей ещё придётся забить, но адин хрен сенс это и так костыль на костыле, костылём погоняющий, судя по содержимому пакетов сквида например.