电信千兆光猫桥接降速_电信光猫改成桥接模式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 上传

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • fpga以太网通信例程_verilog参数传递

    fpga以太网通信例程_verilog参数传递1本实验将实现FPGA芯片和PC之间进行千兆以太网数据通信,通信协议采用Ethernet UDP通信协议。FPGA通过GMII总线和开发板上的GigabitPHY芯片通信,GigabitPHY芯片把数据通过网线发给PC。在上次的实验中,我们详细讲解了网络传输的过程中如何对数据进行传输,以及数据传输的格式,这次实验中,我们详细讲解如何使用Verilog语言

    2022年10月24日
  • spring源码系列(二)——毁三观的spring自动注入

    spring源码系列(二)——毁三观的spring自动注入比如提到spring的自动注入作为一个java程序员肯定自信无比了解;但是笔者要说的自动注入可能会和你理解有很大出入。首先搞明白什么是自动注入,自动注入也可以叫做自动装配(springboot也有一个自动装配但是我认为翻译的不够准确,springboot的应该叫做自动配置和这里说的自动注入是两回事,笔者不是什么大牛或者权威;所以读者如果你坚持认为springboot也叫自动装配那也无可厚非,只…

    2022年10月31日
  • Java回调机制详解[通俗易懂]

    Java回调机制详解[通俗易懂]网上关于Java回调的文章一抓一大把,但是看完总是云里雾里,不知所云,特别是看到抓取别人的代码走两步时,总是现眼。于是自己决定写一篇关于Java机制的文章,以方便大家和自己更深入的学习Java回调机制。

  • 查看gcc 版本「建议收藏」

    查看gcc 版本「建议收藏」 1,#gcc-v[root@localhostMPlayer-0.92]#gcc-v使用内建specs。目标:i386-redhat-linux配置为:../configure–prefix=/usr–mandir=/usr/share/man–infodir=/usr/share/info–with-bugurl=http://bugzilla.redhat

  • pycharm的查找替换_pycharm调用其他py文件

    pycharm的查找替换_pycharm调用其他py文件1、打开要修改的文件2、ctrlr调出替换功能,如图所示:3、上面红框是需要更改的部分,下面红框是想要更改为部分,编辑后,点击“replaceall”即可示例原始页面ctrlr调出替换功能,如图所示在上一栏输入被替换字段,下一栏输入想换成的字段点击replaceall结果…

  • QT实现简单的上位机软件

    QT实现简单的上位机软件QT实现简单的上位机软件

发表回复

您的电子邮箱地址不会被公开。

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