我想设置网络速度,所以我在以下位置创建了一个脚本/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
并确保它在从脚本尝试之前切换速度没有任何问题,因为这可能不是您的脚本的问题,而是驱动程序或卡或其他任何东西的问题。