Pull to refresh

Карманный маршрутизатор pfSense на базе BSD

pfSense — это маленький маршрутизатор. Бесплатный, построен на хорошо обработанной напильником FreeBSD. Его можно использовать как маршрутизатор, farewall, VPN-шлюз и т.д. Проект начат в 2004 году. На сегодняшний день Нужен ли вам такой маршрутизатор или проще купить коробушку от D-LINK, Zyxel, LinkSys и т.д. выбирать вам. Решая задачу, для одного из Заказчиков, мне pfSense оказался очень полезен и удобен.

Поехали!
Итак, я решил написать первую статью на хабр. Признаюсь, я давно читаю хабр и желание написать что-нибудь давно во мне засиделось. Не смотря на то, что по роду деятельности, в моих руках бывает множество разных железок самого разного уровня, а также программ и решений с которыми приходится возиться, я все как-то не находил подходящего случая. И вот, кажется такой случай появился…

Я вообще большой любитель таких игрушек. Время, когда нужно было долго возиться причесывая UNIX-подобную систему, даже для мелких задач постепенно уходит (на самом деле, а уходит ли?). Нет, я не говорю о том, что этого совсем не надо будет делать, есть разные задачи, есть разные способы их решения.
В повседневных заботах системного администратора так ли много на это времени?.. Такие милые вещицы как FreeNAS, openfiler, smoothwall и pfSense, они, для меня, как ложка меда в бочке дегтя!

Вам нужно откатать iscsi в ESX/ESXi, но у вас под рукой нет железки? Возьмите openfiler и поставьте его на любой компьютер. Вам нужно сделать NAS сервер из старого компьютера у жадного заказчика или, к примеру, сделать себе хранилку в домашней сети? FreeNAS — то что нужно! И уж конечно все подобные причиндалы работают в виде виртуальных машин и часто уже существуют в виде appliance. (Кстати, забегая вперед, образ vmware pfSense, взятый с сайта, в Vmware server 2.0.2 не заработал. Пришлось инсталлировать.)

Давно искал что-то подобное и именно на BSD системе, хотя таких систем много, но чаше на linux. С Linux я в контрах, его хуже знаю чем BSD. Терять время и заниматься инсталляцией BSD системы с нуля, настройкой firewall, NAT и прочих сервисов для задач тестирования, не сложно, но время терять не хотелось.

Для тестов, мне был нужен самый простой и тупой маршрутизатор между двумя серверами, на которых я поднял VmWare ESXi 4.0 и несколько виртуальных машин. Внутренняя маршрутизация ESX-а, во всех его вариантах, мне не подходила. Никакого, аппаратного маршрутизатора под рукой у меня не было. Готового образа BSD сисемы, да и дистрибутива под рукой тоже не оказалось. Качать? Мм-м-м…

Выход был найден не сразу. Точнее, маленьких, кастомных дистрибутивов с web-мордой для роутеров не так много, а под BSD еще меньше.

Требования к системе — минимальны.
CPU — 100 MHz Pentium (?!? Артефакт!)
RAM — 128 MB

При инсталяции на жесткий диск (мне хватило виртуальных 300мб на диске)
CD-ROM для инсталяции (или используйтея ISO-файл.)
1 Гб на диске (реально меньше)

для Embedded решения
128 MB Compact Flash
Serial port for console

Какую пользу мы имеем с гуся, Шимеле?
  • Firewall (packet filter от OpenBSD;
  • Простой, графический Web-интерфейс для настоек всего что есть;
  • Простая, в одно нажатие инсталляция;
  • Возможность использовать как Wireless Access Point, если у вас есть адаптер;
  • Поддержка нескольких подсетей включая алиасные с firewall (можно легко организовать подсеть для каждого подразделения вашей организации)
  • Traffic Shaping
  • State Table
  • NAT
  • Redundancy (несколько маршрутизаторов pfSense можно объединять, если упал один, второй встает на его место)
  • OpenBSD CARP (протокол избыточности общего адреса)
  • pfsync (синхронизация правил firewall между «коробушками»)
  • Load Balancing для входящего и исходящего интерфейсов.
  • nmap, ping, traceroute в том числе и через web-морду
  • VPN — IPsec, OpenVPN, PPTP (все что надо для VPN!)
  • PPPoE Server
  • RRD Graphs Reporting (графики нагрузки и все такое в реальном времени)
  • Real Time Information (используется AJAX)
  • Dynamic DNS
  • Captive Portal (ээ-э-э?)
  • DHCP Server and Relay
  • Консоль, в том числе и через ssh или RS-232
  • Wake on LAN (pfSense умеет посылать WakeUp на подключенные компьютеры)
  • Proxy Server
  • Встроенный в веб-морду sniffer
  • Сохранение и восстановление правил firewall через веб-морду
  • Текстовый редактор
  • Возможность добавлять любые BSD-пакеты и обновлять систему через веб-морду.


Кому интересно, вот скриншоты

Шкварки
Зачем нужны такие системы? Есть ли им место в наших сетях и системах?
Не знаю. Конечно, городить маршрутизатор для домашней сети из старого компьютера вряд ли кому-то придет в голову. Проще купить коробушку за 1500руб, уметь коробушка конечно меньше, зато электричества кушает меньше и не гудит, да и так ли нужен полный такой функционал дома?

Ставить pfSense жадных экономных заказчиков, которые используют ПК-помойки для маршрутизаторов тоже спорное решение, потому как время простоя иногда бывает больше чем uptime.
Мелкие компании (до 10 сотрудников) скорее всего вполне устроит коробушка-маршрутизатор. А вот в компаниях побольше уже можно попробовать. Во всяком случае, пока, достаточно большое количество системных администраторов предпочитает маршрутизаторы на базе linux & BSD систем, где pfSense вполне уместен. Он прост сам по себе (даже проще чем smoothwall), не требователен к ресурсам, легко ставится, легко администрируется, достаточно производительный.

Продукт достаточно хорошо документирован, есть и Wiki и подробный FAQ. Что касается аппаратной совместимости, то pfSense поддерживает все, что поддерживает FreeBSD 7.2. Да… отлично подходит для тестов, в реальной или виртуальной среде, потому к весит мало и работает сразу.

Чего не хватает?
Не хватает миниатюрной x86 платформы с 500Mhz+ процессором и 512 памяти, с несколькими сетевыми интерфейсами и габаритами как у CD-DVD-привода :). Хотя… у той же супермикры SuperMicro появились надавно сервера на 330-ом Atom-е и i945GC. Малепусенький сервер с 2-мя LAN портами+PCI-E и райзер +4х портовая сетевая карта — уже 6 гигабитных портов за 700-720 доларов в розницу. Да этого достаточно для любых задач фирмы или филиала! И вроде получается дешевле аппаратного роутера, наверное любого вендора при равных технических характеристиках. Это достаточно простое и не дорогое и надежное Embedded решение.
Разработчик утверждает, что их продукт можно поставить на xBox (вот не ясно тока зачем?)

Если хотите, могу сделать описание инсталляции, хотя в общем так все просто.

П.С. За публикацию и снисхождение к тексту буду очень признателен и благодарен.
Удачи коллеги!
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.