上海电信光猫设置虚拟服务器,你们想要的上海电信光猫桥接+4K IPTV配置流程...
本帖最后由 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
網絡結構如下圖:
(222.47 KB, 下載次數: 10)
2015-11-16 15:37 上傳
2.改造
2.1光貓配置
問電信師傅要了光貓的telecomadmin密碼,進光貓把其改成橋接,其它什么都不用改。配置完后,光貓的部分截圖應該是如下:
i).用于上網的連接,模式:橋模式,端口綁定到1、3、4,業務模式:INTERNET,VLAN模式UNTAG。這樣1、3、4端口就可以接普通電腦上網。
1.png (31.79 KB, 下載次數: 9)
2015-11-16 20:44 上傳
ii).用于看IPTV的連接,模式:橋模式,端口綁定不要選(有些同學有舊IPTV的話,應該是綁定到LAN2上的,無所謂,只要不綁定1、3、4就行了),業務模式OTHER,VLAN模式是TAG,VLAN ID:85。
2.png (33.64 KB, 下載次數: 5)
2015-11-16 20:44 上傳
iii).綁定模式,LAN3和LAN4應該是已經被電信改好了的,VLAN綁定,映射規則:85/85。我自己又把LAN1改成和3、4一樣的,這樣我的1、3、4端口都可以既上網以上IPTV。
3.png (28.67 KB, 下載次數: 4)
2015-11-16 20:44 上傳
iv).日常應用,IPTV,對_Other_B_VID_85那個的組播VLAN應該是51,電信應該是已經修改好了的。
4.png (24.22 KB, 下載次數: 5)
2015-11-16 20:44 上傳
v).其它一些信息頁面
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口是這樣的:
(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接收到。
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。
2-dhcp_offer.png (209.01 KB, 下載次數: 3)
2015-11-16 16:40 上傳
(III)IPTV發包DHCP Request,無VLAN
3-dhcp_request.png (216.49 KB, 下載次數: 7)
2015-11-16 16:40 上傳
(IV)R6300v2回復DHCP ACK,帶DHCP Option125。
4-dhcp_ack.png (171.58 KB, 下載次數: 5)
2015-11-16 16:40 上傳
(V)IPTV向VLAN85發送DHCP Discover,以得到電信內網地址。
5-vlan-dhcp-discover.png (87.94 KB, 下載次數: 7)
2015-11-16 16:40 上傳
(VI)電信內部DHCP服務器從VLAN85回復的DHCP Offer。可見,IPTV又得到了一個20.155.255.16的地址。(其余流程略)
6-vlan-dhcp_offer.png (84.08 KB, 下載次數: 6)
2015-11-16 16:40 上傳
(VII)IPTV得到內網IP地址后,還有登陸認證,下載一些基本信息,這些都略過,反正與我們無關。最后打開某個直播頻道,IPTV發送IGMP加組,隨后組播的數據包從VLAN85到達IPTV.
7-vlan-stream.png (144.23 KB, 下載次數: 11)
2015-11-16 16:40 上傳
總結
以上是生活随笔為你收集整理的上海电信光猫设置虚拟服务器,你们想要的上海电信光猫桥接+4K IPTV配置流程...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java 多线程练习---创建两个子线
- 下一篇: (十)、java内部类与内部类的闭包和回