ethtoolは事前実行中にネットワーク速度を変更しません。

ethtoolは事前実行中にネットワーク速度を変更しません。

ネットワーク速度を設定したいので、次の場所にスクリプトを作成しました/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

速度を自動的に設定するには、システム単位のファイルを作成します。ファイル.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し、スクリプトで試す前に速度の切り替えに問題がないことを確認してください。スクリプトに問題があるのではなく、ドライバやカードなどに問題がある可能性があるからです。

関連情報