Задача: Мне для дальнейших заметок нужно проработать, как на мой тестовый стенд под управлением Debian 10 + Proxmox 6.4-13 установить виртуальную машину с осью pfSense 2.6.0. Вот только мне кажется, что я это уже делал, но заметки не нашел, проверил, действительно нет, поэтому исправляюсь, дабы в последствии написания заметок все было по шагам и не было недосказанности что откуда произрастает. А то открыв заметки блога https://net.ekzorchik.ru раздел pfsense вижу, что и как делалось отталкиваясь от этой.

Шаг №1: Минимальные требования к развертыванию pfSense:

The minimum hardware requirements for pfSense® software on hardware are as follows:

•   64-bit amd64 (x86-64) compatible CPU

•   8 GB or larger disk drive (SSD, HDD, etc)

•   1GB or more RAM

•   One or more compatible network interface cards

•   Bootable USB drive or high capacity optical drive (DVD or BD) for initial installation

Шаг №2: Подключаем к Debian 10 + Proxmox 6.4-13 по SSH:

root@ekzorchik:~# ssh -l root 172.33.33.25
root@172.33.33.25's password:
Linux srv-proxmox 5.4.106-1-pve #1 SMP PVE 5.4.106-1 (Fri, 19 Mar 2021 11:08:47 +0100) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Sep  5 16:05:09 2023 from 172.33.33.107
root@srv-proxmox:~#

Шаг №3: Скачиваем дистрибутив pfSense 2.6.0 (хотя на 01.11.2023 обнаружил что есть версия 2.7.0) и располагаем по пути, после распаковываем:

root@srv-proxmox:~# cd /var/lib/vz/template/iso
root@srv-proxmox:/var/lib/vz/template/iso# wget https://sgpfiles.netgate.com/mirror/downloads/pfSense-CE-2.6.0-RELEASE-amd64.iso.gz
root@srv-proxmox:/var/lib/vz/template/iso# gunzip pfSense-CE-2.6.0-RELEASE-amd64.iso.gz

Шаг №4: Создаю виртуальную машину на Proxmox 6.4-13 под использование образа pfSense 2.6.0, данная VM будет у меня выступать как шлюз в локальную сеть, следовательно, у данной VM будет два сетевых интерфейса:

URL: https://172.33.33.25:8006 - Login&Passs - (Server View) Datacenter - srv-proxmox - Create VM

вкладка General

  • Node: srv-proxmox
  • VM ID: 500
  • Name: srv-pfsense01
  • Resource Pool: ничего не выбираю
  • Advanced: не активирую, т.е. галочку не ставлю

и нажимаю Next

вкладка OS

  • Use CD/DVD disk image file (iso): выбираю
  • Storage: local
  • ISO Image: выбираю pfSense-CE-2.6.0-RELEASE-amd64.iso
  • Type: Linux
  • Version: 5.x - 2.6 Kernel
  • Advanced: не активирую, т.е. галочку не ставлю

и нажимаю Next

вкладка System

  • Graphic card: Default
  • SCSI Controller: VirtIO SCSI
  • Advanced: не активирую, т.е. галочку не ставлю

и нажимаю Next

вкладка Hard Disk

  • Bus/Device: SCSI/0
  • Storage: disk2
  • Disk size (GiB): 50
  • Cache: Default (No cache)
  • Advanced: активирую, т.е. галочку ставлю тем самым открывают дополнительные настройки
  • IO thread: отмечаю галочкой
  • Backup: отмечаю галочкой

и нажимаю Next

вкладка CPU

  • Sockets: 1
  • Type: Default (kvm64)
  • Cores: 2
  • Advanced: не активирую, т.е. галочку не ставлю

и нажимаю Next

вкладка Memory

  • Memory (MiB): 8196

и нажимаю Next

вкладка Network

  • No network device: отмечаю галочкой
  • Advanced: не активирую, т.е. галочку не ставлю

и нажимаю Next

вкладка Confirm

проверяю

  • Advanced: не активирую, т.е. галочку не ставлю

и нажимаю Finish.

После открываю свойства VM, перехожу в Hardware - Add - Network Device

  • Bridge: vmbr0
  • Model: VirtIO (paravirtualized)
  • VLAN Tag: ничего не указываю
  • MAC address: ничего не указываю
  • Firewall: галочка стоит по умолчанию
  • Advanced: не активирую, т.е. галочку не ставлю

и нажимаю Add

и еще добавляю один сетевой интерфейс:

После открываю свойства VM, перехожу в Hardware - Add - Network Device

  • Bridge: vmbr1
  • Model: VirtIO (paravirtualized)
  • VLAN Tag: ничего не указываю
  • MAC address: ничего не указываю
  • Firewall: галочка стоит по умолчанию
  • Advanced: не активирую, т.е. галочку не ставлю

и нажимаю Add

в итоге получает вот так:

Конфигурация виртуальной машины под pfSense 2.6.0

Шаг №5: Запускаю созданный контейнер под виртуальную машину VM ID: 500 (srv-pfsense01) Start

Шаг №6: Открываю консоль посредством которой взаимодействую с системой pfsense на момент установки:

https://172.33.33.25:8006 - user&pass - (Server View) Datacenter - srv-proxmov - VM ID: 500 (srv-pfsense01) - >_ Console

Подключаем в > Console созданной виртуальной машины дабы произвести предварительную настройку

Шаг №7: Запускается мастер установки с ISO Образа:

https://172.33.33.25:8006 - user&pass - (Server View) Datacenter - srv-proxmov - VM ID: 500 (srv-pfsense01) - >_ Console

Запускаем VM и начинается загрузка с установочного образа

  • Copyright and distribution notice: выбираю Accept
  • Welcome to pfSense! выбираю Install и нажимаю OK
  • Keymap Selection: выбираю Continue with default keymap и нажимаю Select
  • How would you like to partition your disk? выбираю Auto (ZFS) и нажимаю OK
  • Configure Options: выбираю Install и нажимаю Select
  • Select Virtual Device type: выбираю Stripe и нажимаю OK
  • ZFS Configuration: выбираю/отмечаю da0 (QEMU QEMU HARDISK) и нажимаю OK
  • Last Chance! Are you sure you want to destroy the current contents of the following disks: нажимаю Yes

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

Начинается процесс установки с учетом предопределенных нами параметров

  • Manual Configuration: выбираю Yes
  • This shell is operating in a chroot in the new system. When finished making configuration changes, type "exit"

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

затем выбираю Reboot и нажимаю Enter

Отправляю систему в перезагрузку

после перезагрузки получаю установленную ось pfsense

Шаг №8: Перехожу к настройке pfsense в качестве шлюза:

Интерфейсы после перезагрузки pfsense 2.6.0

где

vtnet0: 8e:94:b4:bc:f2:47 (будет vmbr0)

vtnet1: 02:7c:18:2f:9d:fc (будет vmbr1)

  • Should VLANs be set up now? [y|n] указываю n
  • Enter the WAN interface name or 'a' for auto-detection: выбираю vtnet0
  • Enter the LAN interface name or 'a' for auto-detection: выбираю vtnet1
  • Do you want to proceed [y|n]? указываю y

после получаю

Дефолтная установка с учетом: пока настроился только WAN интерфейс, т.к. он по DHCP получает настройки

перехожу в пункт 2 и настраиваю сеть для интерфейса vtnet1, чтобы адрес стал 10.90.90.2, маска подсети /24

  • Do you want to enable the DHCP server on LAN? (y/n): указываю n
  • Do you want to revert to HTTP as the webConfirator protocol? (y/n): указываю n

Итого:

Доступ к Web-интерфейсу возможен только из сети LAN

нажимаю клавишу ENTER

и собственно вся установка (базовая) через Console

и собственно вся установка (базовая) через Console

Шаг №9: Создаю VM с осью Windows 10 Pro и выбираю ей сеть vmbr1 дабы у нее была сеть 10.90.90.0/24, прописываю ей статический IP адрес, к примеру 10.90.90.10/24, а затем через браузер Google Chrome обращаюсь к Webинтерфейсу шлюза pfSense 2.6.0

  • Использовать следующий IP-адрес: выбираю
  • IP-адрес: 10.90.90.10
  • Маска подсети: 255.255.255.0
  • Основной шлюз: 10.90.90.2
  • Использовать следующие адреса DNS-серверов: выбираю
  • Предпочитаемый DNS-сервер: 8.8.8.8

и после доступ в интернет на VM с осью Windows 10 Pro появляется

Из сети LAN доступ в интернет через pfsense есть

Открываю браузер Google Chrome и через URL адрес обращаюсь к pfsense 2.6.0

https://10.90.90.2 - Дополнительные - Перейти на сайт 10.90.90.2 (небезопасно)

  • Username: admin
  • Password: pfsense

и нажимаю Sign IN

вот я внутри

В Web-интерфейс успешно авторизовался

нажимаю на Change the password in the User Manager и изменяю пароль на учетную запись admin с пароля pfsense (по умолчанию) на свой

вкладка Users (System/User Manager/ Users/ Edit)

  • Password: указываю к примеру 712mbddr@
  • Confirm: 712mbddr@

и нажимаю Save

После чего уже доступ в Web-интерфейс pfsense будет с данными авторизации: Login: admin Password: 712mbddr@

Шаг №10: Дабы я мог производить настройку из рабочей сети мне нужно разрешить возможность обращаться к нему (https) из WAN сети (172.33.33.0/24). Для этого нужно добавить правила.

На заметку: Если что у меня есть заметка на этот счет "Активируем Web-доступ на Wan-порт в pfSense 2.6.0"

Firewall - Rules - WAN - Add

  • Action: Pass
  • Interface: WAN
  • Address Family: IPv4
  • Protocol: TCP
  • Source: any
  • Destination: WAN address
  • Destination Port Range: 443
  • Log: отмечаю галочкой (Log packets that are handled by this rule)
  • Description: _RULE_WAN_443

и нажимаю Save и применяю настройки нажатием на Apply Changes

Также для проверки из вне, что мой pfSense доступен создаю еще одну правило разрешающее прохождение ICMP-пакетов:

Firewall - Rules - WAN - Add

  • Action: Pass
  • Interface: WAN
  • Address Family: IPv4
  • Protocol: ICMP
  • ICMP Subtypes: any
  • Source: any
  • Destination: WAN address
  • Log: отмечаю галочкой (Log packets that are handled by this rule)
  • Description: _RULE_WAN_ICMP

и нажимаю Save и применяю настройки нажатием на Apply Changes

Шаг №11: Проверяю, что из сети 172.33.33.0/24 коя у меня является WAN сеть я ping(ую) pfsense и могу также через Webинтерфейс подключиться к нему:

C:\Windows\system32>ipconfig

Windows IP Configuration


Ethernet adapter Ethernet:

   Connection-specific DNS Suffix  . :
   IPv4 Address. . . . . . . . . . . : 172.35.35.24
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 172.35.35.100

C:\Windows\system32>ping 172.33.33.124

Pinging 172.33.33.124 with 32 bytes of data:
Reply from 172.33.33.124: bytes=32 time<1ms TTL=63
Reply from 172.33.33.124: bytes=32 time<1ms TTL=63

Ping statistics for 172.33.33.124:
    Packets: Sent = 2, Received = 2, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms
Control-C
^C
C:\Windows\system32>

и доступ к Web-интерфейсу так же есть.

Итого: Я успешно для себя разобрал, как создать виртуальную машину на своем тестовом стенде Debian 10 + Proxmox 6.4-13 под управлением pfSense 2.6.0, вот кажется мне что это я уже не делал, но заметки на блоге не нашел, теперь пусть будет.

На этом у меня все, с уважением автор блога Олло Александр aka ekzorchik.