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

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

私が使用しているコンピュータには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

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

答え2

私は同じ迷惑な問題に遭遇し、専門家ではありませんが、設定ファイルを検索しながら、実際の最新バージョンのDevuanで解決策を見つけました。

  • ファイルの編集/etc/init.d/networking
  • 次の行があります。
    CONFIGURE_INTERFACES=
    
    に設定するno

答え3

NetworkManagerなしでRHELまたは関連ディストリビューションから起動時に特定のネットワークインターフェイスが起動しないように選択的に無効にするには、無効にしたいインターフェイスに対応する/etc/sysconfig/network-scripts/ifcfg-<interface>ファイルを編集して行ONBOOT="yes"ONBOOT="no"

関連情報