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

Elastic Compute Service:複数のNICがあるLinuxインスタンスでNICドリフトが発生した場合はどうすればよいですか。

最終更新日:Dec 12, 2024

このトピックでは、複数のNICを持つLinux Elastic Compute Service (ECS) インスタンスで発生するネットワークインターフェイスコントローラー (NIC) ドリフトの問題を解決する方法について説明します。

問題の説明

O&M中に複数のNICを持つLinux ECSインスタンスにNICを追加または削除すると、LinuxオペレーティングシステムのNICのデバイス名と対応するメディアアクセス制御 (MAC) アドレスとの間に不一致が発生する可能性があります。 この問題はNICドリフトと呼ばれます。

この例では、MACアドレスが00:16:3e:10:bd:1bのeth1 NICと、MACアドレスが00:16:3e:0c:92:dfのeth2 NICを持つLinux ECSインスタンスでNICドリフトが発生します。 次の図に示すように、ip addrコマンドを実行してNIC情報を照会すると、eth2 NICのMACアドレスがeth1 NICのMACアドレスとして表示されます。网卡名称发生漂移

原因

LinuxオペレーティングシステムのNIC情報は、/etc/udev/rules.d/70-persistent-net.ru lesファイルに保存されます。 ファイルが存在しないか、ファイルに誤った情報が含まれている場合、NICドリフトが発生する可能性があります。

解決策

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

  • ユーザー名やパスワードなどの機密情報に対する権限を特定のユーザーに付与した場合、またはAlibaba Cloud管理コンソールで機密情報を送信した場合は、できるだけ早い機会に機密情報を変更することを推奨します。

Linuxオペレーティングシステムの /etc/udev/rules.d/70-persistent-net.ru lesファイルを変更して、各NICのデバイス名を対応するMACアドレスに関連付けます。

  1. Linux ECSインスタンスに接続します。

    詳細については、「接続方法の概要」をご参照ください。

  2. 次のコマンドを実行して、/etc/udev/rules.dディレクトリに移動します。

    cd /etc/udev/rules.d
  3. 次のコマンドを実行して、/etc/udev/rules.d/70-persistent-net.ru lesファイルを開きます。

    vi 70-persistent-net.rules
  4. 次のコマンドを実行して、各NICのデバイス名を対応するMACアドレスに関連付けます。

    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="<MAC address of the NIC>", KERNEL=="eth*", NAME="<Device name of the NIC>"

    たとえば、eth1 NICを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.ru lesファイルのNIC設定を照会します。

    cat 70-persistent-net.rules

    次の図に示すコマンド出力が表示されます。绑定网卡名称与网卡MAC地址

    コマンド出力は、eth1 NICのMACアドレスが00:16:3e:10:bd:1bであり、NICドリフトが発生していないことを示しています。