我想在 ubuntu 20.04 中永久设置以太网速度和双工。
我需要 100Mbs 速度和全双工。
尽管我尝试了很多方法来设置它们,但还没有成功。
我可以告诉你一些我尝试过的方法。
首先,我使用了 ethtool。
sudo ethtool –s [device_name] speed [10/100/1000] duplex [half/full] autoneg [on/off]
当我输入上述命令时,速度立即改变了。
然而,当我重新启动电脑时,速度又恢复到未知状态。
我找到了一种方法来永久设置 Ethtool 命令设置的 Ethtool_opt 变量。
方法是使用以下命令。
vi /etc/sysconfig/network-scripts/ifcfg-[device_name]
使用以下语法将所需的值作为一行添加到文件末尾:
ETHTOOL_OPTS="speed [100|1000|10000] duplex [half|full] autoneg [on|off]”
但我的电脑没有/sysconfig/network-scripts/ifcfg-[device_name]
。
所以我无法尝试这个方法。
第二,另一种方法是使用beblow命令。
nm-connection-editor
然后,在第一个窗口中,选择您的网络接口并点击第二个窗口上的齿轮,设置接口速度和双工。
结果,第二种方法也失败了。
除了我做的这些,还有其他方法吗?
答案1
首先,你为什么需要这样做?你是想强制执行此限制还是你的连接有问题?我问这个问题是因为每个问题的答案可能不同。
如果您的连接出现问题,您可以打开网络管理器小程序(靠近指示连接的时钟的小程序),选择您的连接并打开第二个选项卡。在那里您可以看到“链路协商”或“自动协商”选项(如果它不在此选项卡上,请尝试其他选项)。通常,如果已打开,网络管理器会解决与速度和双工相关的问题。这就是我问您是否要解决问题或强制速度/双工设置的原因。
如果您需要强制执行该设置(或者“自动协商”无法解决您的问题),您可以在同一个选项卡中看到速度和双工选项(如果没有,请取消选中“自动协商”选项)。然后您可以选择任何您想要的设置(只要您的网卡支持它)。
答案2
在 Ubuntu 中,应将网络脚本放入/etc/network/if-up.d/
(在接口激活时运行的脚本)。在那里
创建一个脚本eth-speed
并将以下代码放入其中(根据需要使用正确的接口名称):
#!/bin/sh
ethtool -s <interface_name> speed 100 duplex full autoneg off
然后运行sudo chmod +x /etc/network/if-up.d/eth-speed
使其可执行。
然后使用以下命令重新启动界面:
sudo ifdown <interface_name> && sudo ifup <interface_name>
检查ethtool <interface_name>
是否已应用所有所需设置。