Hello Kenny Law,
Greetings! Thanks for raising this question in the Q&A forum.
The behavior you're seeing is expected and by design in Azure Local 24H2. When you create a network interface through az stack-hci-vm network nic create, the MAC address isn't handed off directly to Hyper-V. It first goes through the Arc-enabled VM management stack, which is backed by MOC (the on-premises orchestration layer for Azure Local). MOC enforces MAC addresses to come from its own locally administered pool, and the 02:ec:00:0b:00:00 to 02:ec:00:0b:ff:ff range you're seeing is that reserved pool. This exists to guarantee MAC uniqueness across all VMs on the cluster and to avoid collisions when VMs move between nodes, so it isn't something you can extend or override through the CLI or ARM API.
To directly answer your questions:
- Yes, this range is enforced by design Any
--mac-addressvalue passed toaz stack-hci-vm network nic create(or the equivalent ARM REST call) must fall inside the MOC-managed pool. Values outside that range, including real hardware or VMware sourced MAC addresses, will always be rejected at validation time.
There is currently no supported way to override it This is confirmed in Microsoft's own Azure Migrate FAQ for Azure Local, which states plainly that preserving the source MAC address (for example, to keep a DHCP reservation working) is not supported in the current release. This applies broadly to migrations into Azure Local, not just to manual NIC creation through the CLI.
Given that, here is how most teams handle this during a VMware or physical to Azure Local migration:
Plan for a new MAC address on the target VM Treat the Azure Local assigned MAC as the new identity for that NIC going forward. Update any DHCP reservations, static ARP entries, or firewall/NAC rules tied to the old MAC to use the new one, or switch those systems to use IP based reservations instead where possible.
Use static IP preservation instead of MAC preservation Azure Local 24H2 does support preserving the source VM's static IP address during migration for Windows VMs on VMware and Hyper-V (Linux is not supported for this). If your real requirement is "the VM keeps working at the same IP address" rather than specifically the same MAC, this path is supported today.
az stack-hci-vm network nic create `
--subscription <subscription-id> `
--resource-group <resource-group> `
--custom-location <custom-location-id> `
--location <location> `
--name "alma93-vm02a-nic-1" `
--subnet-id "ManagementLnet-static" `
--ip-address 10.0.0.119
If MAC based licensing is the real blocker If the reason you need the original MAC is a third party application license tied to that address, this is a common pain point and worth raising directly with the vendor for a re-host or re-key, since Azure Local, like Azure IaaS, does not support arbitrary MAC assignment for exactly this reason.
If your workload absolutely cannot function without the original MAC Submit feedback through the Azure Local product feedback channel so the product group can track demand for this capability, since it is explicitly called out as unsupported in the current release rather than something that will never be revisited.
If this answer helps you kindly accept the answer which will help others who have similar questions.
Best Regards,
Jerald Felix.