记运营商IPTV盒子异地使用(IPTV流量通过VPN传输)

目的:马上过年回家了,老家目前只有一个卫星电视机顶盒,还是好多年前接收中星九号的标清村村通,想着把我在市区运营商办宽带送的IPTV机顶盒利用起来,回老家也能看高清节目,岂不是美哉!

思路:IPTV机顶盒播放节目源有两种方式,一种是组播拉流,另外一种是单播拉流。考虑到组播流量跨运营商网络传输占用家庭宽带太高,组播协议IGMP设置较复杂,所以不考虑这种方式,第二种是需要抓包看下IPTV单播节目源地址,通过VPN将两地路由打通即可点播。

实现:首先抓包看下IPTV单播源地址,记录所有节目源,如下RTSP节目源轻松获取到。

接下来需要设置下光猫,将光猫的IPTV设置为三层路由模式,并设置NAT转发。其实就是要用光猫来获取IPTV内网IP,并绑定至光猫ITV接口,给该接口配置一个内网路由器同段IP,实现类似旁路由的效果,且由这个接口把内网IPTV流量源NAT出去。需要注意把光猫DHCP关掉。

OK,接下来内网测试单播RTSP拉流有没有问题,实测没问题继续配置网络部分。

VPN服务我使用群晖的OPENVPN,简单省事。

需要注意,由于openvpn和IPTV内网在同段,所以要在群晖上写条明细路由,目的网络是IPTV源的,下一跳交给光猫内网IP,源NAT转发出去。

服务端搞定,配置老家的客户端网络,主要是openvpn隧道网络打通,其他就没有问题了,老家使用华硕路由器刷梅林,实现openvpn-client。

配置VPN Director将本地访问远端内网流量、IPTV的流量引入openvpn隧道。

通过路由追踪远端IPTV DNS地址测试,网络互通没有问题。

IPTV机顶盒连接上搭建好的VPN网络后,IPTV平台认证通过100%,分组配置报错无需重视,直至出现节目该方案即成功。

附上本次异地IPTV网络拓扑图。

记微信数据库解密

其实这次折腾和某乎博主目的一样,主要是想把我和她的微信聊天记录导出到文本,以后也可以拿来来看看

查过资料网上也有好几种解决方案,大概有以下几种,我就直接搬运过来了 继续阅读

OpenWebRX使用SDRPlay RSP1

前段时间使用树莓派和RTL-2832U搭建了简单的OpenWebRX,对RTL-2832U直接I通道采样接收短波效果很不满意。趁着元旦假期有空,折腾一下。

硬件

Raspberry Pi 3B+ (官方操作系统)
SDRPlay RSP1

方案

OpenWebRX有两种方法可以使用SDRplay硬件: 继续阅读

rc.local开机自动挂载NFS无效问题

利用路由器搭建了一个NFS服务,想挂载到树莓派上以扩充存储空间。在树莓派上手动挂载没有任何问题,但添加到 /etc/rc.local 后不能实现开机自动挂载,开机后手动挂载也是没有问题的。

经过实验发现:rc.local确实运行了,运行到rc.local时NFS服务还没有启动,导致挂载失败。

解决方法:
就是在挂载命令前面加个sleep,等NFS服务完全启动后再挂载。加上时间参数后最好让该命令后台运行测试下。规则参考如下:

sleep 10s && sudo mount -t nfs -o nolock 192.168.66.1:/mnt/pi /mnt/nfs &

RIPv2下一跳字段分析

协议简介及报文封装格式

RIP是Routing Information Protocol(路由信息协议)的简称。它是一种较为简单的内部网关协议IGP(Interior Gateway Protocol),主要用于规模较小的网络中,比如校园网以及结构较简单的地区性网络。对于更为复杂的环境和大型网络,一般不使用RIP。

RIP是一种基于距离矢量(Distance-Vector)算法的协议,它通过UDP报文进行路由信息的交换,使用的端口号为520。

RIP有两个版本:RIP-1和RIP-2。

  • RIP-1是有类别路由协议(Classful Routing Protocol),它只支持以广播方式发布协议报文。RIP-1的协议报文中没有携带掩码信息,它只能识别A、B、C类这样的自然网段的路由,因此RIP-1无法支持路由聚合,也不支持不连续子网(Discontiguous Subnet)。
  • RIP-2是一种无分类路由协议(Classless Routing Protocol),有两种报文传送方式:广播方式和组播方式,缺省将采用组播方式发送报文,使用的组播地址为224.0.0.9。当接口运行RIP-2广播方式时,也可接收RIP-1的报文。

继续阅读