Настройка pfSense для IPTV, передаваемого через отдельную VLAN по каналу WAN
Я пытаюсь настроить pfSense в качестве основного интернет-маршрутизатора, заменив маршрутизатор провайдера.
Базовое подключение к Интернету работает как надо: настройте внешний интерфейс как DHCP-клиент, настройте DHCP-сервер для внутренних клиентов, настройте NAT — все в порядке.
Однако я также хотел бы использовать IPTV через устройство. Мой интернет-провайдер предоставляет IPTV, используя отдельную VLAN на линии WAN. (Интернет-трафик использует собственную VLAN, поэтому никаких манипуляций с VLAN здесь не требуется.)
Маршрутизатор провайдера настроен следующим образом:
- Мост, участниками которого являются внутренние порты для подключения приемника IPTV и терминации IPTV VLAN на WAN-интерфейсе.
- К мосту привязан IP-адрес. Это статический адрес RFC1918, и на этом интерфейсе, по-видимому, не настроен шлюз по умолчанию.
- Кроме того, устройство использует прокси-сервер IGMP, в котором мост является восходящим интерфейсом, а интерфейсы LAN (даже те, которые не предназначены для IPTV) — нисходящими интерфейсами. Fast Leave включен, IGMP версии 2 принудительно включен в восходящем и нисходящем направлениях, а группы многоадресной рассылки пропускаются для одного конкретного IP-адреса. Хотя мне кажется странным, что восходящий канал настроен как весь мост, а не только интерфейс VLAN — возможно, это связано с тем, что маршрутизатор поддерживает и другие восходящие соединения (я использую оптоволокно с ONT, подключенным через Ethernet, очевидно, устройство также поддерживает ATM over Ethernet, а также ADSL).
Что я сделал в pfSense:
- В разделе «Интерфейсы» > «VLAN» добавлен новый интерфейс () с интерфейсом WAN в качестве родительского и соответствующим идентификатором VLAN.
- В разделе «Интерфейсы» > «Мосты» создан мост, в состав которого входят интерфейс и другой неиспользуемый физический интерфейс. Мост называется.
- В Интерфейсах > Назначения назначено
как собственный интерфейс () и включил его с помощью нет конфигурации IPта же конфигурация IP, что и на маршрутизаторе, предоставленном провайдером (адрес RFC1918, без шлюза). - В разделе «Система» > «Дополнительно» > «Настройки» установите
до 0 и до 1. Для Я оставил значение по умолчанию 0, чтобы разрешить прохождение трафика, отличного от IP. - В разделе «Брандмауэр» > «Правила» я добавил правило пропуска для интерфейса, соответствующее IPv4+IPv6, а для всего остального установлено значение «ЛЮБОЙ».
- В разделе «Службы» > «Прокси-сервер IGMP» я включил IGMP, добавленный в качестве восходящего интерфейса, а физический порт для получателя — в качестве нисходящего. Я понятия не имею, что мне нужно ввести в разделе «Сети» на интерфейсах; Я только что добавил 0.0.0.0/1 и 128.0.0.0/1 для обоих.
- Затем я добавил любые правила фильтрации для задействованных интерфейсов (
, и физический интерфейс для приемника).
Благодаря этим настройкам мне удалось получить изображение на короткое время, запустив приемник на маршрутизаторе интернет-провайдера, а затем подключив кабель WAN и приемник IPTV к моему pfSense. Однако через некоторое время изображение зависло, а когда я перезагрузил ресивер, он сообщил, что сетевое соединение недоступно.
Как узнать, какие сети мне нужно настроить для прокси-сервера IGMP? Или проблема где-то в другом?
1 ответ
После некоторых возни и исследований, я думаю, я наконец понял это:
IGMP-прокси
Для моего интернет-провайдера, где потребительские устройства находятся в коммутируемой сети, прокси-сервер IGMP, похоже, вообще не нужен.
YMMV, и вам это все равно может понадобиться, если у вас есть маршрутизируемое соединение от вашего приемника IPTV к вышестоящим серверам. В этом случае это должно работать так:
Установите для восходящей сети любой действительный IP-адрес с маской как можно более длинной (вы хотите создать одну синтаксически допустимую запись, которая фактически не соответствует ни одному IP-адресу, фактически используемому вашей службой). Затем перейдите в «Состояние» > «Системные журналы» > «Система» > «Общие» и отфильтруйте
The source address 10.20.30.40 for group 239.240.241.242, is not in any valid net for upstream VIF.
Исходные адреса — это те, которые вам необходимо разрешить на восходящем интерфейсе. Если вы параноик, вы можете добавлять адреса один за другим или просто добавлять целые диапазоны IP-адресов.
Узнайте IP-адрес вашего приемника (возможно, вам придется подключить его к работающему маршрутизатору) и включите его в нисходящем направлении.
Локальный IP-адрес
Если прокси-сервер IGMP отключен, локальный IP-адрес интерфейса также больше не нужен. После отключения прокси-сервера IGMP я также удалил IP-адрес.
Правила фильтрации
В правилах фильтрации интерфейса обязательно разверните дополнительные параметры и отметьте «Разрешить параметры IP». Если этот флажок не установлен, пакеты с параметрами IP (необходимыми для служб многоадресной рассылки, таких как IPTV) будут отбрасываться по умолчанию.
Если, как в моем случае, вы не используете прокси-сервер IGMP и pfSense настроен на применение правил фильтрации на мосту, а не на его членских интерфейсах, вам не нужны никакие правила на внешних/внутренних интерфейсах IPTV.
Заключение
Благодаря этому мой IPTV-приемник наконец-то ловит поток, даже после перезагрузки.
После того, как все заработало, я удалил все, что оказалось ненужным (IGMP-прокси, локальный конфиг IP на