Введение
OPNsense можно использовать в Proxmox VE как виртуальный firewall, маршрутизатор и VPN-шлюз. В такой схеме он разделяет внешний трафик и внутреннюю сеть виртуальных машин, а также позволяет безопасно подключаться к ним через VPN.
OPNsense поддерживает несколько VPN-технологий, включая WireGuard и OpenVPN. Кроме того, он умеет публиковать внутренние сервисы наружу через NAT / Port Forward и reverse proxy-сценарии.
В этой статье рассмотрим:
- создание виртуальной машины с OPNsense;
- назначение WAN и LAN;
- базовую настройку сети;
- подключение Windows VM к внутренней сети;
- настройку WireGuard для доступа к OPNsense и виртуальным машинам.
В нашем сценарии OPNsense используется прежде всего как центральная точка маршрутизации, фильтрации трафика и VPN-доступа.
Схема работы
Используем следующую схему:
- WAN OPNsense подключён к vmbr0;
- LAN OPNsense подключён к vmbr1;
- Windows VM подключены к vmbr1;
- удалённый клиент подключается по WireGuard к OPNsense;
- после подключения открывается доступ к OPNsense и внутренним VM.
Шаг 1. Подготовьте ISO-образ OPNsense
Если образ скачан в виде .iso.bz2, его нужно распаковать:
bzip2 -dk OPNsense-26.1.2-dvd-amd64.iso.bz2
После этого получится файл .iso, который можно загрузить в ISO-хранилище Proxmox.
Шаг 2. Создайте виртуальную машину OPNsense
В Proxmox создайте новую виртуальную машину и подключите ISO OPNsense.
Минимально потребуется:
- 2 сетевых интерфейса;
- один для WAN;
- один для LAN.
Если вы используете дополнительный внешний IP, WAN-интерфейс должен быть подключён к внешнему bridge и при необходимости использовать MAC-адрес, который требуется провайдером для дополнительного IP.
После создания VM у вас может быть только один Network Device. В этом случае добавьте второй:
Your VM → Hardware → Add → Network Device
Для второго интерфейса выберите vmbr1.
Рекомендуемая схема:
-
Net0 → vmbr0 -
Net1 → vmbr1
Обе сетевые карты можно задать как VirtIO.

Шаг 3. Установите OPNsense
После загрузки с ISO выберите установку системы.
В live-режиме доступны варианты входа и запуска установщика.
Данные для установки:
-
login: installer -
password: opnsense
После установки укажите новый пароль для root — он понадобится для дальнейшего входа в систему и веб-интерфейс.
После завершения установки:
- перезагрузите виртуальную машину;
- загрузите уже установленную систему.
Шаг 4. Назначьте интерфейсы WAN и LAN
После первого запуска OPNsense назначьте интерфейсы:
- WAN → vtnet0
- LAN → vtnet1
Если OPNsense видит только один интерфейс, значит:
- в виртуальной машине не добавлена вторая сетевая карта;
- или внутренний bridge ещё не создан в Proxmox.
Для назначения интерфейсов в консоли OPNsense нажмите 1 и укажите:
- WAN → vtnet0
- LAN → vtnet1

Шаг 5. Настройте IP-адреса WAN и LAN
Настройка WAN
Для настройки IP-адреса нажмите 2, выберите интерфейс WAN и введите:
- дополнительный внешний IP;
- маску / префикс;
- шлюз.
Здесь используются параметры, выданные провайдером.
Настройка LAN
Теперь настроим LAN, чтобы виртуальные машины автоматически получали IP-адреса из внутренней сети и имели доступ в интернет через OPNsense.
В консоли OPNsense снова нажмите 2 и выберите LAN.
Пример значений:
- Configure IPv4 address LAN interface via DHCP? → n
- Enter the new LAN IPv4 address → 192.168.10.1
- Enter the new LAN IPv4 subnet bit count → 24
- For a LAN, press <ENTER> for none → просто Enter
- Configure IPv6 address LAN interface via DHCP6? → n или Enter
- Enter the new LAN IPv6 address → Enter
- Do you want to enable the DHCP server on LAN? → y
- Range start → 192.168.10.100
- Range end → 192.168.10.200
- Do you want to revert to HTTP as the web configurator protocol? → n
В результате OPNsense будет раздавать адреса в сети LAN по DHCP.
Шаг 6. Проверьте рабочую схему сети
Пример рабочей схемы:
- WAN — внешний IP-адрес;
- LAN — 192.168.10.1/24

Шаг 7. Подключите Windows VM к LAN
На этом этапе нужно создать отдельную Windows VM, потому что именно через неё мы будем открывать веб-интерфейс OPNsense из внутренней сети и выполнять первичную настройку. Виртуальная машина создаётся в Proxmox через ISO-образ Windows, по тому же принципу, как ранее устанавливался OPNsense.
При создании Windows VM обязательно подключите её к vmbr1, чтобы она находилась во внутренней LAN-сети за OPNsense. Также обязательно используйте VirtIO для обнаружения виртуального диска и сетевого адаптера. Это важно, потому что без драйверов VirtIO установщик Windows обычно не видит диск и сетевой интерфейс. Поэтому вместе с ISO Windows нужно также подключить ISO с драйверами VirtIO, чтобы во время установки можно было загрузить необходимые драйверы и продолжить настройку системы.
После установки Windows VM сможет получить внутренний IP-адрес от DHCP на LAN-интерфейсе OPNsense, и через неё можно будет открыть адрес OPNsense в браузере для дальнейшей настройки.
После загрузки Windows проверьте сетевые параметры:
- ipconfig
Нормальный результат:
- IPv4-адрес из сети 192.168.10.0/24;
- шлюз 192.168.10.1.

Шаг 8. Подключитесь к OPNsense по LAN
Для первичной настройки удобнее сначала открыть OPNsense из внутренней сети.
На Windows VM откройте браузер и перейдите по адресу LAN OPNsense. В нашем примере это:
https://192.168.10.1/
Введите данные для входа:
- логин: root
- пароль: тот, который вы указали при завершении установки
Шаг 9. Разрешите доступ к OPNsense снаружи только для своего IP
Для удобства дальнейшей настройки можно временно открыть доступ к веб-интерфейсу OPNsense извне, но только для своего внешнего IP-адреса.
Перейдите в:
Firewall → Rules → WAN
Нажмите Add и создайте правило со следующими параметрами:
- Action: Pass
- Interface: WAN
- TCP/IP Version: IPv4
- Protocol: TCP
В блоке Source:
- Source: Single host or Network
- укажите ваш внешний IP
В блоке Destination:
- Destination: This Firewall
В блоке Destination Port Range:
- From: HTTPS
- To: HTTPS
Description, например:
Allow HTTPS to OPNsense GUI from my IP
Сохраните правило и нажмите Apply Changes.
После этого веб-интерфейс OPNsense будет доступен с вашего внешнего IP-адреса.
Шаг 10. Установите плагин WireGuard
В веб-интерфейсе OPNsense перейдите в:
System → Firmware → Plugins
Установите плагин WireGuard.
После установки откройте:
VPN → WireGuard
WireGuard — один из самых удобных вариантов для доступа к OPNsense и внутренним виртуальным машинам. Однако OPNsense не ограничивается только им: система также поддерживает OpenVPN, road warrior и site-to-site сценарии.
Для небольших инфраструктур WireGuard обычно проще и удобнее в сопровождении. OpenVPN тоже остаётся хорошим вариантом, если нужен привычный SSL VPN-подход или экспорт готовых клиентских профилей.
Шаг 11. Создайте WireGuard Instance
В разделе:
VPN → WireGuard → Instances
создайте instance, например:
- Name: wgroad
- Listen Port: 51820
- Tunnel Address: 10.10.10.1/24
Сгенерируйте keypair и сохраните instance.
Шаг 12. Подготовьте клиент WireGuard на своём ПК
Чтобы подключаться к локальной сети через WireGuard, установите его на свой компьютер и создайте ключи клиента.
Ниже приведён один из рабочих вариантов для Linux.
1. Установите WireGuard
sudo apt update
sudo apt install -y wireguard wireguard-tools
Проверьте, что установка прошла успешно:
which wg
Ожидаемый результат:
/usr/bin/wg
2. Создайте ключи клиента
mkdir -p ~/wireguard
chmod 700 ~/wireguard
wg genkey | tee ~/wireguard/client.key | wg pubkey > ~/wireguard/client.pub
Проверить ключи можно так:
cat ~/wireguard/client.pub
cat ~/wireguard/client.key
- client.pub — публичный ключ клиента, он понадобится для Peer в OPNsense;
- client.key — приватный ключ клиента, он понадобится для файла wg0.conf.
Шаг 13. Создайте Peer клиента
В разделе:
VPN → WireGuard → Peers
создайте peer для клиентской системы.
Пример:
- Name: os
- Public Key: вставьте содержимое client.pub
- Allowed IPs: 10.10.10.2/32
- Keepalive: 25
После этого привяжите peer к созданному instance.

Шаг 14. Включите WireGuard глобально
Внизу страницы WireGuard включите:
- Enable WireGuard
Нажмите Apply.

Шаг 15. Назначьте интерфейс WireGuard
Перейдите в:
Interfaces → Assignments
Добавьте интерфейс:
- wg0 (WireGuard – wgroad)
После добавления откройте его и включите:
- Enable Interface
В качестве описания можно указать, например:
- wg
Обычно на этой странице больше ничего задавать не требуется:
- IPv4 Configuration Type → None
- IPv6 Configuration Type → None

Шаг 16. Создайте правила firewall для WireGuard
1. Правило на WAN
Перейдите в:
Firewall → Rules → WAN
Добавьте правило:
- Action: Pass
- Protocol: UDP
- Source: any
- Destination: This Firewall
- Destination Port: 51820
- Description: Allow WireGuard
Сохраните правило и нажмите Apply.
2. Правила на интерфейсе WireGuard
Перейдите в:
Firewall → Rules → wg
Создайте два правила.
Правило 1 — доступ к LAN
- Action: Pass
- Interface: wg
- Direction: in
- TCP/IP Version: IPv4
- Protocol: any
- Source: WG net
- Destination: LAN net
- Description: WG to LAN
Правило 2 — доступ к самому OPNsense
- Action: Pass
- Interface: wg
- Direction: in
- TCP/IP Version: IPv4
- Protocol: any
- Source: WG net
- Destination: This Firewall
- Description: WG to Firewall
Сохраните оба правила и нажмите Apply.
После этого через VPN будет доступно:
- сама OPNsense;
- внутренняя сеть 192.168.10.0/24.
Шаг 17. Настройте клиентский конфиг WireGuard
На клиентской Linux-системе создайте конфигурационный файл:
nano ~/wireguard/wg0.conf
Пример содержимого:
[Interface] PrivateKey = <client private key> Address = 10.10.10.2/32 [Peer] PublicKey = <server public key> Endpoint = <WAN-IP>:51820 AllowedIPs = 10.10.10.0/24, 192.168.10.0/24 PersistentKeepalive = 25
Где:
- PrivateKey — содержимое файла client.key;
- PublicKey — публичный ключ сервера из WireGuard instance в OPNsense;
- Endpoint — внешний IP OPNsense и порт 51820.
Поднимите туннель:
sudo wg-quick up ~/wireguard/wg0.conf
Проверьте соединение:
ping -c 4 10.10.10.1
ping -c 4 192.168.10.1
Если всё работает, затем проверьте доступ к Windows VM по её внутреннему IP.
Шаг 18. Подключение к Windows VM через VPN
После установки VPN-соединения удалённый клиент должен иметь доступ к:
- OPNsense: 192.168.10.1
- Windows VM: например 192.168.10.109
Если Windows не пингуется, это часто связано с Windows Firewall. При этом RDP уже может работать, если он включён.
Рекомендуется:
- включить Remote Desktop;
- при необходимости разрешить ICMP Echo в Windows Firewall.
Дополнительная информация: OPNsense умеет не только VPN
Хотя в этой статье OPNsense используется как firewall и VPN-шлюз, его возможности этим не ограничиваются.
Помимо WireGuard и OpenVPN, OPNsense позволяет:
- публиковать внутренние сервисы наружу через Destination NAT / Port Forward;
- использовать reverse proxy для HTTP(S), TCP и в ряде случаев UDP-сервисов;
- проксировать не только сайты, но и другие приложения — в зависимости от выбранного reverse proxy-компонента.
В экосистеме OPNsense доступны решения на базе nginx, HAProxy и Caddy, которые подходят не только для веб-сайтов, но и для более общих proxy-сценариев.
То есть OPNsense можно использовать не только как «VPN-коробку», но и как центральную точку публикации внутренних сервисов. По подходу это действительно напоминает Nginx Proxy Manager, но в более гибком и инфраструктурном варианте: с firewall rules, NAT, сегментацией, VPN и дополнительными службами в одном узле.
При этом сам firewall всё же лучше использовать как точку маршрутизации и публикации, а не как место размещения самих сайтов, приложений или баз данных. Для сайта, панели, приложения или БД безопаснее выделять отдельную внутреннюю VM и публиковать её через OPNsense по мере необходимости.
Почему эта схема удобна
Такой подход позволяет:
- не публиковать RDP напрямую в интернет;
- использовать OPNsense как центральный VPN-шлюз;
- безопасно подключаться к нескольким виртуальным машинам;
- управлять доступом через firewall rules;
- при необходимости публиковать внутренние веб-сервисы и другие приложения наружу через OPNsense.
Итог
После выполнения этих шагов получается полноценная схема:
- Proxmox VE как гипервизор;
- OPNsense как виртуальный firewall, маршрутизатор и VPN-шлюз;
- Windows VM во внутренней сети;
- доступ к OPNsense и VM через WireGuard;
- возможность в дальнейшем использовать OpenVPN, NAT и reverse proxy для более сложных сценариев публикации сервисов.
Такая схема безопаснее и удобнее, чем открывать отдельные сервисы напрямую в интернет, и хорошо подходит для небольшой или средней инфраструктуры, которую нужно развивать постепенно.