如何减少基于 Ubuntu 的路由器上的缓冲区膨胀

如何减少基于 Ubuntu 的路由器上的缓冲区膨胀

我有一台旧的戴尔 Optiplex 790(添加了双英特尔 PCI-E 千兆网卡),我决定使用 Ubuntu 16.04 和此处的指南将其改造成路由器https://arstechnica.com/gadgets/2016/04/the-ars-guide-to-building-a-linux-router-from-scratch/总结一下这篇文章,它只是一个 Ubuntu 桌面安装(他们使用服务器版本),启用了转发功能,并使用 Iptables 进行 NAT 和安全保护。一切顺利,它确实可以路由流量,但在对 DSL 报告进行测试时,我发现缓冲膨胀过多(1800+ 毫秒),这严重影响了我的下载速度。我的速度为 60Mbps(我住在一个小镇),但在两三秒内,缓冲区就满了,速度下降到 6 Mbps。

我的问题是,我可以更改 Ubuntu 桌面内核中的哪些设置来减少或消除此问题。我之前使用的是 TP-Link 无线路由器,没有这个问题,所以我知道问题出在路由器上,而不是连接上。我运行的所有 ping 测试都返回 A+,因此,问题似乎再次出在路由器上,以及它缺乏拥塞控制机制/设置。

Ars 使用的机器比这个机器功率小,但他们的测试显示其性能比我得到的要好得多。我还想听听有关如何提高路由器性能的其他想法。

:Box 使用 128GB SSD 和额外的 1TB HDD。至于使用专为路由器设计的发行版,Ars 测试了几个,包括 pfsense 和 dd-wrt。他们发现 Ubuntu 在几乎所有情况下都表现更好。Ubuntu 可以正常工作。只需进行一些调整即可。

答案1

用于正确配置 fq_codel 的 sqm 脚本在 ubuntu 上可以很好地控制缓冲区膨胀。

https://github.com/tohojo/sqm-scripts

您还可以进行蛋糕的树外构建,这更容易配置。

相关内容