ネットワーク管理者なしで起動時にネットワークインターフェイスがロードされないようにするにはどうすればよいですか?

ネットワーク管理者なしで起動時にネットワークインターフェイスがロードされないようにするにはどうすればよいですか?

私が使用しているコンピュータには4つのネットワークインタフェースがあり、そのうちの1つだけが現在使用されています(残りの3つはまったく接続されていません)。現在のマシンが再起動すると、インターフェイス2〜4をロードしようとすると数分遅れます。マシンが頻繁に再起動されるため、これはかなり面倒です。

dmesgを実行すると、次のようになります。

[15] IPv6 ADDRCONF(NETDEV_UP): eth1: link is not ready
[57] IPv6 ADDRCONF(NETDEV_UP): eth2: link is not ready
[98] IPv6 ADDRCONF(NETDEV_UP): eth3: link is not ready
[140] ...

これらのインターフェイスが使用されず、時間がかかることを考慮すると、起動中に単に無効にしたいのですが、これらのインターフェイスで無駄な時間を減らすための他のオプションも開いています。

確認してみると、/etc/sysctrl.confIPv6が無効になっているためIPv6を試すことができないようです。

ネットワークスクリプトディレクトリのインターフェイス名とONBOOT=no

また、すべてのインターフェースを見てみましたが、/sys/class/net/ethX/device/power/controlすべて「on」が含まれていました。だから、次のことを試してみました。

echo off > /sys/class/net/ethX/device/power/control

しかし、私はそれを理解し、write error: Invalid argumentエコーはon素晴らしい作品です。このファイルを変更する方法についての言及は見つかりませんが、インターフェイスを完全にオフにするのは少し極端なようです。

ネットワーク管理者がインストールされておらず、可能であればそれを維持することをお勧めします(問題についてより多くのパッケージを投げるよりも設定を好む)。


これについては説明しませんが、この問題に直面する可能性がある他の人のためにdmesgこれらの長い待ち時間が報告されているという事実は、カーネルがこれらのインターフェースをアクティブにしようとしていることを示しています。したがって、カーネルパラメータは追求できる手段であってもカーネルバグであってもよい。 Linux 自体を構成しても問題が解決しない場合があり、grubカーネル自体を構成または変更することもできます。


修正する

私が投稿した独自の答えは実際にテストする機会がありましたが、成功しませんでした。しかし、私が試したことを投稿します。

dmesgカーネルが何かをしているというメッセージを見て、カーネルパラメータのドキュメントを見ました。https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt

インターフェイスにIPv6を設定するオプションがあることがわかりました。https://www.kernel.org/doc/Documentation/networking/ipv6.txt


このページでは、次のカーネルオプションについて簡単に説明します。

disable=[01]0はIPv6モジュールをロードし(デフォルト)、1はIPv6モジュールをロードしません。

autoconf=[01]0はすべてのインターフェイスでIPv6自動設定を無効にし、1はすべてのインターフェイスで自動設定を有効にします(デフォルト)

disable_ipv6=[01]0はすべてのインターフェイスでIPv6を有効にし(デフォルト)、1はすべてのインターフェイスでIPv6を無効にします。

しかし、これらのオプションのどれも問題を解決しません。

ベストアンサー1

/etc/rc.localに次の行を追加できます。

ip link set dev "eth1" down
ip link set dev "eth2" down
ip link set dev "eth3" down

あまりにも基本的または静的なソリ​​ューションではない場合...

おすすめ記事