最近由于家里想跑一些小的服务比如alist这类,所以想找一个低功耗机器,树莓派价格有点不像话了,后来看了香橙派,最后定了最便宜的N1。主要是价格便宜,网上的资料也比较多。不到100买了一台,开始了折腾之路,最后的结果是刷了论坛里的OpenWrt Lite For N1,用了里面的alist,frpc。docker跑了Vaultwarden、duplicati、heimdall、syncthing、freshrss、青龙面板,最后因为家里是移动的宽带,魔百盒看直播效果非常好,所以想参考网上的办法通过N1加一个USB网卡的方式,将IPTV转发到内网,参考网上的帖子,配置USB网卡的接口,eth1名称为iptv。根据抓包得到的DHCP的Option: (60) Vendor class identifier,还有Option: (12) Host Name,配置了DHCP的参数,成功获取了内网IP,然后安装udpxy,配置了参数,从http://ip:port/status,可以看到运行状态,但在vlc使用http://ip:port/udp/224.x.xx:8813之类的地址,无法播放,直播源地址是网上找到的,也根据盒子抓包的数据确认过了,没有问题。根据盒子抓包到的数据,在开始一个频道的直播前,会从那个盒子的移动内网地址向直播源地址发一个IGMP V2的数据包,但在USB网卡上抓包看不到这个包,直播也无法开始。然后再参考网上的帖子"https://www.likecs.com/show-183195.html",安装了igmpproxy,配置igmpproxy以及防火墙规则,
config rule
option name 'Allow-IGMP'
option src 'eth1'
option proto 'igmp'
option family 'ipv4'
option target 'ACCEPT' config rule
option name 'Allow-UDP-udpxy'
option src 'eth1'
option proto 'udp'
option dest_ip '224.0.0.0/4'
option target 'ACCEPT' config rule
option name 'Allow-UDP-igmpproxy'
option src 'eth1'
option proto 'udp'
option dest_ip '224.0.0.0/4'
option dest 'eth0' #我的lan口
option family 'ipv4'
option target 'ACCEPT'
最终还是无法成功直播,也无法在抓包数据中看到从USB网卡内网IP发到直播地址的 IGMP V2的包。后来还关闭了防火墙 service firewall stop,再试也还是不行。有没有大神能指定一二,问题出在什么地方。 在vlc开始播放直播源时,从udpxy的状态页可以看到那个客户端地址和直播地址的状态,但几秒后VLC报失败,状态也不显示了。 另外关于抓包盒子数据,我的方法是用USB网卡插在电脑上,将这个网卡和电脑上的网卡桥接,然后一个接盒子,一个接光猫的IPTV口,电脑上抓网桥的包,看结果应该也没有大的问题,只是里面会抓进去一些电脑网卡的DHCP ARP之类的包。 谢谢大家。
|