UbuntuのマルチIP設定が再起動後に失敗する: 複数のIPを追加しても有効にならず、再起動後に元のIPにデフォルト設定されます

Ubuntu Netplan 50-cloud-init.yaml マルチIP設定の再起動後の失敗修復ガイド

Netplan の設定 (/etc/netplan/50-再起動後、cloud-init の .yaml ファイル(.yaml)が元のIPアドレスにロールバックされることがあります。これは通常、cloud-init サービスが起動時にネットワーク設定をリセットするか、YAML 構文または権限の問題によって設定が保持されないことが原因です。これは Ubuntu 20.04 以降、特にクラウドサーバー(Vultr や AWS など)でよく発生します。ご安心ください。修正は簡単です。構文を確認し、cloud-init のリセットを無効にして、アプリケーションを検証してください。Ubuntuは複数のIPサービスを追加しましたが効果はありません。サーバーを再起動すると、元のIP-1に戻ります。

50-cloud-init.yamlとは何か

このファイルはUbuntu Linuxシステムディレクトリ50-cloud-init.yamlの主要コンポーネントです。/etc/netplan/cloud-initこのファイルはシステムを定義します特にクラウドまたは仮想化環境でのネットワーク構成とセットアップ。
50-cloud-init.yaml の主な機能:
cloud-init によって生成されます: このファイルは、特に AWS、Azure などのクラウド環境や VMware などの仮想化プラットフォームで、Linux システムの早期初期化とカスタマイズを実行するように設計されたツールである cloud-init によって自動的に生成されます。
Netplan 構成: ネットワーク設定を定義するための Ubuntu のデフォルト システムである Netplan 構成システムを使用します。
手動編集には適していません。このファイルには通常、直接行われた変更はcloud-initの再起動や再実行後には保持されないことを示すコメントが含まれています。これは、cloud-initがデータソースから提供される情報に基づいてファイルを再生成できるためです。
動的構成: 通常、DHCP (例: dhcp4: true) を使用してネットワーク インターフェイスを構成し、IP アドレスを自動的に取得し、動的なクラウド環境に適したものにします。
上書き:直接編集することは推奨されませんが、/etc/netplan/ ディレクトリに、より大きな数値プレフィックスを持つ新しい Netplan 設定ファイル(例:99-my-custom-config.yaml)を作成することで、設定を上書きできます。これにより、静的 IP アドレスやその他の優先されるネットワーク設定を定義できます。
基本的に、これはクラウドベースまたは仮想化されたUbuntuインスタンスによって提供される初期ネットワーク設定として機能します。システムのデフォルトのネットワーク設定を理解することは重要ですが、カスタムネットワーク設定は永続性を確保するために、別のNetplanファイルに実装する必要があります。

Ubuntu 22.4 マルチIP設定方法

まず、50-cloud-init.yamlで複数のIPアドレスを設定します。

sudo vi /etc/netplan/50-cloud-init.yaml

設定後、保存して終了します :wq

構成を生成してテストし、構文が正しいことを確認します。

sudo ネットプラン生成

問題がなければ設定ファイルを適用します。

sudo ネットプラン適用

適用後にOVS警告が表示された場合は無視してください。

次のステップは重要です。

再起動のロールバックを防ぐための重要なステップである、cloud-init ネットワーク リセットを無効にします。

新しいファイルを作成する

sudo vi /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

内側に追加する

ネットワーク: {config: 無効}

cloud-init キャッシュとインスタンス ID をクリアします

sudo cloud-init clean --logs sudo rm -rf /var/lib/cloud/instance # インスタンスデータを削除します。sudo dpkg-reconfigure cloud-init # 再構成し、「なし」を選択してネットワークモジュールを無効にします。

設定を適用し、再起動をテストします

sudo netplan generate # で構文をチェックし、sudo netplan apply # で ip addr を適用し、sudo reboot で複数の IP アドレスをすぐに検証します。

上記の方法が機能しない場合は、cloud-initを完全に無効にします(極端な場合)

sudo touch /etc/cloud/cloud-init.disabled sudo systemctl クラウドinitを無効にします sudo systemctl クラウドinitをマスクします

アップグレードの修正: cloud-init を更新します: sudo apt update && sudo apt upgrade cloud-init (一部のバージョンは修正されています)。

この解決策はコミュニティの修正に基づいており、100%以降、概ね正常に動作します。再起動後も問題が解決しない場合は、cat /etc/netplan/*.yamlとjournalctl -u cloud-initの出力を下記にコメントしてください。診断をお手伝いいたします。

スコア

手紙への返信

メールアドレスが変更されることはありません。 支払い欄に必須の項目は必須です