На какой роутер можно поставить pfsense

Домашние роутеры старше 2-х лет перестали справляться с современными тарифами предлагаемыми провайдерами. А именно режут скорость за долго до ограничений по тарифному плану. Эта статья для тех, кому поставщик интернета предоставляет трафик сравнимый со скоростью Ethernet порта, а именно 100 Мегабит в секунду. Причем с использованием ресурсоемких для домашних маршрутизаторов протоколов L2TP и PPTP.

Я все свои эксперименты проводил с провайдером Коламбия-Телеком предоставляющим услуги доступа к сати интернет в Волгограде под торговой маркой Next-one. Но подойдет и для Beeline. И для всех провайдеров, которые предоставляют доступ к интернету по протоколам L2TP или PPTP.

Зачем все это надо или 3 варианта решения проблем

Чтобы выжать все из своего провайдера есть три варианта:

  1. Подключить ethernet кабель напрямую в компьютер. Идеальный вариант, если у вас только один стационарный компьютер. Если же в доме есть планшеты, телефоны и прочая мобильность то этот вариант не для вас.
  2. Купить более мощный маршрутизатор. Я держал в руках только две модели которые в плотную подошли к 100 Мб/с на протоколе L2TP. Это ASUS RT-N56U и UPVEL UR-325BN. При этом первый долгое время был совсем не дешев, а второй не балует качеством.
  3. Собрать роутер самостоятельно из подручных средств. При наличии старого хлама абсолютно бесплатный вариант.

Самодельный домашний роутер

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

Выбор программного обеспечения для домашнего маршрутизатора

Как оказалось, не надо изобретать велосипед, все необходимое уже давно написано. Более того является абсолютно свободным и бесплатным для домашнего использования. В этой статье речь пойдет о pfSense — дистрибутиве для создания межсетевого экрана/маршрутизатора, основанного на FreeBSD. Который имеет удобный web интерфейс и позволяет произвести необходимые настройки обычному пользователю.

Подробнее на Википедии.
Pfsense поддерживает необходимый мне протокол L2TP.

Требования к железу для домашнего роутера

Я его слепил из того, что было. Материнка на Атоме Intel(R) Atom(TM) CPU 230 @ 1.60GHz + 512 мегабайт оперативной памяти. В качестве накопителя было решено использовать старую карту флеш-памяти CompactFlash на 512 МегаБайт из старого фотоаппарата. Чтобы использовать ее как жесткий диск с IDE разъемом ATA необходимо приобрести переходник.

Ну и естественно необходимо иметь две сетевые карты. Одна будет смотреть в сторону провайдера, а вторая в вашу домашнюю сеть.

Минимальные требования к аппаратному обеспечению для использования ПО PFSENSE

CPU — 100 MHz Pentium
RAM — 128 MB

Для установки на жесткий диск

CD-ROM устройство и диск для установки либо USB флешка
1 GB свободного места

Для встроенной системы

512 MB Compact Flash

Как видите требования не высоки.

Выбор Pfsense для маршрутизатора

На официальном сайте pfsense.org для скачивания представлены несколько вариантов в зависимости от архитектуры процессора и типа установки. Для встроенной системы необходимо выбирать файлы в зависимости от размера флешки. Усли у вас CF объемом 1 ГБ, то следует выбрать прошивку в названии которой присутствует 1g. Соответственно для 512 МБ — 512mb и так далее.
Так же в названии прошивки присутствует значение архитектуры, можно использовать i386 как универсальное значение. Так как команды i386 поддерживаются как процессарами Intel, так и AMD, и Cyrix (VIA).
И последний параметр — это тип консоли, VGA или последовательный порт. Я использую более привычный VGA. Название файл в моем случае для CF объемом 512 МБ выглядит так: pfSense-2.1-RELEASE-512mb-i386-nanobsd_vga.img

Как записать Compack Flash для встроенной системы Pfsense

Запись CF для встроенной системы не столь тривиальна, как может показаться, простое копирование и обычные программы для записи образов на диск не помогут.
Воспользуемся утилитой physdiskwrite и инструкцией.

Первый запуск PfSense

При первом запуске будет необходимо ответить на пару глупых вопросов. Поэтому как минимум один раз понадобятся монитор и клавиатура. Суть предварительной настройки — это указать какая сетевая карта будет смотреть в сторону провайдера, то есть будет WAN портом, а какая — в локальную сеть, то есть — LAN. Так же можно выбрать тип IP адресов на каждом интерфейсе, статика или динамика. И в случае статики присвоить конкретный адрес. К сожалению PfSense не имеет настроек по-умолчанию. Поэтому в случае полного сброса к заводским настройкам Вам придется подключать монитор и клавиатуру. PfSense просто не продолжит работу пока вы не произведете настройку этих параметров.
В дальнейшем, как только Вы произвели базовые настройки, то есть присвоили IP адреса интерфейсам все настройки можно производить из web оболочки и локальные монитор и клавиатура нам не понадобятся.

Настройка PFSENSE

Набираем в браузере адрес LAN порта компьютера, а теперь уже роутера pfsense. И вводим параметры авторизации. Значения по-умолчанию admin#pfsense

И должны увидеть примерно следующее:

Настройка WAN порта pfsense

Параметры порта WAN настраиваем в соответствии с требования вашего провайдера. В моем случае провайдер раздает по DHCP серые адреса из сети 10.0.0.0/8
Поэтому произведем соответствующие настройки

Особо обратите внимание на две галочки в самом низу. Первая блокирует весть трафик из серых сетей, то есть отданных для локальных сетей. Вторая блокирует весь трафик из неизвестных сетей, то есть из еще нераспределенных.

Для начала рекомендую убрать обе галочки. А потом когда все настроите и все заработаете, то можете поэкспериментировать.
Подключите сетевой кабель провайдера в WAN порт. Зайдите в меню Status—>Interfaces и убедитесь, что все работает:

Настройка LAN порта PfSense

LAN порт будем настраивать по своему усмотрению. Я предпочитаю использовать статический адрес (не следует путать с DHCP сервером для клиентов локальной сети).

Скорее всего в интерфейсе LAN уже все будет настроено так как надо еще с момента установки pfSense, когда мы вводили параметры в консоль. Поэтому просто проверьте значения.

Настройка L2TP Pfsense для подключения к интернету

Вот мы и подошли к самому главному. А именно к настройке L2TP тоннеля для подключения к интернету.
Однако в самом начале нам стоит прописать статический маршрут до L2TP сервера провайдера, который в моем случае имеет белый адрес и естественно недоступен из серой сети System—>Routing вкладка Routers:

После чего поверх WAN порта настроим еще одно соединение. Заходим в меню Interfaces—>assign, выбираем вкладку PPPS и жмем плюсик и настраиваем соединение в соответствии с требованиями провайдера:

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

Переходим в меню Interfaces—>OPT1, включаем его (Enable interface).

Поля авторизации будут автоматически заполнены из созданного вами соединения.

После этого нам следует изменить шлюз по-умолчанию. Чтобы все запросы уходили в интернет необходимо сделать шлюзом по-умолчанию интерфейс OPT1. Для это заходим в его настройки System—>Routing
Выбираем редактировать WAN (default) и убираем «Default gateway»
Выбираем редактировать OPT1 (default) и ставим «Default gateway»

Вот собственно и всё, роутер в минимальной конфигурации у нас уже есть. Остается только его перезагрузить и убедиться в работоспособности.

Тестирование производительности маршрутизатора на базе pfsense

Самодельный маршрутизатор показал скорости на протоколе L2TP близкие к скорости Ethernet порта.
Было (для тарифа 100 Мбит/сек) на роутере DIR-620:

Стало (для тарифа 100 Мбит/сек) на самодельном роутере PfSense:

This topic has been deleted. Only users with topic management privileges can see it.

  • Добрый вечер!
    Есть такая вот коробочка!

    Там стоит одноядерный AMD, у коробки нет видео выхода,только СОМ порт,2 USB и 3 LAN.
    Я убил почти 3 дня прочитав уйму материала, по заливке системы, и так и не разобрался как это сделать не имея доступа к нему через видео. Очень прошу помочь выбрать нужную мне прошивку и как залить.
    Знаю что на ней 256 оперативы, и есть карточка на 4гб (хотя комп видит как 1.83гб, даже после полного форматирования), могу ли я записать систему на флешку и с нее грузиться?или писать надо на внутренюю флешку-компакт флеш.
    Камень AMD Geode ALXD800EEXJ2VD

  • Вам нужно скачать образ img NanoBSD для AMD и одной из программ прошить его на карточку. Поищите информацию про установку на ALIX платформу по форуму и в гугле.

  • @dvserg:

    iso NanoBSD

    Очепатка IMG образ.

    Вот может поможет.
    http://thin.kiev.ua/router-os/50-pfsense/633-pfsense-na-330-rami-18g-d525.html

  • Спасибо за советы, но увы, у меня одно ядерный проц, и я пролистав абсолютно все зеркала со скачиванием не нашёл нужно мне 32х битной системы. Далее, даже если я и нашел дистрибутив,  и как то поставил его, как мне зайти и начать делать все найстроки? Видимо по SSH на 192.168.1.1 ?

  • Через браузер на 192.168.1.1

    А что, в последних версиях существует скрипт автоназначения интерфейсов (LAN/WAN)?

  • Тогда — Так как у железяки отсутствует VGA выход, весь вывод перенаправляется в COM порт при помощи BIOS.

    Я в курсе, что куда направляется. Просто человек задал вполне правомерный вопрос про адрес подключения и ваш пассаж «Приплыли» правомерен, если существует скрипт автоназначения интерфейсов (хотя бы для LAN, как в тике). Так есть скрипт или нет?

  • 2 dr.gopher
    Зачем замусоривать тему, если не знаете/не желаете отвечать на конкретный вопрос? Отросший до неприличных размеров пафос мешает?

    А вы помогли чем либо человеку, без пафоса?

    А вы чем помогли, унизив его да ещё и ляпнув при этом глупость, пафосный вы наш. Ещё и склоку пытаетесь спровоцировать.

  • pfSense Hardware Pinterest pin

    If you have read a few of my articles, you know I think running pfSense router software is a great idea. It is probably better than your router software. I rebuilt my home lab and bought new hardware to run pfSense which has worked great. A few years ago I wrote an article about good choices for pfSense hardware. Even though I’ve kept that article up to date, after going through the research myself again, I’ve decided it’s time to write a brand new article on the subject. So let’s take a look at 11 great choices for pfSense hardware.

    Editor’s Note: This article was last updated on 9/20/2023. I also have an article specifically for those of you looking for 2.5GbE pfSense hardware or those of you looking for 2.5GbE Proxmox hardware and USB NICs.

    This page contains affiliate links. If you purchase an item using an affiliate link I will receive a small commission at no cost to you. Affiliates do not influence my recommendations. Read my disclosures for more information.

    Table of Contents

    pfSense hardware requirements

    Everyone will have different hardware needs but here are some common requirements for pretty much any build:

    • The CPU must be powerful enough to route your Internet traffic. The faster your traffic, the more powerful the CPU you will need.
    • Sufficient RAM for the packages you want to run. pfSense doesn’t normally require much RAM, but if you are going to do a lot with it you may need more than the average user. This is especially true if you want to run intrusion detection/protection systems like Snort and Suricata.
    • The CPU should support AES-NI. This is an encryption instruction set that helps pfSense performance, especially with VPNs.
    • At least 2 network interface cards (NICs). You can get away with one using VLAN tagging, but that adds unnecessary complications. In general, you want one NIC for each interface (LAN, WAN, etc.). You probably want an Intel NIC for the best performance and reliability.

    For reference, the minimum pfSense hardware requirements are:

    • 600 MHz CPU
    • 512 MB of RAM
    • 4 GB hard drive
    • A compatible network card (again, best two have at least two NICs)
    • A bootable USB drive or CD/DVD-ROM for installation

    Netgate (the company behind pfSense) says the above specs are good if you’re okay with less than 100 Mbps of unencrypted throughput. I think you should look to achieve speeds faster than that, which all of the hardware choices in this article will greatly exceed. Let’s look at some appropriate hardware choices. These are listed in no particular order; they are all great choices. You’ll have to pick the one you want based on your budget and needs.

    First Choice: Protectli Vault 4 Port Mini PC

    Protectli Vault FW4B - 4 Port, Firewall Micro Appliance/Mini PC - Intel Quad Core (Celeron J3160), AES-NI, Barebone

    Protectli Vault FW4B — 4 Port, Firewall Micro Appliance/Mini PC — Intel Quad Core (Celeron J3160), AES-NI, Barebone

    • THE VAULT (FW4B): Secure your network with a compact, fanless & silent firewall. Comes with US-based Support & 30-day money back guarantee!
    • CPU: Intel Quad Core Celeron J3160, 64 bit, up to 2.2GHz, AES-NI hardware support
    • PORTS: 4x Intel Gigabit Ethernet ports, 2x USB 3.0, 1x RJ-45 COM, 2x HDMI
    • COMPONENTS: Barebones for maximum customizability (no RAM or mSATA). coreboot BIOS optional, must be installed by user.
    • COMPATIBILITY: No OS pre-installed. All hardware tested with pfSense, untangle, OPNsense and other popular open-source software solutions.

    This is an extremely popular choice for pfSense builds. With its hardware it should easily be able to achieve gigabit speeds and perform well with multiple pfSense packages installed. The version listed above is a barebones version, meaning you’ll need to buy an hard drive and RAM to complete the build. Below are a few different versions of this hardware that might better suit your needs:

    Protectli Vault 4 Port, Firewall Micro Appliance/Mini PC - Intel Quad Core, AES-NI, 8GB RAM, 120GB mSATA SSD

    Protectli Vault 4 Port, Firewall Micro Appliance/Mini PC — Intel Quad Core, AES-NI, 8GB RAM, 120GB mSATA SSD

    CPU: Intel Quad Core Celeron J3160, 64 bit, up to 2.2GHz, AES-NI hardware support; PORTS: 4x Intel Gigabit Ethernet ports, 2x USB 3.0, 1x RJ-45 COM, 2x HDMI

    $329.00
    Amazon Prime

    Protectli Vault Pro VP2410, 4 Port, Firewall Micro Appliance/Mini PC - Intel Celeron J4125, DDR4 RAM, M.2 SATA Storage, AES-NI, Barebones

    Protectli Vault Pro VP2410, 4 Port, Firewall Micro Appliance/Mini PC — Intel Celeron J4125, DDR4 RAM, M.2 SATA Storage, AES-NI, Barebones

    PORTS: 4x Intel Gigabit Ethernet NIC ports, 2x USB 3.0 Micro, 1x USB-C 3.2, 1x HDMI, 1x DP

    $319.00
    Amazon Prime

    Protectli Vault FW2B - 2 Port, Firewall Micro Appliance/Mini PC - Intel Dual Core, AES-NI, 8GB RAM, 120GB mSATA SSD

    Protectli Vault FW2B — 2 Port, Firewall Micro Appliance/Mini PC — Intel Dual Core, AES-NI, 8GB RAM, 120GB mSATA SSD

    CPU: Intel Dual Core Celeron, 64 bit, 1.6GHz (Turbo 2.48 GHz), AES-NI hardware support; PORTS: 2x Intel Gigabit Ethernet NIC ports, 4x USB 2.0, 2x USB 3.0, 1x RJ-45 COM, 2x HDMI

    $259.00
    Amazon Prime

    Protectli Vault FW6A - 6 Port, Firewall Micro Appliance/Mini PC - Intel Dual Core, AES-NI, Barebone

    Second Choice: Qotom Mini ITX Q330G4 Intel Core i3

    Mini Itx Linux Q330G4 Intel Core I3-4005U,1.7Ghz (8Gb Ddr3 Ram 16Gb Ssd) AES-NI,4*Gigabit LAN,Used As A Router/Firewall/Proxy/WiFi Access Point

    This is the hardware I recently purchased to run pfSense. It easily achieves the near gigabit speeds offered by my ISP, CenturyLink. I run Snort, and a few other packages and this box doesn’t break a sweat. Qotom makes a ton of other devices and configurations, some of which I’ll list below:

    Barebones I3 Linux Appliance Q330G4 Core I3-4005U (Barebone WiFi) AES-NI,Fanless,4*Intel Gigabit Ethernet,Support Ubuntu,Linux,OPNsense,Sophos,Vyos,Untangle

    Barebones I3 Linux Appliance Q330G4 Core I3-4005U (Barebone WiFi) AES-NI,Fanless,4*Intel Gigabit Ethernet,Support Ubuntu,Linux,OPNsense,Sophos,Vyos,Untangle

    NO RAM NO SSD With WIFI; PORTS: 4xIntel I211-AT/I210 Gigabit LAN, 1x USB 3.0,3x USB 2.0, 1x HD Video

    $197.00

    Qotom 4 LAN Mini Pc I5 Q355G4 5Th Generation Intel Core I5-5200U AES-NI 8Gb Ddr3 Ram 16Gb Ssd, 4 Intel LAN,X86 Mini PC OPNsense

    Third Choice: Zotac Zbox CI622

    ZOTAC ZBOX CI622 Nano Silent Passive-Cooled Mini PC 10th Gen Intel Core i3 Dual-core, Intel UHD Graphics, No Memory/Storage/OS Barebones System, ZBOX-CI622NANO-U

    ZOTAC ZBOX CI622 Nano Silent Passive-Cooled Mini PC 10th Gen Intel Core i3 Dual-core, Intel UHD Graphics, No Memory/Storage/OS Barebones System, ZBOX-CI622NANO-U

    • 10th Gen Intel Core i3-10110U (dual-core 2.1 GHz, up to 4.1 GHz)
    • Intel UHD Graphics
    • Dual Display ready, 4K Ready at 60 Hz, HDMI 2.0, DisplayPort 1.2
    • 802.11ac Wi-Fi, Bluetooth 5, Dual Gigabit LAN
    • 6 x USB 3.1 (2 Type-C), 1 x USB 3.0

    I used an older version of this for years. The only downside is the Realtek NICs, but it was solid. I eventually repurposed this as a lightweight desktop box for a while. Zotac makes other boxes that might fit the bill too:

    ZOTAC ZBOX-CI325NANO-U Series Nano Fan-less Mini PC Intel N3160 Quad-Core CPU Silent Performance Barebone System, No SSD, No RAM, No OS

    ZOTAC ZBOX CI325 Nano Fanless Mini PC Intel N3160 CPU Intel HD Graphics 4GB Memory 32GB SSD Windows 10 (ZBOX-CI325NANO-U-W2B)

    Fourth Choice: Netgate models

    Netgate 1100 w/pfSense+ Software - Router, Firewall, VPN w/1-yr TAC Lite Support

    Netgate 1100 w/pfSense+ Software — Router, Firewall, VPN w/1-yr TAC Lite Support

    • [Business Ready] Software updates included for product lifetime. Netgate TAC Lite technical support included. One year hardware warranty included.
    • [Easy to Set Up] Pre-loaded with pfSense Plus software to get up and running fast — simply unbox it and start customizing for your secure networking needs.
    • [Powerful Dual Core] A dual core ARM Cortex-A53 1.2 GHz delivers near gigabit routing of common home iPerf3 traffic and in excess of 650 Mbps of firewall throughput.
    • [Efficient Operation] Low power draw, a compact form factor, and silent operation allow it to run unnoticed when placed on a desktop, wall, or rack.
    • [Flexible Configuration Options] Three (3) 1 GbE switched (WAN/LAN/OPT) ports allow you to configure three separate 1 GbE switched ports for nearly a gigabit of bi-directional traffic.

    Netgate is the best place to go for an out-of-the-box, fully working, and supported solution. They are the maintainers of pfSense and they sell a few relatively affordable models appropriate for home users. The SG-1100 above has 3-gigabit ports which means you can use this for multi-WAN or VLANs. It’s fairly low-powered but suitable for most home applications unless you plan on running a lot of intensive packages.

    The SG-2100 is a step up from the SG-1100. It has 1 WAN ports and 4 LAN ports (which can be used for multi-WAN), as well as more processing power and RAM. If you are looking for higher throughput and running more packages this option might be more suitable. The SG-3100 is similar to the SG-2100 but more powerful (and thus more expensive) with an additional WAN port. If you have a large network, a fast ISP, and want to run IPS/IDS with VPN this will definitely get the job done.

    Netgate offers more options if you buy from them directly. Keep in mind, you’ll be getting pfSense Plus instead of pfSense CE if you buy a Netgate model.

    Netgate 2100 w/pfSense+ Software - Router, Firewall, VPN w/1-yr TAC Lite Support

    Netgate 3100 with pfSense® Plus Software - Network Security Firewall Appliance and VPN Router for Home Pro, Branch, Small/Medium Businesses

    Fifth Choice: MOGINSOK 4X 2.5GbE Intel I225-V

    MOGINSOK 4X 2.5GbE Intel I225-V Ethernet Firewall Appliance Mini PC, Intel Celeron J4125 AES-NI VPN Router PC HDMI VGA 4GB RAM 64GB MSATA SSD

    MOGINSOK 4X 2.5GbE Intel I225-V Ethernet Firewall Appliance Mini PC, Intel Celeron J4125 AES-NI VPN Router PC HDMI VGA 4GB RAM 64GB MSATA SSD

    • 【CPU&Ports】MOGINSOK Firewall PC with Gemini Lake 10th Gen Intel Celeron J4125 Quad cores Four threads 2.0GHz up to 2.7GHz 4MB cache with Intel UHD Graphics 600,supported AES-NI . Support HDMI+VGA Dual Display,2xUSB 3.0
    • 【Intel Ethernet I225-V 2.5GbE】This PFsense Firewall Router with 4*Intel I225 Network card Suppot 2.5GbE, bring you more faster and professional network usage(some system suppliers maybe have not released compatible driver to match yet, suggest to install newest version of following systems: pfSense CE 2.6.0/plus 23.01, OPNsense 22.1, OpenWrt, ROS7, ESXI, Proxmox, CentOS etc).
    • 【Professional Firewall PC】MOGINSOK MGSRCJ4 Firewall Mini PC-a fanless & silent professional firewall router pc bring you a secured and encrypted network environment.Multi-functional support AES-NI, ESXI, Watchdog, Auto power on, RTC, PXE boot, Wake-on-LAN.
    • 【Professional OS installed】This Firewall Router pre-installed Pfsense and you can installOPNsense/OpenWrt/Unbutun/windows and other popular open-source software solutions. Which you can use it as an Firewall/Netgate/Softrouting/NAS/VPN/ESXI 、PVEvirtualization platform(support VT-X,VT-D).
    • 【Quality With Warranty】If you have any questions on MOGINSOK Firewall mini pc, feel free to contact us . We offered 12 Months warranty for it and WE’LL REPLY YOUR Quesstions within 24 hours(during Working Days).

    This nice little package comes with plenty of RAM and hard drive space pre-installed. You just install pfSense and go! Also great if you are looking for 2.5GbE ports.

    Sixth Choice: AWOW Mini PC

    AWOW Mini PC Intel Celeron J3455 6GB DDR4, 128 GB SATA SSD, Mini Desktop Computer with Windows 10 Pro, Quad Core, Dual Gigabit Ethernet NIC, Dual HDMI, 5X USB3.0, 4K UHD, Bluetooth AK34 Micro PC

    AWOW Mini PC Intel Celeron J3455 6GB DDR4, 128 GB SATA SSD, Mini Desktop Computer with Windows 10 Pro, Quad Core, Dual Gigabit Ethernet NIC, Dual HDMI, 5X USB3.0, 4K UHD, Bluetooth AK34 Micro PC

    • 【Excellent Hardware and OS】AK34 mini desktop computer designed by Intel Apollo Lake platform motherboard with Intel Celeron quad core CPU J3455 up to 2.3 GHz, 6GB DDR4, built-in M.2 128GB SSD, 2.4Ghz and 5.8Ghz dual band WIFI, dual Gigabytes LAN NIC, dual HDMI for 4K UHD, 5x USB 3.0, Pre-installed licensed Microsoft Windows 10 Pro (64bit) and supports Linux. AK34 Mini PC offers excellent performance for HTPC (Home Theater Personal Computer), NAS etc.
    • 【Dual LAN ports】This AWOW Micro PC AK34 comes with two Gigabytes LAN ports which provide you much more network usage, such as software router(OpenWRT/ddWRT/Tomato etc.), firewall, NAT and network isolation etc.
    • 【Dual HDMI ports】Dual HDMI outputs can show the same or different contents in different monitors at the same time. Both HDMI port support 4k ultra HD streaming to stunning visual and provide you high productivity.
    • 【Easy Storage Expansion】built-in M.2 SATA 3 6.0 Gb/s 128GB SSD. Also you can expand the storage with 2.5’’ SATA 3 SSD or HDD (7.5mm, extended 2TB storage capacity) and micro SD SDXC card (one card slot, up to 512GB). The easy expandable storage can satisfy you to install kinds of apps and store your personal files like videos and music.
    • 【Advanced Thermal System and Multiple functions】Built-in silent fan design enhance the heat dissipation, Support Wake-on-LAN, Auto power-on and PXE. The AWOW AK34 is an ideal Mini Desktop for home, office, media center, digital signage, digital security and surveillance etc.

    Another fully built, and ready-to-go option for pfSense. Its processor is plenty for even power pfSense users. Here are a few different hardware options if you want different specs to suit your needs.

    AWOW Mini PC Desktop Computer Intel Celeron N3450 Windows 10 6GB DDR4 128GB SSD/Burst Frequency 2.2 GHz/Dual LAN/ 2.4G+5G Dual Band WiFi/4K /Bluetooth/HDMI/5 USB3.0 Ports Micro PC

    Sale

    AWOW Mini PC Intel Celeron J3455 6GB DDR4, 256GB SSD, Mini Desktop Computer, AK34 Micro PC, Windows 10 Pro, Quad Core, Dual Gigabit Ethernet NIC, Dual HDMI, 5X USB3.0, 4K UHD, Bluetooth

    AWOW Mini PC Intel Celeron J3455 6GB DDR4, 256GB SSD, Mini Desktop Computer, AK34 Micro PC, Windows 10 Pro, Quad Core, Dual Gigabit Ethernet NIC, Dual HDMI, 5X USB3.0, 4K UHD, Bluetooth

    $179.99
    $149.99
    Amazon Prime

    Seventh Choice: TRIGKEY Mini PC

    TRIGKEY Dual LAN Mini PC W11 Pro, New 12th Generation Intel N100(4C, 4T) 16G DDR4 500G PCIE1 SSD G5 Mini Computers, 4K@60Hz HDMI Dual HD Output, Wi-Fi 6, BT 5.2 for Personal, Office PC

    TRIGKEY Dual LAN Mini PC W11 Pro, New 12th Generation Intel N100(4C, 4T) 16G DDR4 500G PCIE1 SSD G5 Mini Computers, 4K@60Hz HDMI Dual HD Output, Wi-Fi 6, BT 5.2 for Personal, Office PC

    • 🎀【Compact size & incredible performance】TRIGKEY GREEN G5 Mini PC is about 4.88*4.44*1.65 inch, allowing you to take it anywhere you go. Equipped with 12th Gen N100 processor (4C/4T, 4M Cache, up to 3.4 GHz), and Supports W11、W10 Pro、Linux-Ubuntu, etc.. The compact size makes the mini pc a top choice for your light OFFICE work, such as AI, PS, CAD, Office, PR, Keyshot.
    • 🎀【UHD Graphics & WIFI 6, BT 5.2】G5 Mini Desktop Computer has equipped with UHD Graphics supporting 4k video playback and web surfing. Dual HDMI allows you to connect two monitors at the same time. It also supports WIFI 6(Max 2400MBPS), BT 5.2 and 1000M LAN ensuring the net speed and performance.

    This is an extremely compact mini pc with two gigabit ports and plenty of power to fulfill your pfSense router needs. It comes with the 16GB RAM and a 500GB hard drive meaning it has everything you need to get going right away. It also has a couple of USB slots, including a USB-C slot, for additional expansion.

    The Ultimate Managed Hosting Platform

    Eighth Choice: Vnopn Mini PC

    VNOPN Micro Firewall Appliance 4 Intel 2.5GbE NIC Ports Fanless Mini PC, Network Soft Router Mini Computer Intel N3700 Quad Core, Support AES NI, 4GB DDR3, 64GB mSATA SSD

    VNOPN Micro Firewall Appliance 4 Intel 2.5GbE NIC Ports Fanless Mini PC, Network Soft Router Mini Computer Intel N3700 Quad Core, Support AES NI, 4GB DDR3, 64GB mSATA SSD

    • Processor & OS: This 4 nic mini pc uses Intel N3700 Processor Quad core 4 threads 2M Cache at 1.6GHz (Burst up to 2.4GHz), supports AES NI; The performance of CPU and GPU are better than J3160/N2940. It supports windows 10, linux ubuntu and more open-source firewall systems, etc. Support Auto Power On, Wake on LAN, RTC wake and PXE boot («DEL» key to enter BIOS)
    • 4x Intel 2.5Gigabit Ethernet ports: This fanless mini pcs all use Intel i225 network card chips, supports 4x 2.5gigabit ethernet to keep stable and high speed. It has a good compatibility for soft routing, firewall and other network applications. This compact pc has more I/O Interface to meet your more needs: 1x HDMI, 1x VGA, 4x RJ45 LAN, 2x USB3.0, 1x DC IN
    • High Capacity Storage: This little firewall box comes with 4GB DDR3L RAM and 64GB mSATA SSD. The memory is only 1x sodimm slot, max support to 8GB. The storage is 1x mSATA, can be upgraded to 512GB. Large storage can meet the hardware requirements of different network security firewall software and hypervisor applications
    • Portable & Silent: This small form factor PC built for hardware firewall and router use, it’s only 5.27 x 5 x 1.43 inch and 0.6kg and has a mounting bracket that allows it to be hung on the back of the monitor or TV to save more space. In addition, this mini computer uses fanless passive cooling design and only has a 6W TDP to maintain low power consumption to save energy and 24/7 hours quiet running
    • Package List & Service: 1x Vnopn Mini PC, 1x 12V/3A power adapter, 1x US power plug, 1x user manual, 2x WiFi antenna, 1x Back mount bracket & Screws. 1 month free return, 3 year warranty and lifetime tech support

    This mini PC comes with 4 Intel NICs, perfect for those who want to run VLANs. Memory and hard drive are included. Just install pfSense and go. The model below is similar but with fewer network ports but more RAM and a bigger hard drive.

    VNOPN Mini PC Windows 10 Pro with License, Fanless Mini Computer Intel Quad Core N3150, 8G DDR3 128G SSD Mini Desktop Computer Dual NIC Ports Micro PC, Support Triple Display, Dual Band WiFi BT4.2

    VNOPN Mini PC Windows 10 Pro with License, Fanless Mini Computer Intel Quad Core N3150, 8G DDR3 128G SSD Mini Desktop Computer Dual NIC Ports Micro PC, Support Triple Display, Dual Band WiFi BT4.2

    • 【Excellent Performance】This fanless mini PC is installed with activated windows 10 pro with license, powered by Intel Celeron N3150 4C/4T, which makes this mini desktop PC able to run various programs and load videos stably and smoothly. It is perfect for home entertainment, streaming media, internet surfing, office work, business use and more
    • 【Rich I/O & Compact Size】This mini computer has many different ports to meet your different needs: 2x HDMI, 1x VGA, 2x LAN, 6x USB, 1x Type-C, 1x RS232 COM, 1x MIC&SPK. This small computer is just 7.8 x 4.9 x 1.9 inch and 1.3lbs, which is very lightweight, compact and portable. Also, it has a L-shaped back mount, you can hang it on the back of the monitor, which makes you saving more space and gives you a neat and tidy desktop

    Ninth Choice: Teklager

    If you don’t want to go through the install yourself you can buy from a 3rd party vendor like Teklager. They allow you to purchase hardware barebones or have pfSense preinstalled.

    Tenth Choice: Repurpose an existing desktop

    If you have an old desktop lying around, you can probably re-purpose it to being a router. You might need to buy an additional network card for LAN and WAN connections, but chances are the rest of the hardware will work fine. The downside is that this machine will probably use much more electricity than the other options, and it will need to always be on.

    Eleventh Choice: Go virtual!

    You can also use your old hardware (or new) to make a virtual pfSense router. I decided to go virtual for a while and it worked out well for me. A virtual router can have a lot of advantages, including:

    • Snapshots – Easy to roll back if you mess up a configuration
    • Scalability – Need a more powerful router? No need to buy new hardware, just allocate more power to your virtual router
    • Portability – You can easily move a VM from one machine to another

    You can read more about my virtual pfSense install here. You can also find good choices for small-form-factor virtualization servers here.

    Bonus Choices: Hardware readers have recommended

    Looking for other hardware and home technology recommendations? Be sure to check out the HomeTechHacker Shop and our Home Technology Buyer’s Guide!

    Final Thoughts

    There are tons of great and affordable pfSense router software options available. It’s hard to go wrong with any of them. Just pick the best one that works for you.

    Netgate makes good solid options, but you can save some money by going virtual or building your own hardware. No matter how you go, pfSense is a great choice for a home router. If you think pfSense might not be for you, check out these Wi-Fi router recommendations.

    Before you build your pfSense router, check out my article about things you should consider before installing pfSense and decide which pfSense version is right for you. After you get it installed, be sure to check out my pfSense tips and make sure you review my advice on the 6 post-installation configurations you should do immediately. Also, if you are running pfSense and need to upgrade, follow these tips to upgrade pfSense the right way.

    One last thing – these hardware options will work for OPNSense as well. OPNSense is another BSD-based router distribution that you should also consider as an alternative to pfSense. Here are the top alternatives to pfSense, and this hardware will work for them too.

    Interested in supporting HomeTechHacker?

    Have you found the content on this site useful? If so, are you interested in supporting me and this site? There’s no obligation of course, but I would really appreciate any support you can give. Below are a few ways you can show support:

    • Share this site with your friends and on social media (use the sharing links at the end of this page for your convenience)
    • Subscribe to this site
    • Purchase one of my books, The Personal Cybersecurity Manual, The Home Network Manual or The Smart Home Manual, for yourself or as a gift
    • Put a link to HomeTechHacker on a site you have access to. Be sure to let me know about it!
    • Reach out to me via my contact page or Twitter and let me know something I should write about
    • Shop at Amazon through my affiliate links and ads on these pages. See my disclosures for more details about affiliate links. You can also just shop from one of the links below:
      1. HomeTechHacker Shop: This is a listing of products that I use, have reviewed, and that I recommend
      2. HomeTechHacker Technology Advisor: This suite of tools will give you customized home technology product recommendations based on your needs
      3. My Amazon affiliate link: Just click on this link to go to Amazon and shop

    Thank you! I really appreciate it!

    Related Articles

    Введение

    Что такое pfSense

    Многофункциональный программный маршрутизатор-брандмауэр pfSense разработан компанией Netgate на базе ОС FreeBSD.

    pfSense распространяется в нескольких редакциях: программный Community Edition (CE), в виде аппаратного appliance NetGate. Для Community Edition доступна коммерческая поддержка по цене от $400 до $800 в год. В 2021 году запущен pfSense Plus Software, в пользу которого предполагается сфокусировать основные усилия по разработке новых функций.

    pfSense имеет модульную архитектуру и свой пакетный менеджер. Основные функции: маршрутизация, в т.ч. динамическая, межсетевое экранирование, NAT, DHCP-сервер, балансировка нагрузки, VPN (включая OpenVPN и L2TP), dDNS, PPPoE, IDS, проксирование и другое. Поддерживается построение отказоустойчивого кластера. Есть встроенный мониторинг, журналирование и построение отчетов.

    Многие организации и домашние офисы используют pfSense для подключения к интернет-ресурсам. При этом часто используется бесплатная редакция Community Edition без техподдержки.

    Продукт развивается с 2004 года, на текущий момент достиг высокой зрелости и стабильности. Во многих случаях это позволяет использовать его бесплатную редакцию Community Edition без техподдержки.

    Аппаратные требования

    CE можно установить как на bare metal, так и в виртуальной машине. Аппаратные требования диктуются необходимыми скоростями сетевых интерфейсов — от минимальных 500 МГц/512 МиБ для 10 Мб/с. до многоядерного 2+ ГГц/2 ГиБ для 1 Гб/с.

    Использование дополнительных функций и модулей требует увеличения количества ядер ЦПУ и объема ОЗУ. Для часто используемого подключения со скоростью 100 Мб/с. рекомендуется 1 ГГц/1 ГБ. Для более высоких скоростей также необходима шина PCIe, т.к. в противном случае ее предшественница будет узким местом.

    К размеру диска требования невысокие, но также зависят от используемых функций, минимальный размер — 8 ГБ. В остальном, pfSense построен на базе FreeBSD, поэтому список совместимого аппаратного обеспечения диктуется поддерживаемым во FreeBSD.

    Установка pfSense CE

    Продемонстрируем установку, настройку и работу pfSense на примере виртуальной машины в облаке Selectel. В качестве стенда создадим лабораторию из двух машин: на одной (с двумя интерфейсами — внешним и внутренним) будет работать pfSense, на другой (с одним внутренним) — десктопный клиент.

    pfSense является кастомным решением для облачной платформы Selectel, поэтому есть ряд неочевидных нюансов.

    По состоянию на август 2021 года:

    • В настройках установочного образа необходимо указывать Linux вместо «Другая» (в противном случае получим ошибку Internal error Invalid image metadata. Error: Field value other is invalid).
    • Дистрибутив работает только с сетевыми дисками и не может установиться на сервер с локальным диском.
    • Другой нюанс заключается в том, что невозможно совместить установку через образ в панели управления и выбор сразу двух сетевых интерфейсов. 

    Обходные пути — создание машины с двумя интерфейсами и подключение установочного ISO-образа через OpenStack CLI, либо установка с одним сетевым интерфейсом с последующим добавлением 2-го. Последний путь проще, им и пойдем.

    Загрузка образа

    На странице загрузки pfSense CE выбираем архитектуру AMD64 (64-bit) и тип образа DVD Image (ISO).

    загрузка образа pfSence

    Выполняем проверку целостности загруженного архива и распаковываем его:

        $ sha256sum=($(sha256sum Download/pfSense-CE-2.5.2-RELEASE-amd64.iso.gz)) && [ "$sha256sum" == "0266a16aa070cbea073fd4189a5a376d89c2d3e1dacc172c31f7e4e75b1db6bd" ] && echo "Ok" || echo "Something wrong"
    $ gunzip Download/pfSense-CE-2.5.2-RELEASE-amd64.iso.gz
    
    

    Значение контрольной суммы sha256 0266a16aa070cbea073fd4189a5a376d89c2d3e1dacc172c31f7e4e75b1db6bd смотрим на странице загрузки. В примере указана для актуальной на момент написания версии 2.5.2.

    После этого создаем и загружаем образ в хранилище в панели управления, указав ОС Linux:

    загрузка образа в панели управления Selectel

    Установка и первоначальная настройка pfSense

    В разделе серверы «Облачной платформы» нажимаем кнопку «Создать сервер» вверху справа (или в центре, если это 1-й). Выбираем минимальную произвольную конфигурацию (1 vCPU/512 МиБ RAM/5 ГиБ Storage, 17,82 ₽/день по состоянию на август 2021) — в тестовых целях этого достаточно, для остальных случаев системные требования указаны выше.

    выбор конфигурации сервера

    Сеть на данном этапе оставляем как «Новая приватная сеть» — она будет у нас внутренней, адрес 192.168.1.0/24. Присвоим имя int_net, DHCP — выключим. Настройка шлюза в данном случае ни на что не влияет, но убрать его невозможно.

    новая приватная сеть

    После указания необходимых параметров нажимаем кнопку «Создать». Сервер конфигурируется и будет доступен через 30 секунд. Если вы случайно закрыли вкладку, где создавалась машина — не проблема, теперь сервер доступен в глобальном разделе «Серверы». Для взаимодействия с консолью сервера мы переходим в его карточку на вкладке «Серверы», далее открываем пункт «Консоль».

    консоль psSense

    Читаем и соглашаемся с авторскими правами.

    соглашаемся с авторскими правами

    Выбор режима установки. На этом же этапе работы установщика можно задействовать и встроенный режим восстановления.

    выбор режима установки

    Консоль системы не будет видна рядовым пользователям, нет смысла менять локализацию — оставляем по умолчанию.

    локализация по-умолчанию

    В зависимости от аппаратной архитектуры выбираем метод загрузки и разметки накопителя, для ВМ — BIOS.

    выбор метода загрузки

    Наблюдаем за процессом установки.

    процесс установки

    По окончании установки появится следующее окно.

    завершение установки

    Нажав кнопку Yes, мы попадем в оболочку (Shell). Здесь можно выполнить любые настройки системы вручную. После окончания настроек вернуться в программу установку можно, выполнив команду exit. Обычно на этом этапе ничего менять не требуется, нажимаем No.

    Настройка сетей

    Для нашей лаборатории понадобится одна внешняя и одна внутренняя сети — для этого нужно добавить второй интерфейс. Запускаем оболочку, нажав Shell.

    запуск оболочки

    И даем команду на выключение:

        # poweroff
    

    В реальной жизни при установке на своем сервере этот этап не потребуется.

    На глобальной вкладке «Серверы» у виртуальной машины будет статус SHUTOFF.

    Далее рассмотрим сценарий подключения к провайдеру по IP, где нам выдана сеть по маске /29 (минимально возможная на облачной платформе Selectel).

    Переходим в глобальную панель «Сеть»->«Публичные подсети» и нажимаем «Создать подсеть».

    В панели управления можно выбрать маски от /29 до /27. Если ваш провайдер предоставил сеть с маской /30, сценарий подключения и настройки будет аналогичным.

    выбор маски

    На этом этапе система выделит сеть (в примере — 94.26.250.176/29) и назначит шлюз по умолчанию (94.26.250.177). Он понадобится дальше при настройке WAN-интерфейса. В реальной жизни это будет адрес шлюза провайдера.

    Добавим новую сеть к нашему серверу, «Серверы» -> «Порты» -> «Добавить порт» -> «Выберите сеть» -> «Добавить порт».

    добавление порта

    Система выделила адрес нашему серверу (94.26.250.178) — теперь у него, как и полагается настоящему интернет-шлюзу, два интерфейса — внешний, включенный в глобальную, и внутренний, включенный в нашу локальную сеть.

    внешний и внутренний интерфейсы

    Поддержки VLAN в «Облачной платформе» Selectel нет, отказываемся и переходим к настройке интерфейсов.
    Интерфейсом vtnet0 наш сервер смотрит внутрь сети, vtnet1 — наружу.

    переходим к настройке интерфейсов

    Для применения настроек и продолжения установки нажимаем клавишу y.

    применяем настройки

    В консоли pfSense присвоим выданный ранее внешний адрес (WAN-интерфейс).

    присваиваем wan

    Пункт 2-Set Iface IP -> 1-WAN -> DHCP -> N -> Enter IP-Address -> Enter mask -> Enter gateway.

    enter gateway

    Следом система предложит изменить настройки IPv6. В нашем сценарии это не требуется, настройки не меняем.

    Утвердительно отвечаем на вопрос «Do you want to revert to HTTP as the webConfigurator protocol?» и 3-4 секунды ожидаем применения конфигурации.

    ожидаем применение конфигурации

    Проверяем доступность шлюза провайдера (эта возможность доступна в пункте 7).

    проверка доступности шлюза провайдера

    После выбора пункта Ping host указываем адрес шлюза провайдера или, в нашей лаборатории, платформы.

    Тестовый клиент

    Следующим этапом добавим в нашу лабораторию тестовую машину (Ubuntu 18/1 vCPU/2 ГиБ RAM/8 ГиБ Storage). Она будет имитировать нашего пользователя и подключаться к интернет-ресурсам через pfSense. С нее же будем продолжать настройку pfSense.

    От этой машины нам нужен только браузер. Возьмем готовый образ Ubuntu 18 и добавим туда графическую оболочку. Для доступа к репозиториям потребуется временно подключить машину ко внешней сети напрямую.

    произвольная конфигурация

    Нажимаем кнопку «Создать», секунд 15-20 ожидаем рождения сервера и подключаемся к его консоли.

    Если при создании машины была использована внутренняя сеть (int_net), можно либо пересоздать машину полностью, либо удалить этот сетевой интерфейс и добавить внешний, после чего выполнить на машине.

        # ip link set eth0 down
    # ip addr add 94.26.250.179/29 dev eth0
    # ip link set eth0 up
    # ip route add default via 94.26.250.177 dev eth0
    # ping 94.26.250.177
    # ping ya.ru
    

    Обновление ОС

    Хоть это и тестовая машина, первым делом обновляем ее:

        # apt-get update -y && apt-get upgrade -y
    
    

    Если обновилось ядро, машину следует перезагрузить.

    Установка GUI

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

        # apt install tasksel slim -y
    # tasksel install ubuntu-desktop
    # adduser myuser
    # systemctl start slim
    
    

    По графической части: на платформе Selectel для переключения между консолями ВМ можно использовать сочетание Alt+left/right arrow или F1, привычное Ctrl+Alt+Fn может не сработать.

    Здесь же создается рядовой пользователь, дабы исключить дальнейшую работу под root’ом.

    Переключение сетевого интерфейса

    После запуска графического интерфейса переносим наш десктоп во внутреннюю сеть, для чего на вкладке «Порты» сервера удаляем внешний интерфейс и подключаем внутреннюю сеть — int_net (это лучше делать на выключенной машине — systemctl poweroff).

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

    В нашей лаборатории это не нужно, наш DHCP работает на pfSense и именно он должен задавать сетевые параметры клиента. Поведение гостевой машины меняется командой.

        $ sudo touch /etc/cloud/cloud-init.disabled
    
    

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

        /etc/network/interfaces.d/50-cloud-init.cfg
    
    

    Приводим к виду:

    переключение сетевого интерфейса

    Проверка:
    Посмотреть текущий ip-адрес можно командой ip a[ddress], а проверить настройки, полученные от DHCP-сервера командой.

        less /var/lib/dhcp/dhclient.<iface>.leases
    

    Адрес DHCP-сервера можно узнать так:

    адрес dhcp

    Если по какой-то причине при создании машины в сети int_net был включен DHCP, на этапе перед выключением или перезагрузкой машины DHCP в этой сети необходимо выключить, в противном случае адреса будет раздавать хост 192.168.1.2 или .3. После этого приводим настройки cloud-init и сетевого интерфейса как указано выше.

    9 шагов мастера настройки pfSense

    Запускаем браузер, переходим по адресу 192.168.1.1 — мы оказываемся в веб-интерфейсе pfSense. Вводим имя/пароль по умолчанию (admin/pfsense), запускается мастер настройки, состоящий из 9 шагов. При базовой настройке необходимо поменять только небольшое количество настроек.

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

    игнорируем смену пароля

    Видим приветствие мастера настройки.

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

    Шаг 1. Начало настройки

    начало настройки

    Шаг 2. Указание имени и домена шлюза

    В мастере указываем имя и домен нашего шлюза (шаг 2, например, mygw02 & myorg.ru), DNS-серверы (напр., dns.google — 8.8.4.4 & 8.8.8.8).

    Предостережение! В РФ планируют заблокировать DNS от Google, Cloudflare и DoH — учитывайте при настройке DNS.

    выбор имени домена и шлюза

    Шаг 3. Настройка синхронизации времени

    Настраиваем синхронизацию времени по NTP и часовой пояс: сервер можно оставить предложенный по умолчанию, либо выбрать по своим предпочтениям с подходящим stratum (достаточно и уровня 3).

    часовой пояс

    Шаг 4. Настройка PPPoE

    На этом шаге, как правило, ничего менять не приходится. В дополнение к внешнему адресу указываем upstream gateway — вышестоящий (провайдерский) шлюз, если он не был задан ранее. Здесь же указываются настройки PPPoE, если их требует провайдер. Некоторые операторы требуют подключение только с конкретного MAC-адреса, его также можно указать на этом шаге.

    настройка pppoe

    Шаг 5. Настройка внутреннего интерфейса

    Относится к настройке внутреннего интерфейса. У нас он уже настроен, переходим к следующему шагу.

    внутренний интерфейс

    Шаг 6. Пароль администратора

    На этом шаге система потребует изменить пароль администратора:

    смена админского пароля

    Проверка соответствия предыдущему (в том числе установленному по умолчанию) паролю не производится. Технически можно повторить, но из соображений безопасности следует установить стойкий пароль.

    Шаг 7. Применение настроек

    И затем предложит применить настройки.

    применение настроек и перезагрузка

    Шаг 8. Продолжение применения настроек

    применение новой конфигурации

    Шаг 9. Настройка завершена

    завершение настройки

    Нажимаем кнопку Finish — мастер настройки успешно завершил работу. На этом этапе наш pfSense уже готов выполнять базовые функции интернет-шлюза — можем в браузере зайти в поисковик и запустить сетевой спидометр.

    проверка скорости сети

    В дальнейшем (например, после сброса к заводским настройкам: Diagnostics -> Factory Defaults), мастер можно запустить из меню System -> Setup Wizard.

    Интерфейс pfSense

    При подключении к маршрутизатору первым делом отображается дашборд, который может выглядеть следующим образом:

    дашборд pfSense

    Его отрисовка занимает некоторое время, экран открывается не мгновенно.

    Дашборд гибко настраивается — можно добавлять новые элементы, удалять неиспользуемые, настраивать имеющиеся.

    Структура меню

    Функций pfSense выполняет множество, настройки сгруппированы:

    • Кнопка с логотипом pfSense — переход на дашборд.
    • System — общие системные настройки; управление маршрутизацией, сертификатами, обновлением; пакетный менеджер.
    • Interfaces — маппинг и настройка интерфейсов.
    • Firewall — файерволлинг — настройка NAT и правил брандмауэра; здесь же настраивается шейпинг.
    • Services — дополнительные функции, запущенные отдельными демонами (DHCP Server/Relay, DNS; NTP, SNMP, etc), в т.ч. установленными из менеджера пакетов (Squid, Snort, Nagios (NRPE) и Zabbix агенты).
    • VPN — настройки служб удаленного доступа (IPsec, L2TP, OpenVPN) вынесены сюда.
    • Status — текущее состояние компонентов — счетчики, значения и состояние реального времени, а также графики мониторинга и системные журналы.
    • Diagnostics — различные диагностические инструменты (архивация/восстановление, выключение/перезапуск, ping/traceroute/DNS lookup и много чего еще).
    • Mygw02.myorg.ru — что-то вроде кнопки help/about.

    Изменение темы

    Многим нравятся «темные» темы, они есть в pfSense, меню System -> General Setup, раздел webConfigurator:

    выбор тёмной темы

    В статье будет чередоваться темная и светлая тема, используемая по умолчанию.

    Локализация

    Раздел System -> General Setup, секция Localization, параметр Language, позволяют переключать язык веб-интерфейса.

    Пример интерфейса на русском языке:

    интерфейс на русском

    Диагностика

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

    Системные журналы

    Доступны на вкладке Status -> System Logs. Журналов много, но они разделены по категориям. В первую очередь будут интересны журналы Status/System Logs/System/General и Status/System Logs/Firewall.

    Графики нагрузки

    Оценить нагрузку на систему удобно в графическом виде в разделе Status/Monitoring.

    мониторинг нагрузки сети

    значения нагрузки

    Последующая диагностика заключается во внимательном анализе значений в счетчиках на вкладке «Статусы» и использовании диагностических инструментов на вкладке «Диагностика».

    Сброс пароля

    Если пароль от pfSense потерялся, в консоли его можно сбросить до значения по умолчанию в пункте 3 (Reset webConfigurator password):

    сброс пароля

    Расширенные настройки

    Правила брандмауэра

    Настройки по умолчанию запрещают подключение к pfSense из глобальной сети и разрешают доступ клиентов наружу с использованием трансляции адресов NAT (точнее, наиболее частый вариант динамической NAT — NAPT по RFC 2663, она же NAT overload, маскарадинг или PAT — здесь и далее будем говорить только об этом типе).

    Для примера создадим разрешающее правило для подключения к pfSense из дома (правило задается на интерфейсе WAN), затем ограничим подключения пользователей только серфингом (правило задается на интерфейсе LAN).

    В pfSense есть удобный механизм описания переменных через псевдонимы, создадим такой для нашего домашнего офиса и портов tcp:80/443, включим регистрацию пакетов. В пункте Aliases меню Firewall на вкладке IP, открывающейся по умолчанию, нажмем кнопку +Add:

    создание псевдонима

    Откроется редактор псевдонимов для IP-адресов:

    редактор псевдонимов для ip

    В редакторе присвоим имя псевдониму, укажем тип (Host(s)) и добавим IP-адреса.

    На вкладке Ports аналогичным образом создаем правило для служб:

    правила для служб в ports

    Указываем понятное имя, даем описание, добавляем один или несколько портов:

    добавление портов

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

    Для настройки того-то, переходим Firewall/Rules/.

    Теперь при создании или редактировании существующих правил мы можем использовать псевдонимы. Это особенно удобно, когда какая-то настройка повторяется в нескольких правилах и иногда меняется.

    В этом случае достаточно скорректировать только один псевдоним.

    корректировка псевдонима

    На примере выше для адреса источника и портов назначения мы выбрали заданные ранее псевдонимы.

    После настройки не забываем нажимать Apply Changes. Теперь можно проверять подключение.

    Аналогично на интерфейсе LAN создаем правило для серфинга:

    создаем правило для серфинга

    Далее на этом же интерфейсе создаем правила для DNS (udp:53) и (необязательно, облегчает диагностику) ICMP (достаточно echo request, echo reply).

    Теперь отключаем правила по умолчанию, нажав на зеленую галочку(1), Save (2, если менялся порядок правил) и Apply Changes (3):

    правила для dns

    Проверяем доступ к web-сайтам, затем к нестандартным портам, используя ресурс portquiz.net:

    Пинг работает, имена сайтов разрешаются, http по tcp/80 открыт, а на нестандартный порт tcp/8080 соединение не проходит:

    проверка портов

    О чем также видим записи в журнале:

    запись о проверке в журнале

    Таким образом мы решили поставленную задачу по организации доступа к веб-ресурсам и ограничению нежелательных ресурсов, работающих на других портах.

    Трансляция портов

    Частая задача — публикация какого-либо сервиса, размещенного в локальной сети — например, почтового или веб-сервера.

    Тестовый веб-сервер

    Тема не относится к pfSense, но в нашей лаборатории пока нет никакого ресурса для публикации, создадим его.

        apt install apache2 php libapache2-mod-php
    

    В каталоге /var/www/html создадим файл demo.php следующего содержания:

    <?php

    phpinfo();

    ?>

    На этом создание тестового сервера завершено, осталось убедиться, что веб-сервер запущен:

        systemctl status apache2
    

    Настройка NAT на pfSense

    Производится в меню в Firewall. Ранее мы использовали стандартный http-порт для удаленного подключения к pfSense, поэтому настройку трансляции продемонстрируем для другого порта (tcp:8080) и с заменой его номера.

    настройка nat

    Как видим, все настраивается очень просто. pfSense слушает TCP порт 8080 и транслирует его в tcp:80 тестового хоста 192.168.1.3, на котором мы в предыдущем шаге настроили веб-сервер.

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

    Проверка

    Проверяем наши настройки, зайдя на WAN-адрес pfSense с указанием порта 8080.

    проверка nat

    Внутренний веб-сервер ответил на публичном адресе. Добавляем название демо-странички и видим, что она также успешно опубликована.

    страница опубликована

    Обновление

    pfSense разработан не только как многофункциональный комбайн, разработчики уделили большое внимание простоте работы с ним. Обновление выполняется легко — в разделе System Information на дашборде либо в меню System -> Update.

    обновление системы

    сравнение версий

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

    Если готовы к экспериментам, можно обновиться до экспериментальной ветки.

    Так выглядит процедура обновления с предыдущей версии (2.4.5):

    процедура обновления

    По окончании процесса система автоматически перезагрузится:

    перезагрузка после обновления

    После перезагрузки в консоли наблюдаем распаковку и установку обновленных пакетов:

    распаковка новых пакетов

    Виртуализация

    pfSense отлично работает в виртуальной среде. Надо понимать, что возможно несущественное снижение производительности, но заметным оно будет только на маломощной физической машине, к которой предъявляются требования не столько по ЦПУ/ОЗУ, сколько по шине и сетевым интерфейсам.

    При запуске в среде ESXi/vSphere от VMware полезно установить гостевого агента. Предоставляется эта возможность пакетом Open-VM-Tools, устанавливаемым через пакетный менеджер в штатном репозитории.

    В виртуальной среде может возникнуть проблема с низкой производительностью и/или искажением пакетов. Это происходит из-за того, pfSense пытается использовать аппаратное ускорение сетевого адаптера.

    В Xen и KVM делать это не имеет смысла, поэтому функцию hardware checksum offload, настройка которой доступна в меню System, пункт Advanced, вкладка Networking, следует отключить и затем перезагрузить pfSense.

    отключаем функцию

    Hardware Checksum Offloading также рекомендовано отключать для адаптеров Realtek.

    Внутренняя маршрутизация

    Если внутренняя сеть сегментирована, нужно научить pfSense маршрутам в нее. «Из коробки» доступна статическая маршрутизация, конфигурируемая в меню System -> Routing.

    Сперва на вкладке System -> Routing -> Gateways создается внутренний шлюз(ы), например, myIntGW, затем маршрут добавляется на вкладке System -> Routing -> Static Routes:

    внутренняя маршрутизация

    После внесения настроек не забываем нажимать кнопку Apply changes.

    Для сценария динамической маршрутизации потребуется установка дополнительного пакета, например, frr (Free Range Routing aka FRRouting aka FRR), в котором реализована поддержка многих протоколов: GP, OSPF, RIP, IS-IS, PIM, LDP, BFD, Babel, PBR, OpenFabric и VRRP. 

    После установки пакета в меню Services добавляются разделы для настройки протоколов, например, FRR-OSPF:

    новые настройки протоколов

    Перед настройкой динамической маршрутизации в Global Settings нужно включить FRR и задать обязательный мастер-пароль:

    задаем мастер-пароль

    SSL

    В пункте Advanced меню System производится переключение интерфейса управления между HTTP и HTTPS.

    переключение на https

    При установке генерируется самоподписанный сертификат на 13 месяцев.

    самоподписанный сертификат

    В этом же меню кнопка Add/Sign позволяет сформировать запрос к корпоративному центру сертификации и затем установить полученный сертификат, либо перевыпустить самоподписанный сертификат на другой срок.

    Обычно интерфейс pfSense оставляют доступным только из внутренней сети, не разрешая прямой доступ извне. Если по какой-то причине потребуется сделать наоборот, для LAN-интерфейса нужно будет отключить правило антиблокировки — Anti-lockout rule, расположенное в System/Advanced/Admin Access/webConfigurator.

    Для подключения из глобальной сети потребуется ранее созданное правило на WAN-интерфейсе. Также удобно использовать сертификат, выпущенный публично доверенным центром сертификации, например, Let’s encrypt. Так как срок действия такого сертификата только 90 дней, его нужно будет часто обновлять. 

    Для автоматизации перевыпуска в репозитории есть пакет acme:

    автоматизация перевыпуска сертификата

    Ограничение полосы

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

    Управляется в разделе Firewall > Traffic Shaper на вкладке Limiters.

    Измерим текущую скорость.

    ограничение скорости

    Как указано выше, заходим в пункт Traffic Shapers меню Firewall, переходим на вкладку Limiters и создаем 2 ограничителя.

    создаем ограничители

    Включаем правило (1), присваиваем понятное имя (2), указываем ширину полосы (3). Для входящего и исходящего ограничения создаются отдельные правила (4).

    Непосредственное включение шейпера выполняется в правилах брандмауэра (FirewallRules). Так как нас интересует ограничение со стороны наших внутренних клиентов, правила необходимо модифицировать/добавлять для интерфейса LAN. При этом лимиты рассматриваются со стороны интерфейса: In — входящий, Out — исходящий из интерфейса трафик. Таким образом,  для ограничения трафика от клиента наружу используется правило In.

    Таким образом, открываем пункт Rules меню Firewall, переходим на вкладку LAN и в секции Extra Options нужного (вновь созданного или существующего) правила включаем отображение расширенных настроек (кнопка Display Advanced):

    расширенные настройки

    Примечание: в примере на картинке выше использовано существующее правило, разрешающее внутренним клиентам использовать подключение по https.

    В предпоследней секции расширенных настроек (1, In/Out pipe) указываем правило для входящего в интерфейс (2) и исходящего из него трафика (3).

    правила для трафика

    После сохранения и применения настроек pfSense сообщает о фоновой перезагрузке правил фильтрации и предлагает проверить статус на странице Status/Filter Reload.

    После обновления правил выполним повторную проверку скорости.

    проверка скорости с ограничением

    Дополнительные функции

    Функциональность pfSense расширяется большим количеством пакетов, доступных через пакетный менеджер, их несколько десятков, вот лишь некоторые:

    • apcupsd — демон для связи с ИБП APC (ныне Schneider);
    • arpwatch — мониторинг активности MAC/IP-адресов;
    • cron — планировщик;
    • filer — файловый менеджер;
    • squid/lightsquid/squidGuard — прокси, генератор отчетов и фильтр;
    • lldpd — предоставляет поддержку обнаружения по Link Layer Discovery Protocol, кроме того поддерживает проприетарные CDP, EDP, FDP, NDP;
    • mailreport — рассылка отчета по почте;
    • net-snmp — GUI для SNMP;
    • nmap — nmap, классика сканирования сетей;
    • snort/suricata/zeek — решения класса IDS/IPS.

    Необходимо понимать, что за использование этих функций нужно заплатить повышением производительности оборудования. Интенсивное использование VPN может потребовать дополнительно одно или более ядер ЦПУ, а IDS/IPS также потребует дополнительно 1-2 ГиБ ОЗУ.

    Проведем демонстрацию расширения функциональности на популярном сканере nmap. В меню System заходим в пункт Package Manager, вкладка Available Packages, рядом с пакетом NMap нажимаем на кнопку Install, ждем и получаем встроенный сканер:

    расширение функциональности

    В меню Diagnostics добавился пункт NMap, запускаем:

    запуск nmap

    Во внутреннем сегменте нашей лаборатории только один хост, он был успешно обнаружен и просканирован:

    успешное сканирование

    Заключение

    В статье мы познакомились с решением для реализации производительного, надежного и функционального программного маршрутизатора — pfSense. Научились его устанавливать, настраивать, ограничивать скорости, добавлять новые функции, устанавливая пакеты расширения.

    Время на прочтение
    4 мин

    Количество просмотров 31K

    Введение

    Данный пост был написан потому, что информации на просторах интернета мало и она разрознена, пришлось собирать по строкам из различных источников. Постараюсь в этом руководстве свести все воедино. Предполагается, что базовые знания о сборке pfSence у вас уже есть и вы можете зайти в консоль.
    Версия системы:

    [2.0.3-RELEASE][admin@pfsense.office]/root(1): uname -a
    FreeBSD pfsense.office 8.1-RELEASE-p13 FreeBSD 8.1-RELEASE-p13 #0: Fri Apr 12 10:47:01 EDT 2013     root@snapshots-8_1-i386.builders.pfsense.org:/usr/obj.pfSense/usr/pfSensesrc/src/sys/pfSense_SMP.8  i386
    
    Почему Huawey E392?

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

    Перевод модема в режим модема

    По умолчанию модем находится в режиме usbdisk + CD-ROM для установки драйверов под Windows. Драйвера находятся прямо на нем. Нам этот режим малоинтересен, нужно перевести его в режим модема.
    Проверяем, что модем увиделся в системе командой dmesg. Должны быть вот такие строчки:

    da3: Attempt to query device size failed: NOT READY, Medium not present
    Root mount waiting for: usbus4
    ugen4.3: <Huawei Technologies> at usbus4
    umass1: <Huawei Technologies HUAWEI Mobile, class 0/0, rev 2.00/0.00, addr 3> on usbus4
    umass1: SCSI over Bulk-Only; quirks = 0x0000
    Root mount waiting for: usbus4
    umass1:1:1:-1: Attached to scbus1
    Trying to mount root from ufs:/dev/ad6s1a
    WARNING: / was not properly dismounted
    (probe0:umass-sim1:1:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
    (probe0:umass-sim1:1:0:0): CAM status: SCSI Status Error
    (probe0:umass-sim1:1:0:0): SCSI status: Check Condition
    (probe0:umass-sim1:1:0:0): SCSI sense: NOT READY asc:3a,0 (Medium not present)
    cd0 at umass-sim1 bus 1 scbus1 target 0 lun 0
    cd0: <HUAWEI Mass Storage 2.31> Removable CD-ROM SCSI-0 device
    cd0: 40.000MB/s transfers
    cd0: Attempt to query device size failed: NOT READY, Medium not present
    

    Проверяем, какие idVendor и idProduct установлены по-умолчанию командой usbconfig -d 4.3 dump_device_desc, значение параметра -d смотрим из вывода dmesg (ugen4.3: at usbus4):

    ugen4.3: <HUAWEI Mobile Huawei Technologies> at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
    bLength = 0x0012
    bDescriptorType = 0x0001
    bcdUSB = 0x0200
    bDeviceClass = 0x0000
    bDeviceSubClass = 0x0000
    bDeviceProtocol = 0x0000
    bMaxPacketSize0 = 0x0040
    idVendor = 0x12d1
    idProduct = 0x1505
    bcdDevice = 0x0000
    iManufacturer = 0x0003 <Huawei Technologies>
    iProduct = 0x0002 <HUAWEI Mobile>
    iSerialNumber = 0x0000 <no string>
    bNumConfigurations = 0x0001
    

    Поскольку в редакции FreeBSD pfSence отсутствуют /usr/ports, то ставить пакет для изменения конфигурации модема будем напрямую из официального репозитория по прямой ссылке
    Нам нужен скомпилированный пакет usb_modeswitch.

    pkg_add -r ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/Latest/usb_modeswitch.tbz
    

    Данный пакет хранит конфигурацию в файле /usr/local/etc/usb_modeswitch.conf и скрипт запуска /usr/local/sbin/usb_modeswitch
    После установки правим конфигурационный файл, внося в него idVendorи idProduct:

    DisableSwitching=0
    EnableLogging=1
    DefaultVendor= 0x12d1
    DefaultProduct= 0x1505
    TargetVendor= 0x12d1
    TargetProduct= 0x140c
    TargetClass= 01
    DetachStorageOnly=0
    HuaweiMode=0
    MessageEndpoint= not set
    MessageContent="55534243000000000000000000000011060000000000000000000000000000"
    NeedResponse=0
    ResponseEndpoint= not set
    

    В результате мы получаем замену DefaultProduct 0x1505 на TargetProduct 0x140c.
    Для этого исполняем скрипт, подставляя ему конфиг:

    /usr/local/sbin/usb_modeswitch -H -c /usr/local/etc/usb_modeswitch.conf
    

    Проверяем usbconfig -d 4.3 dump_device_desc, нас устраивают значения idProduct 0x1506 и 0x140c.
    Проверяем dmesg, должны получить следующие строчки на выходе:

    ugen4.3: <Huawei Technologies> at usbus4
    u3g0: <Huawei Technologies HUAWEI Mobile, class 0/0, rev 2.00/0.00, addr 3> on usbus4
    u3g0: Found 4 ports.
    

    Но этого недостаточно, при перезагрузке наш модем снова вернется к своим настройкам, и подключение сбросится. Чтобы этого не произошло, добавим в файл /etc/devd.conf проверку при запуске, в нужной ли конфигурации находится наше устройство, и запуск скрипта, если оно в режиме USBmass

    attach 10 {
    device-name "ugen[0-9]+";
    match "vendor" "0x12d1";
    match "product" "0x1505";
    action "/usr/local/sbin/3G.sh";
    };
    

    Создаем файл /usr/local/sbin/3G.sh и делаем его исполняемым. Содержимое файла:

    #!/bin/sh
    sleep 3
    /usr/local/sbin/usb_modeswitch -H -c /usr/local/etc/usb_modeswitch.conf
    sleep 12
    /usr/local/sbin/usb_modeswitch -H -c /usr/local/etc/usb_modeswitch.conf
    
    Настройка подключения к провайдеру

    Для создания подключения к Yota заходим в верхнем меню Interfaces -> (assign) и выбираем вкладку PPPs.

    Добавляем новое подключение, тип PPP, указываем Link (/dev/cauU0.3) телефонный номер*99#, адрес точки доступа yota.ru.

    В дополнительных опциях необходимо указать, что подключение будем поднимать по запросу – Включить опцию Dial on Demand.

    После этого новый интерфейс появится на вкладке Interface assignments.

    Включаем его через верхнее меню Interfaces -> OPT1 и включаем его, выбирая в типе интерфейса PPP, в телефонном номере *99# и APN yota.ru.

    Добавляем оборудование в личный кабинет

    Под занавес, вам нужно зарегистрировать оборудование в личном кабинете на сайте Yota.ru и привязать устройство к вашему личному кабинету. Это можно сделать с любой машины, в качестве ID оборудования указывайте ID номер на sim-карте из 10 цифр (010100xxxx). Без этого ходить вы сможете только до сайта yota.ru

    Заключение

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

    Автор: Дмитрий Барсуков, будет благодарен за инвайт, если статья этого достойна, а так же за указания на возможные недочеты и ошибки. Спасибо!

    Другие наши интересноые статьи:

  • На iphone нет интернета с роутера
  • На какой роутер можно заменить мгтс
  • Мэш роутер что это такое
  • На какой окоф отнести роутер
  • Мультикаст на роутере asus что это

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии