すべてのプロダクト
Search
ドキュメントセンター

:複数 NIC を搭載した Linux インスタンスで NIC ドリフトが発生した場合の対処方法

最終更新日:Apr 28, 2026

複数 NIC を搭載した Linux ECS インスタンスで NIC の追加または削除後に、NIC と MAC アドレスの不一致を修正します。

症状

複数 NIC を搭載した Linux ECS インスタンスで NIC を追加または削除すると、NIC デバイス名とメディアアクセス制御 (MAC) アドレスとの間に不一致が生じることがあります。この不一致は NIC ドリフトと呼ばれます。

以下の例では、インスタンスに eth1(MAC 00:16:3e:10:bd:1b)および eth2(MAC 00:16:3e:0c:92:df)が存在します。ip addr コマンドを実行すると、eth1 に eth2 の MAC アドレスが表示されており、NIC ドリフトが発生していることを示しています。NIC name drift

原因

NIC 情報は /etc/udev/rules.d/70-persistent-net.rules に保存されています。このファイルが存在しないか、誤ったエントリが含まれている場合に NIC ドリフトが発生します。

ソリューション

重要
  • Alibaba Cloud インスタンスの構成やデータを変更するなど高リスク操作を実施する前に、ご利用のインスタンスのディザスタリカバリおよびフォールトトレランス機能を確認し、データセキュリティを確保してください。事前にスナップショットを作成することを推奨します。スナップショットの詳細については、「概要」をご参照ください。

  • 特定のユーザーにユーザー名やパスワードなどの機密情報を許可した場合、または Alibaba Cloud 管理コンソールで機密情報を送信した場合は、速やかに当該情報を変更してください。

/etc/udev/rules.d/70-persistent-net.rules を編集して、各 NIC デバイス名を正しい MAC アドレスにバインドします。

  1. Linux ECS インスタンスに接続します。
    接続方法の概要」をご参照ください。
  2. /etc/udev/rules.d ディレクトリに移動します:
    cd /etc/udev/rules.d
  3. /etc/udev/rules.d/70-persistent-net.rules ファイルを開きます:
    vi 70-persistent-net.rules
  4. 各 NIC デバイス名をその MAC アドレスにバインドします:
    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="<NIC の MAC アドレス>", KERNEL=="eth*", NAME="<NIC のデバイス名>"
    たとえば、eth1 を MAC アドレス 00:16:3e:10:bd:1b にバインドするには、次のとおり記述します:
    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:16:3e:10:bd:1b", KERNEL=="eth*", NAME="eth1"
  5. /etc/udev/rules.d/70-persistent-net.rules 内の NIC 構成を確認します:
    cat 70-persistent-net.rules
    期待される出力:Bind NIC name to MAC address

    この出力により、eth1 が MAC アドレス 00:16:3e:10:bd:1b にマッピングされていることが確認でき、NIC ドリフトは発生していません。