3Proxy
-
ну так это… где брать-то?
http://www.diskatel.narod.ru/pfSense/
–-------
Обновил еще раз.
Добавил скрипт для запуска/остановки прокси. Вроде гуй больше не виснет.
Должны работать счетчики и бэндлимитеры (пока тупо с логикой сохранения номеров счетчиков - могут быть приколы).
Могут быть траблы с проверкой данных.
Не сделано еще 'Parent/Balansing'. -
На выходных оттестирую. Кстати, автозапуск 3proxy при старте pfsense исправлен? а то не стартовал.
-
На выходных оттестирую. Кстати, автозапуск 3proxy при старте pfsense исправлен? а то не стартовал.
Да, я добавил SH скрипт. Только в гуй хоть раз зайти и сохранить надо чтобы он появился.
И скриптом-же перезапуск делаю У меня гуй больше не виснет. -
Сорри за долгое молчание, сам не проверял, проверил один камрад. Говорит красота, всё работает. Осталось lightsquid прикрутить к сабжу. Выражаем искреннюю признательность многоуважаемому dvserg за проделанную работу.
-
Ну там есть тип лога Squid. Попробуйте на него лайт натравить - интересно, получится?
-
dvserg поправь
1. в 3proxy.inc define('P3_WORKDIR', '/usr/local/etc/3proxy/');
может так define('P3_WORKDIR', '/usr/local/etc/3proxy');
2. если в системе Secondary DNS Server: none - то 3proxy завершится с ошибкой ругнувшись на nserver
часть листинга 3proxy.cfg– dns --
nserver 127.0.0.1
nserver 192.168.1.1
nserverспасибо!
-
Исправил.
-
Подскажите на какой стадии 3proxy package pfSense.
И будет ли он в "официальном" релизе pfSense.Спасибо.
-
Подскажите на какой стадии 3proxy package pfSense.
И будет ли он в "официальном" релизе pfSense.Спасибо.
Пока работа стоит - времени мало свободного Если какие баги находите - пишите плиз.
-
Извините, но чего-то я не понял насчет логов в формате squid.
log type = hourly/dayly/yeekly/mounthly - это к чему относится? Ведь несмотря на указание пути лога /var/squid/log - оно пишет в папку 3proxy всё равно(3proxy.cfg об этом честно заявляет).# -- log -- log "/var/3proxy/3proxy.log" logformat "- +_G%t.%. 1 %C TCP_MISS/200 %I %1-1T %2-2T %U DIRECT/%R application/unknown" logformat "- +_G%t.%. 1 %C TCP_MISS/200 %I %1-1T %2-2T %U DIRECT/%R application/unknown" log H rotate 30
Хотя лог пишется вроде в формате squid… Зачем logformat два раза? Если не сложно, поправьте плиз.
-
Вопрос несколько не по теме - по самому 3proxy, не по package. :)
Подскажите нубу - как поставить 3proxy из сорцов?
Скачал вот отсюда ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.0-release/Latest/3proxy.tbz, залил файл через web-интерфейс pfSense в /tmp и поставил его через pkg_add. Настроил конфиг, все заработало, но оказалось, что версия, которую поставил, более старая чем лежит у автора, а в ней добавлена аутентификация пользователей по DNS hostname'a, с которого идет запрос к прокси.
Поэтому решил обновить - скачал опять же в /tmp/3proxy-0.7-devel.tgz, сделал tar -xf 3proxy-0.7-devel.tgz, cd /tmp/3proxy-0.7/ и пытаюсь сделать gmake -f Makefile.unix - он мне возвращает:
gmake[1]: gcc: Command not found
Я так понимаю, что нет компилятора gcc и нужно его доставить, но как? На том же ftp, откуда брал 3proxy, поискал - не нашел.Еще вопрос попутно - если запускаю в консоли /usr/local/bin/3proxy /usr/local/bin/3proxy.cfg - прокси работает, пытаюсь его запустить в фоне (не уверен, что правильно называю - аналог сервиса в NT) - для этого добавляю в конфиг строку daemon (по мануалу) - прокси запускается, в процессах висит (ps -x), но соединения через него не идут - клиентский браузер отваливается по таймауту.
Я понимаю, что проще отправить мануалы курить к freebsd, но при отсутствии базового опыта работы с *nix очень тяжело найти то, что нужно. А все подряд перечитывать - время… Буду безмерно благодарен направившему!
Сейчас у меня работает 3proxy в гостевой win2k3 под VMware ESXi4, вот хочу это дело заменить на pfSense.
-
А возможно с помощью pfsense+3proxy ограничивать пользователям трафик на день?
-
А возможно с помощью pfsense+3proxy ограничивать пользователям трафик на день?
Можно. Тут читать
counter <filename><reporttype><repotname>countin <number><type><limit><userlist><sourcelist><targetlist><targetportlist><operationlist>nocountin <userlist><sourcelist><targetlist><targetportlist><operationlist>countout <number><type><limit><userlist><sourcelist><targetlist><targetportlist><operationlist>nocountout<userlist><sourcelist><targetlist><targetportlist><operationlist></operationlist></targetportlist></targetlist></sourcelist></userlist></operationlist></targetportlist></targetlist></sourcelist></userlist></limit></type></number></operationlist></targetportlist></targetlist></sourcelist></userlist></operationlist></targetportlist></targetlist></sourcelist></userlist></limit></type></number></repotname></reporttype></filename>
-
Установил 3proxy через pkg_add -r 3proxy
Положил xml/inc из http://www.diskatel.narod.ru/pfSense/ в /usr/local/pkg
Открываю в браузере http://pfsense/pkg_edit.php?xml=3proxy.xml&id=0Сверху перед интерфейсом вылезает ошибка:
Warning: fopen(/usr/local/etc/3proxy/3proxy_conf.xml): failed to open stream: No such file or directory in /etc/inc/pfsense-utils.inc on line 1137 Warning: fwrite(): supplied argument is not a valid stream resource in /etc/inc/pfsense-utils.inc on line 1138 Warning: fclose(): supplied argument is not a valid stream resource in /etc/inc/pfsense-utils.inc on line 1139
Версия pfSense 1.2.3-RC1
-
Ок. С этим справился.
#touch /usr/local/etc/3proxy/3proxy_conf.xmlТеперь другая проблема. После того, как я пытаюсь включить 3proxy из WebGui, поменять какие-то настройки и нажав "Save", меня выбрасывает на пустую страницу с адресом https://pfsense/pkg_edit.php и содержанием:```
Warning: Cannot modify header information - headers already sent by (output started at /etc/inc/globals.inc:90) in /usr/local/www/pkg_edit.php on line 35 -
tamaki
Автор писал гуй на версию 3.5.2. Ставь её из портов и не парься. У меня всё прошло гладко, делал точно по теме. без всяких телодвижений.
i_no_k
Ты зачем сорцы для BSD 8 устанавливал? -
Ты зачем сорцы для BSD 8 устанавливал?
Почему для 8? Для восьмой я порт ставил (чтоб софт внутри свежее был), а сорцы я брал последние с сайта автора прокси.
-
Почему для 8? Для восьмой я порт ставил (чтоб софт внутри свежее был), а сорцы я брал последние с сайта автора прокси.
набери в консоли uname -a
дело в том, что не стоит ставить неродные пакеты(вернее от другой версии системы).
но это все лирика…..
та проблема, которая вызывает ошибку "Warning: Cannot modify header information - headers already sent by (output started at /etc/inc/globals.inc:90) in /usr/local/www/pkg_edit.php on line 35" кроется в другой причине. Все это очень похоже на ситуацию, когда в php делается вывод header-данных уже после того, как пошли первые данные самой страницы, например после вывода выводятся header'ы для страницы. Если так, то это вообще проблема исходников, нужно их копать или обратиться к уважаемому dvserg'у.P.S. Это все настолько, насколько хватает моих познаний в web-программировании:)
P.S.2 Было бы неплохо для начала узнать версию pfSense, на которой производятся эксперименты. -
Сообщение про хедеры происходит от вывода php сообщения об ошибке уже после формирования заголовка страницы.
При попытке чтения-записи файла с помощью PHP функции происходит какая-то ошибка связанная с доступом к файлу . Нужно проверить разрешения на директории/файлы. Должны быть 'proxy 0755'. -
набери в консоли uname -a
дело в том, что не стоит ставить неродные пакеты(вернее от другой версии системы).
но это все лирика…..Понял, поставил pfSense 1.2.3RC1 родные для FreeBSD 7.1 порты - нет эффекта.
Ставил пакеты: gcc-4.4.0_20080905.tbz, gettext-0.17_1.tbz, gmake-3.81_3.tbz, libgmp-4.2.3.tbz, libiconv-1.11_1.tbz, mpfr-2.3.1.tbz, texinfo-4.11.tbz.Сам pfSense чистый, т.е. только сконфигурены интерфейсы и открыт ssh.
gmake -f Makefile.unix выдает:
<...> 3proxy.c:1748: error: 'h_authnserver' undeclared (first use in this function) 3proxy.c:1748: warning: excess elements in scalar initializer 3proxy.c:1748: warning: (near initialization for 'commandhandlers') 3proxy.c:1748: warning: excess elements in scalar initializer 3proxy.c:1748: warning: (near initialization for 'commandhandlers') 3proxy.c:1748: warning: excess elements in scalar initializer 3proxy.c:1748: warning: (near initialization for 'commandhandlers') 3proxy.c:1748: warning: excess elements in scalar initializer 3proxy.c:1748: warning: (near initialization for 'commandhandlers') 3proxy.c:1749: warning: braces around scalar initializer 3proxy.c:1749: warning: (near initialization for 'commandhandlers') 3proxy.c:1749: warning: excess elements in scalar initializer 3proxy.c:1749: warning: (near initialization for 'commandhandlers') 3proxy.c:1749: warning: excess elements in scalar initializer 3proxy.c:1749: warning: (near initialization for 'commandhandlers') 3proxy.c:1749: warning: excess elements in scalar initializer 3proxy.c:1749: warning: (near initialization for 'commandhandlers') 3proxy.c:1749: warning: excess elements in scalar initializer 3proxy.c:1749: warning: (near initialization for 'commandhandlers') 3proxy.c:1749: warning: excess elements in scalar initializer 3proxy.c:1749: warning: (near initialization for 'commandhandlers') 3proxy.c:1752: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token 3proxy.c:1812: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token 3proxy.c:2021: error: old-style parameter declarations in prototyped function definition /usr/local/lib/gcc-4.4.0/gcc/i386-portbld-freebsd7.1/4.4.0/include-fixed/stdlib.h:100: error: parameter name omitted /usr/local/lib/gcc-4.4.0/gcc/i386-portbld-freebsd7.1/4.4.0/include-fixed/stdlib.h:100: error: parameter name omitted /usr/local/lib/gcc-4.4.0/gcc/i386-portbld-freebsd7.1/4.4.0/include-fixed/stdlib.h:100: error: parameter name omitted 3proxy.c:2021: error: expected '{' at end of input gmake[1]: *** [3proxy.o] Error 1 gmake[1]: Leaving directory `/root/3proxy-0.7-devel/src' gmake: *** [all] Error 2