Какую версию взять под задачи?
-
Предистория.
В одном дальнем офисе уже используется pFsense 2.0 BETA 4. В принципе пока нравится. Был выявлен один странный баг. Настройки OpenVPN клиента применялись методом "save + reboot". На поиски чего и было убито два дня.Есть головной офис маленького ИЧП.
Два физических интерфейса в интернет. wan1 wan2
Физический интерфейс "VPN" L2.
И конечно физический интерфейс в LAN.Есть два офиса связь с которыми осуществляется через физический интерфейс VPN (у этих офисов других каналов связи нет).
При этом есть удаленный офис доступный только через интернет (вот там и есть pFsense 2.b4).
И есть офис, доступный часто через интерфейс VPN, иногда через интернет.Сейчас это дело разруливает FreeBSD 8.0. Но специалист настроивший нам кусочек счастья - уволился. Нового брать не хотят. В поисках условно простой системы администрирования, с условием опыта эксплуатации pFsense возникла Мысль - перевести все офисы со шлюзов с консольной FreeBSD на версию с веб админкой.
В головном офисе нужно (хочется) разрулить трафик между WAN (по приоритетам, по удаленным хостам, по протоколам, ). При падении одного из каналов - соответственно весь трафик зарулить в живой. При поднятии - вернуть "как было".
Поднять OpenVPN сервер, и гонять трафик к удаленным офисам только внутри VPN, даже если между ними "прямой провод" физического интерфейса VPN. Учредителю с ноута по PPtP ходить на локальные ресурсы и пугать планктон распечатывая "я бумажко ползу к владелицу" на сетевых принтерах.
В головном офисе SIP Asterisk. В дальних офисах телефонов пока нет и других не предвидится. Соответственно из дальних офисов обеспечить коннект с Asterisk.
Ну и в силу того что народ оборзел и ничего не боится, зарезать всякие вконтактики и одноглазиков вместе с порнотубами. Часть сайтов зарезать вовсе. Часть запретить избранным, части избранных разрешить всё. Запретить ходить из LAN на "неправильные" порты. торренты и дома можно покачать.
Установленная сейчас FreeBSD не умеет ограничивать скорость. Не умеет переключать wan1-wan2.
Поставил в виртуалку pFsense 2.0B5 Сразу возникают вопросы:
- transparent squid вроде как работает.
- LightSquid не создает репортов
- SquidGuard установился, но ничего не ограничивает.
- Нужен ли FreeSWITCH в качестве локального прокси для конкретного дальнего офиса, или лучше всех напрямую заводить на центральный Asterisk?
Посоветуйте что нибудь, или отговорите на что нибудь другое.
-
Поставил в виртуалку pFsense 2.0B5 Сразу возникают вопросы:
- transparent squid вроде как работает.
- LightSquid не создает репортов
- SquidGuard установился, но ничего не ограничивает.
- Нужен ли FreeSWITCH в качестве локального прокси для конкретного дальнего офиса, или лучше всех напрямую заводить на центральный Asterisk?
1. OK
2. Неизчего их создавать - проверьте логи сквида.
3. Нужно настроить - само не ограничит. -
Поставил в виртуалку pFsense 2.0B5 Сразу возникают вопросы:
- transparent squid вроде как работает.
- LightSquid не создает репортов
- SquidGuard установился, но ничего не ограничивает.
- Нужен ли FreeSWITCH в качестве локального прокси для конкретного дальнего офиса, или лучше всех напрямую заводить на центральный Asterisk?
1. OK
2. Неизчего их создавать - проверьте логи сквида.
3. Нужно настроить - само не ограничит.1 сомнительно. ip.yandex.ru про прокси молчит. x-forward-for, и тп типичное отсутствует напрочь.
2 ну так я специально лазал через него (pfsense as default router, squid as transparent) и в то время, когда pfsense перезагружался инет не работал. и лог сквида в принципе сайты записал. я смотрел.
3 настроить - ясное дело. как настроить? SquidGuard установленный по умолчанию тянет с собой пачку пресетов. несколько десятков групп с названиями "прон" "адсенс" и прочий "цп". а тут вебморда непонятная. в чем и состоит претензия на 90%.
-
Я может быть, если внедрение пройдет хорошо, поспособствую в организации вебморды к squidguard. Чисто из ненависти к рекламе.
Есть ли мануал, как\на чем писать вебморды к pFsense?
-
В LS есть кнопка обновить. Что с ним за проблемы? Первоначальную настройку сделали?
По squidGuardкакие претензии/предложения к интерфейсу? -
В LS есть кнопка обновить. Что с ним за проблемы? Первоначальную настройку сделали?
По squidGuardкакие претензии/предложения к интерфейсу?Кнопка есть, но нажимай ты её не нажимай, ручками ли запускаем lightparser.pl результат один:
LigthSquid diagnostic.
Error : report folder '/var/lightsquid/report' not contain any valid data!Это для 2.0-BETA5 (i386) в 4 бете тоже самое.
К squidGuard претенизий нет, есть пожелание в штатной установке сразу иметь пресеты Destination. Чтобы не забивать руками.
Вот почему, при аплоаде блэклитса (с http://www.shallalist.de/ например) на закладке Destination пусто? Я буквально случайно сунулся создавать новый ACL и увидел что там появились Destination categories (и то, когда сделал click). Сам вид этих категорий, к стати, тоже неудобен. строчки расползлись широко и сложно отследить к чему относится acces.
-
В LS есть кнопка обновить. Что с ним за проблемы? Первоначальную настройку сделали?
Кнопка есть, но нажимай ты её не нажимай, ручками ли запускаем lightparser.pl результат один:
LigthSquid diagnostic.
Error : report folder '/var/lightsquid/report' not contain any valid data!Это для 2.0-BETA5 (i386) в 4 бете тоже самое.
Проверьте разрешения на файл /var/squid/log/access.log. У меня 640/proxy
К squidGuard претенизий нет, есть пожелание в штатной установке сразу иметь пресеты Destination. Чтобы не забивать руками.
Какие именно? С ним идет уже sample база 2002 года давности. Можно скачать и установить http://www.shallalist.de/Downloads/shallalist.tar.gz базу.
-
Ладно. с внешним видом ACL s squidGuard разобрался. Мне так больше нравится.
Правка пары строк в одной функции файлик: /usr/local/pkg/squidguard.inc
# ----------------------------------------------------------------------------- # make_grid_controls # ----------------------------------------------------------------------------- function make_grid_controls($type, $items, $enable_overtime = true) { global $g; $res = ''; $tbl = ''; $color = ''; $color2 = ''; $x = 0; foreach($items as $item) { if ($x === 0) { $color = 'style="background-color: #ccffcc;"'; $color2 = 'style="background-color: #dddddd;"'; $x = 1; } else { $color = 'style="background-color: #dddddd;"'; $color2 = 'style="background-color: #ccffcc;"'; $x = 0; } $name = trim($item['name']); $upt_val = $item['upt_value']; $ovt_val = $item['ovt_value']; $description = $item['description']; if (!$name) continue; # skip empty $sel = "selected=\"selected\""; $upt_A = $upt_B = $upt_C = $upt_D = ''; switch($upt_val) { case "allow": $upt_B = $sel; break; case "white": $upt_C = $sel; break; case "deny" : $upt_D = $sel; break; default: $upt_A = $sel; break; } $ovt_A = $ovt_B = $ovt_C= $ovt_D = ''; switch($ovt_val) { case "allow": $ovt_B = $sel; break; case "white": $ovt_C = $sel; break; case "deny" : $ovt_D = $sel; break; default: $ovt_A = $sel; break; } unset($sel); $tbl .= ""; # uptime table $tnm = PREF_UPTIME . $name; $tbl .= "<select id="$tnm" name="\"$tnm\"">"; if ($name !== "all"/*substr_count($name, "all") === 0*/) { $tbl .= "<option value="none " name="\"----\" " $upt_a="">----</option>"; $tbl .= "<option value="white" name="\"white\"" $upt_c="">whitelist</option>"; $tbl .= "<option value="deny " name="\"deny\" " $upt_d="">deny</option> "; $tbl .= "<option value="allow" name="\"allow\"" $upt_b="">allow</option>"; } else { $tbl .= "<option value="allow" name="\"allow\"" $upt_b="">allow</option>"; $tbl .= "<option value="deny " name="\"deny\" " $upt_d="">deny</option> "; } $tbl .= ""; $tbl .= "access to"; $tbl .= "$description [$name]"; $tbl .= " "; # overtime table if ($enable_overtime) { $tnm = PREF_OVERTIME . $name; $tbl .= "</select>"; if ($name !== "all"/*substr_count($name, "all") === 0*/) { $tbl .= "<option value="none " name="\"----\" " $ovt_a="">----</option>"; $tbl .= "<option value="white" name="\"white\"" $ovt_c="">whitelist</option>"; $tbl .= "<option value="deny " name="\"deny\" " $ovt_d="">deny</option> "; $tbl .= "<option value="allow" name="\"allow\"" $ovt_b="">allow</option>"; } else { $tbl .= "<option value="allow" name="\"allow\"" $ovt_b="">allow</option>"; $tbl .= "<option value="deny " name="\"deny\" " $ovt_d="">deny</option> "; } $tbl .= ""; $tbl .= "access to"; $tbl .= "$description [$name]"; $tbl .= " "; } $tbl .= ""; } # header if (!empty($tbl)) { $color = 'style="background-color: #dddddd;"'; $thdr = ''; $hdr1up = "<big>Destination Categories</big>"; $hdr1ov = "<big>Destination Categories in overtime</big>"; $hds3 = "ACCESS: 'whitelist' - always pass; 'deny' - block; 'allow' - pass, if not blocked."; if ($enable_overtime) { $thdr .= "$hds3"; $thdr .= "$hdr1up$hdr1ov"; $thdr .= "If **'Time'** not defined, this is column will be ignored."; # formatting ######### $thdr .= ""; } else { $thdr .= "$hds3 * * * "; $thdr .= "$hdr1up"; # formatting ######### $thdr .= ""; } $res .= " $thdr $tbl "; $rstyle = ""; $ha = "" . "" . "<big>Destination Categories (click)</big> " . "![](./themes/{$g[ "Show rules") " . "" . "" . "![](./themes/{$g[ "Hide rules")" . "" . ""; $res = " * * * $ha$res"; } return $res; } ``` ![pfsense-squidguard-acl.jpg](/public/_imported_attachments_/1/pfsense-squidguard-acl.jpg) ![pfsense-squidguard-acl.jpg_thumb](/public/_imported_attachments_/1/pfsense-squidguard-acl.jpg_thumb)
-
Ну это конечно на вкус и цвет. Мне больше нравятся "корпоративные" цвета.
-
В общем то без разницы какие цвета, если они не режут глаз и не мешают восприятию информации. В данном случае читабельность улучшилась за счет выделения строки и перемены мест колонок. В серединке пустая колонка тоже удачно разделяет.
-
В общем то без разницы какие цвета, если они не режут глаз и не мешают восприятию информации. В данном случае читабельность улучшилась за счет выделения строки и перемены мест колонок. В серединке пустая колонка тоже удачно разделяет.
В идеале хотелось-бы иметь вместо скрытой таблички табличку в скроллбоксе строк так на 5-7.
-
В LS есть кнопка обновить. Что с ним за проблемы? Первоначальную настройку сделали?
Кнопка есть, но нажимай ты её не нажимай, ручками ли запускаем lightparser.pl результат один:
LigthSquid diagnostic.
Error : report folder '/var/lightsquid/report' not contain any valid data!Это для 2.0-BETA5 (i386) в 4 бете тоже самое.
Проверьте разрешения на файл /var/squid/log/access.log. У меня 640/proxy
Да. права правильные. Я его удалял по ssh. Squid сам и создавал со своими правами.
-rw-r–--- 1 proxy proxy 0B Jan 26 00:00 access.log
К squidGuard претенизий нет, есть пожелание в штатной установке сразу иметь пресеты Destination. Чтобы не забивать руками.
Какие именно? С ним идет уже sample база 2002 года давности. Можно скачать и установить http://www.shallalist.de/Downloads/shallalist.tar.gz базу.
Не так. Допустим пресеты там есть. Только почему их не видно на "табе" Destination ?
Я увидел что там пусто, скачал и установил один набор, опять пусто. Скачал установил другой набор - пусто. и так 5 раз. только заглянув в логи увидел что оно качает и устанавливает. а так - полное впечатление что нихренчего не работает.
Это только случайность, что я в ACL попробовал создать ACL и увидел там в Destination в свернутом виде.
А поредактировать их? я может быть свой один любимый прон сайт исключить хочу? -
Да. squid/log/access.log пустой. не смотря на галочку transparent proxy запросы идут мимо сквида.
в Firewall нет ничего похожего на правило, по редиректу запросов на 80 порт в squid.Руками из вебморды не создается.
-
Destinations - это user-defined списки. Подредактировать/сохранить блэклисты через Гуй не получится, т.к. гонять файлы в 14 метров смысла нет. Для любимых порносайтов создаем в Destinations новую категорию с нашим сайтом, а в ACL выбираем для него access='white'. Это будет разрешать категорию ДО любого запрета.
Что касается загрузки блэклистов - да, есть такое неудобство. Думаю, как только будет решен вопрос с совместимости кода с 2.0 и с 1.2.3, появится немного переработанный вариант управления загрузкой (прогресс, логи обработки).
Да. squid/log/access.log пустой. не смотря на галочку transparent proxy запросы идут мимо сквида.
в Firewall нет ничего похожего на правило, по редиректу запросов на 80 порт в squid.Руками из вебморды не создается.
Прямое указание браузеру использовать прокси эффекта не дает тоже?
-
Destinations - это user-defined списки. Подредактировать/сохранить блэклисты через Гуй не получится, т.к. гонять файлы в 14 метров смысла нет. Для любимых порносайтов создаем в Destinations новую категорию с нашим сайтом, а в ACL выбираем для него access='white'. Это будет разрешать категорию ДО любого запрета.
Что касается загрузки блэклистов - да, есть такое неудобство. Думаю, как только будет решен вопрос с совместимости кода с 2.0 и с 1.2.3, появится немного переработанный вариант управления загрузкой (прогресс, логи обработки).
В свежем один на 18 метров с проном, один на 1 метр, и все. Остальные смешного объема. Можно вполне придумать редактор, с постраничным (килобайт по 100-300 \ или строк по 100-300) листанием.
Да. squid/log/access.log пустой. не смотря на галочку transparent proxy запросы идут мимо сквида.
в Firewall нет ничего похожего на правило, по редиректу запросов на 80 порт в squid.
Руками из вебморды не создается.Прямое указание браузеру использовать прокси эффекта не дает тоже?
Прямое дает.
-
На 2.0 должны быть файлы в /tmp вида pkg чего-то-там rules, в которых правила для указанного пакета (если они формируются). И что еще говорится в syslog ?
-
pFsense 2.0 beta 5 + SQUID 2.7.9_4
Достаточно ли в веб конфигураторе установить кыржик "Transparent proxy v"
или необходимо произвести еще и некие нелепые телодвижения? -
На 2.0 должны быть файлы в /tmp вида pkg чего-то-там rules, в которых правила для указанного пакета (если они формируются).
имеется в виду rules.debug с активными правилами pf ?
там только одно упоминание порта 80 (оно же единственное и для HTTP)pass out proto tcp from any to any port 80 queue (qOthersDefault,qACK) label "USER_RULE: m_Other HTTP outbound"
И что еще говорится в syslog ?
Jan 26 12:43:36 pfsense avahi-daemon[47806]: Server startup complete. Host name is pfsense.mrc.local. Local service cookie is 2343502676.
Jan 26 12:43:37 pfsense avahi-daemon[47806]: Service "pfsense" (/usr/local/etc/avahi/services/ssh.service) successfully established.
Jan 26 12:43:37 pfsense avahi-daemon[47806]: Service "SFTP File Transfer on pfsense" (/usr/local/etc/avahi/services/sftp-ssh.service) successfully established.
Jan 26 12:43:39 pfsense Squid_Alarm[12410]: Squid has exited. Reconfiguring filter.
Jan 26 12:43:39 pfsense Squid_Alarm[12899]: Attempting restart…
Jan 26 12:43:39 pfsense squid[14126]: Squid Parent: child process 14673 started
Jan 26 12:43:42 pfsense Squid_Alarm[15704]: Reconfiguring filter…
Jan 26 12:43:43 pfsense Squid_Alarm[30982]: Squid has resumed. Reconfiguring filter.
Jan 26 12:50:07 pfsense php: /pkg_edit.php: Reloading Squid for configuration sync
Jan 26 12:50:07 pfsense check_reload_status: reloading filter
Jan 26 12:50:08 pfsense check_reload_status: syncing firewall
Jan 26 12:50:08 pfsense check_reload_status: reloading filter
Jan 26 12:50:09 pfsense php: /pkg_edit.php: Reloading Squid for configuration sync
Jan 26 12:50:09 pfsense check_reload_status: reloading filter -
pFsense 2.0 beta 5 + SQUID 2.7.9_4
Достаточно ли в веб конфигураторе установить кыржик "Transparent proxy v"
или необходимо произвести еще и некие нелепые телодвижения?Должно быть достаточно.
Правило вида
rdr on $iface proto tcp from any to !($iface) port 80 -> 127.0.0.1 port 80 -
Друзья, а не научились ещё пфСенсе запихивать на железки?
Счас стоит системник старый, неплохо было бы на какой-нибудь роутер залить пфСенсе.. И стоял бы он как модем, малюсенький :)