目前我正努力使我的服务器成为一个可靠的路由器。它不断随机断开连接。经过一段时间的检查和调试,我终于找到了问题所在。
仅当我的接口(无论是 WAN 还是 LAN 接口)速度从 100mbps 变为 1gbps 或反之时,才会发生连接中断。当速度改变时,我可以测试 ping,无论是使用ethtool
还是使用自己的,ping 的结果700ms
都是正常的0-1ms
,这足以导致在线游戏/视频通话中的连接中断。
所以我的问题是,有没有办法:
- 强制将速度设为 1gbps,完全不允许其改变
- 强制将速度设置为 100mbps,然后我将只使用该线路作为专用互联网,并为我的文件服务器提供另一张网卡
- 更好地解决我的问题?
我尝试了很多方法,包括ethtool
,但都没有成功。
答案1
经过几天的挖掘,我终于找到了这个问题。不是:
- 电缆不良
- 坏开关
- 网卡不好
- 或任何物理存在
实际上,我将其dnsmasq
用作家庭网络的 DNS 和 DHCP 服务器。启动时dnsmasq
,默认情况下它会失败,因为 的服务systemd-resolved
使用的端口53
与 DNS 使用的端口相同。许多在线使用指南dnsmasq
都要求systemd-resolved
通过使用来禁用systemctl disable
,但许多来源实际上说这项服务对整个系统非常重要,请自行承担风险。
因此,我决定备份我的大部分家庭服务器设置,然后重新安装 ubuntu 并进行一些测试。在新系统上的测试中,我发现以太网速度和协商是稳定的。因此,以下是我的测试:
我将这个新系统作为 NAS 测试了 1 天,没有将其用作 DHCP 和 DNS 服务器。PASS
然后我重新配置该系统,dnsmasq
但这次我没有禁用systemd-resolved
,而是按照此处的指南进行操作:https://www.linuxuprising.com/2020/07/ubuntu-how-to-free-up-port-53-us-by.html。
vim /etc/systemd/resolved.conf
- 添加
DNSStubListener=no
- 重启系统
好了!现在我的家庭服务器运行得比我的路由器还要好,使用我的旧游戏电脑:
- 技嘉 X79 UD3
- i7 3820
- 32GB Corsair Dominator 1600 C9
- RAID Z1 中的 4x4 TB HDD
- 1 个 NVMe 用于主要用途
- 64GB Sandisk USB 3.2 作为启动盘
- Realtek 8125 PCIe 2.5gbe 4 端口
我们开始吧!
答案2
速度变化通常表示物理电缆出现问题、弯曲或断裂。请先尝试使用另一根网线。