ethtool 不会改变 pre-up 中的网络速度

ethtool 不会改变 pre-up 中的网络速度

我想设置网络速度,所以我在以下位置创建了一个脚本/etc/network/if-pre-up.d/eth-tool

#!/bin/sh
ethtool eth0 -s speed 10 duplex full autoneg off

我设置了执行权限,但启动时网络仍然以 100 Mbps 运行。我里面有一个包含以下内容的文件/etc/systemd/network/20-eth0.network

[Match]
Name=eth0

[Network]
DNS=192.168.0.1
Address=192.168.0.100/24
Gateway=192.168.0.1

我可以在这里设置网络速度吗?

答案1

创建一个 systemd 单元文件以自动设置速度。该.service文件会是这样的

[Unit]
Description=Setting Speed
Requires=network.target
After=network.target

[Service]
ExecStart=/usr/bin/ethtool -s eth0 speed 10 duplex full autoneg off
Type=oneshot

[Install]
WantedBy=multi-user.target

if-pre-up.d也应该有效,但你提到~/etc我认为这是一个打字错误。它应该是/etc/network/if-pre-up.d/ethtool

另外,请包含命令的完整路径名/sbin/ethtool

最后,从命令行测试ethtool并确保它在从脚本尝试之前切换速度没有任何问题,因为这可能不是您的脚本的问题,而是驱动程序或卡或其他任何东西的问题。

相关内容