本帖最后由 张小牛 于 2022-4-17 11:19 编辑 5 o+ \/ n$ d/ E7 a. a
9 K: J. a S) Q5 t$ I# d- `# }3 [以前用NAS跑openwrt容器拨号IPTV,udpxy代理看直播。NAS有两个问题,一是启动太慢了,开机或者重启等容器起来大概要10分钟的样子;另外就是openwrt容器启停会消耗pts/pty资源不释放,导致主机连不上ssh/telnet,然后容器也起不来(我不知道为什么)。所以既然这款光猫那么强大,能不能用光猫代替它,最近有点时间折腾了,就开始实施自己的想法。
! U3 Z3 a _( g; [* \; {3 c. ^- n/ E; E( x
首先要知道自己的ITV运营商拨号的机制,四川电信认证比较简单,就是MAC地址+Vendor ID。所以,第一步就是改iptv接口的MAC地址。华为光猫MAC地址似乎都在/mnt/jffs2目录下hw_boardinfo和hw_boardinfo.bak里定义,两个文件是一模一样的。telnet到光猫查得ppp拨号的wan4编号为ojb.id = ”0x0000000f“,那么它的上一条IPTV的wan3就是obj.id = "0x0000000e"。这一行MAC地址,改成电信机顶盒的即可,如下:
! r, C" ?, j( Q" r$ v( [! l( e, q2 a% n/ d
obj.id = "0x0000000c" ; obj.value = "5C:XX:XX:XX:XX:XX"; wan1, tr069$ z4 }" {* R. h0 Q: E6 m6 W
obj.id = "0x0000000d" ; obj.value = "5C:XX:XX:XX:XX:XX"; wan2, voip
4 E0 a" D3 c% y" \3 D1 k+ fobj.id = "0x0000000e" ; obj.value = "9C:YY:YY:YY:YY:YY"; wan3 iptv,这里修改成电信机顶盒MAC, g- j8 p5 y7 g- k2 c# T
obj.id = "0x0000000f" ; obj.value = "5C:XX:XX:XX:XX:XX"; wan4, internet. X* T/ ^" B* Z; y
3 }' ?# Q. S" k/ M- K; c
hw_boardinfo用HW Dollar2打开自动解密,改完后按“保存”,自动加密。HW Dollar2工具见附件。将修改后的hw_boardinfo传至光猫/mnt/jffs2/,并复制为一份hw_boardinfo.bak,这样主、备两个文件就一致了。覆盖原文件之前,切记备份一下,并记住原文件的所有者、组和权限,新文件要保持所有者、组和权限和原文件一致,否则光猫容易变砖。
+ j5 k! b A! g z* b' Q2 d9 I; E8 Z% w/ A: E
下一步配置光猫IGMP,见图1,IGMP snooping和IGMP proxy都要打开,后者不开,IPTV不通;前者不开,会产生广播风暴。4 N$ Z& Z, [6 t1 l
C0 p9 y( C/ S6 B5 n( M) F3 b9 `# o
再下一步配置路由模式的IPTV网络连接,如图2。这一步需要进华为界面,将原来PPPoE封装、桥接模式的IPTV业务删掉,新配一条IPoE封装、路由模式、仅支持IPv4、VLAN ID、地址获取方式DHCP、使能NAT、厂商标识(Vendor ID)、组播VLAN,然后按”应用“就大功告成了。之后,在状态页面查询网络侧信息可以看到IPTV连接状态为“已连接”,并且获取到了IP地址和网关、DNS,见图3。如果原来是电信界面,在第一步改MAC的时候同时修改hw_boardinfo,切换成华为界面。怎么切换华为模式,网上教程很多,这里不再重复。
& I& V, c# r: r9 {
5 g8 H k& {2 A2 |" t* ~最后,电脑PotPlayer播放器填上以rtp开头组播源地址,比如成都电信的中央一台组播地址rtp://239.93.0.69:5140,就可以看电视啦。智能电视app我用IPTV Pro,好像更多的同学用TiViMate(我没用过),安卓手机同上;iphone我用zFuse收费版,非常不错。以上软件都可以导入m3u播放列表。当然,无线连接不要直接看组播,wifi延时和突发都比有线网络大很多,会卡和花屏,还是要在wifi路由器(ap网桥模式即可,不需要路由模式)上跑一个udpxy转成单播。路由器要求不高,100块以下、能刷op跑udpxy的都能胜任。附一个成都电信的组播源。wifi路由器记得开IGMP snooping,见图4. q5 I* h& E2 v& B4 {# ?$ E
, q8 T" W' q- ]) x3 S$ i- ^
最开始想在光猫上跑udpxy,这样组网组最简单。后来发现不行,有线设备就直接播放组播了。华为这光猫跟一般路由器不一样,tcpdump在wan口和lan口上都抓不到IGMP报文,它的IGMP协议和组播数据报文好像都是通过硬件转发,不走CPU。
% D. E" S0 ?; q7 T* i6 T1 e1 u! d6 I- @. E# e( X8 `
|