设为首页收藏本站

ZMX - IT技术交流论坛 - 无限Perfect,追求梦想 - itzmx.com

 找回密码
 注册论坛

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

搜索
查看: 1983|回复: 9

openwrt关于DHT和最大连接数的破事水

[复制链接]

签到天数: 409 天

[LV.9]以坛为家II

发表于 2023/2/20 22:55 | 显示全部楼层 |阅读模式 |Google Chrome 110.0.0.0|Windows 10
天涯海角搜一下: 百度 谷歌 360 搜狗 有道 雅虎 必应 即刻
今天闲着没事换着关键词搜索“软路由 连接数”,然后在PCDN相关的搜索结果里找到了以前从来没有搜到的路由器调教方法:udp老化

这是padavan的:
参数设置->脚本->在路由器初始化前执行:
echo 30 > /proc/sys/net/netfilter/nf_conntrack_udp_timeout
echo 120 > /proc/sys/net/netfilter/nf_conntrack_udp_timeout_stream
参考链接:https://www.right.com.cn/forum/thread-4031767-1-1.html

这是openwrt的:
vi /etc/sysctl.d/10-default.conf
net.netfilter.nf_conntrack_udp_timeout=15
net.netfilter.nf_conntrack_udp_timeout_stream=30
参考链接:https://zhuanlan.zhihu.com/p/583959038

注:以上值都是修改过的,可能不适合直接拿来用(过于严格的设置可能降低做种甚至影响上网),建议结合软路由默认值和路由器体质食用。
据说padavan默认值是60和120,DHT最大连接数20000+;
设置成30和120之后,最大连接数11000+;
设置成15和120之后,最大连接数5000+。
(以上结果基于BC设置udp发包 200 package/s测试)

至于为什么路由器第三方固件普遍存在DHT断流的现象,我的猜测是:
刷第三方固件大多有特殊的用途,为了保证连接质量,路由器固件本身设置了比较宽松的参数;对于BT来说,这些参数过于宽松了,进而导致连接数爆炸。
D端硬路由的客户群体一般没有特殊的需求,因此使用了相对严格的参数,保证路由器不被迅雷等软件橄榄;对于BT来说,因为难查看到对应的参数,硬路由连接数和第三方固件不在一个数量级可能都不能很好的察觉。

今日的收获:
能够在最大连接数设置16384的前提下打开DHT了;
据说x86的软路由的最大连接数大多只能设置16384,搞不好以后自己用得上。
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复

使用道具 举报

 成长值: 87

签到天数: 4490 天

[LV.Master]伴坛终老

发表于 2023/2/21 00:19 | 显示全部楼层 |Google Chrome 110.0.0.0|Windows 10
用的爱快软路由,默认设置是这样,没有遇到任何问题。
UDP 超时:10秒
UDP Stream 超时:60秒
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 409 天

[LV.9]以坛为家II

 楼主| 发表于 2023/2/21 18:07 | 显示全部楼层 |Google Chrome 110.0.0.0|Windows 10
小樱 发表于 2023/2/21 00:19
用的爱快软路由,默认设置是这样,没有遇到任何问题。
UDP 超时:10秒
UDP Stream 超时:60秒

这参数,这么激进啊呸,严格的吗?
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

 成长值: 87

签到天数: 4490 天

[LV.Master]伴坛终老

发表于 2023/5/20 00:53 | 显示全部楼层 |Google Chrome 113.0.0.0|Windows 10
谢谢楼主的详细教程,今天又遇到一位openwrt路由出问题的人,我觉得路由器问题需要反馈给路由器作者,以便后续能够更新固件修复,当然我也搜索了下相关反馈,openwrt的作者任由摆烂,都不理睬用户反馈,或者说作者根本不知道问题为什么只会发生在他们路由器上
3.png

毕竟软件是不会产生这么多连接数的,软路由更推荐爱快,专业稳定,假如能联系到路由作者,建议他去固件中抓包分析原因,这是正在使用比特彗星的爱快路由器占用
1.png

2.png

从论坛各种反馈来看,出问题的都是openwrt
软路由使用pandavan,爱快等其它软路由,都没有问题,同样使用tp原厂固件也没有任何问题,爱快其实也是基于openwrt内核,但是爱快就没问题
目前接到反馈的,都是路由刷了openwrt,才会有这种现象。

一些网友猜测是upnp还是nat1插件什么的,通过测试还是会发现路由器固件死机异常现象,openwrt为什么会爆炸的具体原因至今还不知道
但是这个网友猜测的结果,我认为是目前最正确的,由于openwrt默认值的timeout_stream不合理:https://bbs.itzmx.com/thread-102521-1-1.html

欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 917 天

[LV.10]以坛为家III

发表于 2023/5/20 06:11 | 显示全部楼层 |Firefox 113.0|Windows 10
本帖最后由 Github 于 2023/5/20 14:22 编辑

个人经验:官方openwrt固件,彗星的DHT让连接数爆满,在爆满的这段时间一边下载一边看YouTube直播也没问题,过一段时间连接数就回落了。
连接数应该跟内存有关,我默认的连接数几乎是16384*2。
reddit 上有人反馈他的 512MB RAM 的设备默认是16384,他自己把他改成65535,现在连接数是80%,路由器也运行正常。
@小樱
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 409 天

[LV.9]以坛为家II

 楼主| 发表于 2023/5/20 11:13 | 显示全部楼层 |Google Chrome 113.0.0.0|Windows 10
Github 发表于 2023/5/20 06:11
个人经验:官方openwrt固件,彗星的DHT让连接数爆满,在爆满的这段时间一边下载一边看YouTube直播也没问题 ...

前段时间买了ax6s刷官方固件openwrt,改最大连接数和udp老化都试过了,最后还是改最大连接数节约脑子。
官方固件最大连接数甚至16384连接数都不够,能忍?
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 917 天

[LV.10]以坛为家III

发表于 2023/5/20 14:24 | 显示全部楼层 |Firefox 113.0|Windows 10
smilesadness 发表于 2023/5/20 11:13
前段时间买了ax6s刷官方固件openwrt,改最大连接数和udp老化都试过了,最后还是改最大连接数节约脑子。
...

刚开始我发现这个问题也想改最大连接数,不过后面发现不影响使用就不管了。
[发帖际遇]: 一个袋子砸在了 Github 头上,Github 赚了 1 樱币. 幸运榜 / 衰神榜
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 409 天

[LV.9]以坛为家II

 楼主| 发表于 2023/5/20 18:49 | 显示全部楼层 |Google Chrome 113.0.0.0|Windows 10
Github 发表于 2023/5/20 14:24
刚开始我发现这个问题也想改最大连接数,不过后面发现不影响使用就不管了。

每次都是连接数到上限就死机,BC(或者ISP的bras)一般只能跑到2W+,都没到你默认连接数的上限,当然没有影响啦(
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 917 天

[LV.10]以坛为家III

发表于 2023/5/20 19:10 | 显示全部楼层 |Firefox 113.0|Windows 10
smilesadness 发表于 2023/5/20 18:49
每次都是连接数到上限就死机,BC(或者ISP的bras)一般只能跑到2W+,都没到你默认连接数的上限,当然没有 ...

我的情況也能跑到我的上限,不过好像没什么影响,大概一两分钟回落不到两千的连接数。期间也能正常的上网。
[发帖际遇]: Github 被钱袋砸中进医院,看病花了 2 樱币. 幸运榜 / 衰神榜
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 14 天

[LV.3]偶尔看看II

发表于 2024/2/5 06:34 | 显示全部楼层 |Google Chrome 121.0.0.0|Windows 10
我用的padavan,最大连接数设16384时总是报 kernel: nf_conntrack: table full (16384), dropping packet。
才发现是彗星的DHT导致的……
按我的理解nf_conntrack_udp_timeout和network.max_udp_pkt_per_sec的值相乘要小于最大连接数对吧?
dht.udp_send_queue_threshold这个选项的作用是什么,如果内存足够的话是不是没必要调小?
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册论坛 新浪微博账号登陆用百度帐号登录

本版积分规则

手机版|Archiver|Mail me|网站地图|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2024/4/20 19:28 , Processed in 0.204237 second(s), 21 queries , MemCache On.

Powered by itzmx! X3.4

© 2011- sakura

快速回复 返回顶部 返回列表