Вопрос или проблема
Мне нужно ограничить доступ к компьютеру в локальной сети с определенных адресов.
Я новичок в Pfsense, недавно начал его использовать.
Например, на хосте 192.168.0.4, мне нужно ограничить доступ к хостам 192.168.0.10-192.168.0.13.
Из предоставленного вами примера, я предполагаю, что все эти хосты находятся в одной подсети (если у вас действительно нет крошечных подсетей размером /29, но это маловероятно).
Вы не можете сделать фильтрацию в одной подсети с помощью pfSense (или вообще), потому что маршрутизаторы обрабатывают трафик между подсетями (именно поэтому их первоначально называли “шлюзами”), тогда как трафик внутри одной и той же подсети по определению не проходит через маршрутизатор/шлюз. Все это происходит напрямую через ваши Ethernet-коммутаторы от хоста A к хосту B.
Поэтому, если определенные хосты должны иметь разные политики безопасности (либо вы хотите защитить их от доступа, либо хотите ограничить их доступ), вам нужно отделить их в свои собственные подсети – что обычно означает отдельный VLAN для каждой подсети (или отдельный физический LAN для каждой подсети, то же самое) – и тогда ваша система pfSense сможет выступать в роли маршрутизатора/шлюза между этими подсетями, применяя свои правила межсетевого экрана.
Например, насколько я помню интерфейс pfSense десятилетней давности, вы бы определили VLAN 5 на своих Ethernet-коммутаторах, затем создали интерфейс pfSense для VLAN 5 с именем “Untrusted_PCs”, настроив его со своей собственной IP-подсетью, а затем вкладка “Firewall > Untrusted_PCs” контролировала бы, к чему эта подсеть имеет или не имеет доступ.
И если у вас действительно сейчас .4 и .10-.13 находятся в двух отдельных крошечных /29 подсетях, то все то же самое применимо – у вас было бы два “интерфейса” pfSense, каждый с соответствующей вкладкой в ‘Firewall’, которая определяет правила для трафика, поступающего из этой подсети, где вы бы добавили правило ‘reject’ с .4 в качестве источника и .10-.13 в качестве назначения.
Если абсолютно нет возможности иметь отдельные физические LAN или VLAN, то вам придется настроить собственные правила межсетевого экрана для хостов .10-.13, чтобы не принимать ничего с хоста .4 (например, wf.msc
для хостов Windows, iptables или ufw для хостов Linux).
.
Ответ или решение
Ограничение доступа к сервисам внутри локальной сети с использованием pfSense представляет собой задачу, которая требует четкого понимания сетевой архитектуры и возможностей маршрутизаторов и межсетевых экранов. Поскольку в вашем случае все указанные устройства находятся в одной подсети, необходимо учитывать специфику маршрутизации и фильтрации трафика внутри одной и той же подсети.
Теоретический аспект
В стандартной сетевой архитектуре, маршрутизаторы, такие как pfSense, используются для управления трафиком между разными подсетями. Однако в пределах одной и той же подсети трафик идет напрямую между устройствами через Ethernet-коммутаторы и не проходит через маршрутизатор. Это означает, что прямое применение правил фильтрации трафика в pfSense между узлами одной подсети невозможно.
Чтобы управлять доступом между устройствами внутри одной подсети, вам необходимо разделить их на отдельные подсети. Это часто достигается с помощью VLAN (виртуальных локальных сетей), которые позволяют логическим способом разделять физическую сеть на отдельные подсети, или путем использования отдельных LAN-интерфейсов на оборудовании.
Пример
Рассмотрим пример конфигурации. У вас есть устройства с IP-адресами 192.168.0.4 и 192.168.0.10-192.168.0.13, и вам необходимо запретить доступ между ними. Поскольку они находятся в одной подсети, решение будет следующим:
-
Создание VLAN: Настройте на ваших Ethernet-коммутаторах VLAN, например, VLAN 10 для устройства с адресом 192.168.0.4 и VLAN 20 для устройств с адресами 192.168.0.10-192.168.0.13.
-
Конфигурация pfSense:
- Добавьте интерфейсы для каждой VLAN в pfSense. Например, интерфейс для VLAN 10 может называться
Secure_Host
, а для VLAN 20 —Restricted_Group
. - Назначьте каждому интерфейсу собственную подсеть. Например, для
Secure_Host
используйте 192.168.1.0/24, а дляRestricted_Group
— 192.168.2.0/24. - В разделе
Firewall > Rules
создайте правило, которое запрещает трафик с IP 192.168.1.4 на подсеть 192.168.2.0/24.
- Добавьте интерфейсы для каждой VLAN в pfSense. Например, интерфейс для VLAN 10 может называться
-
Применение межсетевых экранов на уровне устройств: Если разделение на VLAN невозможно, настройте правила межсетевого экрана на уровне каждого устройства. В Windows это можно сделать с помощью
wf.msc
(Брандмауэр Windows с дополнительной поддержкой безопасности), а в Linux — с помощьюiptables
илиufw
.
Применение
Переход на использование VLAN или разделение сети на отдельные физические подсети позволяет использовать возможности pfSense для фильтрации трафика, что значительно повышает гибкость управления сетью и безопасность. Каждая VLAN становится, по сути, отдельной подсетью с собственными правилами межсетевого экрана. Это не только позволяет реализовать более сложные схемы фильтрации, но и облегчает контроль над доступом к ресурсам внутри вашей сети.
Кроме того, использование VLAN снижает уровень столкновений в сети и позволяет более эффективно использовать пропускную способность сети. В совокупности с pfSense это открывает широкие возможности для построения масштабируемой и безопасной сетевой инфраструктуры.
Если физическая или логическая сегрегация сети неосуществима, применение правил локального межсетевого экрана на каждом устройстве предоставляет альтернативный способ управления доступом внутри одной подсети. Это может быть более трудоемким процессом, поскольку каждое устройство должно быть настроено индивидуально, однако это решение также может обеспечить необходимый уровень безопасности в определенных ситуациях.
Таким образом, выбор подхода к ограничению доступа должен основываться на специфике вашей сети и доступности необходимых ресурсов для реорганизации сетевой архитектуры.