仮想NIC変更時にネットワークが消える理由

  • URLをコピーしました!

KVM / VMware / Proxmox / OpenStack などの仮想環境で、

  • 仮想NICの種類を変更したら通信できなくなった
  • 再起動後にIPが付かない
  • eth0 が消えた/別名になった
  • NICは見えるのに通信できない

といったトラブルは非常に頻発します。

本記事では、

  • 仮想NIC変更で何が変わるのか
  • ネットワークが「消えたように見える」典型原因
  • 実務での切り分け手順
  • 原因別の具体的復旧方法
  • 再発防止の設計ポイント

を整理し、その場で復旧できることを目的に解説します。

目次

仮想NICを変更すると何が変わるのか

仮想NIC(e1000 → virtio-net など)を変更すると、

  • PCIデバイスID
  • MACアドレス
  • インターフェース名

別物として扱われます。

Linuxはこれを「新しいNIC」と認識するため、 既存のネットワーク設定と一致しなくなります。

最も多い原因① インターフェース名の変更

なぜ起きるか

仮想NICを変更すると、predictable network interface により

  • eth0ens3
  • ens3ens5

のように名前が変わることがあります。

その結果、

  • 設定ファイルは eth0 のまま
  • 実際のNICは ens3

という不整合が起きます。

確認方法

# ip link show

NICは見えるが IP が無い状態になります。

対処方法

実際のNIC名に合わせて設定を修正します。

RHEL/CentOS系:

# nmcli device status
# nmcli con show
# nmcli con mod <connection> connection.interface-name ens3
# nmcli con up <connection>

もしくは設定を作り直します。

原因② MACアドレス変更による設定無効化

なぜ起きるか

仮想NIC変更時、MACアドレスが変わると、

  • NetworkManager が別NICと判断
  • 既存設定を適用しない

ことがあります。

確認方法

# nmcli device show ens3 | grep HWADDR

設定ファイルに MAC 指定があるか確認:

# grep -i mac /etc/NetworkManager/system-connections/*

対処方法

  • MAC指定を削除
  • 設定を再作成

原因③ udev による古いNIC情報の残存

なぜ起きるか

古いOSでは、NIC情報が udev ルールとして残ることがあります。

確認・対処

# rm -f /etc/udev/rules.d/70-persistent-net.rules
# reboot

※ 最近のOSではほぼ発生しませんが、古い環境では要注意です。

原因④ cloud-init による上書き

なぜ起きるか

cloud-init が有効な環境では、

  • 起動時にNIC定義を自動生成
  • 仮想NIC変更後も古い定義を適用

してしまうことがあります。

確認方法

# cloud-init status

対処方法

NICを手動管理する場合:

# touch /etc/cloud/cloud-init.disabled
# reboot

または netplan / ifcfg 側を修正します。

原因⑤ virtio-net ドライバ未対応

仮想NICを virtio-net に変更したが、

  • カーネルが古い
  • initramfs にドライバが無い

場合、NIC自体が見えません。

切り分けの正しい順序

  1. ip link でNICが存在するか
  2. インターフェース名が変わっていないか
  3. NetworkManager / netplan 設定確認
  4. MACアドレス縛り有無
  5. cloud-init 介入有無

「NICが見えるか/見えないか」で 問題の層が切り分けられます。

正常と判断できる状態

  • ip link に NIC が表示される
  • 正しいインターフェース名に IP が付与される
  • ip route に default route がある
  • ping が通る

再発防止のベストプラクティス

  • 仮想NIC変更前に現在の設定を把握する
  • インターフェース名固定前提の設計を避ける
  • cloud-init 使用有無を明確にする
  • 変更後は必ず ip link から確認

まとめ

  • 仮想NIC変更=別NIC扱い
  • 多くは「名前」「MAC」「設定の不一致」
  • NICが見えればOS設定、見えなければドライバ
  • 慌ててIP設定を触らず、まず状態確認

仮想NIC変更時のトラブルは構造を理解すれば容易に解決できます

目次