本帖最后由 张小牛 于 2022-4-17 11:19 编辑
2 O' \( p5 Z/ [* E( X0 o2 t7 U, b* ?7 X
以前用NAS跑openwrt容器拨号IPTV,udpxy代理看直播。NAS有两个问题,一是启动太慢了,开机或者重启等容器起来大概要10分钟的样子;另外就是openwrt容器启停会消耗pts/pty资源不释放,导致主机连不上ssh/telnet,然后容器也起不来(我不知道为什么)。所以既然这款光猫那么强大,能不能用光猫代替它,最近有点时间折腾了,就开始实施自己的想法。
- T) ^ c# h+ K1 h- a
+ d+ G3 C- Y3 \) w& K% b6 I首先要知道自己的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地址,改成电信机顶盒的即可,如下:- j) d$ G# ]3 q$ Y9 }
* X1 H/ g- n- M9 Nobj.id = "0x0000000c" ; obj.value = "5C:XX:XX:XX:XX:XX"; wan1, tr069
; V5 n2 p+ h s4 K! g2 h) Eobj.id = "0x0000000d" ; obj.value = "5C:XX:XX:XX:XX:XX"; wan2, voip+ X0 e8 p: S8 l: o5 J
obj.id = "0x0000000e" ; obj.value = "9C:YY:YY:YY:YY:YY"; wan3 iptv,这里修改成电信机顶盒MAC. Y2 M$ N7 Q4 M! q2 P4 ]
obj.id = "0x0000000f" ; obj.value = "5C:XX:XX:XX:XX:XX"; wan4, internet
% K8 ], T+ h+ D! w/ g$ A8 Z5 _' s' R4 O. u5 x
hw_boardinfo用HW Dollar2打开自动解密,改完后按“保存”,自动加密。HW Dollar2工具见附件。将修改后的hw_boardinfo传至光猫/mnt/jffs2/,并复制为一份hw_boardinfo.bak,这样主、备两个文件就一致了。覆盖原文件之前,切记备份一下,并记住原文件的所有者、组和权限,新文件要保持所有者、组和权限和原文件一致,否则光猫容易变砖。
4 X1 f2 x9 Z5 u) T( k: M3 Q* |" T# B# Q4 ^- Q! L. T s8 y# N
下一步配置光猫IGMP,见图1,IGMP snooping和IGMP proxy都要打开,后者不开,IPTV不通;前者不开,会产生广播风暴。
- K4 b9 Q9 @# n6 u* L4 [9 u
, K$ o: a- `7 y7 a0 B% c+ E* \再下一步配置路由模式的IPTV网络连接,如图2。这一步需要进华为界面,将原来PPPoE封装、桥接模式的IPTV业务删掉,新配一条IPoE封装、路由模式、仅支持IPv4、VLAN ID、地址获取方式DHCP、使能NAT、厂商标识(Vendor ID)、组播VLAN,然后按”应用“就大功告成了。之后,在状态页面查询网络侧信息可以看到IPTV连接状态为“已连接”,并且获取到了IP地址和网关、DNS,见图3。如果原来是电信界面,在第一步改MAC的时候同时修改hw_boardinfo,切换成华为界面。怎么切换华为模式,网上教程很多,这里不再重复。
/ N z% R) {; c2 l {1 R3 M& {' S
' t1 Z. {0 D3 I, z3 M: W最后,电脑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., ^# R9 ^' V+ d
/ A `% u3 J! V1 `5 H" ]& D& ?1 I
最开始想在光猫上跑udpxy,这样组网组最简单。后来发现不行,有线设备就直接播放组播了。华为这光猫跟一般路由器不一样,tcpdump在wan口和lan口上都抓不到IGMP报文,它的IGMP协议和组播数据报文好像都是通过硬件转发,不走CPU。
" N1 c' F) Y6 |- z- a8 N, V* m" E: ?! k
|