上海电信光猫设置虚拟服务器,你们想要的上海电信光猫桥接+4K IPTV配置流程...
本帖最后由 wsycqyz 于 2015-12-3 13:30 編輯
0.背景
最近升級(jí)換了上海電信50M套餐,送中興B860A 4K IPTV機(jī)頂盒,光貓為中興F420,電信施工完畢后,光貓的3、4口為IPTV接口,同時(shí)這兩個(gè)接口也可以用來(lái)接普通的電腦上網(wǎng)。
做為一名具備CCIE證書(shū)的網(wǎng)絡(luò)攻城獅,不能使用自己的路由器撥號(hào)是完全無(wú)法忍受的,所以自己動(dòng)手,有了此文。
原理上,說(shuō)白了,就是IPTV開(kāi)機(jī),拿到一個(gè)路由器分配的內(nèi)網(wǎng)地址(通常是192.168.1.X),在DHCP交互過(guò)程中發(fā)現(xiàn)在特殊的DHCP Option,那么就往VLAN85請(qǐng)求一個(gè)電信內(nèi)網(wǎng)的地址用于后續(xù)IPTV認(rèn)證,認(rèn)證完成后,使用VLAN85和51來(lái)進(jìn)行點(diǎn)播和直播。我們要做的就是:
i).欺騙IPTV,讓其得到想要的DHCP Option
ii).使接IPTV的網(wǎng)絡(luò)設(shè)備支持VLAN85,51的傳輸(具體包內(nèi)容分析見(jiàn)本文最后附錄)
1.使用的網(wǎng)絡(luò)設(shè)備
光貓F(tuán)420,NETGEAR R6300v2(關(guān)閉WIFI,當(dāng)網(wǎng)關(guān)做NAT),Linksys EA6500v2(AP模式,網(wǎng)口可以普通電腦,LAN4口專接IPTV),以上都刷同一版本的DDWRT。由于DDWRT默認(rèn)只能支持小于16的VLAN號(hào),所以重新編譯的內(nèi)核模塊(switch-robo.ko),放入路由器/jffs/目錄下,啟動(dòng)時(shí)重新加載這個(gè)模塊,以使其支持VLAN85和VLAN51。
注:怎么為DDWRT編譯內(nèi)核模塊不在本文討論范圍內(nèi)。為什么?因?yàn)椴煌O(shè)備,不同固件對(duì)VLAN的支持度不一樣,LZ無(wú)法全部覆蓋。后續(xù)也許會(huì)有一篇文件專門講怎么為DDWRT編譯內(nèi)核模塊以支持VLAN85,51。本文提供已經(jīng)編譯好的switch-robo.ko,DDWRT版本27745(內(nèi)核版本3.10.87)及以后適用,R6300v2和EA6500v2通用,不對(duì)其它設(shè)備使用情況負(fù)責(zé)。下載鏈接:http://pan.baidu.com/s/1o6ncN8I
網(wǎng)絡(luò)結(jié)構(gòu)如下圖:
(222.47 KB, 下載次數(shù): 10)
2015-11-16 15:37 上傳
2.改造
2.1光貓配置
問(wèn)電信師傅要了光貓的telecomadmin密碼,進(jìn)光貓把其改成橋接,其它什么都不用改。配置完后,光貓的部分截圖應(yīng)該是如下:
i).用于上網(wǎng)的連接,模式:橋模式,端口綁定到1、3、4,業(yè)務(wù)模式:INTERNET,VLAN模式UNTAG。這樣1、3、4端口就可以接普通電腦上網(wǎng)。
1.png (31.79 KB, 下載次數(shù): 9)
2015-11-16 20:44 上傳
ii).用于看IPTV的連接,模式:橋模式,端口綁定不要選(有些同學(xué)有舊IPTV的話,應(yīng)該是綁定到LAN2上的,無(wú)所謂,只要不綁定1、3、4就行了),業(yè)務(wù)模式OTHER,VLAN模式是TAG,VLAN ID:85。
2.png (33.64 KB, 下載次數(shù): 5)
2015-11-16 20:44 上傳
iii).綁定模式,LAN3和LAN4應(yīng)該是已經(jīng)被電信改好了的,VLAN綁定,映射規(guī)則:85/85。我自己又把LAN1改成和3、4一樣的,這樣我的1、3、4端口都可以既上網(wǎng)以上IPTV。
3.png (28.67 KB, 下載次數(shù): 4)
2015-11-16 20:44 上傳
iv).日常應(yīng)用,IPTV,對(duì)_Other_B_VID_85那個(gè)的組播VLAN應(yīng)該是51,電信應(yīng)該是已經(jīng)修改好了的。
4.png (24.22 KB, 下載次數(shù): 5)
2015-11-16 20:44 上傳
v).其它一些信息頁(yè)面
5.png (26.31 KB, 下載次數(shù): 5)
2015-11-16 20:44 上傳
2.2 R6300v2配置
R6300v2接光貓的3口,因?yàn)檫@個(gè)口是可以又上網(wǎng)又看IPTV的。
R6300v2還要支持特殊的DHCP Option,在DDWRT里->Services->Services->DNSMasq->Additional DNSMasq Options里,加上:
dhcp-option-force=vi-encap:0,2,"HGW-CT"復(fù)制代碼這個(gè)有些同學(xué)表示對(duì)他們的IPTV不生效,可試試下面這段完全遵守中國(guó)電信規(guī)范的格式:
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復(fù)制代碼對(duì)上面這行的解析為:
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,認(rèn)證關(guān)鍵內(nèi)容)
H??G??W??-??C? ?T
03 04 5a 58 48 4e(subcode-3,0x5a58484e=ZXHN,路由器型號(hào),其它還見(jiàn)過(guò)"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在啟動(dòng)時(shí)要載入重新編譯的內(nèi)核模塊,并且讓指定端口支持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
第一行:從內(nèi)核中移除當(dāng)前內(nèi)核模塊(注:怎么為DDWRT編譯內(nèi)核模塊不在本文討論范圍內(nèi)。)
第二行:加載新編譯的內(nèi)核模塊(注:怎么為DDWRT編譯內(nèi)核模塊不在本文討論范圍內(nèi)。)
第三、四行:把內(nèi)部編號(hào)為0、4的兩個(gè)接口放入VLAN85,51中。(注:每個(gè)路由器的內(nèi)部編號(hào)與實(shí)際的接口對(duì)應(yīng)不一樣,請(qǐng)自行研究)
其中0代表R6300v2的LAN4口,這個(gè)口下接E6500v2;4代表R6300v2的WAN口,這個(gè)口接中興F420
關(guān)于R6300v2機(jī)身背后的LAN口是這樣的:
(190.05 KB, 下載次數(shù): 6)
2015-11-30 11:05 上傳
2.3 EA6500v2配置
同理,在啟動(dòng)時(shí)要載入重新編譯的內(nèi)核模塊,并且讓指定端口支持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
第一行:從內(nèi)核中移除當(dāng)前內(nèi)核模塊(注:怎么為DDWRT編譯內(nèi)核模塊不在本文討論范圍內(nèi)。)
第二行:加載新編譯的內(nèi)核模塊(注:怎么為DDWRT編譯內(nèi)核模塊不在本文討論范圍內(nèi)。)
第三、四行:把內(nèi)部編號(hào)為3、4的兩個(gè)接口放入VLAN85,51中。(注:每個(gè)路由器的內(nèi)部編號(hào)與實(shí)際的接口對(duì)應(yīng)不一樣,請(qǐng)自行研究)
其中3代表EA6500v2的LAN4口,這個(gè)口下接IPTV;4代表EA6500v2的WAN口。
完工
3.常見(jiàn)Q&A
(等待提問(wèn))
4.參考文獻(xiàn)https://www.chiphell.com/forum.ph ... 939443&pid=30156011
附錄:IPTV從開(kāi)機(jī)到上線全過(guò)程包分析
(I)IPTV開(kāi)機(jī),發(fā)送廣播的DHCP Discover包,注意沒(méi)有帶VLAN,所以此包被R6300v2接收到。
1-dhcp_discover.png (223.38 KB, 下載次數(shù): 11)
2015-11-16 16:40 上傳
(II)R6300v2回復(fù)DHCP Offer包,注意紅框,回復(fù)包帶有DHCP Option125,內(nèi)容是HGW-CT。R6300v2分配了一個(gè)192.168.1.145的地址給IPTV。
2-dhcp_offer.png (209.01 KB, 下載次數(shù): 3)
2015-11-16 16:40 上傳
(III)IPTV發(fā)包DHCP Request,無(wú)VLAN
3-dhcp_request.png (216.49 KB, 下載次數(shù): 7)
2015-11-16 16:40 上傳
(IV)R6300v2回復(fù)DHCP ACK,帶DHCP Option125。
4-dhcp_ack.png (171.58 KB, 下載次數(shù): 5)
2015-11-16 16:40 上傳
(V)IPTV向VLAN85發(fā)送DHCP Discover,以得到電信內(nèi)網(wǎng)地址。
5-vlan-dhcp-discover.png (87.94 KB, 下載次數(shù): 7)
2015-11-16 16:40 上傳
(VI)電信內(nèi)部DHCP服務(wù)器從VLAN85回復(fù)的DHCP Offer。可見(jiàn),IPTV又得到了一個(gè)20.155.255.16的地址。(其余流程略)
6-vlan-dhcp_offer.png (84.08 KB, 下載次數(shù): 6)
2015-11-16 16:40 上傳
(VII)IPTV得到內(nèi)網(wǎng)IP地址后,還有登陸認(rèn)證,下載一些基本信息,這些都略過(guò),反正與我們無(wú)關(guān)。最后打開(kāi)某個(gè)直播頻道,IPTV發(fā)送IGMP加組,隨后組播的數(shù)據(jù)包從VLAN85到達(dá)IPTV.
7-vlan-stream.png (144.23 KB, 下載次數(shù): 11)
2015-11-16 16:40 上傳
總結(jié)
以上是生活随笔為你收集整理的上海电信光猫设置虚拟服务器,你们想要的上海电信光猫桥接+4K IPTV配置流程...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java 多线程练习---创建两个子线
- 下一篇: (十)、java内部类与内部类的闭包和回