iptv鉴权 php,小白的IPTV折腾教程-双网融合/IPTV共享 - OPENWRT专版 - 恩山无线论坛 - Powered by Discuz!...
轉發的是某博客上的文章,大家嘗試后,希望給出反饋。
本章節要講的目的:互聯網 + iptv 通道雙網融合,解決弱電盒到電視機只有一根網線的問題
iptv 節目的共享給智能電視、安卓盒子
移動設備通過 wifi 觀看 iptv 節目一、IPTV使用路由器單WAN口驗證
1、由于各地、各運營商 IPTV 不同,導致 IPTV 的認證模式也不同。比方電信多是 PPPOE 認證獲得一個 10/172 開頭的內網 ip。開啟一個10M 的 IPTV 通道,和互聯網帶寬分離。移動多是 DHCP 從光貓獲取,獲得一個 192 開頭的內網 ip。還有一種 IPoE 認證方式,DCHP 分配iptv 給盒子,但是里面一般會多一個 option 的鑒權,比較麻煩。
正因為 iptv 眾多的模式,所以為了降低我們融合的難度,我建議先用路由器單 wan 口來測試 iptv 能否正常觀看。沒有問題了,我們再來調試雙 wan 融合。
2、路由器系統的選擇
因為我們的終極目標是要雙網融合一線,所以必須使用能多 wan 的系統。易用性很高的老毛子 padavan 固件因為不能多 wan 首先排除。其次,我們要使用 igmpproxy 和 udpxy 來轉發組播信號,所以必須要能安裝這兩個玩意的系統。理論上講 openwrt/lede/潘多拉/梅林/高恪固件都可以,因為我使用的是斐訊 K2P 路由器,所以我選擇 openwrt/潘多拉。
需要注意的是 meal 大神的 openwrt CC 固件目前沒法通過交換機設置 vlan,沒法設置多 wan 口,現在還沒法用于本項目,但是他的無線穩定性據說還不錯。
而原版的潘多拉因為無線驅動的問題,一直在等 MTK 修復,最近潘多拉的作者 Lintel 大神終于更新了潘多拉,無線的情況有大幅的改善,所以我們以潘多拉固件為例子來講解。
下載地址:
https://downloads.pangubox.com/p ... gets/ralink/mt7621/
找到斐訊 K2P 的最新版本下載即可
3、接線
我們按以下接線
光貓 iptv 接口 —-> 路由器 wan 口
路由器 Lan 接口 —-> iptv盒子
4、路由器安裝軟件
系統 –> 軟件包 –> 刷新列表,等待系統更新軟件源地址,不過報錯請檢查軟件源是否正確
下載并安裝軟件包里面寫 igmpproxy –> 確認
因為潘多拉新版網站的源最近一直出于陸續更新狀態,可能會發現 igmpproxy/udpxy 無法安裝。
我這里提供 ipk,用 winscp 上傳到 /tmp 目錄下面,然后用 putty 登錄,cd 進入 /tmp 目錄
請注意 24kc 是針對 7620 CPU 的,1004kc 是針對 7621 CPU 的igmpproxy_0.1-8_mipsel_1004kc_dsp.rar
udpxy_1.0.23-9-4_mipsel_1004kc_dsp.rar
igmpproxy_0.1-8_mipsel_24kec_dsp.rar
udpxy_1.0.23-9-4_mipsel_24kec_dsp.rar
opkg install igmpproxy_0.1-8_mipsel_1004kc_dsp.ipk
就安裝上了 igmpproxy
下載并安裝軟件包里面寫 udpxy –> 確認
下載并安裝軟件包里面寫 luci-app-udpxy –> 確認
如果在已經安裝軟件列表中沒有找到 mwan3,那么我們就要安裝一下
下載并安裝軟件包里面寫 mwan3—->確認
下載并安裝軟件包里面寫 luci-app-mwan3 –> 確認
下載并安裝軟件包里面寫 luci-i18n-mwan3-zh-cn –> 確認
5、以 pppoe 撥號的 iptv 來配置路由器
網絡–>接口–>找到 wan–>修改–>切換 PPPoE 協議–>填寫 iptv 盒子的 pppoe 賬號密碼–>保存應用
6、配置 igmpproxy
用 winscp 登錄路由器,找到 /etc/config ,找到 igmpproxy,修改如下config igmpproxy? ? option quickleave 1config phyint? ? option network wan? ? option direction upstream? ? list altnet 0.0.0.0/0config phyint? ? option network lan? ? option direction downstream
7、配置防火墻
用 winscp 登錄路由器,找到 /etc/config ,找到 firewall,在最下面添加config rule? ?? ???option target 'ACCEPT'? ?? ???option src 'wan'? ?? ???option name 'Allow-IGMP'? ?? ???option proto 'IGMP'config rule? ?? ???option target 'ACCEPT'? ?? ???option src 'wan'? ?? ???option proto 'udp'? ?? ???option name 'Allow-UDP-igmpproxy'? ?? ???option family 'ipv4'? ?? ???option dest 'lan'? ?? ???option dest_ip '224.0.0.0/4'config rule? ?? ???option target 'ACCEPT'? ?? ???option src 'wan'? ?? ???option proto 'udp'? ?? ???option name 'Allow-UDP-udpxy'? ?? ???option dest_ip '224.0.0.0/4'
第一條的意思是允許組播 IGMP 包從 wan 口流進到路由器
第二條的意思是允許組播視頻 udp 包從 wan 轉發到 lan
第三條的意思是允許組播視頻 udp 包從 wan 流到路由器,由 udpxy 把組播轉 http 協議發送
重啟一下路由器,待 pppoe 獲取到了 ip 后,開 iptv 盒子電源,iptv 盒子進入設置—->網絡設置—–>把上網方式由 pppoe 改為dhcp,正常情況下,盒子直播應該就可以看了。不行的話重啟一下 iptv 盒子
9、下面我們來配置 udpxy
點服務—-> udpxy
勾上 啟用 + Respawn + 狀態
Bind IP/Interface 欄填寫你的本地路由器 Lan 口 ip
端口自定義,避開一些常用端口
Source IP/Interface 填寫 pppoe-wan,這個來自你接口 wan 圖標下面的小字
保存應用
開瀏覽器,輸入 http://你的路由器ip:你剛定義的端口 /status 回車
此時應該就顯示 udpxy 的狀態了,如果沒有,請檢查系統進程里面是否有 udpxy 的進程。沒有就檢查 Bind IP/Interface 欄和 Source IP/Interface 欄是否填錯了。其次檢查上面設置防火墻里面 udpxy 的設置是否正確。
10、測試 udpxy
找到我們第二節課里面保存的 m3u 播放列表,用記事本打開,把 rtp://239.253.XXX.XX:XXXX 的鏈接替換成 http:// 你的路由器ip:你剛定義的端口/rtp/239.253.XXX.XX:XXXX 的格式,保存,拖入 vlc,應該就可以播放。
此時,udpxy 狀態頁面會顯示是哪個 ip 在收看視頻,視頻來源 ip 是多少,以及當前速度
如果沒法播放,多半是上面的防火墻設置錯誤,請檢查
11、關于 igmpsnooping 失效造成的 udp 風暴的處理
我們知道,組播協議有點類似一個微信群,把你拉倒 cctv1 的群里面,你就收看 cctv1 的視頻流,視頻流加載在 udp 連接上。換臺就退當前的群拉你進另外的群。原理上誰看,就把這個視頻 udp 連接轉發給具體的那個端口/ip,這就是 igmpsooning 的作用。但是經過本站測試,openwrt 這個功能是失效的。造成的后果就是:一旦 Lan 里面有人開啟看 rtp 的組播視頻,比方開了 iptv 盒子,或者電腦用 vlc 看 rtp的組播視頻,你用 wireshake 抓包會發現每一個 LAN 里面的端口都有被 239 開頭的 udp 包刷屏,這就說明 LAN 里面形成了 udp 風暴,嚴重的時候會造成網絡堵塞,路由器負載變高,死機。
解決的辦法:
a、使用帶 igmpsooning/igmp 偵聽的網管交換機,8 口的大約 200 以內。
路由器的 LAN 只接一根線到網管交換機,其他所有的設備全部接到交換機上,這個適合端口本來就不夠要加交換機的
b、不需要加交換機,那么就必須使用 udpxy 轉出來的 http 協議的視頻流地址來播放。這樣就避免了 udp 風暴,其次手機也可以觀看了。缺點是 iptv 盒子不能用了,因為他是用 rtp 組播協議播放的,一用就又 udp 風暴了。只能用安卓盒子/智能電視安裝直播軟件來替代了。
以上我們單 wan 口調試 ok 以后,下面就可以來雙 wan 融合了。二、雙 wan 融合
1、設置交換機 vlan
網絡—->交換機,此時系統已經標記了 2 行 vlan 出來了。我們點下面的 添加 按鈕,新的一行 VLAN ID 我們填寫 3,其他如圖所示填寫,需要注意的是,上面2行也有變動,要一并修改。保存應用,此時LAN4口也就緊挨著WAN口的那一個變成了新的WAN口了。
2、新建接口
網絡—->接口—->WAN—->修改—->基本設置,把剛才我們填入的iptv的pppoe賬號密碼替換成我們的互聯網pppoe賬號密碼,保存
再到 高級設置—->使用默認網關勾上,使用網關躍點 填寫 40 ,保存應用。
網絡—->接口—->左下角 有個添加新接口按圖填寫,接口名稱iptv,注意小寫。新接口的協議選擇pppoe,包括以下接口 選剛才我們在交換機新建的vlan eth0.3,提交
3、配置新建的接口
網絡—->接口—->IPTV—->修改—->基本設置,填入的iptv的pppoe賬號密碼,保存
再到 高級設置—->使用默認網關勾上,使用網關躍點 填寫 41 ,保存。
再到 物理設置—->檢查接口是否選擇的是交換機 VLAN: “eth0.3” (iptv)。
再到 防火墻設置—->創建/分配防火墻區域 不指定/新建 填寫 iptv ,保存應用
4、防火墻的設置
網絡—->防火墻—->iptv 勾上 IP 動態偽裝 MSS 鉗制 ,保存
點iptv后面的修改,下面的端口觸發 把 允許從源區域轉發:LAN 勾上,保存應用
5、修改 igmpproxy,udpxy 防火墻設置
用 winscp 登錄路由器,找到 /etc/config ,找到 firewall,找到我們剛才添加的內容把里面 wan 修改為 iptv:config rule? ?? ???option target 'ACCEPT'? ?? ???option src 'iptv'? ?? ???option name 'Allow-IGMP'? ?? ???option proto 'IGMP'config rule? ?? ???option target 'ACCEPT'? ?? ???option src 'iptv'? ?? ???option proto 'udp'? ?? ???option name 'Allow-UDP-igmpproxy'? ?? ???option family 'ipv4'? ?? ???option dest 'lan'? ?? ???option dest_ip '224.0.0.0/4'config rule? ?? ???option target 'ACCEPT'? ?? ???option src 'iptv'? ?? ???option proto 'udp'? ?? ???option name 'Allow-UDP-udpxy'? ?? ???option dest_ip '224.0.0.0/4'
6、重新配置 igmpproxy 和 udpxy
用 winscp 登錄路由器,找到 /etc/config ,找到 igmpproxy,把 wan 修改為 iptvconfig igmpproxyoption quickleave 1config phyintoption network iptvoption direction upstreamlist altnet 0.0.0.0/0config phyintoption network lanoption direction downstream
點服務—->udpxy
Source IP/Interface 填寫 pppoe-iptv,這個來自你接口 IPTV 圖標下面的小字
保存應用
7、負載均衡 /mwan3 的配置
其實 igmpproxy 里面已經定義了,所有 LAN 口里面rtp組播請求都會被轉發到 IPTV 的那個 WAN 口,所以 mwan3 不用安裝都已經可以直接用了。我們這里配置 mwan3 的意義在于:IPTV 盒子使用回放、時移、點播的時候能走 IPTV 給的 10M 帶寬,不分享互聯網帶寬,防止時移、點播走互聯網帶寬不能使用
網絡—->負載均衡
如圖設置,新建接口 wan,iptv
其中,192.168.5.2 是我在路由器中給 IPTV 機頂盒設置的靜態 DHCP 的 ip
保存應用
重啟路由器,等待兩個 wan 口都撥號完畢
iptv 盒子開機看直播頻道,電腦開 speedtest 測速。我們在路由器的
狀態—>實時信息—->流量里面,可以在 pppoe-wan 和 pppoe-iptv 里面觀察到 2 波流量,iptv 標清在 400K/s 左右,高清在 1M/s 左右。這是說明我們的融合就成功了。
接著就可以把 iptv 盒子淘汰下來了,一根線就把互聯網 + iptv 數據傳遞給安卓盒子/智能電視了。手機/平板直接可以用 mxplayer 使用 udpxy 的地址來觀看視頻了。
總結
以上是生活随笔為你收集整理的iptv鉴权 php,小白的IPTV折腾教程-双网融合/IPTV共享 - OPENWRT专版 - 恩山无线论坛 - Powered by Discuz!...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: maya python 创建求_如何使用
- 下一篇: spring (四) SpringMVC