找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 42619|回复: 10

小白的IPTV折腾教程--双网融合/IPTV共享

[复制链接]
发表于 2019-7-1 16:50 | 显示全部楼层 |阅读模式
转发的是某博客上的文章,大家尝试后,希望给出反馈。
本章节要讲的目的:
  • 互联网 + 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
百度下载链接: https://pan.baidu.com/s/1tc1YNoOBdGm0WnknCZberQ 提取码: ph8t
备用地址A | 备用地址B |
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 修改为 iptv
config 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 的地址来观看视频了。


评分

参与人数 1恩山币 -2 收起 理由
lcsuper -2 把我的文章复制粘贴一遍,连着标题一起抄,就是不带作者好吗?

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-7-1 16:59 | 显示全部楼层
干货,但是网络没有开通IPTV
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-7-1 21:19 | 显示全部楼层
这个没法单线复用吗???wan口接光猫传输,上网和电视信号!!!!!!!!!!!!!!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-7-1 21:25 | 显示全部楼层
把我的文章复制粘贴一遍,连着标题一起吵,就是不带作者好吗?
原贴https://www.right.com.cn/FORUM/thread-332086-1-1.html

点评

我是从某博客上看到转发的  详情 回复 发表于 2019-10-31 11:48
感谢大侠!!我就是按照您的教程弄的。  详情 回复 发表于 2019-7-3 06:04
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-7-2 13:58 | 显示全部楼层
lcsuper的文章吗,不知道,看到了,就分享过来。图片有博客水印啊
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-7-2 14:15 | 显示全部楼层
那啥。。。 我家用低端的 魔百盒,没有楼主这些问题,插上网线就能用...
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-7-2 15:25 | 显示全部楼层
点播回看可以吗
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-7-3 06:04 | 显示全部楼层
lcsuper 发表于 2019-7-1 21:25
把我的文章复制粘贴一遍,连着标题一起吵,就是不带作者好吗?
原贴https://www.right.com.cn/FORUM/threa ...

感谢大侠!!我就是按照您的教程弄的。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-10-31 11:48 | 显示全部楼层
lcsuper 发表于 2019-7-1 21:25
把我的文章复制粘贴一遍,连着标题一起吵,就是不带作者好吗?
原贴https://www.right.com.cn/FORUM/threa ...

我是从某博客上看到转发的
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-1-23 14:58 | 显示全部楼层
楼主你好!非常棒的教程,谢谢你!
我按照你的教程,依葫芦画瓢也实现了双wan融合iptv共享,非常棒的体验。
顺利将组播rtp地址由openwrt的udpxy转发成了http地址,可以通过电脑上VLC顺利播放,
也可以放在群晖的xteve里使用播放。
但是,这个实现后,却带来了一个更大的问题,就是其他的所有端口转发设置都失效了。
经过很久的反复验证,终于找到问题所在,就是那三段添加进firewall的代码:
config rule
        option name 'Allow-IGMP'
        option proto 'IGMP'
        option src 'iptv'
        option target 'ACCEPT'

config rule
        option name 'Allow-UDP-igmpproxy'
        option proto 'udp'
        option src 'iptv'
        option family 'ipv4'
        option dest 'lan'
        option dest_ip '224.0.0.0/4'
        option target 'ACCEPT'

config rule
        option name 'Allow-UDP-udpxy'
        option proto 'udp'
        option src 'iptv'
        option dest_ip '224.0.0.0/4'
        option target 'ACCEPT'

只要把这三段代码从firewall文件中删除,其他的端口转发都恢复正常了。
但是没有这三段代码,又无法实现iptv组播融合进入LAN,也就无法实现想要的iptv共享效果。

我的路由器很多功能都依赖端口转发,楼主有更好的建议吗?
如果能实现iptv组播共享的同时,又不影响端口转发呢?


我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-3-7 21:48 | 显示全部楼层
9到10中间跳的不知所云了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-3-29 04:08

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

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