Как стать автором
Обновить

Высокопроизводительный роутер для дома на базе PC и pfSense



В жизни каждого пользователя всемирной сети наступает момент когда … кхм, да что там, вы и сами знаете для чего нужны маршрутизаторы.

Для подавляющего большинства домашних пользователей подойдут хардварные маршрутизаторы SOHO класса, но задачи бывают разные – кому-то нужно разместить приватный VPN сервер, протолкнуть честные 100 Мбит, что-нибудь очень хитро запроксировать … ну а я, например, люблю торренты, только не те что вы подумали — у меня к торрентам своя особая, «серверная» любовь.

В общем, мне понадобился маршрутизатор способный держать несколько тысяч соединений и прогонять поток в 100 Мбит.
В наличии из заводских маршрутизаторов у меня были только слабенькие ZyXel 330, Trendnet 432 brp, D-Link DIR-300. Ни один из них не способен осилить и четверти нагрузки что мне требуется, по этому было принято решение сваять что-нибудь из завалявшегося дома компьютерного барахла.
Первым моим роутером стал Celeron 800 + 64 Mb PC133 SDRAM на GA-6VEM с HDD на 4 гигабайта.
На эту замечательную машинку как родной встал m0n0wall-mod и успешно работал с 2008 года по сей день.

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



Именно в такой момент я и наткнулся на завалявшиеся в моем любимом компьютерном магазине интеловские платки D945GCLF. Да, моделька устаревшая, но в плюсах у нее цена и достаточная для моих задач производительность. Было принято решение обновлять роутеры.



Для замены старых жужжащих винчестеров были приобретены переходники CF to IDE и карточки к ним, оперативка – по 1GB DDR2 на роутер.



На корпусах решил сэкономить и использовать старые, места в них с большим запасом для таких плат.



А вот тут вскрылась проблема – в одном из корпусов был БП без серого провода т.е. сигнала Power OK у меня нет, а без него осторожная интеловская материнка включаться опасалась. Ну и 4-pin для процессора нет, но это не страшно.



К сожалению, мне так и не удалось выяснить какой потенциал нужно подать на этот пин чтобы мать стартовала, за то получилось найти точно такой же БП с полным шлейфом.

В качестве софтовой части решил использовать pfSense.
Я давно следил за его развитием, например версию 1.2.3 я успешно расставил по филиалам и вязал по IPSEC с головным офисом. Вот только поддержки DHCP+PPTP на WAN у него никак не появлялось, а мой провайдер использует именно такой тип авторизации абонентов. К счастью версия 2.0 принесла много нового, в том и числе и возможность такого рода подключения – чем я и воспользовался.

Ставится pfSense очень дружелюбно: достаточно загрузиться с диска, выбрать Installer Mode и согласиться на Quick Install (ВНИМАНИЕ ! В режиме Quick Install автоматически будет выбран первый обнаруженный жесткий диск – отключите все лишнее !).

Далее загружаем свежую систему, указываем какую сетевую карту под какой интерфейс отдать, выдаем IP и переходим к настройке собственно Интернета — для этого у нас есть очень хорошо проработанный веб-интерфейс.

Кратко описываю основные моменты настройки, благо сложности тут почти нет:

Скрытый текст
System --> General Setup
указываем Hostname и Domain, для эстетического удовольствия
вбиваем свои любимые DNS-сервера либо ставим галку «Allow DNS server list to be overridden by DHCP/PPP on WAN» и получаем DNS от провайдера
ставим галку «Do not use the DNS Forwarder as a DNS server for the firewall», по названию вполне понятно что она делает
выставляем время и сохраняемся

System --> Advanced --> Admin access
ставим галку «Disable DNS Rebinding Checks», по моему опыту эта штука работает аномально (либо я не умею ее готовить)

Так же на этой странице есть много всего интересного, например перевод интерфейса на HTTPS и включение SSH на роутере.

System --> User manager
меняем дефолтный пароль pfsense пользователя admin

Создание подключения к Интернету описываю для Домашнего Интернета Билайн, т.е. DHCP+PPTP, для других провайдеров с аналогичной схемой то же должно подойти. Если вдруг нет – в русской ветке форума вам помогут.

Итак, идем в Interfaces --> assign --> PPPs и создаем подключения нажатием на «+»

Link type – PPTP, либо L2TP, это зависит от города и доступных серверов авторизации
Link interface – выбираем WAN, а не сетевой интерфейс
Вписываем логин и пароль от соединения в соответствующие поля.

Переходим на первую вкладку (Interface assignments) и нажатием на «+» добавляем новый интерфейс из созданного нами PPTP (L2TP) соединения. Сейчас он называется OPT1, но это исправимо.

Переходим в Interfaces --> OPT1, включаем его (Enable interface), после выбора типа – PPTP (L2TP) в открывшиеся поля подставятся данные из ранее созданного соединения.

Remote IP address – адрес VPN сервера провайдера, я предпочитаю вписывать IP, но должен понимать и домены.

В поле Local IP address я указываю адрес выданный по DHCP, т.к. поле обязательное, хотя в обсуждении на форуме говорят оставить его пустым.

При поднятии интерфейсов для каждого из них будет создан шлюз, чтобы по умолчанию ходить в Интернет заходим в System --> Routing и указываем быть дефолтным интерфейсу с PPTP соединением (OPT1).

Собственно всё, роутер в минимальной конфигурации у нас уже есть.



Рекомендую заглянуть в каждый уголок веб-интерфейса, тут много что можно настроить под свои нужды – функционал идущий из коробки очень богат.
Кроме того, на страничке System --> Packages --> Available packages можно выбрать что бы еще хотелось поставить, например мне очень приглянулся Zabbix Agent.

Ссылки по теме:

Официальный сайт http://pfsense.org/
Документация http://doc.pfsense.org/, http://ru.doc.pfsense.org/
Русскоязычная ветка форума http://forum.pfsense.org/index.php/board,9.0.html

Спасибо что дочитали, буду рад ответить на вопросы по pfSense и «зачем тебе это дома ?»
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.