圣堂之魂
服务器小记

扔掉机顶盒!实现内网任意设备看IPTV(上)

整体思路、硬件准备、网络拓扑与软件环境要求

一、起:动机

家里办了电信 IPTV,光猫有一个专门的 IPTV 口,接上机顶盒就能看电视。

但机顶盒只能接一台电视,想在其他房间、手机、电脑、平板上也看 IPTV?要么再买一个机顶盒,要么只能挂一个采集卡。

显然,我们需要一个更灵活、一次投入长期受益的软方案。

核心思路不复杂:让一台 Linux 主机 串接在光猫 IPTV 口和内网交换机之间,这样它既能透明转发机顶盒的流量,又能同时抓取组播信号供内网使用。

思路分三步:先搭一个透明网桥让 Linux 偷听组播,然后通过这个“偷听”抓包提取 IPTV 组播频道的地址,最后用 udpxy 转成内网都能播放的 rtp 单播流。

本系列分三篇:上篇介绍环境准备,中篇搭建网桥和抓包,下篇完成 udpxy 部署和固化。


二、承:网络拓扑

网络拓扑
光猫 IPTV 口 ──(网线)──> USB 网卡 ──[Linux 主机 br0]──> 板载网卡 ──(网线)──> 机顶盒

                         WiFi 管理网卡
              (内网其他设备通过此 IP 连接 ssh 访问 udpxy)
链路说明
光猫 → USB 网卡IPTV 组播流量入口,带 VLAN 标签
USB 网卡 ↔ 板载网卡Linux 网桥 br0 透明转发,不修改任何帧
板载网卡 → 机顶盒IPTV 流量出口,机顶盒无感知
WiFi 管理网卡日常 SSH 管理,不参与桥接

WiFi 网卡用于远程管理 Linux 主机,不加入网桥。网桥只负责两个有线网卡之间的透传。


三、转:硬件规格

1. Linux 主机

不需要高性能,能跑 Linux 就行。本案例使用的是旧笔记本:

项目要求
CPU任意,能跑 Debian 即可
内存512MB 以上
存储8GB 以上
网卡 1板载有线网卡(接机顶盒)
网卡 2USB 有线网卡(接光猫 IPTV 口)
网卡 3WiFi 网卡(管理用,不参与桥接)

USB 网卡建议选免驱的型号(如 RTL8153、AX88179),避免折腾驱动。插入后用 ip link 确认能识别。

2. 网线

两根:一根从光猫 IPTV 口到 USB 网卡,一根从板载网卡到机顶盒。

3. 光猫

需要确认光猫的 IPTV 口是单独的 LAN 口,否则需要超级管理员密码才能配置。


四、合:软件环境

1. 系统

项目说明
发行版Debian / Ubuntu(其他发行版也行,命令可能略有不同)
内核3.x 以上即可,推荐 5.x+
本案例Debian Trixie,Linux 6.12

2. 必需软件

软件用途安装方式
ip(iproute2)网卡、网桥、VLAN 管理系统自带
bridge(bridge-utils 的替代)VLAN 过滤配置系统自带(iproute2 包含)
tcpdump抓包提取组播地址apt install tcpdump
gcc / make编译 udpxyapt install gcc make
wget下载 udpxy 源码apt install wget
apt update && apt install -y tcpdump gcc make wget

ipbridge 命令属于 iproute2 包,Debian/Ubuntu 默认已安装。不需要安装 bridge-utils(那个是旧版工具)。

可选软件

软件用途
VLC电脑端播放 IPTV 流
Wireshark图形化分析抓包文件(可选,tcpdump 足够)

IPTV 基础知识

什么是组播

IPTV 使用 UDP 组播(Multicast)传输视频流。和普通的 HTTP 视频不同,组播是“一对多”的:服务器只发一份数据,网络设备负责复制分发。

组播地址范围是 224.0.0.0239.255.255.255,IPTV 通常使用 239.x.x.x 段。

什么是 VLAN 标签

有些地区的 IPTV 流量带有 802.1Q VLAN 标签(帧头多 4 字节),用于区分 IPTV 流量和普通上网流量。网桥需要启用 vlan_filtering 才能正确透传这些带标签的帧。

为什么需要网桥

直接让 Linux 收组播流量,机顶盒就断了。网桥模式下,Linux 像一根“智能网线”,两边的帧原样转发,同时自己也能收到一份副本。


准备工作检查清单

开始搭建前,确认以下条件:

  • Linux 主机已安装并能 SSH 远程登录
  • 两块有线网卡均已识别(ip link 能看到)
  • 光猫独立 IPTV 口
  • 机顶盒能通过光猫 IPTV 口正常看电视(确认原始链路没问题)
  • 一根网线从光猫 IPTV 口接到 USB 网卡
  • 一根网线从板载网卡接到机顶盒

全部就绪后,进入中篇开始搭建网桥。


本页目录