xykz 发表于 2023-3-8 18:33

解决 Padavan 4.4 UPNP 不正常的问题

本帖最后由 xykz 于 2023-3-8 18:36 编辑



先说结论:打开这个开关即可修复

---

无灯18年的某个版本用了很久没折腾过了,结果最近被家里人误操作清除了所有配置,遂打算编译一个4.4折腾一下;

用的是这份源码,啥都挺好,中断绑定、conntrack的问题都处理过了,我刚需的ovpn、sqm也是新版;不清楚是不是内核的原因,默频情况下,SFE+SQM能跑满我的500兆带宽,无灯的3.4版不行,10年那个测试版本都不行。

唯一美中不足的是UPNP有问题,翻了一下论坛和gayhub,发现有很多人提出过,但是没人解决。

具体表现是:刚刚开启UPNP的时候是好的,几分钟后便无法再开新端口;



用upnpc+wireshark可以看到,失效的时候,路由器不响应客户端发出的请求;后来无意中发现在路由端启用tcpdump抓包的时候,upnp过了很长时间都没失效,于是很自然的想到是混杂模式的问题;手动用ifconfig br0 promisc试了一下,果然解决了;

但是无灯的固件也没有打开混杂,而且要解释开启后短暂可用,不久后失效的话,应该是有什么东西在变更网桥的配置……于是抄出源码顺藤摸瓜查了一下,果然发现了问题所在:



这个方法会根据“IPTV组播路由到内网”的配置,变更多播查询和路由的参数,miniupnpd恰好就依赖多播路由;



这个方法还被rc.c文件中的handle_notifications所使用,貌似是个类似消息总线的设计,读取到switch变更的消息就配置一下网桥……

然后回到开头,打开开关试了一下,果然upnp不再失效了

至于修复兼容啥的,那是不会的(避免半吊子水改出其他问题),只能将就用用的样子

237176253 发表于 2023-3-8 19:34

牛逼,去年折腾了很久都没复现(我家用iptv开了这个组播路由)

蒲公英的约定‘ 发表于 2023-3-8 19:56

为啥会和这个选项有关,不懂

xykz 发表于 2023-3-8 20:58

237176253 发表于 2023-3-8 19:34
牛逼,去年折腾了很久都没复现(我家用iptv开了这个组播路由)

主要这玩意对我挺重要的,折腾了三四个晚上,很多时间浪费在排除法上;最后实在没头绪才想到抓包查源码

PS:MeIsReallyBa大佬好快,已经提交了代码默认开启组播路由

xykz 发表于 2023-3-8 20:58

蒲公英的约定‘ 发表于 2023-3-8 19:56
为啥会和这个选项有关,不懂

可以简单理解为功能有依赖性

samcyyl 发表于 2023-3-19 09:13

xykz 发表于 2023-3-8 20:58
主要这玩意对我挺重要的,折腾了三四个晚上,很多时间浪费在排除法上;最后实在没头绪才想到抓包查源码
...

这个源码在哪?记得有个自动编译的地址

xykz 发表于 2023-3-19 20:45

samcyyl 发表于 2023-3-19 09:13
这个源码在哪?记得有个自动编译的地址

你是说M大的吗?https://github.com/MeIsReallyBa/padavan-4.4

uifor 发表于 2023-3-25 18:33

3.4内核版本的有影响嘛

8267 发表于 2023-3-25 23:51

uifor 发表于 2023-3-25 18:33 static/image/common/back.gif
3.4内核版本的有影响嘛

只要2.0版本以上的就有问题

myd2898129 发表于 2023-3-26 06:49

这个问题由来已久了,就因为这个好久没用老毛子了,感谢大神解决了,又可以欢快的用老毛子了

badpanyu 发表于 2023-4-6 13:17

能发一份编译好的固件给我吗?k2p的.谢谢

237176253 发表于 2023-4-21 23:15

本帖最后由 237176253 于 2023-4-26 01:01 编辑

库加了硬件qos,楼主测测和sqm qos对比起来效果如何?
页: [1]
查看完整版本: 解决 Padavan 4.4 UPNP 不正常的问题