作者:张华 发表于:2025-03-27
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明
问题
家里有两个路由器:
1, 一级路由器是openwrt(192.168.99.0/24), fnos接在上面(192.168.99.206)
2, 二级路由器是华为wifi6路由器(192.168.99.213, 192.168.3.1), 手机接在上面(192.168.3.0/24), 因为平时要用华为路由器控制孩子看电视的时长所以没法动它。
在fnos上启用了dlna,但在手机上的vlc搜索不到它,那是因为跨网段了组播地址239.255.255.250不通导致 。
而fnos的无线网卡驱动有bug导致也无法通过wifi连接到192.168.3.0/24网段。
所以想了下列其他方法,但未成功, 仅记录一下。
步骤
1, 在fnos上安装pptpd服务
apt install pptpd -y
vim /etc/pptpd.conf
localip 192.168.102.1
remoteip 192.168.102.2-10vim /etc/ppp/chap-secrets
hua pptpd password *sysctl -w net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -o enp1s0-ovs -j MASQUERADE
sudo iptables -A FORWARD -i ppp+ -o enp1s0-ovs -j ACCEPT
sudo iptables -A FORWARD -i enp1s0-ovs -o ppp+ -j ACCEPT
sudo systemctl restart pptpd
sudo ip route add 192.168.3.0/24 via 192.168.100.2 dev ppp0
2, 华为路由器设置通过192.168.99.206连接pp2p后
root@fnos:~# ip addr show ppp0 |grep inetinet 192.168.102.1 peer 192.168.102.2/32 scope global ppp0
3, 在fnos上安装igmpproxy, 将组播从ppp0传到华为路由器上,
apt-get install igmpproxy -y
vim /etc/igmpproxy.conf
phyint enp1s0-ovs upstream ratelimit 0 threshold 1altnet 192.168.99.0/24
phyint ppp0 downstream ratelimit 0 threshold 1altnet 192.168.3.0/24sudo systemctl start igmpproxy
测试
测试未通过,是什么原因呢?今天先到这里,有空再弄
root@fnos:~# tcpdump -i ppp0 host 239.255.255.250 and udp port 1900 -l
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on ppp0, link-type LINUX_SLL (Linux cooked v1), snapshot length 262144 bytes
hua@tp:~$ echo "M-SEARCH * HTTP/1.1" | socat - UDP-DATAGRAM:239.255.255.250:1900,bind=192.168.3.9
hua@tp:~$