AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题 / 1704124
Accepted
user149408
user149408
Asked: 2022-02-10 12:05:34 +0800 CST2022-02-10 12:05:34 +0800 CST 2022-02-10 12:05:34 +0800 CST

为通过 WAN 链路上的单独 VLAN 提供的 IPTV 配置 pfSense

  • 772

我正在尝试将 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_bridge1。因为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 代理配置的网络?还是其他地方的问题?

vlan bridge
  • 1 1 个回答
  • 766 Views

1 个回答

  • Voted
  1. Best Answer
    user149408
    2022-02-10T15:10:48+08:002022-02-10T15:10:48+08:00

    经过一番摆弄和研究,我相信我终于弄明白了:

    IGMP 代理

    对于我的 ISP,消费设备似乎位于交换网络上,IGMP 代理似乎根本不需要。

    YMMV,如果你有从 IPTV 接收器到上游服务器的路由连接,你可能仍然需要这个。在这种情况下,它应该是这样工作的:

    将上游网络设置为尽可能长的带有掩码的任何有效 IP 地址(您希望创建一个语法上有效的条目,该条目实际上与您的服务实际使用的任何 IP 地址都不匹配)。然后转到状态 > 系统日志 > 系统 > 常规并过滤igmpproxy. 您应该会看到一堆消息,例如:

    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 代理后,IPTVBRIDGE接口上的本地 IP 地址也不再需要。禁用 IGMP 代理后,我还删除了 IP 地址。

    过滤规则

    在IPTVBRIDGE接口的过滤规则中,请务必展开高级选项并选中“允许 IP 选项”。如果不选中此框,默认情况下将丢弃带有 IP 选项(多播服务所需,例如 IPTV)的数据包。

    如果在我的情况下,您没有运行 IGMP 代理并且 pfSense 配置为在网桥而不是其成员接口上应用过滤规则,则您不需要在外部/内部 IPTV 接口上使用任何规则。

    结论

    有了这个,我的 IPTV 接收器终于可以接收到流,即使在重新启动之后也是如此。

    一切正常后,我删除了所有不必要的东西(IGMP 代理、接口上的本地 IP 配置IPTVBRIDGE和 IPTV 网桥成员接口上的过滤规则)。可以肯定的是,我重新启动了 IPTV 盒子并放置了大约 15 分钟。我仍然可以看电视,并且在任何与 IPTV 相关的接口上都没有观察到任何丢包。

    • 0

相关问题

  • 带有 SSH Tap 接口的 Linux 桥接器(云 -> 局域网)

  • 如何连接网桥但使用路由器的 wifi?

  • 如何配置网桥以使数据包仅与网桥接口交换?

  • 用于 Ubuntu 18.04 的多个 vlan 的 DNSMasq

  • 如何到达 Arris Technicolor TG2472 后面的内部网络 vlan

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    Saaru Lindestøkke 为什么使用 Python 的 tar 库时 tar.xz 文件比 macOS tar 小 15 倍? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 为什么通过电缆(同轴电缆)的千兆位/秒 Internet 连接不能像光纤一样提供对称速度? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve