Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Декабря 18, 2018, 14:48 по Москве
Начало Помощь Поиск Войти Регистрация
Новости: Не ленись, тренируйся! Telegram - t.me/screensquid

+  Break-people
|-+  Бубнилка
| |-+  Forestman
| | |-+  PfSense. Настройка под себя
« предыдущая тема следующая тема »
Страниц: [1] Печать
Автор Тема: PfSense. Настройка под себя  (Прочитано 21193 раз)
Forestman
Гость
« : Декабря 13, 2010, 07:29 по Москве »

тут я буду бубнить о том как подпиливаю (настраиваю) pfsense под себя  ;)

ставим MC из пакаджей, сбор из исходников доступен только в девелопер версии

  • pkg_add -r mc
  • rehash

уже имея настроенный под себе pfsense 1.2.3 копирую его с помощью перлового скрипта clonehdd, для работы нужны два файлика из стандартной freebsd седьмой версии
  • /sbin/restore
  • /sbin/mksnapp_ffs
« Последнее редактирование: Декабря 29, 2010, 09:37 по Москве от Forestman » Записан
Forestman
Гость
« Ответ #1 : Декабря 15, 2010, 12:38 по Москве »

pfsense мне нравится, но учет трафика реализован в нем только для прокси, а так как хочется видеть все (Большой брат следит за тобой  ;D) я решил не изобретать велосипед и отслеживать трафик с помощью ipcad, естественно доделав его под свой конткретный вариант.
ipcad я поставил через пакаджи, дополнительно пришлось скопировать файлы rsh,rlogin из стандартной freebsd седьмой версии в /usr/bin/, конф файл прилагается.
строка фильтра была такая interface em0 filter "ip and dst net 192.168.3.0/24
and not src net 192.168.3.0/24 and not host 255.255.255.255
and not ip multicast and not dst net 192.168.4.0/24 and not src net 192.168.4.0/24";
включение and not host 255.255.255.255 and not ip multicast сделано было чтобы исключить лишний мусор, который начал проявляться далее при анализе логов.

надо учитывать что запуск сервиса через rc.conf обречен на провал, так как pfsense при запуске его удаляет и не анализирует, почитав документацию вставляет в /etc/rc.conf.local строчки
ipcad_enable="YES"
ipcad_conf="/usr/local/etc/ipcad.conf"
ipcad_flags=""
а файл запуска сервиса переименовываем из /usr/local/etc/rc.d/ipcad в /usr/local/etc/rc.d/ipcad.sh

скрипт сбора статистики следующий
#!/bin/sh
net="192.168.3"
ttime=`/usr/bin/rsh localhost sh ip acco | /usr/bin/grep 'Accounting data saved' | /usr/bin/awk '{print ($4)}'`
/usr/bin/rsh localhost clear ip accounting
/usr/bin/rsh localhost show ip accounting checkpoint | /usr/bin/grep $net | /usr/bin/awk -v vtime=$ttime '{if ($5 != 0) print (vtime".000",1,$2,"TCP_MISS/200",$4,"CONNECT",$1":"$5,"-","DIRECT/"$1,"-")}' >> /var/squid/log/access.log

скрипт надо засунуть в кронтаб через вебинтерфейс, ручками засунутый пропадет при изменении заданий крона через вебформу или при перезагрузке
« Последнее редактирование: Декабря 29, 2010, 09:37 по Москве от Forestman » Записан
Forestman
Гость
« Ответ #2 : Декабря 15, 2010, 12:54 по Москве »

далее получая ВСЮ статистику ее надо считать, в pfsense 1.2.3 идет в комлекте lightsquid - просто и дешево  ;), однако версия пакаджа не последняя и при прикручивании ipcad вылезли глюки, в которых lightsquid путал ip адреса пользователей и ip того что запрашивалось.
в итоге эта проблема решилась обновлением lightsquid до последней версии в ручном режиме, благо это перловые скрипты, в которых надо только поменять пути под используемые в pfsense.

я использую для авторизации в squid имя-пароль, плюс у меня поднят DHCP и DNS внутри сети, с учетом этого дальнейшее допиливание статистики в lightsquid свелось к изменению метода ip2name в lightsquid, если есть имя пользователя то высвечивается оно, если ip адрес (статистика попала из ipcad), то lightsquid пытается ресолвить имя и если удачно - вставляет его.
в итоге в статистике видно отдельно куда пользователь лазил через браузер осмысленно вставляя имя-пароль, куда лазил ПК пользователя
измененый скрипт прилагается, метод ip2name в lightsquid.conf указан $ip2name = "squidauth";;
« Последнее редактирование: Декабря 29, 2010, 09:38 по Москве от Forestman » Записан
Forestman
Гость
« Ответ #3 : Декабря 15, 2010, 13:08 по Москве »

за следующий шаг просьба не кидаться тапками, как мог сделал.

получая статистику о том куда ходил ПК малоинформативно видеть ip адреса каких-то сайтов, в итоге скрипт сбора статистики от ipcad был переделан с учетом моих познаний в программировании на bash

скрипт выделяет ip адрес куда обращались и пытаеся через dig -x получить DNS имя узла и результат пишеться в лог сквида с указанием имени узла.

в итоге у нас статистика того куда обращался ПК пользователя с dns именем ПК и DNS того куда он обращался, а не просто два столбца ip адресов и анализирование кто и куда и зачем
« Последнее редактирование: Декабря 29, 2010, 09:38 по Москве от Forestman » Записан
Forestman
Гость
« Ответ #4 : Марта 12, 2011, 08:46 по Москве »

в ходе полугодового эксплуатации описаной системы дважды был косяк, заключайшийся в том, что когда раз в сутки сквид делает ротацию логов, скрипт, пишущий статистику ipcad успевал первым создать файл логов сквида, и создавал его от имени root, сквид потом пытался получить к своим логам доступ и обламывался, перезапускался и так до исправления.
решается проблема добавлением в скрипт tolog.sh в конце строчки с chown принудительно меняющей владельца файла на proxy
« Последнее редактирование: Марта 12, 2011, 09:20 по Москве от Forestman » Записан
KerryT
Терапевты
***
Сообщений: 1889

Верю в тебя, все получится!

« Ответ #5 : Апреля 03, 2014, 21:24 по Москве »

Тема закрыта. Энтузиазм кончился:)
Записан

Мы тебе помогли?:) Принимаем пожертвования на мечту http://break-people.ru/cmsmade/?page=how_to_donate_to_project
Страниц: [1] Печать 
« предыдущая тема следующая тема »
 


Войти

Powered by MySQL Powered by PHP Powered by SMF 2.0 RC1 | SMF © 2006–2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!