Домой Гайды Сети и безопасность Настройка лабораторной сети с помощью IPFire: от железа до сегментации

Настройка лабораторной сети с помощью IPFire: от железа до сегментации

Разбираемся, как превратить старый мини-ПК в функциональный маршрутизатор на базе IPFire. Пошаговое руководство по сегментации сети, настройке правил и мониторингу.

1
0

Выбор IPFire для организации лабораторной сети

Когда возникает необходимость в новом маршрутизаторе, выбор чаще падает на OpenWRT, а не на OPNsense. Оба решения являются чрезвычайно функциональными граничными маршрутизаторами, особенно при развертывании в виде виртуальной машины. Однако по мере добавления интерфейсов, VLAN и правил конфигурация усложняется настолько, что приходится зарисовывать топологию, чтобы не запутаться в связях между сетями. Для лабораторного маршрутизатора такая избыточность кажется чрезмерной.

Цветовая кодировка зон RED, GREEN, ORANGE и BLUE в IPFire предлагает гораздо более простой способ визуализации границ сети. В моем распоряжении оказался мини-ПК ZOTAC, который ранее использовался как гипервизор, а затем просто пылился без дела. Этот аппарат с посредственным процессором Celeron, двумя портами Ethernet, картой Intel Wi-Fi, 8 ГБ оперативной памяти и SSD идеально подошел на роль маршрутизатора. Наличие физических портов позволило закрепить за каждой сетью свой интерфейс, сделав структуру понятной и осязаемой.

Первоначальная настройка и сегментация

В процессе инициализации IPFire я выбрал схему GREEN + RED. Каждому цвету в системе соответствует не только тип сети, но и конкретная функциональная роль, что создает логическую карту еще до написания первого правила брандмауэра. При распределении интерфейсов система отображает адаптеры по их MAC-адресам. Метод проб и ошибок — подключение ноутбука через кроссовер-кабель — показал, что я ошибся при предположении: в итоге RED был назначен на левый NIC, а GREEN — на правый.

Сеть RED получила адрес по DHCP от моего основного граничного маршрутизатора, работая как любое другое устройство в домашней локальной сети. Для GREEN я установил статический адрес 10.77.50.1 и настроил DHCP-сервер IPFire на выдачу адресов в диапазоне 10.77.50.100–199. На этом этапе проводная часть лаборатории была готова к работе.

Настройка изоляции и правил брандмауэра

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

Для изоляции я создал правило DROP для сети 192.168.1.0/24 по всем протоколам. Выбрав в качестве источника «Standard networks → GREEN», я направил правило в раздел «Forward Firewall Access». После сохранения и применения настроек:

  • Устройства в домашней сети перестали отвечать на пинги из лаборатории.
  • Доступ к публичному интернету (проверено через 1.1.1.1) сохранился.

Это создало необходимый барьер: лаборатория получила интернет, но осталась закрытой для доступа к вышестоящей сети. Важно помнить, что при фильтрации клиентов нужно выбирать сеть в разделе «Standard networks», тогда как схожий по названию пункт «Firewall» относится к адресу самого интерфейса IPFire.

Краткая справка об IPFire:

  • Тип: автономный Linux-дистрибутив брандмауэра.
  • Основные особенности: цветовая кодировка зон, гибкая настройка правил, графики трафика, пакеты расширений.
  • Модель распространения: бесплатное ПО с открытым исходным кодом.

Подключение беспроводного сегмента BLUE

Для интеграции мобильных устройств я задействовал адаптер Intel Wireless 3165. Проверка команды iw list | grep -A 12 ‘Supported interface modes’ подтвердила поддержку режимов точки доступа (AP), мониторинга и P2P. В настройках консоли я изменил конфигурацию на GREEN + RED + BLUE, присвоив беспроводному адаптеру зону BLUE с IP-адресом 10.77.60.1/24 и диапазоном DHCP 10.77.60.100–199.

Через менеджер пакетов IPFire я установил дополнение hostapd. В настройках беспроводной сети я задал имя IPFire-Lab-Blue, указал код страны и выбрал режим IEEE 802.11an/gn 20 МГц. Стабильная работа точки доступа была обеспечена после отказа от автоматического выбора канала.

Настройка беспроводной сети и работа с правилами доступа

Я установил диапазон 5 ГГц с автоматическим выбором канала, сохранил настройки и запустил точку доступа. В течение примерно 10 секунд сервис сообщал о статусе RUNNING, но затем останавливался, прежде чем мой телефон успевал обнаружить сеть. Чтобы выяснить причину, по которой точка доступа отключалась после запуска, я обратился к логам с помощью команды grep -iE ‘hostapd|blue0|iwlwifi’ /var/log/messages | tail -n 60. Причина отказа оказалась весьма примечательной: система автоматического выбора каналов определила 52-й канал диапазона 5 ГГц как идеальный для вещания. Поскольку этот канал используется военными, службами управления воздушным движением и метеорологическими радарами, точка доступа обязана выполнять процедуру динамического выбора частоты (DFS), которая занимает одну минуту. Эта задержка приводила к тому, что hostapd прекращал процесс запуска и останавливал работу службы. Переключение на 2,4 ГГц с фиксацией канала мгновенно решило проблему: телефон подключился, и цветовая модель IPFire обрела еще один функциональный сегмент.

Мини-ПК ZOTAC с IPFire и подключенными сетевыми кабелями

Настройка границ сегментов и управление трафиком

Я открыл ровно один доступ из зоны BLUE в зону GREEN. Локальная панель управления загрузилась на телефоне, в то время как остальная часть проводной лаборатории осталась недоступной. Мой телефон, находясь в зоне BLUE, получил возможность обращаться к локальной сети, однако для беспроводных клиентов требовались собственные правила. Я добавил правило DROP для сети 192.168.1.0/24, выбрав Standard networks → BLUE в качестве источника. После применения настроек пограничный маршрутизатор перестал отвечать на пинги, но доступ к интернету сохранился.

Далее я перешел к тестированию более специфических границ. Запустив виртуальную машину на ноутбуке, я установил панель управления Homarr через Docker-контейнер. Поскольку сетевой интерфейс ВМ работал в режиме моста, она получила IP-адрес 10.77.50.101 от DHCP-сервера зоны GREEN. Телефон не мог пропинговать этот адрес, что меня устраивало, но я хотел получить доступ к панели управления, не открывая беспроводным устройствам доступ ко всей подсети. Я создал правило ACCEPT из BLUE к адресу 10.77.50.101, ограничив доступ портом TCP 7575. Открытие http://10.77.50.101 на телефоне привело к отображению экрана входа в систему, при этом попытки пропинговать тот же IP все еще проваливались, так как я разрешил только TCP-трафик, но не ICMP.

настройка IPFire — иллюстрация 11 к материалу
настройка IPFire — иллюстрация 12 к материалу
настройка IPFire — иллюстрация 13 к материалу
настройка IPFire — иллюстрация 14 к материалу
настройка IPFire — иллюстрация 15 к материалу
настройка IPFire — иллюстрация 16 к материалу

Мониторинг и анализ сетевой активности

Я получил удобную и целевую конфигурацию для тестирования: беспроводные устройства могли обращаться к конкретному назначенному сервису через правила брандмауэра, в то время как остальная часть домашней сети и сегмент GREEN оставались закрытыми. IPFire обладает мощной страницей Connections, позволяющей просматривать исходные и целевые адреса активных соединений, включая геоданные. Для проверки этой функции я воспользовался сайтом университета Ганы (https://ug.edu.gh). Флаг Ганы появился в выводе списка соединений, что позволило провести полезный тест политики: я временно заблокировал трафик из лаборатории для всей страны с помощью правила геоблокировки, после чего сайт перестал загружаться по таймауту. Позже я удалил правило, доказав нужное мне поведение.

настройка IPFire — иллюстрация 2 к материалу

Графики IPFire также обеспечивают широкий обзор: отдельные диаграммы трафика для GREEN и BLUE позволяют сравнивать активность проводных и беспроводных сетей. График срабатываний брандмауэра отображает все отброшенные или отклоненные пакеты в динамике, а аппаратные графики следят за температурой системы и использованием ресурсов. Эти данные помогают детально изучать тесты, а сами графики выглядят весьма информативно.

настройка IPFire — иллюстрация 3 к материалу

Заключение по опыту эксплуатации IPFire

IPFire занял свое место в моей лаборатории, несмотря на некоторые нюансы. Хотя OpenWrt остается моим фаворитом, IPFire идеально подошел для данной физической системы. Один из самых ироничных примеров сложностей заключался в невозможности доступа к собственному сайту IPFire через роутер: www.ipfire.org выдавал ошибку SERVFAIL, так как DNS-резолвер пограничного маршрутизатора не мог завершить проверку DNSSEC. Переключение IPFire на 1.1.1.1 решило проблему, но это все еще досадная сложность в настройке. Тем не менее, ZOTAC теперь предоставляет мне проводную лабораторию, отдельную беспроводную зону, настроенные исключения между ними и полезные графики данных. Хотя для гибких задач я по-прежнему выберу OpenWRT, в этой конфигурации «цветовая» модель IPFire четко определила задачи для каждого интерфейса и сделала правила гораздо понятнее. Установка потребовала терпения, но в итоге я получил лабораторию, которую понимаю достаточно хорошо, чтобы начать проводить в ней эксперименты по «взлому» конфигураций.

настройка IPFire — иллюстрация 4 к материалу

Дополнительные подробности настройки и эксплуатации

Важно отметить, что решение использовать именно IPFire было продиктовано не только удобством визуализации, но и спецификой аппаратного обеспечения. Мой ZOTAC Mini PC долгое время простаивал, так как попытка превратить его в гипервизор не увенчалась успехом из-за весьма посредственных характеристик процессора Celeron. Однако архитектура IPFire оказалась идеально адаптирована под подобные ресурсы, позволив вдохнуть новую жизнь в «пылящееся» железо. Наличие 8 ГБ оперативной памяти и SSD-накопителя в дополнение к двум сетевым интерфейсам (NIC) предоставило достаточный запас мощности для создания полноценного сетевого устройства.

настройка IPFire — иллюстрация 5 к материалу

Процесс физического подключения также добавил «осязаемости» моему проекту. Поскольку IPFire при настройке требует присвоения интерфейсов конкретным зонам, ориентируясь на их MAC-адреса, пришлось прибегнуть к методу проб и ошибок. Я использовал кроссовер-кабель для прямого соединения ноутбука с каждым портом по очереди, чтобы сопоставить программные имена интерфейсов с реальными разъемами на корпусе устройства. В конечном счете, это позволило создать четкую границу: левый порт стал RED (внешний), а правый — GREEN (внутренний), что исключило любую путаницу при дальнейшем добавлении правил.

настройка IPFire — иллюстрация 6 к материалу

Особенности работы с беспроводным сегментом BLUE

Использование беспроводного адаптера Intel Wireless 3165 открыло возможности для более глубокого тестирования сетевых режимов. Адаптер порадовал поддержкой не только режима точки доступа (AP), но и режимов мониторинга и P2P-клиента, что было подтверждено командой iw list | grep -A 12 ‘Supported interface modes’. Включение зоны BLUE в конфигурацию позволило изолировать беспроводные устройства от проводной сети GREEN на физическом и логическом уровнях еще до написания правил фильтрации.

настройка IPFire — иллюстрация 7 к материалу

Особого внимания заслуживает случай с неудачным запуском точки доступа в диапазоне 5 ГГц. Изначально я доверился автоматическому выбору канала, система выбрала 52-й канал, который регулируется протоколами DFS (Dynamic Frequency Selection). Из-за того, что оборудование обязано проверять отсутствие активности военных или метеорологических радаров в течение минуты, сервис hostapd не успевал инициализироваться и принудительно завершал работу. Обнаружить это удалось лишь путем анализа логов командой grep -iE ‘hostapd|blue0|iwlwifi’ /var/log/messages | tail -n 60. Переход на 2,4 ГГц с фиксированным каналом не только позволил сети стабильно заработать, но и стал уроком по работе с радиочастотным спектром в лабораторных условиях.

настройка IPFire — иллюстрация 8 к материалу

Аналитика и «подводные камни» конфигурации

Помимо базовой маршрутизации, инструменты мониторинга IPFire оказались весьма кстати. Например, при проверке геоблокировки использовался сайт университета Ганы (https://ug.edu.gh), что позволило наглядно увидеть, как срабатывают правила блокировки по странам, когда в выводе страницы соединений появляется соответствующий флаг государства. Аппаратные графики, отображающие температуру системы и потребление ресурсов, позволяют контролировать состояние процессора Celeron в режиме реального времени, что важно для компактных систем без активного охлаждения.

настройка IPFire — иллюстрация 9 к материалу

Среди прочих нюансов стоит упомянуть проблему с DNSSEC. При попытке перехода на сайт проекта ipfire.org я столкнулся с ошибкой SERVFAIL. Оказалось, что upstream-маршрутизатор не мог корректно обработать валидацию домена, что создало ироничную ситуацию — брандмауэр не мог «достучаться» до собственного документационного ресурса. Решение проблемы простым переключением на DNS-сервер 1.1.1.1 стало напоминанием о том, что даже в «простых» дистрибутивах могут встречаться неочевидные проблемы совместимости сетевых настроек.

настройка IPFire — иллюстрация 10 к материалу
Источник: https://www.makeuseof.com