V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
OpenWrt 是一个专门面向嵌入式设备的 Linux 发行版。你可以将 OpenWrt 支持的型号的嵌入式设备,比如各种路由器上的系统,换成一个有更多可能性可以折腾的 Linux 系统。
OpenWrt 官方网站
harrisonwang
V2EX  ›  OpenWrt

ImmortalWrt 路由器如何配置单线复用?

  •  
  •   harrisonwang · 11 天前 · 731 次点击

    电信光猫路由模式,折腾了几天了,还是没搞定,华为 AX6 简单设置下就可以了,但是 ImmortalWrt 死活不行。想请教下大佬们,是我 VLAN1 的设置有问题吗? ImmortalWrt 完整的 IPTV 和上网流量 VLAN 分流拓扑图如下: ImmortalWrt

    一、华为 AX6 路由器配置

    目前家里使用的是华为 AX6 路由器,IPTV 流量和普通上网流量共用一条物理线路,在路由器上配置了 VLAN 45 ,使用桥接模式,绑定在 LAN4 口,配置如下图,可以正常观看 IPTV 和上网。 AX6

    二、ImmortalWrt 路由器( glinet mt6000 )配置

    现在想替换为 ImmortalWrt 路由器,ImmortalWrt 版本为 23.05.4 ,也实现 IPTV 流量和普通上网流量共用一条物理线路。路由器默认设置是可以正常上网的,但是 IPTV 无法正常观看。

    • ImmortalWrt 配置 IPTV VLAN 45 的步骤如下:
    1. 从 br-lan 中“移除”lan4:取消勾选 lan4 ,保留 lan1/lan2/lan3/lan5 等做普通内网。
    2. 新建一个专门给 IPTV 的桥 br-iptv:端口(ports) 里先添加 eth1 和 lan4 ,启用 VLAN 过滤。
    3. 在 br-iptv 上配置 VLAN 45 过滤:VLAN ID = 45eth1 = taggedlan4 = untagged
    4. 给 IPTV VLAN 45 建一个网络接口:名称 IPTV ,协议选择不配置协议,物理设备选择 br-iptv.45

    上面配置好后,IPTV 能用,但上不了网。

    • ImmortalWrt 配置上网 VLAN 1 的步骤如下:
    1. 从 br-lan 中添加 eth1:勾选 eth1 。
    2. br-lan 启用 VLAN 过滤,配置 VLAN 1:eth1 = untaggedlan1/2/3/5 = untagged

    VLAN 1 配置后,路由器始终工作不正常。

    12 条回复    2025-01-14 19:34:29 +08:00
    byte10
        1
    byte10  
       11 天前
    这个东西说不复杂不复杂,我为了搞懂它,花个把月时间,建议 40-50 远程搞定。
    bjzhou1990
        2
    bjzhou1990  
       11 天前
    应该是要建两个 wan, 一个 eth0 ,网关跃点 10 用于普通网络,一个 eth0.45 ,网关跃点 20 用于 IPTV ,然后把你的 lan4 和 eth0.45 桥接就好了
    harrisonwang
        3
    harrisonwang  
    OP
       11 天前
    @byte10 感谢回复,主要是自己想玩一玩学习学习,想掌握具体配置的方法和原理。我实际的需求是通过路由器科学上网,免去电脑和手机等设备使用客户端,目前家里多接这台路由器,也是能实现我需求的。

    @bjzhou1990 感谢回复,也就是说需要添加两条路由,一条跃点值为 10 的高优先级路由用于普通上网流量,通过 eth0 接口处理;另一条跃点值为 20 的低优先级路由用于 IPTV 流量,专门处理附加 VLAN 45 标签的数据包。对吧?下班后我再试试。
    byte10
        4
    byte10  
       11 天前
    嗯,这玩意太复杂了,我自己都讲不清楚😂 ,单纯是交换机那还好。一会儿又涉及到 br-lan 真的头大。方式有 2 种,原理都差不多。

    可以简单的认为 br-lan 就是交换机,按交换机的方式来。
    kita
        5
    kita  
       10 天前
    @bjzhou1990 这是正解。不过不需要 nexthop 或者 metric 。
    它配置的有点奇怪。共用线路应该是华为 AX6 的一个 lan 口 tag vlan0 和 vlan45 的。
    然后把 mt6000 的一个 lan 口脱离 br-lan 这个交换机组,直接和 eth0.45 组成一个交换机。
    eccentric579
        6
    eccentric579  
       6 天前
    @harrisonwang 成功了么,有后续么
    harrisonwang
        7
    harrisonwang  
    OP
       5 天前
    @eccentric579 今天刚好有时间,借助 AI 协助我配置成功了😄,以湖南电信为例分享给大家,IPTV 的 VLAN ID 为 45 ,路由器第一个 WAN 口接入光猫,规划路由器 LAN5 口为 IPTV 机顶盒专用,配置具体步骤如下:

    一、分别创建一个 VLAN 和网桥设备,通过 LuCI 图形界面 → 网络 → 接口 → 设备:
    1 、创建一个 VLAN 设备,设备类型选择"VLAN (802.1q)",基础设备选择"eth1",VLAN ID 输入 45 ,保存。
    2 、创建一个网桥设备,设备类型选择"网桥设备",设备名设置为"br-iptv",网桥端口选择"eth1.45"和"lan5",保存。

    二、创一个接口,通过 LuCI 图形界面 → 网络 → 接口:
    名称为 iptv ,协议选择"不配置协议",设备选择"br-iptv",保存。

    三、通过 LuCI 图形界面 → 系统 → 重启,重启路由器后再次测试网络和 IPTV 正常。
    eccentric579
        8
    eccentric579  
       5 天前 via Android
    @harrisonwang 这个设置在我这里使用的结果是,上网正常,iptv 换台后的一小段时间能正常看,随后就会停下来。应该是 iptv 的单播通了,组播没通。
    harrisonwang
        9
    harrisonwang  
    OP
       5 天前
    @eccentric579 我这里只是做了“二层桥”把 VLAN 45 直通给机顶盒,大多数地区可以直接收看组播,不需要路由器额外处理。
    在部分运营商网络中,机顶盒要获取 IPTV 直播流需要依赖组播( Multicast ),需要路由器主动跑 IGMP Proxy (或 MCProxy )来“代理/转发”组播流量,否则机顶盒就看不到组播。你需要在 OpenWrt 上安装 igmpproxy 、正确配置上行(接收组播)和下行(机顶盒网段)、并放行防火墙中 IGMP 。
    eccentric579
        10
    eccentric579  
       4 天前 via Android
    @harrisonwang 我没成功,于是我又换了个方式。把 wan.45 做了 dhcp 直接模拟机顶盒。然后用 udpxy 把组播转成单播。现在发现 wan.45 出去的 igmp join 带来的 udp 组播流量却没有 vlan 45 的 tag ,走了 wan 口的 untagge 那一边。这下就还是没成。
    harrisonwang
        11
    harrisonwang  
    OP
       3 天前
    @eccentric579 写了篇文章 [https://voxsay.com/posts/openwrt-single-line-multiplexing-vlan-iptv/]( https://voxsay.com/posts/openwrt-single-line-multiplexing-vlan-iptv/) 记录了下配置过程,供你参考下。

    组播不通的可能原因如下:

    1.你所在地区要求给 IPTV VLAN 带一个优先级( 802.1p (PCP)值,例如 0 或 4 ),如果不加就出现了组播不通的情况。在 LuCI “高级设备选项”或配置文件 /etc/config/network 里的 config device 'eth1.45' 里加一行 option pcp 'x'。

    2.你所在地区要求路由器跑 IGMP Proxy (由路由器帮忙转发组播)。
    eccentric579
        12
    eccentric579  
       3 天前
    @harrisonwang 我抓包的结果显示是这样的
    ![ 2025-01-14 193358.png]( https://s2.loli.net/2025/01/14/wKcedobnt94gINW.png)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2647 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 04:54 · PVG 12:54 · LAX 20:54 · JFK 23:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.