电信千兆光猫桥接降速_电信光猫改成桥接模式iptv怎么办

电信千兆光猫桥接降速_电信光猫改成桥接模式iptv怎么办本帖最后由wsycqyz于2015-12-313:30编辑0.背景最近升级换了上海电信50M套餐,送中兴B860A4KIPTV机顶盒,光猫为中兴F420,电信施工完毕后,光猫的3、4口为IPTV接口,同时这两个接口也可以用来接普通的电脑上网。做为一名具备CCIE证书的网络攻城狮,不能使用自己的路由器拨号是完全无法忍受的,所以自己动手,有了此文。原理上,说白了,就是IPTV开机,拿到一…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

本帖最后由 wsycqyz 于 2015-12-3 13:30 编辑

0.背景

最近升级换了上海电信50M套餐,送中兴B860A 4K IPTV机顶盒,光猫为中兴F420,电信施工完毕后,光猫的3、4口为IPTV接口,同时这两个接口也可以用来接普通的电脑上网。

做为一名具备CCIE证书的网络攻城狮,不能使用自己的路由器拨号是完全无法忍受的,所以自己动手,有了此文。

原理上,说白了,就是IPTV开机,拿到一个路由器分配的内网地址(通常是192.168.1.X),在DHCP交互过程中发现在特殊的DHCP Option,那么就往VLAN85请求一个电信内网的地址用于后续IPTV认证,认证完成后,使用VLAN85和51来进行点播和直播。我们要做的就是:

i).欺骗IPTV,让其得到想要的DHCP Option

ii).使接IPTV的网络设备支持VLAN85,51的传输(具体包内容分析见本文最后附录)

1.使用的网络设备

光猫F420,NETGEAR R6300v2(关闭WIFI,当网关做NAT),Linksys EA6500v2(AP模式,网口可以普通电脑,LAN4口专接IPTV),以上都刷同一版本的DDWRT。由于DDWRT默认只能支持小于16的VLAN号,所以重新编译的内核模块(switch-robo.ko),放入路由器/jffs/目录下,启动时重新加载这个模块,以使其支持VLAN85和VLAN51。

注:怎么为DDWRT编译内核模块不在本文讨论范围内。为什么?因为不同设备,不同固件对VLAN的支持度不一样,LZ无法全部覆盖。后续也许会有一篇文件专门讲怎么为DDWRT编译内核模块以支持VLAN85,51。本文提供已经编译好的switch-robo.ko,DDWRT版本27745(内核版本3.10.87)及以后适用,R6300v2和EA6500v2通用,不对其它设备使用情况负责。下载链接:http://pan.baidu.com/s/1o6ncN8I

网络结构如下图:

ea9bacb63dd599c53f2bb2560a557807.gif

(222.47 KB, 下载次数: 10)

2015-11-16 15:37 上传

2.改造

2.1光猫配置

问电信师傅要了光猫的telecomadmin密码,进光猫把其改成桥接,其它什么都不用改。配置完后,光猫的部分截图应该是如下:

i).用于上网的连接,模式:桥模式,端口绑定到1、3、4,业务模式:INTERNET,VLAN模式UNTAG。这样1、3、4端口就可以接普通电脑上网。

ea9bacb63dd599c53f2bb2560a557807.gif

1.png (31.79 KB, 下载次数: 9)

2015-11-16 20:44 上传

ii).用于看IPTV的连接,模式:桥模式,端口绑定不要选(有些同学有旧IPTV的话,应该是绑定到LAN2上的,无所谓,只要不绑定1、3、4就行了),业务模式OTHER,VLAN模式是TAG,VLAN ID:85。

ea9bacb63dd599c53f2bb2560a557807.gif

2.png (33.64 KB, 下载次数: 5)

2015-11-16 20:44 上传

iii).绑定模式,LAN3和LAN4应该是已经被电信改好了的,VLAN绑定,映射规则:85/85。我自己又把LAN1改成和3、4一样的,这样我的1、3、4端口都可以既上网以上IPTV。

ea9bacb63dd599c53f2bb2560a557807.gif

3.png (28.67 KB, 下载次数: 4)

2015-11-16 20:44 上传

iv).日常应用,IPTV,对_Other_B_VID_85那个的组播VLAN应该是51,电信应该是已经修改好了的。

ea9bacb63dd599c53f2bb2560a557807.gif

4.png (24.22 KB, 下载次数: 5)

2015-11-16 20:44 上传

v).其它一些信息页面

ea9bacb63dd599c53f2bb2560a557807.gif

5.png (26.31 KB, 下载次数: 5)

2015-11-16 20:44 上传

2.2 R6300v2配置

R6300v2接光猫的3口,因为这个口是可以又上网又看IPTV的。

R6300v2还要支持特殊的DHCP Option,在DDWRT里->Services->Services->DNSMasq->Additional DNSMasq Options里,加上:

dhcp-option-force=vi-encap:0,2,”HGW-CT”复制代码这个有些同学表示对他们的IPTV不生效,可试试下面这段完全遵守中国电信规范的格式:

dhcp-option-force=125,00:00:00:00:1a:02:06:48:47:57:2d:43:54:03:04:5a:58:48:4e:0a:02:20:00:0b:02:00:55:0d:02:00:2e复制代码对上面这行的解析为:

125(DHCP Option125)

00 00 00 00 (enterprise number)

1a (data-length,26bytes option-data)

02 06 48 47 57 2d 43 54 (subcode-2 0x4847572d4354=HGW-CT,认证关键内容)

H  G  W  –  C   T

03 04 5a 58 48 4e(subcode-3,0x5a58484e=ZXHN,路由器型号,其它还见过”HG221″)

Z  X   H  N

0a 02 20 00  (subcode-10 0x2000 untag)

0b 02 00 55  (subcode-11 0x0055=85 iptv vlanid)

0d 02 00 2e  (subcode-13 0x002e=46 voice vlanid)

R6300v2在启动时要载入重新编译的内核模块,并且让指定端口支持VLAN85,51,在DDWRT里->Administration->Commands,加上:

rmmod switch_robo

insmod /jffs/switch-robo.ko

echo “0t 4t 5” > /proc/switch/eth0/vlan/85/ports

echo “0t 4t 5” > /proc/switch/eth0/vlan/51/ports

第一行:从内核中移除当前内核模块(注:怎么为DDWRT编译内核模块不在本文讨论范围内。)

第二行:加载新编译的内核模块(注:怎么为DDWRT编译内核模块不在本文讨论范围内。)

第三、四行:把内部编号为0、4的两个接口放入VLAN85,51中。(注:每个路由器的内部编号与实际的接口对应不一样,请自行研究)

其中0代表R6300v2的LAN4口,这个口下接E6500v2;4代表R6300v2的WAN口,这个口接中兴F420

关于R6300v2机身背后的LAN口是这样的:

ea9bacb63dd599c53f2bb2560a557807.gif

(190.05 KB, 下载次数: 6)

2015-11-30 11:05 上传

2.3 EA6500v2配置

同理,在启动时要载入重新编译的内核模块,并且让指定端口支持VLAN85,51,在DDWRT里->Administration->Commands,加上:

rmmod switch_robo

insmod /jffs/switch-robo.ko

echo “3t 4t 5” > /proc/switch/eth0/vlan/85/ports

echo “3t 4t 5” > /proc/switch/eth0/vlan/51/ports

第一行:从内核中移除当前内核模块(注:怎么为DDWRT编译内核模块不在本文讨论范围内。)

第二行:加载新编译的内核模块(注:怎么为DDWRT编译内核模块不在本文讨论范围内。)

第三、四行:把内部编号为3、4的两个接口放入VLAN85,51中。(注:每个路由器的内部编号与实际的接口对应不一样,请自行研究)

其中3代表EA6500v2的LAN4口,这个口下接IPTV;4代表EA6500v2的WAN口。

完工

3.常见Q&A

(等待提问)

4.参考文献https://www.chiphell.com/forum.ph … 939443&pid=30156011

附录:IPTV从开机到上线全过程包分析

(I)IPTV开机,发送广播的DHCP Discover包,注意没有带VLAN,所以此包被R6300v2接收到。

ea9bacb63dd599c53f2bb2560a557807.gif

1-dhcp_discover.png (223.38 KB, 下载次数: 11)

2015-11-16 16:40 上传

(II)R6300v2回复DHCP Offer包,注意红框,回复包带有DHCP Option125,内容是HGW-CT。R6300v2分配了一个192.168.1.145的地址给IPTV。

ea9bacb63dd599c53f2bb2560a557807.gif

2-dhcp_offer.png (209.01 KB, 下载次数: 3)

2015-11-16 16:40 上传

(III)IPTV发包DHCP Request,无VLAN

ea9bacb63dd599c53f2bb2560a557807.gif

3-dhcp_request.png (216.49 KB, 下载次数: 7)

2015-11-16 16:40 上传

(IV)R6300v2回复DHCP ACK,带DHCP Option125。

ea9bacb63dd599c53f2bb2560a557807.gif

4-dhcp_ack.png (171.58 KB, 下载次数: 5)

2015-11-16 16:40 上传

(V)IPTV向VLAN85发送DHCP Discover,以得到电信内网地址。

ea9bacb63dd599c53f2bb2560a557807.gif

5-vlan-dhcp-discover.png (87.94 KB, 下载次数: 7)

2015-11-16 16:40 上传

(VI)电信内部DHCP服务器从VLAN85回复的DHCP Offer。可见,IPTV又得到了一个20.155.255.16的地址。(其余流程略)

ea9bacb63dd599c53f2bb2560a557807.gif

6-vlan-dhcp_offer.png (84.08 KB, 下载次数: 6)

2015-11-16 16:40 上传

(VII)IPTV得到内网IP地址后,还有登陆认证,下载一些基本信息,这些都略过,反正与我们无关。最后打开某个直播频道,IPTV发送IGMP加组,随后组播的数据包从VLAN85到达IPTV.

ea9bacb63dd599c53f2bb2560a557807.gif

7-vlan-stream.png (144.23 KB, 下载次数: 11)

2015-11-16 16:40 上传

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/184602.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Nexus学习笔记–Nexus3使用教程

    Nexus学习笔记–Nexus3使用教程目前 Nexus分为 Nexus2和 Nexus3两个大版本,它们是并行的关系。与Nexus2相比,Nexus3具有很多优势,例如支持更多的仓库格式、

    2022年7月4日
    31
  • Webdriver下载及使用

    Webdriver下载及使用Chrome浏览器驱动下载地址:http://chromedriver.storage.proxy.ustclug.org/index.htmlFirfox浏览器驱动下载地址:https://github.com/mozilla/geckodriver/releasesIE浏览器驱动下载地址:https://www.selenium.dev/downloads/Edge浏览器驱动下载地址:https://developer.microsoft.com/en-us/microsoft-edg…

    2022年9月19日
    4
  • mybatis-log-plugin激活码(注册激活)2022.02.05

    (mybatis-log-plugin激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~CJM5ZJBPHS-eyJsaWNlbnNlSWQiOi…

    2022年4月1日
    1.6K
  • QT QMap 使用方法实例

    QT QMap 使用方法实例QTQMap使用方法,直接上例子,请仔细体会。

    2022年5月30日
    69
  • oracle如何修改用户密码_oracle重置用户名密码

    oracle如何修改用户密码_oracle重置用户名密码轻松搞定Oracle用户密码修改 摘要:服务器更换、数据库移植都会涉及到Oracle用户密码的修改操作,这里给出几段简单的代码,帮您轻松搞定Oracle用户密码的修改操作。 我们假设这样一个应用场景,数据库需要移植,库中某一个用户的Oracle用户密码不知道,可是这个密码因为在其他程序中使用了而不能修改,在新的数据库系统中,这

    2022年7月28日
    12
  • Composer实战教程

    Composer实战教程

    2022年3月6日
    49

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号