本帖最后由 张小牛 于 2022-4-17 11:19 编辑 $ E6 r; C8 Z: Z$ N) y, x
4 ?# z, X3 ?: ?以前用NAS跑openwrt容器拨号IPTV,udpxy代理看直播。NAS有两个问题,一是启动太慢了,开机或者重启等容器起来大概要10分钟的样子;另外就是openwrt容器启停会消耗pts/pty资源不释放,导致主机连不上ssh/telnet,然后容器也起不来(我不知道为什么)。所以既然这款光猫那么强大,能不能用光猫代替它,最近有点时间折腾了,就开始实施自己的想法。
" G7 ?" J' u4 R: f* E
0 |* D6 L v! s1 `, S1 R/ J首先要知道自己的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地址,改成电信机顶盒的即可,如下:$ v4 }/ H& n) t. y- `
4 Y$ L C( g3 }! p
obj.id = "0x0000000c" ; obj.value = "5C:XX:XX:XX:XX:XX"; wan1, tr0691 L, @* o- g: c8 V7 W5 a( W
obj.id = "0x0000000d" ; obj.value = "5C:XX:XX:XX:XX:XX"; wan2, voip& C; ^1 L2 o( D2 c% p# E! K
obj.id = "0x0000000e" ; obj.value = "9C:YY:YY:YY:YY:YY"; wan3 iptv,这里修改成电信机顶盒MAC
" j( T: P' l, ?& L+ Nobj.id = "0x0000000f" ; obj.value = "5C:XX:XX:XX:XX:XX"; wan4, internet D" ]0 x4 l# N r0 B& ^
' q1 J0 S* |( n" I; j( F. t
hw_boardinfo用HW Dollar2打开自动解密,改完后按“保存”,自动加密。HW Dollar2工具见附件。将修改后的hw_boardinfo传至光猫/mnt/jffs2/,并复制为一份hw_boardinfo.bak,这样主、备两个文件就一致了。覆盖原文件之前,切记备份一下,并记住原文件的所有者、组和权限,新文件要保持所有者、组和权限和原文件一致,否则光猫容易变砖。; j3 ?/ \( G d- k5 T- ^
1 M \" y l) o8 D0 t下一步配置光猫IGMP,见图1,IGMP snooping和IGMP proxy都要打开,后者不开,IPTV不通;前者不开,会产生广播风暴。
. M: U6 [& \6 R' ^, M# D1 q9 F- F7 G" H, X3 a( _6 p* u) w
再下一步配置路由模式的IPTV网络连接,如图2。这一步需要进华为界面,将原来PPPoE封装、桥接模式的IPTV业务删掉,新配一条IPoE封装、路由模式、仅支持IPv4、VLAN ID、地址获取方式DHCP、使能NAT、厂商标识(Vendor ID)、组播VLAN,然后按”应用“就大功告成了。之后,在状态页面查询网络侧信息可以看到IPTV连接状态为“已连接”,并且获取到了IP地址和网关、DNS,见图3。如果原来是电信界面,在第一步改MAC的时候同时修改hw_boardinfo,切换成华为界面。怎么切换华为模式,网上教程很多,这里不再重复。' ~1 Z7 ^* {& x; [, V. x% j
2 J/ m' z! \, [, c最后,电脑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./ o$ {1 v, O$ n0 j+ d0 W; d
) N, V8 X- Y1 ^7 K最开始想在光猫上跑udpxy,这样组网组最简单。后来发现不行,有线设备就直接播放组播了。华为这光猫跟一般路由器不一样,tcpdump在wan口和lan口上都抓不到IGMP报文,它的IGMP协议和组播数据报文好像都是通过硬件转发,不走CPU。
4 T. i" l! ]% g p3 u* }5 H/ s, b0 ~& t# ]5 d
|