婆罗门
精华
|
战斗力 鹅
|
回帖 0
注册时间 2007-7-13
|
本帖最后由 EraserKing 于 2021-8-20 15:48 编辑
不能算是个教程,因为各地情况都不一样,更多算是个记录吧,中间有些跳坑的过程就略过了
不少教程可能也是抄东抄西的,感觉都是千篇一律的改法,和实际情况不符
光猫:4口光猫,#1=千兆互联网,#2=IPTV,#3 #4闲置未用
光猫#1(Internet)——软路由(OpenWrt, PPPoE)——R7000 (AP) #2 (IPTV)——IPTV盒子
用是可以用,但是如果要在哪台设备上看电视就得把IPTV盒子拿过去,接网线,麻烦
于是就打算把IPTV整合进内网转成HTTP流媒体,随便用什么设备都可以看了
物理上,光猫在弱电箱,路由器在电视柜,中间其实是留了两根网线的,但是软路由就只有双口,所以必须得用单线复用了,这就麻烦了很多,所以有条件还是多备几条线多留几个网口吧……
然后就是单线复用+软路由设置+组播转单播了
1. IPTV盒子登录信息抓取
已经知道本地IPTV盒子是特殊的DHCP,有附加的字段
将IPTV盒子和电脑相连,使用Wireshark抓取盒子发出的DHCP包,复制Option 12和Option 60的值,抄下MAC地址
2. 光猫侧单线复用
先弄到光猫的超级密码,登录进去看下不同连接的设置
Internet是VLAN 221,绑定到端口#1
IPTV是VLAN 43,绑定到端口#2
先照一般的教程说法,取消两条连接的端口绑定
3. 软路由设置
保留eth1口的PPPoE连接不变
新建一条连接,端口依然使用eth1,协议DHCP,跃点的值要比PPPoE的那条连接大,防火墙新建区域IPTV,然后修改/etc/network,在对应的连接下添加如下选项:
option macaddr 'MAC地址'
option hostname 'OPTION 12的值'
option sendopts '0x3c:OPTION 60的值'
然后启用连接,发现……获得的IP是192.168.1.0/24段的,不是IPTV应该得到的10.x.y.z/21段
猜测原因是因为光猫把这个DHCP请求依然认为是普通的DHCP请求,不是IPTV盒子的,和之前直接插#3 #4的情况一样
网上普通的解决方案是在软路由上启用VLAN交换机,但是不是所有固件都有,此处采用绑定VLAN的方法解决
首先,在软路由的物理连接中自己定义为eth1.43(eth1为WAN口,43为VLAN ID),附加设置依然是上面三条
其次,在光猫的VLAN绑定功能中,添加一条绑定VLAN43在端口#1,到IPTV的连接上
具体原理我也不懂,但是确实这样就可以正常获取10段的IP了
注意虽然光猫的Internet连接那边虽然写了VLAN 221,但是不能也不需要做任何VLAN有关的设置,正常拨号就可以
否则会导致拨号失败,或者拨号成功但是不能上网的问题,具体原理我依然还是不懂,但是坑已经踩过了
4. 组播转单播,HTTP
这个是里面最简单的部分了
开启udprxy转发,节目源从网上找找好心人的列表,然后用VLC看udprxy转换过的URL
正常来说就可以看了,但是会发现有卡顿,甚至断网的情况
搜了半天,要开启IGMP Snooping,这个是在OpenWRT的LAN口上开启就行了
开了之后实测没问题了
5. 恢复IPTV盒子工作
还记得一开始盒子是连在光猫#2口上的?现在插回去发现获取不到IP了,这一步报错
解决方法是到光猫设置里,把IPTV的连接再绑定到#2口上(#1不用勾),Internet连接依然保持全都不勾绑定的状态
实测也没问题,#2口的IPTV盒子可以用,#1口的软路由的“假”盒子也可以用,也不知道原理,反正就是能用
两个倒是不可以一起用,反正盒子会报认证失败啥的错,不过已经无所谓了,毕竟也没有开两条IPTV
6. 附加工作
生成一个M3U8列表
普通的Android盒子可以装KODI然后装IPTV Simple插件,EPG也有现成的
电脑就用VLC或者PotPlayer都可以
手机/平板没试,但是应该能看网络视频的都行(比如nPlayer)?
7. 总结
a. 如果是双线,那大概光猫处不用动,单线的话就得单线复用了
b. 光猫处的端口绑定不见得需要都取消掉,原始的IPTV盒子可能依然需要这个端口绑定的功能来工作
c. 端口绑定如果没有绑定到特定的端口上,把VLAN绑定用上也是可以用的
d. Internet连接依然是不需要特意做VLAN设置,也不能做(至少我这是)
e. 卡顿就开IGMP Snooping了,这个一般能开就能解决问题
f. 最后注意udprxy的端口不要暴露出去了,不然你的网可能就变成全球的直播源了
|
评分
-
查看全部评分
|