Понедельник, 08.01.2024 17:00

Установка маршрутизатора pfSense в Hyper-V

Установка маршрутизатора pfSense в Hyper-V

В прошлых статьях мы рассматривали эмуляцию ЛВС с помощью GNS3. Он предоставляет удобные и наглядные инструменты для  управления текущей конфигурацией виртуальной сети, но при этом требует значительных ресурсов для запуска виртуальных устройств.
Сегодня мы рассмотрим установку pfSense – программного межсетевого экрана и маршрутизатора на виртуальную машину Hyper-V для использования в качестве пограничного маршрутизатора между виртуальной частной сетью и физической . В последующем мы будем использовать полученную виртуальную сеть для развертывания домена Active Directory с DHCP-сервером.

Почему не Mikrotik

Раньше я всегда использовал Mikrotik для экспериментов с виртуальными сетями, но с тут всегда существовали определенные ограничения, приходилось заморачиваться с получением бесплатных лицензий. С версии 7 микротик стало сложнее ставить в виртуальные машины, так что я решил найти бесплатное решение, которое будучи один раз настроенным, можно клонировать и использовать множество раз!

Схема сети

Давайте определимся что мы хотим получить - нам нужна виртуальная локальная сеть которая не будет иметь доступа к внешней локальной сети,  но при этом будет иметь доступ к сети Интернет. 

Это необходимо потому что  в нашей локальной сети уже работает DHCP-сервер, а для нормальной работы доменной сети Active Directory необходим DHCP-сервер, если в сети присутствуют два таких сервера, это неизбежно приводит к разнообразным конфликтам и глюкам в работе ЛВС.

Чтобы этого избежать мы настроим внутреннюю сеть для виртуальных машин Active Directory, а также установим pfSense в качестве маршрутизатора которая будет смотреть и в нашу внутреннюю сеть  локальную сеть  для внутренней сети маршрутизатор будет являться шлюзом по умолчанию. На внешнем интерфейсе нас будет настроен DHCP-клиент,а в межсетевом экране мы пропишем SRCNAT - masquerading, обеспечивая доступ к сети Интернет.

В результате у нас получается схема:

Настройка Hyper-V

Добавим частную сеть и внешнюю сеть для LAN. 

В правой панели Диспетчера Hyper-V выберем Диспетчер виртуальных коммутаторов.

1

Выберем Частная и нажмем Создать виртуальный коммутатор:

3

Введем название VLAN 1 и нажмем Ок

1

Слева на самом верху выберем Создать виртуальный сетевой к...

И на этот раз выберем Внешняя:

4

Нажмем Создать виртуальный коммутатор

Назовем LAN и выберем сетевой адаптер нашего ПК через который мы подключены к сети Интернет. Нажмем ОК.

5

У нас получится:

6

Нажмем ОК для внесения изменений в настройки.

Загрузка установочного образа

Образ с текущей версией вы можете скачать по ссылке:

https://www.pfsense.org/download/

Загружать нужно – Community Edition

На момент написания статьи это версия - 2.7.2

Выбираем архитектуру – AMD64(64-bit)

Установщик - DVD Image (ISO) installer

Зеркало – любое

Нажимаем Download и ждем окончания загрузки.

Образ упакован с помощью gzip

Чтобы распаковать скачайте и установите 7zip - https://www.7-zip.org/

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

После распаковки образа создаём виртуальную машину.

Назовем Router 1. Я храню диски виртуальных машин на отдельной диске:

7

Нажмем Далее и выставим Поколение 2:

8

Оставим 1024 и нажмем Далее:

9

В подключение выберем LAN:

10

Уменьшим размер диска до 20 и нажмем Далее:

11

Выберем Установить операционную систему из файла загрузочного образа, выберем на диске файл pfSense-CE-2.7.2-RELEASE-amd64.iso и нажмем Далее:

12

Нажмем Готово

13

Выберем виртуальную машину из списка, щелкнем на нем правой кнопкой мыши и выберем меню параметры:

14

Перейдем на вкладку Безопасность и снимем галочку Включить безопасную загрузку:

15

Выберем пункт Установка оборудования и пункт Сетевой адаптер и нажмите Добавить:

16

Выберем VLAN 1 и нажмем ОК:

17

Откроем консоль виртуальной машины и нажмем Пуск:

18

Начнется загрузка маршрутизатора. Отобразится окно:

19

Нажмем Enter:

20

Нажмем Enter:

21

Выберем Auto UFS и нажмем Enter:

22

Нажмем Enter:

23

Нажмем Enter:

24

Нажмем Enter:

25

Нажмем Enter.

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

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

26

Ответим n и Enter

Введем hn0 и Enter

27

Введем hn1 и Enter

28

Нажмем y и Enter.

Будет произведена настройка необходимых служб, их запуск и открыто главное меню pfSense:

29

Обратите внимание, адаптеру LAN был автоматически присвоен адрес 192.168.1.1.

В pfSense по умолчанию на интерфейсе LAN работает DHCP-сервер и настроен адрес 192.168.1.1. Так как у нас будет свой  DHCP-сервер позже мы его отключим и настроим нужный нам адрес.

Уже на этом этапе вы можете использовать pfSense как обычный маршрутизатор для частной сети, например, если мы введем Windows 10  в частную сеть и выставим для сетевого адаптера получение адреса по DHCP, то у нас сразу появится доступ к сети Интернет:

42

Обратите внимание - DNS-суффикс для поиска был автоматически выставлен как home.arpa!

Временное отключение межсетевого экрана pfSense

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

Перед тем как продолжить, на всякий случай, перезагрузим pfSense - введем 5 и нажмем Enter.

Как в любом нормальном маршрутизаторе доступ к администрированию устройства запрещен c интерфейса wan и единственный способ получить доступ к веб-интерфейсу - подключаться из сети LAN. Нас это не устраивает, поэтому мы просто временно отключим межсетевой экран.

Откроем консоль нашей виртуальной машины и нажмем 8 и Enter:

32

Откроется консоль bash.

Введем команду:

pfctl -d

33

Мы отключили межсетевой экран pfSense.

Уже сейчас должен появиться пинг до нашего маршрутизатора!

Обратите внимание, что отключение таким способом действует только до перезагрузки pfSense!

Включаем межсетевой экран pfSense

Для включения межсетевого экрана достаточно ввести

pfctl -e

Навсегда отключаем межсетевой экран на интерфейсе WAN в pfSense

Обратите внимание! Ни в коем случае, никогда, не включайте полный доступ к устройству на WAN интерфейсе в реальной сети! Это влечет за собой серьезные риски безопасности, а хакеры и разнообразные боты будут очень рады если вы это сделаете!

Открываем Shell из главного меню и вводим:

pfSsh.php playback enableallowallwan
Adding allow all rule...
Turning off block private networks (if on)...
Turning off block bogon networks (if on)...
Reloading the filter configuration...

Теперь даже после перезагрузки устройства вас будет полный доступ к устройству с интерфейса WAN.

Включение SSHD в pfSense

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

Для этого выйдем из консоли bash:

exit

Откроется главное меню.

Введем 14 и Enter, далее y и Enter.

34

Служба будет настроена и запущена.

Подключение к pfSense по SSH

Теперь, когда мы отключили межсетевой экран мы можем подключится к устройству по SSH.

Для подключения воспользуемся putty.

Скачать утилиту вы можете с сайта

https://www.putty.org

Запустим putty и введем адрес нашего устройства - 192.168.1.43

Теперь вы сможете зайти на устройство.

Логин: admin

Пароль: pfsense

35

Входим в web-интерфейс

В pfSense есть встроенный веб-интерфейс, для управления устройством из браузера.

Просто откройте адрес:

https://192.168.1.43

Логин: admin

Пароль: pfsense

3637

Я не буду рассматривать работу с устройством через веб-интерфейс, все что нужны мы будем производить в консоли.

Настройка сетевых адаптеров в pfSense

При подключении к частной сети наш маршрутизатор автоматически настроил ip-адрес интерфейса LAN на 192.168.1.1.

Давайте вернемся к схеме нашей будущей сети:

Схема сети

Согласно её, адрес шлюза по умолчанию нашей частной сети VLAN 1 должен быть:

172.16.0.254

Давайте пропишем его для интерфейса hn1.

В главном меню pfSense нажмем 2 и Enter:

Available interfaces:

1 - WAN (hn0 - dhcp, dhcp6)
2 - LAN (hn1 - static)

Enter the number of the interface you wish to configure:

Нажмем 2 и Enter:

Enter the number of the interface you wish to configure: 2

Configure IPv4 address LAN interface via DHCP? (y/n)

Нажмем n и Enter:

Enter the new LAN IPv4 address.  Press <ENTER> for none:
>

Введем

172.16.0.254 

И нажмем Enter

Subnet masks are entered as bit counts (as in CIDR notation) in pfSense.
e.g. 255.255.255.0 = 24
     255.255.0.0   = 16
     255.0.0.0     = 8

Enter the new LAN IPv4 subnet bit count (1 to 32):
>

Введем 24 и Enter

For a WAN, enter the new LAN IPv4 upstream gateway address.
For a LAN, press <ENTER> for none:
>

Нажмем Enter

Configure IPv6 address LAN interface via DHCP6? (y/n)

Нажмем n и Enter:

Enter the new LAN IPv6 address.  Press <ENTER> for none:
>

Нажмем Enter

Отключение DHCP-сервера на интерфейсе LAN в pfSense

На следующем шаге нам нужно будет определиться нужен ли нам встроенный в pfSense DHCP-сервер. В нашем случае он не нужен и мы нажмем n.

Do you want to enable the DHCP server on LAN? (y/n)

Нажмем n и Enter:

Disabling IPv4 DHCPD...
Disabling IPv6 DHCPD...

Отключение https для веб-интерфейса в pfSense

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

Do you want to revert to HTTP as the webConfigurator protocol? (y/n)

Так как у нас всё равно тестовая сеть, чтобы не мучиться с браузерами отключим SSL для веб-интерфейса

Нажмем y и Enter:

Please wait while the changes are saved to LAN...
Reloading filter...

Если связь у вас пропадет, просто перезапустите сессию!

После перезахода в putty, адрес интерфейса LAN поменяется:

Hyper-V Virtual Machine - Netgate Device ID: fa0b573c7cd11544a1fe

*** Welcome to pfSense 2.7.2-RELEASE (amd64) on pfSense ***

WAN (wan)       -> hn0        -> v4/DHCP4: 192.168.1.43/24
LAN (lan)       -> hn1        -> v4: 172.16.0.254/24

0) Logout (SSH only)                  9) pfTop
1) Assign Interfaces                 10) Filter Logs
2) Set interface(s) IP address       11) Restart webConfigurator
3) Reset webConfigurator password    12) PHP shell + pfSense tools
4) Reset to factory defaults         13) Update from console
5) Reboot system                     14) Disable Secure Shell (sshd)
6) Halt system                       15) Restore recent configuration
7) Ping host                         16) Restart PHP-FPM
8) Shell

Enter an option:

Обязательно перезагрузим pfSense чтобы все настройки применились корректно!

Настройка NAT (masquerade) на интерфейсе LAN в pfSense

В pfSense по умолчанию используется автоматическая функция настройки NAT (masquerade) для интерфейса LAN. Поэтому нам не придется вообще ничего настраивать.

Проверяем доступ к сети интернет с интерфейса LAN в pfSense

У меня уже установлена Windows 10 в Hyper-V.

Изменим настройки виртуальной машины, откроем её свойства и в разделе Сетевой адаптер поменяем LAN на VLAN 1:

38

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

39

В pfSense встроен свой DNS-сервер, так что мы указываем его адрес в качестве DNS-сервера.

Проверим доступность Интернета:

40

Пинг и трассировка работают.

Сайты загружаются и скорость доступа как на основном ПК :

41

Заключение

Сегодня мы рассмотрели установку и настройку программного межсетевого экрана pfSense для использования в качестве пограничного маршрутизатора между частной сетью Hyper-V и физической локальность ЛВС.

Создали виртуальную частную сеть в Hyper-V.

Загрузили образ с файлом ISO с сайта разработчика.

Установили pfSense в виртуальной машине Hyper-V.

Рассмотрели временный способ отключения и включения межсетевого экрана в pfSense.

Рассмотрели способ навсегда отключить межсетевой экран на интерфейсе WAN.

Подключились к pfSense через SSH

Настроили сеть на интерфейсе LAN

Отключили DHCP-сервер на интерфейсе LAN

Отключили HTTPS для доступа к веб-интерфейса с LAN

Настроили сеть на виртуальной машине Windows 10 расположенной в частной сети за интерфейсом LAN.

Проверили пинг и трассировку до ya.ru

Проверили доступность сети Интернет из браузера и скорость подключения с помощью сервиса яндекса.

Категория Сеть

Добавить комментарий

Простой текст

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Строки и абзацы переносятся автоматически.
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.
Просмотров: 70