15.3. ネットワーク設定


デフォルトイメージには NetworkManager 動的ネットワーク制御および設定システムが含まれており、bootc はケーブルが接続されているすべてのインターフェイスで DHCP を使用して接続を試みます。/run/NetworkManager/conf.d ディレクトリーをセットアップすることで、一時的なネットワーク設定を適用できます。

ただし、静的アドレス指定や、VLAN、ボンディング、ブリッジ、チームなどのより複雑なネットワークを使用する必要がある場合は、別の方法を使用できます。ネットワークを設定する方法に関係なく、NetworkManager の設定は NetworkManager キーファイルの形式を使用します。

ホストネットワーク設定オプション
複雑なネットワーク設定では、多くの場合、マシンごとの状態も必要です。たとえば、静的 IP アドレスが含まれたマシン固有のコンテナーイメージを生成できます。ホストの MAC アドレスを検査して、イメージ内からネットワーク設定を生成するコードを含めることもできます。
利用可能なネットワーク設定オプション

静的 IP を設定するために使用できるオプションと、設定方法は次のとおりです。

  • Containerfile を使用する: 静的 IP を持つコンテナーイメージを作成するか、MAC アドレスに基づいてイメージ内からネットワーク設定を生成するコードを含めます。

    • MAC アドレスまたはその他のアドレスをマッチさせるには、Device List Format で指定されている設定を使用します。
    • ネットワークを設定するには、起動済みのシステムで行うのと同様に、nmcli connection add を使用できます。ただし、ビルド時には、明示的に --offline 引数と組み合わせてコマンドを使用する必要があります。詳細は、nmcli を使用したイーサネット接続の設定 を参照してください。
    • ContainerFile 内の nmcli コマンドの前に、必ず次のコマンドを追加してください。

      RUN nmcli --offline connection add
  • Anaconda を使用する場合: Anaconda キックスタートを使用して、ベアメタルインストール用に Wi-Fi を含むネットワークを設定できます。設定はデフォルトで /etc/NetworkManager/system-connections/ に保存され、基本的にマシン固有の状態として扱われます。
  • カーネル引数を使用する: 最初の起動時にカーネルパラメーターを追加して、ネットワーク設定を定義します。マシンの最初の起動時に、ネットワーク設定を定義するカーネル引数を入力します。カーネル引数のほとんどは、dracut.cmdline の man ページで定義されています。さまざまな方法を使用して、最初の起動時にこれらのカーネル引数を適用できます。bootc install を使用する場合、--karg を使用してマシンごとにカーネル引数を設定することもできます。
  • NetworkManager キーファイルを使用する: nmcli または nm-initrd-generator

nmcli を使用して NetworkManager キーファイルを生成する

nmcli NetworkManager コマンドラインツールは、NetworkManager デーモンと通信せず、キーファイルの内容を標準出力に書き込むだけのオフラインモードを提供します。

  • 作成する接続プロファイルごとに nmcli ツールを実行します。

    $ nmcli --offline connection add \
            type ethernet ifname enp1s0 \
            ipv4.method manual ipv4.addresses 192.0.0.1/24 \
            ipv6.method disabled
    
    [connection]
    id=ethernet-enp1s0
    uuid=ff242096-f803-425f-9a77-4c3ec92686bd
    type=ethernet
    interface-name=enp1s0
    
    [ethernet]
    
    [ipv4]
    address1=192.0.0.1/24
    method=manual
    
    [ipv6]
    addr-gen-mode=default
    method=disabled
    [proxy]

nmcli を使用して指定できるプロパティーのリストについては、設定の man ページを参照してください。Bash の自動補完が利用可能です。

nm-initrd-generator を使用して NetworkManager キーファイルを生成する

NetworkManager には、dracut カーネル引数構文からキーファイルを生成できる nm-initrd-generator ツールが含まれています。このツールを使用すると、カーネル引数からキーファイルに変換したり、少量の入力でキーファイルを素早く生成して、より詳細な設定を変更したりすることができます。

  • nm-initrd-generator を使用してボンディングのキーファイルを生成します。

    $ podman run --rm -ti quay.io/<namespace>/<image>:<tag> /usr/libexec/nm-initrd-generator -s -- "ip=bond0:dhcp" "bond=bond0:ens2,ens3:mode=active-backup,miimon=100" "nameserver=8.8.8.8"
    
    * Connection 'bond0' *
    
    [connection]
    id=bond0
    uuid=643c17b5-b364-4137-b273-33f450a45476
    type=bond
    interface-name=bond0
    multi-connect=1
    permissions=
    
    [ethernet]
    mac-address-blacklist=
    
    [bond]
    miimon=100
    mode=active-backup
    
    [ipv4]
    dns=8.8.8.8;
    dns-search=
    may-fail=false
    method=auto
    
    [ipv6]
    addr-gen-mode=eui64
    dns-search=
    method=auto
    
    [proxy]
    
    * Connection 'ens3' *
    
    [connection]
    id=ens3
    uuid=b42cc917-fd87-47df-9ac2-34622ecddd8c
    type=ethernet
    interface-name=ens3
    master=643c17b5-b364-4137-b273-33f450a45476
    multi-connect=1
    permissions=
    slave-type=bond
    
    [ethernet]
    mac-address-blacklist=
    
    * Connection 'ens2' *
    
    [connection]
    id=ens2
    uuid=e111bb4e-3ee3-4612-afc2-1d2dfff97671
    type=ethernet
    interface-name=ens2
    master=643c17b5-b364-4137-b273-33f450a45476
    multi-connect=1
    permissions=
    slave-type=bond
    
    [ethernet]
    mac-address-blacklist=

このコマンドは、各インターフェイスに対して、bond0ens3ens2 の 3 つのキーファイルを生成します。生成された出力を使用して、さらに設定を追加したり、既存の設定を変更したりして、ファイルをコンテナーイメージにコミットできます。

静的 IP の設定

  • 次の dracut カーネル引数を使用できます。

    テンプレート:

ip=${ip}::${gateway}:${netmask}:${hostname}:${interface}:none:${nameserver}

以下に例を示します。

ip=10.10.10.10::10.10.10.1:255.255.255.0:myhostname:ens2:none:8.8.8.8

コンテナーイメージに埋め込まれた設定を書き込む

この形式は不変のイメージ状態の一部であるため、コンテナーイメージに埋め込まれた NetworkManager 設定を /usr/lib/NetworkManager/system-connections/ に保存します。コンテナーイメージの一部として /etc/NetworkManager/system-connections/ に設定を書き込むこともできます。デフォルトの OSTree 3 方向マージ (つまり、古いデフォルト設定、アクティブな /etc システム、および新しいデフォルト設定の使用) は、マシン固有の設定に適用されます。

キーファイルには 600 の root 専用アクセス権限が必要です。そうでない場合、NetworkManager はこのファイルを無視します。

イーサネットデバイスの自動設定を無効にする

デフォルトでは、NetworkManager はケーブルが接続されているすべてのインターフェイスで DHCP または SLAAC アドレスを使用して自動設定を試みます。一部のネットワーク環境では、これは望ましくない場合があります。そのためには、/usr/lib/NetworkManager/conf.d/noauto.conf などの設定ファイルを追加して、NetworkManager の動作を変更することができます。

  • Ethernet デバイスの NetworkManager 自動設定を無効にする

    [main]
    # Do not do automatic (DHCP or SLAAC) configuration on ethernet devices
    # with no other matching connections.
    no-auto-default=*
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る