本文基于(一)上海电信光纤猫 中兴F450G V2.0 超级管理密码获取的基础上实现,文章链接https://www.jianshu.com/p/d3861879a8e8。
已知组网问题:
1.弱点控制箱在卧室1,客厅放置路由AP和一路IPTV电视,卧室2中有一路 IPTV电视,从弱电箱到客厅与卧室2都只有一根网线。
关键词:上海电信 桥接 IPTV 路由 跨越AB面认证
难点:熟悉网络Vlan划分原理,网络拓扑关系,Dnsmasq标识 DHCP Option分配
名词概念:组播 单线复用 单臂路由 udpxy igmpproxy igmp_snooping IGMP Proxy
一、上海IPTV认证过程分析
网上其他可以参考或者借鉴的案例大都因为弱电箱位置不对,或者网线留少了,或者增加网络设备无法安放。本文也是同样的原因,从弱电箱光猫到客厅就一个网线,要同时支持两路数据。本文解决方案看似和南通差不多,其实有差别,南通的IPTV不需要两次联网认证,IPTV自己拨号,自己走单独的认证通道。上海的需要AB面认证,需要认证两次,第一次连接互联网认证,认证通过后在走Vlan85获取电信内网地址认证。所以一个IPTV需要同时连接内外网。借网上一张图说明。
(I)IPTV开机,发送广播的DHCP Discover包,注意没有带VLAN,所以此包被光猫接收到。
(II)光猫回复DHCP Offer包,回复包带有DHCP Option125,内容是HGW-CT(注意:不同机顶盒需要的option可能会不一样),IPTV获得了一个192.168.1.*的地址。
(III)IPTV发包DHCP Request,无VLAN ID。
(IV)光猫回复DHCP ACK,带DHCP Option125(同上)。
(V)IPTV通过VLAN85发送DHCP Discover,以得到电信内网地址。
(VI)电信内部DHCP服务器从VLAN85回复的DHCP Offer。可见,IPTV又得到了一个20.155.255.*的地址。(其余流程略)
(VII)IPTV得到内网IP地址后,还有登陆认证,下载一些基本信息,这些都略过,反正与我们无关。最后打开某个直播频道,IPTV发送IGMP加组,随后组播的数据包从VLAN85到达IPTV。
以上认证过程参见https://www.chiphell.com/thread-1421026-1-1.html,分析过程通过网络抓包获取,如果对机顶盒option数据不明确,可自行抓包分析,抓包软件wireshark(过滤DHCP过程使用bootp),常见抓包方法:电脑双网卡桥接,改网卡接口接收VLAN数据包,或者利用交换机端口镜像,同样需要改电脑网卡接口属性。
下图为常见连接示意图借网络图,IPTV通过交换机获取两次IP地址,完成认证过程。大体如下:
IPTV通过默认Vlan1通过lan口获得路由(路由负责拨号)分配的内网IP连接互联网,普通路由器没有Dnsmasq功能,一般使用华硕或者其他可以刷梅林或者LEDE等等系统的路由实现。连接互联网之后,在通过Vlan85连接光猫获取电信专网地址。如果把上图中的路由器WAN和LAN共线就是单臂使用模式。
二、目前连接情况如下图,经常出现认证失败或者在电视观看过程中跳出错误,主要的错误代码94001,显示系统繁忙。上海IPTV与南通的不一样,南通可以使用电力猫,上海的使用电力猫代替同样会报错,推测可能与认证机制有关,上海在播放过程中应该还有验证。打电信一万号报修,来了也解决不了,不了了之,无奈。
三、结合认证原理和家庭网络状态,提出几种简单可靠的方法解决目前IPTV问题,不一定是最优的:
先说个给自己挖的坑,在没深入研究前,入手了华硕RT-AC86U全千兆端口路由,其实这款路由刷了梅林也是不支持划分VLAN的,贵的真不一定是最佳选择,应该选择68U或者66U的。这个问题也导致要多用一台交换机,如果路由支持VLAN,交换机也可以省了。这种可以刷其他系统的路由与普通的百元路由有如下优点,可以过滤各种广告,可以使用酸酸乳,科学上网,还有NAT支持外网访问等等。
(1)光猫桥接,路由负责拨号,接线如上图。此方案路由器要设置DHCP option,交换机分设VLAN,路由器支持VLAN和单臂,单臂就是房间2的IPTV从WAN口获得内网IP可以连接internet,此款路由刷梅林不支持。
(2)光猫负责拨号,卧室2的IPTV接光猫,客厅交换机(支持Vlan)接光猫,路由器和IPTV接交换机,此连接IPTV均不与路由器发生关联,路由作为光猫的子级。此方法较为简单,路由器不支持VLAN亦可以完成,如路由可支持VLAN,那交换机可以省去,直接单线复用(WAN口同时传输互联网和电视双数据互不干扰)便可。
(3)方案三是最简洁的方案设置,只需一台全功能的路由即可,最简洁连接方案。
设置三项功能便可,单线复用通过划分VLAN实现,单臂通过命令,DHCP option通过路由开机命令实现。
此处有备份的梅林设置,https://github.com/vipfan/SHIPTV,有三种模式,在此基础上都可以扩展。
单臂设置时说明,通常放置在nat-start 文件中
ip addr add 192.168.99.1/24 dev eth0 //为WAN口添加一个隐形IP
iptables -I INPUT -i eth0 -m state --state NEW -j ACCEPT //注释,新建连接进入接口eth0都可以接受
iptables -I FORWARD -i eth0 -o ppp0 -j ACCEPT //注释入口eth0,出口ppp0的数据转发,确保IPTV可以连接到互联网,有响应,这里其实有个疑问出路指定了,那返回的路没有明确,是设备自动补全或者转发,具体实现过程没有深挖。
DNSmasq配置数据 http://koolshare.cn/thread-45810-1-1.html,通常只需要option125,option60 15 28 部分型号的光猫需要,125使用dhcp-option-force。
以下两句命令是为了管理光猫方便设置的,地址映射
ifconfig eth0:1 192.168.1.200 netmask 255.255.255.0 //为接口指定IP
iptables -t nat -I POSTROUTING -o eth0 -d 192.168.1.0/24 -j MASQUERADE //注释,目的地到192.168.1网段数据数据包发送前IP源地址都改为wan0的地址
四、设置光猫(略),参见南通那篇文章https://www.jianshu.com/p/d3861879a8e8
唯一不同的就是Vlan ID要改成直播85和点播51,接口全部是Tag,南通是UTag。
其余设置基本一致即可,不在重复。
五、测试
(1)光猫拨号,普通连接,使用上述方案二连接方案,组网后网络和电视均可以正常使用,IPTV也没有再出现报错的情况。连接路由有线测试速度如下,本来是500兆的宽带,最近签了千兆宽带,后台速度已调整,但是后来因为要更换SDN随选网关,了解了该网关的带来的若干限制,就取消了而更换光猫服务,最终实测下来800多兆带宽。
(2)路由拨号单臂模式,未测试。比较在意网络全控的,自主科学上网可以搭建VPS(再另行发文补充)或者有从外网访问内网需求的可以组网。
六、后续,待追未完篇
学习研究了两个地区的家庭网络与IPTV组网原理和方案后,看似需求不同,采用的方案不同,其实原理相通,实现起来就简单了。要简化网络设备,就要对设备多些调试设置。如果需要简单实现,可以通过叠堆更多的硬件设备支持来实现,这样比在设备软件层面上设置要轻松许多,减少设置层面的复杂度。
在学习研究以及应用过程中,还有几点可以继续深入和完善的地方:
1、因为需要把网络信号扩展至另一户,就通过一对无线AP传播发射后,在另一户中接收到信号中是支持VLAN的,测试IPTV也是正常的。设备号经过匹配的盒子不管是哪一户的,都可以直接支持。扩展的信号可以进行多路叠加增加网速带宽。
2、如果不想多开IPTV,可以把IPTV组播转HTTP单播,说白了就是自己建服务中转电视数据,摆脱IPTV机顶盒,解决信源的问题。
3、破解电信机顶盒,可以实现内外网切换,切换内外网也可以自动化简洁化,实现既可以当普通网络盒子看普通网络电视也可以看IPTV直播。
网络扩展无止境,学海亦无涯,短期需求已暂时解决,爱好先割舍,如有机会再追续。
参考网文:
http://koolshare.cn/thread-37102-1-1.html 上海电信4K IPTV桥接教程 20181122项目已清空 - 梅林 - KoolShare - 源于玩家 服务玩家
http://koolshare.cn/thread-151592-1-1.html 上海电信IPTV桥接思路留给你们,自己想下怎么做 - 梅林 - KoolShare - 源于玩家 服务玩家
http://koolshare.cn/thread-119242-1-1.html esxi LEDE是否能和光猫的VLAN实单臂复用呢 - LEDE - KoolShare - 源于玩家 服务玩家
http://koolshare.cn/thread-129754-1-1.html 扔掉你的VLAN交换机,ESXI软路由直接实现上海电信4K IPTV桥接 - LEDE - KoolShare - 源于玩家 服务玩家
http://koolshare.cn/thread-77171-1-1.html lede x64(openwrt x64)桥接上海4k iptv教程 17/01/04更新 - LEDE - KoolShare - 源于玩家 服务玩家
http://koolshare.cn/thread-118182-1-1.html 不用设VLAN,也能搞定单臂路由器 - 网络设备 - KoolShare - 源于玩家 服务玩家
https://www.right.com.cn/forum/thread-309424-1-1.html K2P OPENWRT CC 固件最简单臂路由 VLAN 设置 - 斐讯无线路由器以及其它斐迅网络设备 - 恩山无线论坛 - Powered by Discuz!
https://www.right.com.cn/forum/thread-319696-1-1.html K2P OPENWRT CC 固件 IPTV、INTERNET 单线复传+最简单臂路由 VLAN 设置 - iptv信源、TV频道、网络机顶盒 - 恩山无线论坛 - Powered by Discuz!
https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=321549&page=1 (已解决)OP/LEDE 单臂路由+IPTV单线复用实例设置及难点救助 - iptv信源、TV频道、网络机顶盒 - 恩山无线论坛 - Powered by Discuz!
https://www.right.com.cn/forum/thread-317004-1-1.html 【已解决】广东电信iptv单线复用求助 - iptv信源、TV频道、网络机顶盒 - 恩山无线论坛 - Powered by Discuz!
http://www.bansha.com/thread-1430878-1-1.html 单臂路由+电信iptv融入宽带 - 交流交易 - 武汉沙龙-聪明生活-精明消费-做最懂生活的武汉人
https://www.right.com.cn/forum/thread-140776-1-1.html 路由器中网络interface划分原理与目的? eth2.2, eth0, br-ra0,等等 - OPENWRT专版 - 恩山无线论坛 - Powered by Discuz!
https://post.smzdm.com/p/567262/ 曾明的网络小天地 篇一:使用 ER-X 单线复用实现上海电信光猫桥接与4K IPTV__什么值得买
http://koolshare.cn/thread-150178-2-1.html 求助大家,单网口软路由配合vlan交换机的设置方法 - 第2页 - LEDE - KoolShare - 源于玩家 服务玩家
https://pagespeed.v2ex.com/t/339936 快疯了。。单臂路由的 VLAN 到底怎么配置? - V2EX
https://www.right.com.cn/forum/thread-370109-1-1.html 原创 单臂路由之openwrt vlan实现 - OPENWRT专版 - 恩山无线论坛 - Powered by Discuz!
https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=324504&typeid=14 高恪/灯大padavan的vlan设置单臂路由小白攻略(适合弱电箱到无线路由只有一根网线) - 斐讯无线路由器以及其它斐迅网络设备 - 恩山无线论坛 - Powered by Discuz!
https://post.smzdm.com/p/519450/ 此文拆了光猫没能实现补焊针脚破解
https://post.smzdm.com/p/521444/ 接上文作者补了焊针脚后的破解光猫
http://koolshare.cn/thread-149816-1-1.html 上海4KIPTV路由模式和单臂模式修改版自动脚本,此文是补充的脚本和一些连接问题的反馈,虽不全但有些问题可以参考。
https://post.smzdm.com/p/471548/ 梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播,此文 IPTV局域网组播改HTTP协议,类似南通的电信IPTV拨号方式,与上海AB面认证不同,还包含了梅林内部使用IPTV的方式,特殊应用模式。
http://www.7po.com/thread-736652-1-1.html 华为悦盒(EC6108V9U)ROOT及使用经验终结篇 内外网切换既可以看普通网络电视也可以看IPTV直播。 非常屌的帖子,后续搞定IPTV之后可以进一步研究。
https://www.right.com.cn/forum/thread-317696-1-1.html 梅林固件 自带IPTV设置方法,测试未有效果
http://koolshare.cn/thread-10516-1-1.html
http://koolshare.cn/thread-134208-1-2.html
https://post.smzdm.com/p/567262/
http://diywm.com/2018/04/27/shang_hai_dian_xin_4k_iptv_lede_dan_lu_you_shi_xian_qiao_jie/
https://post.smzdm.com/p/105052/
http://www.right.com.cn/forum/thread-328330-1-1.html
http://www.right.com.cn/forum/thread-318760-1-1.html
https://post.smzdm.com/p/669792/
https://post.smzdm.com/p/590974/
http://www.right.com.cn/forum/thread-221201-1-1.html
https://www.chiphell.com/forum.php?mod=viewthread&tid=1421026&extra=&authorid=189702&page=1
https://www.chiphell.com/thread-1843008-1-1.html
http://bbs.router.com.cn/forum.php?mod=viewthread&tid=46739&page=1&authorid=120954
http://koolshare.cn/thread-43568-1-1.html
http://koolshare.cn/thread-37102-1-1.html
https://www.right.com.cn/forum/thread-328493-1-1.html 双路由双线解决网内多设备可看iptv上网不干扰
http://www.newsmth.net/nForum/#!article/DigiHome/757772 双路由完美解决IPTV 北京联通IPTV的完美方案
https://www.right.com.cn/forum/forum-182-1.html iptv信源、TV频道、网络机顶盒
https://www.right.com.cn/forum/thread-210730-1-1.html wndr3800刷LEDE,设置vlan解决IPTV、wan、lan一条线,原配置两台网管交换机trunk在一起的
https://www.right.com.cn/forum/thread-311579-1-1.html K3单臂路由(光猫扩展LAN口)+IPTV单线复用
http://koolshare.cn/thread-139702-1-1.html ac86u看上海iptv问题