Files
HomeServerServices/OPNsense.md
2026-01-29 16:10:31 +04:00

137 lines
7.2 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🔒 Настройка OPNsense
> Этот гайд описывает установку и настройку OPNsense в качестве роутера и файрвола для домашней сети.
---
## 1⃣ Установка OPNsense
Ничего не трогаем в момент загрузки. Авторизуемся как `installer`, пароль по умолчанию — `opnsense`.
- Добавляем английскую локаль
- Выбираем ФС — **ZFS RAID0**
- Предупреждение о недостатке ОЗУ можно пропустить
- Устанавливаем систему
---
## 2⃣ Создание второго сетевого моста
Создаём второй сетевой мост в Proxmox для второго порта, подключаем сетевое устройство в ВМ OPNsense. Перезагружаем ВМ OPNsense.
---
## 3⃣ Настройка OPNsense
В меню терминала:
### 1. Назначение интерфейсов
Выбираем **1 - assign interfaces**:
- Назначаем одному порту **WAN** (порт для провайдера, во внешний интернет)
- Второму порту **LAN** (порт для локальной сети)
### 2. Настройка IP адресов
Выбираем **2 - set interface ip address**:
- Для LAN указываем статический IPv4 (это будет наш Gateway)
- DHCP можно пока не включать, настроим позже
---
## 4⃣ Обновление OPNsense
1. Открываем web интерфейс по адресу, установленному для LAN
2. Заходим **Система > Программное обеспечение > Статус > Проверить наличие обновлений**
3. Потом раздел обновления, снизу кнопка **обновить**
4. Ждём обновления всех пакетов
---
## 5⃣ Установка плагина Qemu Agent
Нужен для управления OPNsense из Proxmox.
1. Заходим **Система > Программное обеспечение > Плагины**
2. Включаем галочку **показать плагины сообщества**
3. Ставим плагин `os-qemu-guest-agent`
---
## 6⃣ Настройка доступа в интернет
Можно воспользоваться стандартным мастером настройки:
1. Открываем его в разделе **Система > Конфигурация > Мастер**
2. Для доступа в WAN выбираем пункт **PPPoE**
3. Устанавливаем логин и пароль провайдера
4. Остальное уже должно быть настроено, но можно что-то изменить
---
## 7⃣ Настройка DHCP
В разделе **Службы**:
- Выключаем **Dnsmasq DNS & DHCP**
- Включаем **ISC DHCPv4**
- В настройках DNS первым сервером указываем IP адрес OPNsense. Сам DNS сервер настроим в следующем шаге
---
## 8⃣ Настройка DNS
> Для безопасности домашней сети от чрезмерной рекламы и сбора статистики добавим фильтр [AdGuard Home](https://github.com/AdguardTeam/AdGuardHome)
>
> Если для вашей сети достаточно обычного DNS, просто включите в настройках **Unbound DNS**
В консоли OPNsense добавим новый репозиторий:
```bash
fetch -o /usr/local/etc/pkg/repos/mimugmail.conf https://www.routerperformance.net/mimugmail.conf
pkg update
```
После чего в разделе **Система > ПО > Плагины** появится пакет `os-adguardhome-maxit` (ставим галочку показать пользовательские пакеты). Устанавливаем его и включаем в разделе **Службы**. Мастер настройки запустится на IP OPNsense на 3000 порту.
В настройках:
- **Указываем внутренний интерфейс LAN** и ставим WebUI AdGuardHome на 3000 порт
- В разделе DNS-сервер также **выбираем только внутренний интерфейс LAN**, порт по умолчанию 53
> ⚠️ По какой-то причине AdGuard думает, что у нас динамический IP, хотя это не так — игнорируем предупреждение.
В настройках добавляем блоклисты по выбору:
- [Hagezi Multi Pro++](https://raw.githubusercontent.com/hagezi/dns-blocklists/main/adblock/pro.plus.txt) — Идеальный баланс. Блокирует почти всё, при этом редко «ломает» сайты
- [Hagezi Multi Ultimate](https://raw.githubusercontent.com/hagezi/dns-blocklists/main/adblock/ultimate.txt) — Самый жесткий вариант. Блокирует агрессивно, включая глубокую телеметрию. Может потребоваться ручная разблокировка некоторых сервисов (белый список)
- И любые другие на своё усмотрение
---
## 9⃣ Проброс портов
> Для начала нужно освободить 80 порт, потому что на нём по умолчанию доступен сам OPNsense. В разделе **Система > Настройки > Администрирование** заменим 80 порт на 8000
В разделе **Межсетевой экран > NAT > Переадресация портов** добавим правило:
- **Interface:** WAN
- **TCP/IP Version:** IPv4
- **Protocol:** TCP
- **Destination:** WAN address
- **Destination port range:** Внешний порт
- **Redirect target IP:** Введите локальный IP вашего сервера
- **Redirect target port:** Порт назначения
- **Pool Options:** Default
- **Filter rule association:** Add associated filter rule
- OPNsense автоматически создаст разрешающее правило в брандмауэре
Для HTTP нужно добавить перенаправления на 8080 порт сервера, для HTTPS на 8443. Базовые порты 80 и 443 недоступны в rootless контейнере. Сохраняем изменения и проверяем в разделе **Межсетевой экран > Правила > WAN**.
Для доступа из домашней сети нужно добавить зеркальный NAT в разделе **Межсетевой экран > Настройки > Дополнительно** ставим галочки:
- **Отображение для перенаправлений портов**
- **Автоматический исходящий NAT для отображения**