Можно ли настроить pfSense таким образом, чтобы он действовал как мост между двумя интерфейсами Ethernet и имел функциональность адаптивного портала? Я хочу использовать пакет адаптивного портала, но мне не нужна дополнительная маршрутизация, DHCP, брандмауэр или что-то еще. У нас есть другие устройства в нашей сети для выполнения других функций.
Вот упрощенная версия макета, которую я хочу достичь:
В основном em0
Интерфейс коробки pfSense будет подключен к нашему маршрутизатору, а оттуда к Интернету. В em1
интерфейс будет подключен к нашей внутренней сети, где находятся наши серверы, включая DHCP-сервер, клиентов и все остальное. Я бы дал ему список игнорируемых MAC-адресов (для наших серверов).
Я прочитал много сообщений на форуме pfSense, которые предполагают, что это невозможно, но пара предполагает, что это так. У меня работает мост, и я попытался установить перехватывающий портал на интерфейсе моста, но он ничего не делает. Я включил фильтрацию моста в расширенных параметрах, но это, похоже, не повлияло.
Как я могу заставить это работать, если это возможно?
Интерфейс моста может иметь IP. Но есть ряд сложностей при попытке сделать то, что вы хотите выполнить, например, получение IP-адреса от DHCP, если он не работает на самом брандмауэре, доступ к DNS, если он не запущен на брандмауэре, и, возможно, другие сложности. Я бы не рекомендовал запускать такой захватывающий портал, используя за порталом либо маршрутизированную, либо NAT-сеть.
В соответствии с документом openbsd (в какой-то момент pfsense был основан на openbsd, насколько я помню - фильтр пакетов pf взят из проекта Openbsd) интерфейс моста не может иметь IP, поэтому он не может быть захватным порталом:
http://www.openbsd.org/faq/faq6.html#Bridge
Тем не менее, возможно, вы можете попробовать добавить третий интерфейс, который делает есть IP, и посмотрите, можете ли вы использовать правила PF для перенаправления трафика, который пересекает мост, предназначенный для someipaddr: 80, на captive.portal.host:80, который прослушивает эту третью ветвь системы pfsense.