12.5. ネットワークスタックの CNI から Netavark への切り替え

これまで、コンテナーは単一の Container Network Interface (CNI) プラグインに接続されている場合のみ DNS を使用できました。Netavark は、コンテナー用のネットワークスタックです。Netavark は、Podman やその他の OCI(Open Container Initiative) コンテナー管理アプリケーションで使用できます。Podman の高度なネットワークスタックは、Docker の詳細機能にも対応しています。現在、複数のネットワーク上にあるコンテナーは、これらのネットワークにあるコンテナーにアクセスします。

Netavark は以下のことが可能です。

  • ブリッジおよび MACVLAN インターフェイスなどのネットワークインターフェイスの作成、管理、削除。
  • ネットワークアドレス変換 (NAT) やポートマッピングルールなどのファイアウォールの設定。
  • IPv4、IPv6 のサポート。
  • 複数のネットワークにおけるコンテナーへの対応改善。
警告

CNI ネットワークスタックは非推奨となり、Podman v5.0 で削除されます。代わりに Netavark ネットワークスタックを使用してください。

前提条件

  • container-tools メタパッケージがインストールされている。

手順

  1. /etc/containers/containers.conf ファイルが存在しない場合は、/usr/share/containers/containers.conf ファイルを /etc/containers/ ディレクトリーにコピーします。

    # cp /usr/share/containers/containers.conf /etc/containers/
  2. /etc/containers/containers.conf ファイルを編集し、[network] セクションに以下の内容を追加します。

    network_backend="netavark"
  3. コンテナーや Pod がある場合は、ストレージをリセットして初期状態に戻します。

    # podman system reset
  4. システムを再起動します。

    # reboot

検証

  • ネットワークスタックが Netavark に変更されていることを確認します。

    # cat /etc/containers/containers.conf
    ...
    [network]
    network_backend="netavark"
    ...
注記

Podman 4.0.0 以降をお使いの場合は、podman info コマンドでネットワークスタックの設定を確認してください。

関連情報