我正在尝试将 pfSense 设置为我的主要 Internet 路由器,以替换提供商路由器。
基本的 Internet 连接可以正常工作:将外部接口配置为 DHCP 客户端,为内部客户端配置 DHCP 服务器,配置 NAT——一切都很好。
但是,我也想在设备上使用 IPTV。我的 ISP 在 WAN 线路上使用单独的 VLAN 提供 IPTV。(互联网流量使用本地 VLAN,因此这里不需要弄乱 VLAN。)
ISP路由器配置如下:
- 一个网桥,其成员是用于连接 IPTV 接收器和终止 WAN 接口上 IPTV VLAN 的内部端口
- 网桥绑定了一个 IP 地址。它是一个静态 RFC1918 地址,显然没有在该接口上配置默认网关。
- 此外,该设备运行一个 IGMP 代理,该代理将网桥作为其上游接口,将 LAN 接口(甚至那些不用于 IPTV 的接口)作为下游接口。启用快速离开,在上游和下游强制使用 IGMP 版本 2,并且为一个特定 IP 地址跳过多播组。虽然我确实觉得奇怪的是上游被配置为整个网桥,而不仅仅是 VLAN 接口——可能与支持其他上行链路连接的路由器有关(我在光纤上,ONT 通过以太网连接,显然设备还支持以太网上的 ATM 以及 ADSL)。
我在 pfSense 中所做的:
- 在 Interfaces > VLANs 中,添加了一个新接口 (
WANIPTV
),其中 WAN 接口作为其父接口和相应的 VLAN ID。 - 在 Interfaces > Bridges 中,创建了一个带有
WANIPTV
接口和其他未使用的物理接口作为其成员的网桥。这座桥被称为BRIDGE0
。 - 在 Interfaces > Assignments 中,分配
BRIDGE0
为它自己的接口 (IPTVBRIDGE
) 并启用它,使用没有IP配置与提供商提供的路由器相同的 IP 配置(RFC1918 地址,无网关)。 - 在 System > Advanced > Tunables 中,设置
net.link.bridge.pfil_member
为 0 和net.link.bridge.pfil_bridge
1。因为net.link.bridge.pfil_onlyip
我保留了默认值 0 以允许非 IP 流量通过。 - 在防火墙 > 规则中,我为
IPTVBRIDGE
接口添加了一个通过规则,匹配 IPv4+IPv6,其他所有设置为 ANY。 - 在 Services > IGMP Proxy 中,我启用了 IGMP,添加
IPTVBRIDGE
为上游接口和接收器的物理端口作为下游。我不知道我需要在接口上为网络输入什么;我刚刚为两者添加了 0.0.0.0/1 和 128.0.0.0/1 。 WANIPTV
然后,我为所涉及的接口(以及IPTVBRIDGE
接收器的物理接口)添加了任意过滤规则。
通过这些设置,我可以通过在 ISP 路由器上运行接收器,然后将 WAN 电缆和 IPTV 接收器插入我的 pfSense 来获得一小段时间的图片。但是,过了一段时间,图像冻结了,当我重新启动接收器时,它报告没有可用的网络连接。
如何找出必须为 IGMP 代理配置的网络?还是其他地方的问题?