Pull to refresh

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

Lumber room
Awaiting invitation


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

Для подавляющего большинства домашних пользователей подойдут хардварные маршрутизаторы 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 и «зачем тебе это дома ?»
Tags:
Hubs:
You can’t comment this post 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.