SR-IOV 対応仮想マシンのゲスト OS で MAC アドレスを変更すると、仮想マシンの接続が切断されます。

問題

仮想マシンのネットワーク アダプタを SR-IOV 仮想機能 (VF) に接続するときに、仮想マシンのパススルー ネットワーク アダプタを作成します。ゲスト OS の (VF) ドライバでパススルー ネットワーク アダプタの MAC アドレスを変更すると、変更には成功したが仮想マシン ネットワーク アダプタの接続が切断されたということがゲスト OS に表示されます。ゲスト OS には新しい MAC アドレスが有効になっていることが示されますが、/var/log/vmkernel.log ファイルのログ メッセージには操作が失敗したことが示されます。

Requested mac address change to new MAC address on port VM NIC port number, disallowed by vswitch policy.

条件は: 「

  • new MAC address は、ゲスト OS の MAC アドレスです。
  • VM NIC port number は、仮想マシン ネットワーク アダプタの 16 進数形式のポート番号です。

原因

パススルー ネットワーク アダプタが接続されるポート グループのデフォルトのセキュリティ ポリシーでは、ゲスト OS の MAC アドレスの変更は許可されていません。そのため、ゲスト OS のネットワーク インターフェイスでは、IP アドレスを取得できず接続が切断されます。

解決方法

  • パススルー ネットワーク アダプタで有効な MAC アドレスを再取得できるようにゲスト OS でインターフェイスをリセットします。DHCP を使用してアドレスを割り当てるようにインターフェイスが構成されている場合は、インターフェイスで IP アドレスが自動的に取得されます。
    たとえば、Linux 仮想マシンで ifconfig コンソール コマンドを実行します。
    ifconfig ethX down
    ifconfig ethX up

    ここで、ethXX は、ゲスト OS の仮想マシン ネットワーク アダプタのシーケンス番号を表します。