ブリッジモジュールが必要なときにipv6を無効にする方法は?

ブリッジモジュールが必要なときにipv6を無効にする方法は?

Linuxでは、ブリッジネットワークカードが必要な場合は、ブリッジモジュールが自動的にロードされます。しかし、ブリッジの依存関係の1つはipv6です。 ipv4だけが必要なので、ipv6の依存関係を無視する方法はありますか?モジュールをブラックリストに登録しようとしましたが、まったく機能しませんでした。

編集:問題はipv6を無効にする方法を尋ねるのではなく、ipv6モジュールなしでブリッジをロードする方法を知りたいです。質問は繰り返されません。

ベストアンサー1

それから構成定義:

depends on: CONFIG_IPV6 || CONFIG_IPV6 = CONFIG_n

ブリッジモジュールはカーネルでコンパイルされた場合(組み込みまたはモジュールとして)、ipv6モジュールに依存するか、依存しないようです(カーネルでまったくコンパイルされていない場合)。したがって、IPv6を使用したくない場合は、CONFIG_IPV6オプションを設定せずにカーネルを使用できます。

これがオプションでない場合は、次のいずれかを実行できます。

  • まず、ipv6モジュール(modprobe ipv6)をロードしてから、次を変更して、そのインターフェイスまたは他のインターフェイスまたはすべてのインターフェイスに対してIPv6をすぐに無効にします。disable_ipv61に切り替え:

    echo 1 > /proc/sys/net/ipv6/conf/someinterface/disable_ipv6
    

    または同等のsysctlを使用してください(もっと使い慣れていますsudoip netns

    sysctl -w net.ipv6.conf.someinterface.disable_ipv6=1
    

    機能を無効にするには、まずipv6モジュールをロードする必要があります!それ以外の場合、上記のトグルは使用できません。

    ブリッジ インターフェイス自体で IPv6 を無効にするのは本当に良い考えかもしれません。

    後で提供される最新のインターフェイスを含むipv6の使用を無効にするには、次の手順を実行します。

    sysctl -w net.ipv6.conf.default.disable_ipv6=1
    sysctl -w net.ipv6.conf.all.disable_ipv6=1
    
  • 制限された環境(組み込みなど)に適しており、すべてのipv6コードをインストールできない可能性があるカーネルブートオプションもありますが、ブリッジのipv6.disable=1「アクティブ化」と互換性があるかどうかはテストされていません。

    起動オプションに「ipv6.disable = 1」を追加し、grubファイルを保存します。

    GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 quiet splash"
    

    この起動オプションの詳細については、AskUbuntuの回答で確認できます。IPv6を永久に無効にする方法は?

  • それからこの方法もうまくいくと思いました(しかしIPv6が組み込まれているのでテストすることはできません)。単にmodprobe ipv6最初の方法を使用する代わりに、次のことを試してください。

    modprobe ipv6 disable=1
    

    または

    modprobe ipv6 disable_ipv6=1
    

    ロードされる前に。これが機能したら、次のオプションで追加できます。

    options ipv6 disable=1 disable_ipv6=1 #pick the right option
    

    たとえば、/etc/modprobe.d/disable-ipv6.conf

おすすめ記事