Дистрибутив для создания
межсетевого экрана – pfSense
Сергей Яремчук
В начале января был представлен очередной релиз 1.2-RC4 дистрибутива pfSense,
предназначенного для построения межсетевого экрана, с которым мы сегодня
и познакомимся.
Основой проекта pfSense [1] послужил m0n0wall, о котором уже шла речь на
страницах журнала [2]. Дистрибутив m0n0wall ориентирован в первую очередь на
использование во встроенных устройствах, его характеризуют легкость в настройке
и понятность для новичка. Основой обоих дистрибутивов послужил FreeBSD. В pfSense
разработчики постарались вложить максимальную функциональность, дополнив его
приложениями, при сохранении той же простоты. Платой послужили больший размер
дистрибутива и более высокие требования, предъявляемые к аппаратной части, в
частности к объему оперативной памяти. Еще одним отличием является использование
в pfSense Packet Filter(PF) с интегрированным ALTQ (HFSC) вместо IP Filter
в m0n0wall. Дистрибутив содержит основные компоненты m0n0wall и поддерживает
все присущие последнему функции: DHCP-сервер и клиент, клиент PPPoE,
статические маршруты, 802.1Q VLAN, беспроводные устройства, SNMP, IPsec и PPTP
VPN, графики работы, Captive Portal с возможностью аутентификации RADIUS и
многое другое. Разработчики pfSense к этому добавили перереботанный веб-интерфейс,
сервер PPPoE, DNS-форвардинг, FTP-прокси и др. Возможна работа с несколькими
WAN-интерфейсами с распределением нагрузки. Правда, с оговоркой: только одно соедиенение
может быть настроено с использованием PPPoE, PPTP или BigPond, остальные должны
получать статический или динамический IP-адрес, например в Ethernet-сети.
Поддержка протокола CARP (Common Address Redundancy
Protocol), позволяет организовать балансировку нагрузки и прозрачное
резервирование шлюза. Кроме IPSec и PPTP поддерживается и OpenVPN. Используя
систему пакетов, можно легко установить еще около 20 приложений или сервисов,
среди которых Pure-FTPd, Sqiud, Spamd, Snort, FreeRADIUS, nmap, nut и другие.
Хотя в последней версии дистрибутива нужное меню в настройках почему-то
отсутствует, информация на сайте о такой функциональности есть по-прежнему.
Возможно, это связано с глубокими переделками интерфейса. Если чего-то в этом
списке не хватает, можно, используя команду pkg_add, легко установить
предварительно пакеты. Интерфейс не локализован, но работа ведется, в чем можно
убедиться, обратившись по адресу [5]. Судя по приведенной там информации, на
дату написания этих строк было переведено 97%, но в настоящее время опять же
нет каких-либо видимых инструментов, позволяющих сменить языки интерфейса.
Будем надеяться, что они появятся в окончательном релизе. Хотя базового
английского вполне достаточно, чтобы разобраться с настройками.