четверг, 18 марта 2010 г.

PfSense - маршрутизатор на BSD. Статья для Хабра от моего хорошего друга.


pfSense  -    это    маленький
маршрутизатор.

  Бесплатный, построен на хорошо обработанной напильником FreeBSD.
Его можно использовать как маршрутизатор, farewall, VPN-шлюз и т.д. Проект начат
в  2004  году.  На  сегодняшний  день актуальная версия 1.2.3, а на подходе 2ю0 alpha. Нужен ли вам такой маршрутизатор или проще
купить  коробушку  от  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-привода :). Хотя... у той же супермикры</s> SuperMicro появились надавно сервера на 330-ом Atom-е и i945GC. /Малепусенький сервер с 2-мя LAN портами+PCI-E и райзер +4х портовая сетевая карта - уже 6 гигабитных портов за 700-720 доларов в розницу. Да этого достаточно для любых задач фирмы или филиала! И вроде получается дешевле аппаратного роутера, наверное любого вендора при равных технических характеристиках. Это достаточно простое и не дорогое и надежное Embedded решение. Разработчик утверждает, что их продукт можно поставить на xBox (вот не ясно тока зачем?) Если хотите, могу сделать описание инсталляции, хотя в общем так все просто. Удачи коллеги! Kopylov Sergey

Комментариев нет:

Отправить комментарий