恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
当贝投影
查看: 78479|回复: 257

小白的IPTV折腾教程(3)---双网融合、IPTV共享

    [复制链接]
发表于 2018-7-27 00:22 | 显示全部楼层 |阅读模式
本帖最后由 lcsuper 于 2019-4-25 22:44 编辑

上两节地址
https://www.right.com.cn/FORUM/thread-328186-1-1.html
https://www.right.com.cn/FORUM/thread-328805-1-1.html

本节的目的:
1、互联网+iptv通道双网融合,解决弱电盒到电视机只有一根网线的问题
2、iptv节目的共享给智能电视、安卓盒子
3、移动设备通过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大神终于更新了潘多拉,无线的情况有大幅的改善,所以我们以潘多拉为例子来讲解。
下载地址:
找到K2P的最新版本下载即可

3、接线
我们按以下接线
光猫iptv接口---->路由器wan口
路由器Lan口---->iptv盒子

4、路由器安装软件
系统---->软件包---->刷新列表,等待系统更新软件源地址,不过报错请检查软件源是否正确
下载并安装软件包里面写igmpproxy---->确认

因为潘多拉新版网站的源最近一直出于陆续更新状态,可能会发现igmpproxy/udpxy无法安装。
我这里提供ipk,用winscp上传到/tmp目录下面,然后用putty登录,cd进入/tmp目录
请注意24kc是针对7620CPU的,1004kc是针对7621的
igmpproxy_0.1-8_mipsel_1004kc_dsp.rar (17.35 KB, 下载次数: 736)
udpxy_1.0.23-9-4_mipsel_1004kc_dsp.rar (35.88 KB, 下载次数: 502)
igmpproxy_0.1-8_mipsel_24kec_dsp.rar (14.94 KB, 下载次数: 381)
udpxy_1.0.23-9-4_mipsel_24kec_dsp.rar (31.69 KB, 下载次数: 339)

  1. 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,修改如下
  1. config igmpproxy
  2.     option quickleave 1

  3. config phyint
  4.     option network wan
  5.     option direction upstream
  6.     list altnet 0.0.0.0/0

  7. config phyint
  8.     option network lan
  9.     option direction downstream
复制代码

7、配置防火墙
用winscp登录路由器,找到/etc/config ,找到firewall,在最下面添加
  1. config rule
  2.         option target 'ACCEPT'
  3.         option src 'wan'
  4.         option name 'Allow-IGMP'
  5.         option proto 'IGMP'

  6. config rule
  7.         option target 'ACCEPT'
  8.         option src 'wan'
  9.         option proto 'udp'
  10.         option name 'Allow-UDP-igmpproxy'
  11.         option family 'ipv4'
  12.         option dest 'lan'
  13.         option dest_ip '224.0.0.0/4'

  14. config rule
  15.         option target 'ACCEPT'
  16.         option src 'wan'
  17.         option proto 'udp'
  18.         option name 'Allow-UDP-udpxy'
  19.         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
18.png
勾上 启用+Respawn+状态
Bind IP/Interface栏填写你的本地路由器Lan口ip
端口自定义,避开一些常用端口
Source IP/Interface填写pppoe-wan,这个来自你接口wan图标下面的小字
保存应用
开浏览器,输入http://你的路由器ip:你刚定义的端口/status    回车
17.png

此时应该就显示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是多少,以及当前速度
16.png

如果没法播放,多半是上面的防火墙设置错误,请检查

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口了。
14.png

2、新建接口
网络---->接口---->WAN---->修改---->基本设置,把刚才我们填入的iptv的pppoe账号密码替换成我们的互联网pppoe账号密码,保存
再到 高级设置---->使用默认网关勾上,使用网关跃点 填写 40 ,保存应用。

网络---->接口---->左下角 有个添加新接口按图填写,接口名称iptv,注意小写。新接口的协议选择pppoe,包括以下接口 选刚才我们在交换机新建的vlan eth0.3,提交
12.png


3、配置新建的接口
网络---->接口---->IPTV---->修改---->基本设置,填入的iptv的pppoe账号密码,保存
再到 高级设置---->使用默认网关勾上,使用网关跃点 填写 41 ,保存。
11.png

再到 物理设置---->检查接口是否选择的是交换机 VLAN: "eth0.3" (iptv)。
10.png

再到 防火墙设置---->创建/分配防火墙区域 不指定/新建 填写iptv ,保存应用
9.png

4、防火墙的设置
网络---->防火墙---->iptv 勾上 IP 动态伪装   MSS 钳制 ,保存
8.png

点iptv后面的修改,下面的端口触发 把 允许从源区域转发:LAN 勾上,保存应用
7.png

5、修改igmpproxy,udpxy防火墙设置
用winscp登录路由器,找到/etc/config ,找到firewall,找到我们刚才添加的内容把里面wan修改为iptv:
  1. config rule
  2.         option target 'ACCEPT'
  3.         option src 'iptv'
  4.         option name 'Allow-IGMP'
  5.         option proto 'IGMP'

  6. config rule
  7.         option target 'ACCEPT'
  8.         option src 'iptv'
  9.         option proto 'udp'
  10.         option name 'Allow-UDP-igmpproxy'
  11.         option family 'ipv4'
  12.         option dest 'lan'
  13.         option dest_ip '224.0.0.0/4'

  14. config rule
  15.         option target 'ACCEPT'
  16.         option src 'iptv'
  17.         option proto 'udp'
  18.         option name 'Allow-UDP-udpxy'
  19.         option dest_ip '224.0.0.0/4'
复制代码
6、重新配置igmpproxy和udpxy
winscp登录路由器,找到/etc/config ,找到igmpproxy,把wan修改为iptv
  1. config igmpproxy
  2. option quickleave 1

  3. config phyint
  4. option network iptv
  5. option direction upstream
  6. list altnet 0.0.0.0/0

  7. config phyint
  8. option network lan
  9. option direction downstream
复制代码

点服务---->udpxy
Source IP/Interface填写pppoe-iptv,这个来自你接口IPTV图标下面的小字
保存应用

7、负载均衡/mwan3的配置
其实igmpproxy里面已经定义了,所有LAN口里面rtp组播请求都会被转发到IPTV的那个WAN口,所以mwan3不用安装都已经可以直接用了。我们这里配置mwan3的意义在于:IPTV盒子使用回放、时移、点播的时候能走IPTV给的10M带宽,不分享互联网带宽,防止时移、点播走互联网带宽不能使用
网络---->负载均衡
如图设置,新建接口wan,iptv
1.png
6.png
5.png
4.png
3.png
2.png

其中,192.168.5.2是我在路由器中给IPTV机顶盒设置的静态DHCP的ip

保存应用
重启路由器,等待两个wan口都拨号完毕

iptv盒子开机看直播频道,电脑开speedtest测速。我们在路由器的
状态--->实时信息---->流量里面,可以在pppoe-wan和pppoe-iptv里面观察到2波流量,iptv标清在400K/s左右,高清在1M/s左右。这是说明我们的融合就成功了。
接着就可以把iptv盒子淘汰下来了,一根线就把互联网+iptv数据传递给安卓盒子/智能电视了。手机/平板直接可以用mxplayer使用udpxy的地址来观看视频了。

8、针对电视盒子+智能电视,直播和第三方点播的分流之负载均衡/mwan3的配置我们首先要从抓直播源包的分析中,找到rtsp单播的地址,然后把他整理成网段,也就是看有几位是相同的。然后用CIDR方式表示。
新建规则,源地址为空,目标地址为上面整理的网段,指定走iptv的策略。注意最后的规则排序要在default规则的上方。
下图供大家参考。
mwn3.png

点评

大神,对于3WAN,两路不同的组播的设置教一下啊,主要udpxy只能认一路组播  发表于 2019-2-13 14:22

评分

参与人数 11恩山币 +14 收起 理由
pencil76 + 1 学习啦,吴签兄,感谢。
xuanxuan11111 + 1 强大的恩山!(以下重复1万次)
jetsun + 1 率全体恩山路由党以及党魁向你学习!
feng5064 + 1 最详细的贴子了,全靠楼主的教程设置的,感谢!
帅了个呆 + 1 强大的恩山!(以下重复1万次)
kob + 1 很好的教程,就是在均衡规则那里可以改进一下,标记目标IP,采用CIDR计发,这样盒子还.
巍巍青山 + 1 一看就是觉得高端、大气、上档次!
yc_dfc + 1 非常好的教程贴!
3006kane + 2 技术贴,原创要鼓励!加油
梦里逐浪 + 2 率全体恩山路由党以及党魁向你学习!
xytb + 2 支持技术帖!

查看全部评分

本帖被以下淘专辑推荐:

我的恩山、我的无线 The best wifi forum is right here.
发表于 2018-7-27 06:08 | 显示全部楼层
太好了,写得太好了,虽然我已经用了半年多了,还是觉得这篇文章了不起!!!
我的恩山、我的无线 The best wifi forum is right here.
发表于 2018-7-27 06:20 | 显示全部楼层
meal 的 openwrt CC 可以设置 vlan,设置多 wan 口(搜我的帖子)。

点评

cc教主,请教一下K2P CC里要用什么方法实现下图的vlan设置?[attachimg]238264[/attachimg] 目的也就是单臂路由+IPTV融合。 用潘多拉设置成上图,是一切正常的,奈何无线等于没有。 CC下多次尝试无果,你的付费  详情 回复 发表于 2018-8-17 16:36
我的恩山、我的无线 The best wifi forum is right here.
发表于 2018-7-27 06:34 | 显示全部楼层
igmpproxy这个包哪里有?
来自安卓客户端来自安卓客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2018-7-27 11:43 | 显示全部楼层
发了帖子没售后服务?
来自安卓客户端来自安卓客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2018-7-27 11:44 | 显示全部楼层
igmpproxy这个包从哪里下载好?
来自安卓客户端来自安卓客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2018-7-27 13:37 来自手机 | 显示全部楼层
单wan口pppoe拨号成功,iptv改为dhcp接路由器后面开机85%
我的恩山、我的无线 The best wifi forum is right here.
发表于 2018-7-27 13:37 来自手机 | 显示全部楼层
单wan口pppoe拨号成功,iptv改为dhcp接路由器后面开机85%提示错误9106,怎么回事

点评

一样报这个错误代码,后来解决了吗  详情 回复 发表于 2020-3-9 13:39
一样报这个错误代码,后来解决了吗  详情 回复 发表于 2020-3-9 13:39
有可能你的igmpproxy没工作  发表于 2018-7-27 20:55
我的恩山、我的无线 The best wifi forum is right here.
发表于 2018-7-27 14:03 | 显示全部楼层
先安装igmpproxy
来自安卓客户端来自安卓客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2018-7-27 14:06 | 显示全部楼层
我找不到包,可以用lede的吗

点评

已经在上面提供了安装包了  详情 回复 发表于 2018-7-27 14:44
来自安卓客户端来自安卓客户端
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2018-7-27 14:44 | 显示全部楼层
hwlon 发表于 2018-7-27 14:06
我找不到包,可以用lede的吗

已经在上面提供了安装包了
我的恩山、我的无线 The best wifi forum is right here.
发表于 2018-7-27 20:17 | 显示全部楼层
非常好的教程,正好符合我的需求,只等新买的k2p到货后折腾了,感谢楼主。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2018-7-27 22:23 | 显示全部楼层
谢谢,没时间深入看。我们地区是dhcp的
来自安卓客户端来自安卓客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2018-7-27 22:29 | 显示全部楼层
遇上stb认证的怎么办?

点评

其实你只要机顶盒发送包里找到option12,60,61,125的那个包,然后把所有的option都原封不动的都配置好发送出去肯定是能够成功获取到IP的。我就是这样成功的。不过现在卡在luci-app-UDPXY安装出错无法配置。求一份成功  详情 回复 发表于 2019-11-18 14:28
我的恩山、我的无线 The best wifi forum is right here.
发表于 2018-7-29 04:19 | 显示全部楼层
梅林下怎么弄?
来自苹果客户端来自苹果客户端
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )|网站地图

GMT+8, 2022-1-27 10:19

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表