每弄完一次,过不多久就忘了,这次决心记下来。
openwrt 的igmpproxy 包是干嘛的?原来,组播包并不能穿透路由,也就是我们在wan端播放的组播视频流,lan端是没法收到的,igmpproxy就是用来打通wan端到lan端的数据通道。
首先在编译配置文件开启igmpproxy:
CONFIG_PACKAGE_igmpproxy=y
然后编译并打包,生成的镜像烧入板子,一般来说这个时候igmpproxy 已经能正常工作了
它的配置文件在/etc/config/igmpproxy文件中,我们只需要改一个地方:
config igmpproxy
option quickleave 1
config phyint wan
option network wan
option direction upstream
list altnet 192.168.1.0/24
config phyint lan
option network lan
option direction downstream
把文中的 192.168.1.0/24 换成0.0.0.0/0,这样所有情况都适合。
怎么测试呢?
1. 可以手动执行:
igmpproxy -d -v /etc/config/igmpproxy
这样就进入了调试模式,它可以把所有调试信息打印出来,方便我们排查问题。
2. 可以在wan,lan口用tcpdump 抓包结合协议分析
最后补充两个python 的脚本,方便测试:
发送脚本,放在wan端: