KPN Interactieve TV 无需 Experia Box
摘要
技术指南:在不使用 Experia Box 的情况下使用 KPN Interactieve TV,包含 VLAN、IGMP 代理和 DHCP 设置的说明。
我是 KPN 互联网的一位非常满意的客户。出于多种原因,我不使用 Experia Box,但我仍然希望通过 KPN Interactieve TV 机顶盒(“5202”)观看电视。以前这“自动就能正常工作”,但现在需要做一些设置。
2026年6月更新(五年后!):这些指令再次有效,igmpproxy.conf 文件有了一次更新。我还添加了一条提示,说明如何将接收器恢复为出厂设置——我最近就需要这样做。
查看缓存全文
缓存时间: 2026/06/08 03:12
# KPN 互动电视无需 Experia Box - Bert Hubert 的文章
来源:https://berthub.eu/articles/posts/kpn-interactieve-tv-zelf-doen/
我是 KPN 互联网的忠实客户。出于各种原因,我不使用 Experia Box,但我希望可以用 KPN 互动电视的机顶盒(“5202”)看电视。以前这是“自动就能用的”,但如今需要一些工作了。
> 2026年6月更新(5年后!):这些说明再次有效,igmpproxy.conf 文件已经更新。我还增加了一个将接收器恢复出厂设置的小贴士,这是我最近需要做的。
只有在你不打算使用 Experia Box 的情况下,才需要本页的说明。绝大多数情况下,使用 KPN 设备并遵循其说明会更简单。
以下说明仅在你决定不使用 Experia Box 时才需要,而且你真的需要有一个理由。要使以下内容正常工作,你还需要一个支持 VLAN 的受管交换机。但如果你决定不用 Experia Box,那么你很可能已经有这种交换机了。
> 注意:网上有些页面仍然提到“桥接”,但这已经不再有效。此外,还有各种页面把事情搞得太复杂,或者只描述特定路由器的解决方案(https://venxir.tweakblogs.net/blog/12507/kpn)。
在本页中,我试图解释需要做什么,并记录一个脚本,让你能让任何 Linux 计算机(甚至是最小的 Pi Zero)来完成这项工作。
在你看这篇文章之前,你需要先让正常的互联网正常工作。KPN 在这里有很好的解释(https://www.kpn.com/service/internet/wifi-en-modems/eigen-modem-instellen-en-gebruiken.htm)。这个页面(https://netwerkje.com/eigen-router)也可能有帮助。
## KPN 互动电视机顶盒
黑色盒子,即 STB。这个盒子需要三样东西:
- 多播的 KPN 电视服务(KPN VLAN 4)
- 正常的互联网(如通过 PPPoE 进入 KPN VLAN 6 的那样)
- 用于多播的 IGMP 代理
为了实现这一点,你需要让盒子能够访问正常的互联网。但特定的子网需要路由到 VLAN 4。此外,STB 还需要加入多播组,这需要一些帮助。下面逐步说明。
如果机顶盒在按照本页操作后仍然出现 DBL-307 错误,请尝试将其重置为出厂设置(https://www.kpn.com/service/televisie/problemen/reset#frisse-start)(页面最底部,他们提到“拔掉电视接收器的电源”)。这对我有帮助。
## KPN VLAN 4
这是一个有点神奇的 VLAN。你可以向它发送 DHCP 请求,但如果没有特殊技巧,就不会得到任何回应。如果你发送一个带有 option60(供应商类别标识符)值为 `IPTV_RG` 的 DHCP 请求,就会得到回复。而且如果你还请求:`subnet-mask, broadcast-address, routers, rfc3442-classless-static-routes`,那么该服务器还会向你返回特殊的 KPN 电视子网信息。
在 VLAN4 上,KPN 会为你分配一个私有空间地址。你需要为 STB 做 NAT,否则无法正常工作。
## 正常互联网
与某些地方的说法相反,STB 不需要特殊的 DHCP 处理。你可以把它连接到任何 DHCP 服务器上,只要它能获得 DNS 和默认路由即可。
## IGMP 代理 / 多播
KPN STB 通过多播接收普通电视信号。这是一个复杂的系统,可以将数据包同时发送到多个目的地。而且它真的有效——如果你有两个 KPN STB,并且它们都调到了同一个频道,那么实际上只会收到一个流。非常棒的技术。
为了接收某个频道,STB 通过互联网组管理协议(IGMP)“订阅”相应的流。这个请求需要从本地局域网转发出去,因此必须运行一个 IGMP 代理来完成这件事。
## 多播放在单独的网络里?
多播是一项脆弱的技术。例如,如果交换机不理解发生了什么,它就会将多播流量发送到所有端口,可能还包括你的 Wi-Fi,然后 Wi-Fi 瞬间就会被 8Mbit/s 的电视流量塞满(每个 STB 都会这样!)。
既然你已经在用 VLAN,那么将 KPN 机顶盒放在它们自己的 VLAN 里是个好主意——这个 VLAN 永远不会连接到你的 Wi-Fi。
下面的脚本中,我选择了这种方案。如果你想把所有东西放在一个网络里,那么你需要在你的互联网路由器上完成下面的操作,这可能并不容易。
## 电视小路由器
在我的情况下,我已经有一个功能完善的互联网路由器,它做的事情比 KPN 单独提供的要多。电视很重要,但我不想让已经很复杂的路由器变得更复杂。
幸运的是,这也不是必需的,你可以让 VLAN 4 完全独立运行。
> 注意,KPN 机顶盒不会理解 VLAN,它希望所有东西都是没有标签的。
我们将要构建的这个小盒子叫做“Linux”。
在下面的两个脚本中,我假设以下情况:
- Linux 小盒子在 eth0 上看到无标签的“正常互联网”(即没有 PPPoE,这部分你的互联网路由器应该已经处理了)
- KPN 的 VLAN 4 以带标签的方式进入 eth0
- 你家里的 VLAN 44(机顶盒所在之处)以带标签的方式进入 eth0
安装一个较新的 Debian / Raspberry Pi OS,并连接到你的普通 KPN 互联网。
然后你可以手动执行下面的描述,或者**如果你用的是 Debian Buster 或 Raspberry Pi OS Buster**(更新的版本也可能可以),解压这个 tar 文件(https://berthub.eu/articles/kpn-tv-config.tar),操作如下:
``
cd
wget https://berthub.eu/articles/kpn-tv-config.tar
cd /
sudo apt-get install udhcpd igmpproxy
sudo tar xf ~/kpn-tv-config.tar
sudo systemctl enable kpn-tv.service
sudo systemctl daemon-reload
sudo reboot
# 大约一分钟后,打开机顶盒
``
这跟下面的手动描述做的事情一样,但我还是建议你手动操作,这样你就知道实际发生了什么。
## 手动操作
> 这个描述可能也适用于更新的 Debian 版本。上面的 tar 文件*替换*了多个文件,而不是修改它们。
在 `/etc/dhcpcd.conf` 中添加:
``
denyinterfaces eth0.4,eth0.44
``
这可以防止常规 DHCP 客户端干扰 KPN 电视 VLAN 和你的 STB VLAN。
将以下内容添加到 `/etc/dhcp/dhclient.conf`:
``
interface "eth0.4" {
request subnet-mask, broadcast-address, routers, rfc3442-classless-static-routes;
send vendor-class-identifier "IPTV_RG";
}
``
这可以确保向 KPN 电视 VLAN 发出正确的请求。
接下来,我们需要为 eth0.44(KPN 机顶盒所在的地方)安装一个 DHCP 服务器:
``
apt-get install udhcpd
``
将 `/etc/udhcpd.conf` 的内容替换为以下内容:
``
start 192.168.2.21
end 192.168.2.254
interface eth0.44
max_leases 234
opt dns 195.121.1.66 195.121.1.34
option subnet 255.255.255.0
opt router 192.168.2.1
option lease 864000
``
注意 DNS 服务器必须正确。我在这里输入了两个 KPN 名称服务器 IP 地址,但它们将来可能会改变。也许更简单的方法是填写你常规互联网局域网(eth0)上也能正常工作的 DNS 服务器。
然后(快完成了):
``
apt-get install igmpproxy
``
将 `/etc/igmpproxy.conf` 的内容替换为:
``
quickleave
phyint eth0.4 upstream ratelimit 0 threshold 1
altnet 0.0.0.0/1
altnet 128.0.0.0/1
phyint eth0.44 downstream ratelimit 0 threshold 1
altnet 192.168.2.0/24
``
> 如果 KPN 的人看到这个:你们的“自有调制解调器页面(https://www.kpn.com/service/internet/wifi-en-modems/eigen-modem-instellen-en-gebruiken.htm)”上缺少这些“altnet”信息。此外,那里写的是“Ven**c**or Class Identifier”而不是“Vendor Class Identifier”。
现在所有软件都已正确安装。接下来需要确保在启动时执行正确的操作。
将以下内容放入 `/home/pi/kpn-tv.sh`(如果你不是用 Raspberry Pi,则放在其他地方):
``
#!/bin/sh
# 每次启动时执行
sysctl net.ipv4.ip_forward=1
sysctl kernel.panic=10
sleep 5
ip link add link eth0 name eth0.44 type vlan id 44
ip link add link eth0 name eth0.4 type vlan id 4
ip link set up dev eth0.44
ip link set up dev eth0.4
ip addr add 192.168.2.1 dev eth0.44
ip ro add 192.168.2.0/24 dev eth0.44
iptables -A POSTROUTING -t nat -s 192.168.2.0/24 -o eth0 -j MASQUERADE
iptables -A POSTROUTING -t nat -s 192.168.2.0/24 -o eth0.4 -j MASQUERADE
iptables -A INPUT -i eth0.4 -p tcp -j DROP
dhclient
igmpproxy /etc/igmpproxy.conf
udhcpd -S
``
现在创建 systemd 文件。创建 `/etc/systemd/system/kpn-tv.service`,内容如下:
``
[Unit]
Description=KPN TV
[Service]
Type=oneshot
ExecStart=/home/pi/kpn-tv.sh
RemainAfterExit=true
StandardOutput=journal
[Install]
WantedBy=multi-user.target
``
为了确保这一切自动启动:
``
chmod 644 /etc/systemd/system/kpn-tv.service
chmod a+x /home/pi/kpn-tv.sh
sudo systemctl enable kpn-tv.service
sudo systemctl daemon-reload
``
现在重启,一切应该都能工作了!
## 补充说明
为什么用这么丑陋的启动脚本?为什么不用 `/etc/network/interfaces`?这个页面的早期版本试图用规范的方式做所有事情,结果非常痛苦。VLAN 出现得太晚,或者 DHCP 客户端启动得太早等等。最终发现这样简单得多。
最后一点提示,经验表明 Raspberry Pi 上的 microSD 卡过一段时间后可能会损坏。由于你的家人可能对看电视有铁一般的服务水平协议要求,所以最好同时做两张卡。或者干脆来两台 Raspberry Pi Zero。
相似文章
Show HN: TV Explorer. 为免费在线电视添加高级用户界面
TV Explorer 是一款网络工具,提供高级用户界面,用于浏览和访问 10,000 个免费在线电视频道。
家庭网络中的组播电视分发
关于使用ffmpeg和组播路由协议在家庭网络上设置组播电视分发的技术指南,包含本地和路由场景的示例。
HomeLab #1: MikroTik 作为家庭路由器
实用指南:设置MikroTik路由器用于家庭实验室,涵盖如何识别ISP连接类型(IPoE与PPPoE)以及WAN IPv4地址(公网与CGNAT/DS-Lite),以便正确配置路由器。
@NFTCPS: 现在还有人月月给视频会员交钱?我劝你看看这个再决定。 有大佬把 TvBox 全家桶整理好了,一站式,白嫖党狂喜 软件:收了 3 款活得比较久的,Q版、FongMi影视、影视仓,不怕说没就没 接口:40 个线路随便挑,网盘4K、常规、少儿的…
A curated collection of TvBox apps and over 40 streaming interfaces for free video watching without subscriptions.
这款应用让 Google TV 真正好用起来
AT4K 是一款免费的 Google TV 替代启动器应用,它用简洁、类似 Apple TV 风格的界面取代了杂乱、广告泛滥的默认主屏幕,只显示你实际使用的流媒体服务。该应用可在 Google Play 上下载,并提供一次性 5 美元的高级版升级选项,解锁更多功能。