上文提到的梦想成真啦,异地组网观看IPTV方案终结篇
各位大侠别喷,啥啥每月20元折腾个啥的俺懂,我就是折腾了个寂寞
从去年到现在也折腾了不少异地组网方案了,最近才算找到理想的玩法,不想私藏,共享如下。
一、IPv4网络组网(备选)
1.1 哲西云决明子异地组网
首先出场的是史上最强免费组网工具——哲西云决明子,有关说明可参见官网,免费版就能对50个成员进行组网,超给力!
决明子组网的教学视频打不开,这里简单演示一下。
先新建虚拟网络,添加新成员,根据需要选择openwrt(网关)或PC(单台电脑)下载,安装后刷新哲西云网页会看到新增的成员,点击打开选择加入虚拟网络。
我记得官方教学视频提到要在异地两端网关上添加静态路由,在实践过程中我结合以前文章提到的方法,在启动项中增加几行脚本,同样可行。脚本再次拷贝如下:
echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf
sysctl -p
iptables -I FORWARD -i zxtun -j ACCEPT
iptables -I FORWARD -o zxtun -j ACCEPT
iptables -t nat -I POSTROUTING -o zxtun -j MASQUERADE
iptables -I FORWARD -i eth0 -j ACCEPT
iptables -I FORWARD -o eth0 -j ACCEPT
iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
注:zxtun为虚拟网卡接口,eth0为openwrt软路由LAN接口。
设置完毕后在路由表中看到转发到异地网络的IP路由表,一般就能PING得通
广东移动大网络,实测延迟很小
可能有人会有疑问,我是如何远程操控异地路由网关的?补充说明一下,在用哲西云之前,我是利用秒开软路由的内网穿透实用工具对异地网络进行远程操作的。具体方法前几篇文章有提到。
接通以后尝尝鲜,观看卫视有点卡,地方台SD码流勉强能看,偶尔会小卡。
对看电视我推荐一个神器——秒开IPTV缓存系统。这套系统可以接入组播源、网络源,甚至卫星源,通过系统缓存节目,达到秒速换台的功效。但是很吃内存和带宽,免费版可以提供20个终端观看IPTV。
系统有安卓电视的app,装上以后就可以享受一番了。不过秒开官网的教程说明资料很少,得自己不断摸索尝试使用。软件界面如下:
这套系统一开,就不断有流量在跑,非常占用带宽,后面我也想到了解决办法。
在折腾IPv6组网之前我就是用的这套玩法观看老家的电视台(揭阳2+汕头3),总体体验不太好。
但是如果没有看老家电视台的要求,用来异地组网那是杠杠滴啦。
1.2 内网穿透方案
钉钉内网穿透,据说一次连接有500M的限制,顿时没了折腾的意愿。有想尝试的可以参考《黑群dingding内网穿透》。同类还有蒲公英组网方式,更不达标。
二、大移动的IPv6网络(推荐)
重点来了,利用openwrt+socat,结合阿里云ddns动态域名,在服务端通过socat将不支持IPv6协议的秒开设备(包据秒开路由、秒开IPTV缓存)等,用端口映射方式以IPv6协议转发到外网;在客户端同样利用socat将收到用IPv6协议传输的内容映射到网内IPv4地址,这样家里不支持IPv6协议的设备(如安卓电视机)等就能观看服务端提供的精彩内容了。
2.1 电视源端网关v4-v6端口转发
令我惊喜的是我查看到老家的移动网络已自动分配IPv6地址给我的openwrt主路由(极路由4刷的X-WRT),同时在前面某篇异地组网的文中有大佬回复说可以IPv6组网,一直找不到方法,偶然在网上看到socat可以打通v4、v6网络,于是动了尝试的念头,居然很容易的成功了。
首先给x-wrt加装SocatG插件,在查看x-wrt主路由的设置时,发现它不提供启动项和软件包,但运行稳如老狗,又不方便重装系统,本来想着通过ssh给它装上socat和相应的web界面,又碰巧浏览到drophair的《我的网络我做主 篇二:IPv6公网也能端口转发了(SocatG全网首发)》,抱着试一试的想法,居然一蹴而就。 原文如下,在此谢过。
端口转发设置很简单,我的IPTV是接入到秒开软路由上的,IP地址是192.168.15.253,端口是4022,设置转发到x-wrt主路由的端口6022上,如下图。
其实我是比较喜欢有个web界面操作的直观,不然通过将这条脚本加入到openwrt的启动项即可
socat TCP6-LISTEN:{IPv6端口,远程访问的端口},reuseaddr,fork TCP4:{IPv4地址}:{IPv4端口} &
2.2 动态域名解析
我之前2020年双十一期间在阿里云注册有一个域名,一直没怎么用,这时候正好派上用场。打开x-wrt的动态域名,进去发现已内置了阿里云域名解析。于是按照网上的教程,新建子帐户,将获取key和密码填入x-wrt主路由。
转到高级设置—》将IP地址来源选择“接口”,接口选“WAN”。
保存后查看日志,看是否能将获取到的IPv6地址发送到阿里云端。稍等片刻正常后我用手机浏览器打开域名地址,能访问到x-wrt。老家的网络设置完毕。
顺便说一下,前几天想在dynv6.com上搞个免费域名,却一直无法激活帐户,无意中见到硅云(www.vpsor.cn) 五周年庆典,于是注册了一个.top(0元)的域名,手欠又注册了一个.xyz(第二个9元)域名,又在百度智能云上注册了另一个.top域名(1元),正当我兴高采烈准备去x-wrt设置动态域名时却傻眼了,找不到硅云和百度域名的解析脚本。记得在之前找相关资料时看到有些文章介绍的Cloudflare,如下文
我正是有样学样的把其中一个域名用Cloudflare做中转,这样就可以提供给无IPv6网络的设备访问我的大移动内网Nas设备了。另外一篇《百度域名阿里主机如何解析》(传送门)给我启发,我把这几个域名全部加入到阿里云控制台统一管理
过程也很简单,硅云的很直观,百度稍难找点,藏在域名管理—》更多—》域名信息—》修改dns
烦就烦在到处都要实名认证,不过个人信息早已泄漏,无所谓的啦。
2.3 电视端v6-v4端口转发
所谓的电视端就是我现在家里的网络,主要是想看看老家的地方台,偶尔看看家乡戏——潮剧。以前家里的网关路由安装的是爱快iKuai软路由,主要是看中它的流控功能,利用其上网码功能限制叛逆至极的儿子娃娃上网。那天在B站见到酷友社小宝大佬发布的iStoreOS固件,禁不住在原来小主机上虚拟安装上该OS尝尝。该固件的底子也是openwrt,而且可以安装socat插件,最新版也增加了 aliyun/dnspod DDNS。说到ddns,在小宝固件更新之前我还手动给他加上呢,参考的是《openwrt动态域名ddns增加aliyun.com》(传送门)。如果你的openwrt自带ddns没有aliyun,可以给它加上。
扯远了,ddns这个操作是为了给我的群晖nas搭设外网访问通道,换iStoreOS只是想用socat转发功能。
回过神来,才发现iStoreOS默认不分配IPv6地址给网内设备,我去,虽然原来的iKuai获取不到光猫下发的IPv6前缀,也没有socat插件,但好歹内网设备还能够访问IPv6外网啊。
又是G度娘一番,这篇博文解决了我的难题《二级路由下的Openwrt获取ipv6》 (传送门)
采用其方法一(relay)修改后,WAN接口、LAN接口、WAN6配置自动变成如下
为防止博客失联,脚本摘录如下:
ssh登陆iStore,输入命令 vi /etc/config/dhcp ,将配置中的lan、wan,wan6 三部分分别替换为如下文本,完成后 :wq 保存配置
config dhcp 'lan'
option interface 'lan'
option start '100'
option limit '150'
option leasetime '12h'
option dhcpv4 'server'
option ra 'relay'
option dhcpv6 'relay'
option ndp 'relay'
option ra_management '1'
config dhcp 'wan'
option interface 'wan'
option ignore '1'
option ra 'relay'
list ra_flags 'none'
option dhcpv6 'relay'
option ndp 'relay'
config dhcp 'wan6'
option interface 'wan'
option ra 'relay'
option dhcpv6 'relay'
option ndp 'relay'
option master '1'
list ra_flags 'none'
将option ula_prefix (ipv6 ula前缀设置)中的 f***:****:****::/48 改为 d***:****:****::/48
重启设备reboot即可。
经实践二级路由下的设备能够获得IPv6地址,但是无法访问IPv6网络,排查发现是路由器没有提供dns服务,在WAN6接口加上。
2409:8057:2000:6::8
2409:8057:2000:2::8
2400:3200::1
前两个是通过查看光猫得到,第三个为阿里云公开的dns服务。搞完上test-IPv6.com测试验证一下
还是跑偏了,言归正传,其实很简单,先给openwrt软路由装上Socat插件,在启动项加上如下脚本:
socat TCP4-LISTEN:{IPv4端口,内网访问的端口},reuseaddr,fork TCP6:{IPv6动态域名地址}:{IPv6端口} &
socat UDP4-LISTEN:{IPv4端口,内网访问的端口},reuseaddr,fork UDP6:{IPv6动态域名地址}:{IPv6端口} &
保存完重启,在浏览器上测试一下电视源端的udpxy服务状态是否正常。打开一个央视频频道看看,无比流畅
,查看一下码流居然达到了1285Kb/s,难怪用哲西云异地组网一卡一卡的。
过程还参考了:
①《通过IPV6或者IPV4远程访问家里的Openwrt(奶妈级教程)》
② 其实群晖也可以玩,见《群晖Docker容器,有Web界面的IPv4 v6 DDNS!》
③ Cloudflare的应用,见《Unraid 篇二:unraid ddns自动解析ip到阿里云/dnspod/cloudflare和freenom免费域名自动续期》第八节
④B站BIG东东大佬这个视频讲得很详细
【278】随时随地访问家中的软路由和其他设备?远程访问端口转发保姆级教程丨CloudFlare设置动态DNS 域名解析 URL转发-哔哩哔哩(传送门)
三、电视接收
通过安卓播放软件perfect player,设置http服务,输入.m3u8文件
电视是微鲸智能电视,不支持IPv6,但可以安装各种安卓软件,这次我不用电视家了,就用 Perfect Player.App,优点是功能多,定制性高,体积小。
以前我是将.m3u8文件上传到PerfectPlayer上去的,但是每次修改都得重新上传,很麻烦。后来有iKuai可以搭建HTTP服务,把m3u8文件放服务器上,现在准备换iStoreOS,折腾了一下uHTTPd,没搞成。
后来发现一种简单的方法,参考下文《简易HTTP服务搭建》
https://blog.csdn.net/Fly_hps/article/details/106871610
功能优化:可以将群晖自带的 ./usr/lib/目录下的phyton、phyton2、phyton2.7三个文件复制到自定义的目录 /homes/gunpen/www下,输入命令:
python2.7 -m SimpleHTTPServer 8088
在浏览器访问该主机的地址 http://IP:端口号/,搞定
增加自动执行脚本python.sh
cat > /root/python.sh <<EOF
#!/bin/sh
cd /volume1/homes/gunpen/www
python2.7 -m SimpleHTTPServer 8088
EOF
chmod +x /root/tianluyou.sh
放入群晖计划任务中,注意设置为开机启动,自定义脚本如下:
bash /root/python.sh
观看电视过程很流畅,只不过换台时间稍为有点长,总体体验非常满意。
四、IPTV设置
4.1 秒开IPTV缓存设备在组播源端
前面提到秒开IPTV开机占用带宽严重的解决方法就是将IPTV设备布置在电视源端,设置见官网,不过教程缺少许多。
我用一台D2550双网口小主机安装秒开IPTV,一个网口接iTV,另一个接入内网,设置组播源。接好后最后设置网络唤醒,这样方便远程开关机。
在x-wrt主路由上设置socat中转秒开IPTV命中口的IP地址,端口80。
在iStoreOS路由上设置socat中转接收到的秒开信号到路由8022端口,在远程的智能电视机上安装秒开酒店app,服务器输入iStoreOS地址:8022 (还没回老家实践,不一定行)。当然,如果带端口号的不行,我就利用虚拟的openwrt安装socat中转到默认80端口,估计可行。不过,注意要把openwrt管理端口改换一个先。
4.2 秒开IPTV缓存设备在电视端
前面方案的优点是缓存IPTV组播源不占网络带宽,只是远端观看电视时有一个频道的传输带宽占用,不过由于设备在老家,开关机不方便,此不足之处也可以通过网络唤醒解决,但需要主板支持网卡开机功能。
现在我的IPTV设备还在电视端,节目源用的iStoreOS中转的,如:
节目单可以自定义,编号可以在电视猫节目单网站tvmao.com上查看得到。
原理很简单,杂七杂八啰嗦了这么多,主要是想把过程记一下,就此退坑吧!
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~



































校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
感谢大家一直以来对哲西云的支持和厚爱,
因哲西云战略计划,哲西云现已正式加入 上海贝锐信息科技股份有限公司 。
现正式宣布哲西云将在2022年5月10日开始执行业务调整。
具体事项安排如下:
2022年5月10日,关闭新用户注册;
2022年5月10日,不再提供支付宝、微信支付方式;届时将无法充值;新购、续费仅支持余额结算;
2022年5月15日,关闭远志、决明子服务器,届时远志、决明子免费用户,将无法使用对应产品(付费用户不影响)。
校验提示文案
校验提示文案
校验提示文案
校验提示文案
这一行命令的脚本名忘记修改了,汗!
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
感谢大家一直以来对哲西云的支持和厚爱,
因哲西云战略计划,哲西云现已正式加入 上海贝锐信息科技股份有限公司 。
现正式宣布哲西云将在2022年5月10日开始执行业务调整。
具体事项安排如下:
2022年5月10日,关闭新用户注册;
2022年5月10日,不再提供支付宝、微信支付方式;届时将无法充值;新购、续费仅支持余额结算;
2022年5月15日,关闭远志、决明子服务器,届时远志、决明子免费用户,将无法使用对应产品(付费用户不影响)。
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
这一行命令的脚本名忘记修改了,汗!
校验提示文案
校验提示文案
校验提示文案