Proxmox VE のプライマリ IP アドレスを安全に変更する方法
Proxmox VE を使用して仮想環境を運用する際、Proxmox ホストの IP アドレスを変更する必要が生じる場合があります。その理由は様々です。例えば、ローカルデータセンターの再構築、オフィスの再配置、あるいはホストを別のデータセンタープロバイダーへ移行する場合などが考えられます。Proxmox の IP アドレスを変更する方法については、このステップバイステップガイドをご覧ください。
Proxmox VE の IP アドレスを変更するための前提条件
Proxmoxのインストール時、インストーラーは静的IPアドレスの設定を定義するよう求めます。DHCP経由でIP設定を取得することも可能ですが(例えば、DHCPを介してリースされたIPアドレスをProxmoxホストのネットワークカードのMACアドレスに紐付けることができます)、静的IP設定が推奨されます。
ProxmoxのプライマリIPアドレスとは、通常、Proxmoxホストの管理に使用されるIPアドレスを指します。 その他のIPアドレスは、例えば共有ストレージに接続するための別の物理ネットワークアダプタ上、あるいはルーティングされたVMネットワーク(NATネットワーク)に使用されるProxmoxホスト上に存在する場合があります。このブログの主な目的は、ホスト管理に使用されるProxmoxのIPアドレスを変更することです。
この記事では、Proxmoxホストの初期設定は以下の通りです:
- IPアドレス: 192.168.101.229 (Proxmoxの固定IPアドレス)
- ネットワークマスク: 255.255.255.0
- ゲートウェイ: 192.168.101.2
- ホスト名: deb-proxmox
- ネットワークブリッジは、仮想マシンと物理ネットワーク間、および仮想マシン同士の接続を確立するために、IPアドレス 192.168.101.229 で設定されています。
- Proxmoxホスト(192.168.101.229)はクラスタのメンバーではありません。クラスタのワークフローは異なります。
ProxmoxのIPアドレスを変更する主な方法であり、最も効率的なのはコマンドラインを使用することです。あるいは、ProxmoxのWebインターフェースを使用することもできます。このブログ記事をご覧ください。 Proxmoxのインストール方法 インストールと初期設定の詳細については、こちらをご覧ください。
コマンドラインでProxmoxのIPアドレスを変更する
SSH経由でProxmoxホストに接続し、ホストにログインします。Proxmoxのコマンドラインにアクセスするには、SSHクライアントを使用するか、 Shell ProxmoxのWebインターフェースで、選択したホストのボタンをクリックします。SSHクライアントを使用する場合は、ProxmoxホストでSSHサーバーが設定されており、ファイアウォールによって接続がブロックされていないことを確認してください。
- IP設定を含むシステム設定を変更するには、root権限が必要です。root権限を取得するには、次のコマンドを使用してください:
sudo -i - Proxmoxホストの現在のIP設定を確認する:
ifconfig出力を見ると、ブリッジされた vmbr0 設定が必要なインターフェース(vmbr0 は接続されています ens33)。インターフェース名とIPアドレスが異なる場合があることに注意してください。この例では、 vmbr1 (10.10.101.229) に接続された ens36 これはVM NATネットワークのインターフェースです。 10.10.101.0/24 NATの背後(Proxmox上のルーターの背後)にあるVMで使用されるネットワーク。

注: 設定を変更する前に、設定ファイルをバックアップしておくことをお勧めします。cp コマンドを使用して、ファイルのコピーを作成できます。例えば、次のようにします。
cp file-original file-copy - を編集してIPアドレスを変更します
/etc/network/interfacesテキストエディタでファイルを開きます。軽量な組み込みのnanoまたは高度なテキストエディタvim.nano /etc/network/interfaces- 別のネットワークから新しいIPアドレスを設定する場合は、ProxmoxのIPネットワーク設定でゲートウェイのIPアドレスを変更する必要があります。
- DNSネームサーバーのIPアドレスを変更する必要がある場合があります。ネットワークごとに異なるDNSサーバーを使用することができます。
注1: VM用にルーティングされたネットワーク(NATネットワーク)を使用している場合は、対応するIPアドレス、ネットワーク、およびゲートウェイも変更する必要があるかもしれません。その場合は、該当するインターフェース、ネットワーク、および iptables ルーティングのルール。
注2: ホストを別のネットワークに接続する場合、例えば、 /16 ~の代わりに /24 (ネットワークマスク付き 255.255.0.0 ~の代わりに 255.255.255.0)、IPネットワーク設定でネットワークアドレスとサブネットマスクを適宜調整してください。
この例では、ブリッジ接続されたネットワークインターフェースおよびProxmoxホスト管理用のIPアドレスとして、192.168.101.229を192.168.105.229に変更します(NATネットワークの設定は変更しません)。
ゲートウェイのアドレスを 192.168.101.2 から 192.168.105.2 に変更し、対応するネットワーク 192.168.105.0/24 に適合させます。
- 報道 Ctrl+O ファイルの変更を保存して、 Ctrl+X 終了するには ナノ.

- を編集する
/etc/hostsホスト名を編集するファイルを開いてください。ホスト名は新しいIPアドレスと一致している必要があり、そうして初めて正しく解決されるからです。nano /etc/hostsこの例では、次のように変更します 192.168.101.229 ~へ 192.168.105.229 ~のために deb-proxmox. 設定値は異なる場合があります。その場合は、設定ファイル内の該当する値を編集してください。
必要な値を編集したら、
Ctrl+O変更内容をファイルに保存して、Ctrl+X終了するには ナノテキストエディタ。
- 変更を反映させるには、ネットワークサービスを再起動してください。
systemctl restart networking
ネットワークサービスを再起動できない場合、または再起動しても問題が解決しない場合は、ホストを再起動してください。 init 6 コマンド。この操作を行う前に、仮想マシンが電源オフになっていることを確認してください。
ProxmoxのIPアドレスを変更してネットワークサービスを再起動した後、WebインターフェースやSSH経由でProxmoxホストに接続する際は、新しいIPアドレスを使用する必要がある点に注意してください。この場合、Proxmoxホストに再接続する必要があります。正しいネットワークに接続されていることを確認してください。
WebインターフェースでのProxmoxのIPアドレスの変更
ProxmoxのIPアドレスを変更する2つ目の方法は、グラフィカルユーザーインターフェース(GUI)、つまりProxmoxのWebユーザーインターフェースを使用する方法です。この方法は初心者の方には好まれるかもしれませんが、設定の原理は同じです。つまり、 /etc/network/interfaces ファイルを開き、ホスト名を変更して編集します /etc/hosts. これらの設定は、利便性を高めるため、Proxmoxの管理Webインターフェースで行います。
この例におけるProxmoxホストの初期設定は、前述の方法(コマンドラインを使用した場合)による設定の初期段階と同じです。ProxmoxのWeb UIには、 https://192.168.101.229:8006 この場合はリンクです。8006は、ProxmoxのWebインターフェースのデフォルトポートです。
- Proxmox VEのWebインターフェースにログインし、ナビゲーションペインで、IPアドレスを変更したいホストを選択します。この例では、 deb-proxmox.
- 移動
System>Network. Proxmoxホストの管理に使用するネットワークインターフェース(IPアドレスを変更したいもの)を選択し、[クリック]Edit. 私たちは選定します vmbr0 ネットワークインターフェースとして。
- 選択したネットワークインターフェースの設定ウィンドウが開きます:
IPv4/CIDR:新しいIPアドレスとネットワークマスク(CIDR)を入力してください。Gateway:IPアドレスを別のネットワークのアドレスに変更した場合は、新しいゲートウェイを入力してください。- その他の設定はそのままにしておいてください。
私たちは変わります 192.168.101.229/24 ~へ 192.168.105.229/24 そして 192.168.101.2 ~へ 192.168.105.2. 下のスクリーンショットにあるように、ブリッジ接続されたインターフェース vmbr0 は、~と関連している ens33 ネットワークアダプタ(インターフェース)。
クリック
OKProxmoxのIPアドレス設定を保存し、現在のウィンドウを閉じます。
- 移動
System>Hosts. 以下の内容を確認できます。/etc/hostsこのファイルは、Webインターフェースの専用フィールドに表示され、そこでhostsファイルの内容を直接編集することができます。ホスト名の解決が正しく行われるよう、ホストの設定で古いIPアドレスを新しいIPアドレスに変更し、[クリック] してください
Save。私たちは変えます 192.168.101.229 ~へ 192.168.105.229 ~のために deb-proxmox.
- さあ、戻りましょう
System>Network、そこでProxmoxのIPアドレスを変更するためにネットワークインターフェースを選択しました。クリックApply Configuration以前に行ったネットワークの変更を適用します。保留中のネットワーク変更を適用しますか? クリック
Yes. ネットワークサービスが再起動します。
- ネットワークサービスが再起動するまでお待ちください。
- 必要に応じて、ホストを別の物理ネットワークに接続してください。
- Proxmoxホストの新しいIPアドレスを入力して、ユーザーインターフェースにログインします。新しいIPアドレスを持つProxmoxホストにアクセスできる正しいネットワークに接続されていることを確認してください。今回のケースでは、ProxmoxのWeb UIへの新しいリンクは https://192.168.101.229:8006 となります。ここで、8006はProxmoxのデフォルトポートです。
ProxmoxクラスタでのIPアドレスの変更
Proxmoxクラスタをご利用の場合、両者の手順に共通する部分があるにもかかわらず、問題が発生する可能性があるため、前述の手法は使用できません。ProxmoxクラスタでIPアドレスを変更する手順には、ネットワーク設定の更新、クラスタ設定の変更、および corosync 設定。
以下に基本的なワークフローを示しますが、Open vSwitchの使用、VLAN設定、IPアドレスを変更するクラスタノードの数、その他の設定パラメータなど、いくつかの要因によって、お使いの環境では異なる場合があります。
クラスタノード(クラスタメンバーであるProxmoxホスト)のIPアドレスは、一度に1台ずつ変更することをお勧めします。この方法により、クラスタを稼働状態に保つことができます。
- サービスの中断を防ぐため、IPアドレスを変更するノード上で、クラスタ関連のサービスを停止してください:
systemctl stop pve-clustersystemctl stop corosync - Proxmoxホストの新しいIPアドレスを反映するように、ネットワーク設定を編集します:
nano /etc/network/interfaces新しいIPアドレスを使用するように、該当するネットワークインターフェースの設定を変更してください。例:
iface vmbr0 inet staticaddressnetmask 255.255.255.0gatewaybridge_ports eth0bridge_stp offbridge_fd 0ファイルを保存し、ホスト上でネットワークサービスを再起動します:
systemctl restart networking - を更新する
/etc/hosts新しいIPアドレスを記載したファイル:nano /etc/hosts該当するホスト名の古いIPアドレスを新しいIPアドレスに置き換えてください。
- 新しいIPアドレスを反映するようにProxmoxクラスタの設定を変更します:
nano /etc/pve/corosync.confIPアドレスを変更するノードのセクションを探し、IPアドレスを更新してください:
node {name:nodeid:quorum_votes: 1ring0_addr:}ファイルを保存してください。
- Corosyncの設定を更新してください。Proxmoxのバージョンによっては、
Corosync 3.x、Corosyncトランスポートの設定を調整する必要がある場合があります。 bindnetaddr 設定:nano /etc/pve/corosync.conf必ず bindnetaddr 新しいIP設定に関連付けられたネットワークアドレスを示しています:
totem {...interface {ringnumber: 0bindnetaddr:mcastport: 5405ttl: 1}...}その corosync このサービスは、すべてのクラスタノード間でクラスタ構成を同期するために使用されます。編集するだけで十分です corosync あるノードで設定を行い、変更された設定はクラスタ内の他のノードと同期されます。
- 対象ノードでクラスタ関連のサービスを再起動します:
systemctl start corosyncsystemctl start pve-cluster - 以前のIPアドレスに関連付けられているファイアウォールルールやその他の設定がある場合は、必要に応じて更新してください。
- 新しいIPアドレスでノードに接続できることを確認し、クラスタ内で正常に動作していることを確認してください:
pingpvecm status - すべての手順が完了し、サービスが再起動されると、クラスタはIP設定が更新されたノードで動作するようになります。2番目のノードのIPアドレスを変更する必要がある場合は、Proxmoxクラスタの2番目のノードに対しても同様の手順を繰り返してください。
- すべてのノードの設定が更新されたら、 known_hosts すべてのProxmoxノードに新しいIPアドレスを記載したファイルを作成します。これにより、ノード同士が問題なく通信できるようになります:
/etc/pve/priv/known_hosts各ノードから他のすべてのノードへSSHで接続を試みることができます。
結論
クラスタに属さないサーバーのProxmoxメインIPアドレスを変更するには、コマンドラインインターフェースまたはProxmoxのWebインターフェースを使用します。どちらの方法でも、設定ファイルの編集が必要です。 /etc/network/interfaces そして /etc/hosts 設定ファイルと、これらのファイル内のIPアドレスの変更。これらの方法の違いは、ファイルへのアクセス方法にあります。Proxmoxホストがクラスタノードである場合、手順は異なります。ホストがクラスタのメンバーである場合は、クラスタに属していないホストのIPアドレスを変更する手順を使用しないでください。変更を行う前に、元の設定をバックアップしておくことをお勧めします。