I achieved this.
I used the x86_64 image and I made an 8 GB VHD using VirtualBox on my Mac. I assigned 2x NICs in my VM in VirtualBox for RED and GREEN.
I kind of used this guide by microsoft: Create and upload a Linux VHD - Azure Virtual Machines | Microsoft Docs to provision the OS.
Specifically I did this:
mkinitrd --preload=hv_storvsc --preload=hv_vmbus -v -f initrd-`uname -r`.img `uname -r`
Which loads in the hyper-v drivers at boot time or something?
And that’s pretty much all I did, lol.
Then I setup IPFire as per normal, for RED I told it to use DHCP to get an IP, and for GREEN I set a static that was non-conflicting and in the IP range of my VNET in Azure. I turned DHCP of the IPFire off (because Azure is doing it for the moment).
Once setup was complete I powered the VM down.
Then I created a storage container on Azure and I used AzCopy to copy the VHD into Azure. Instructions for this here
Then in Azure I created a Managed Disk from the VHD (storage blob) and from that Managed Disk I then created a VM with 2 NIC interfaces. I used Gen 1 type VM, not sure if Gen 2 will work? Probably it will.
In Azure, I assigned the same static IP I gave to the GREEN NIC during setup, to the second NIC on the VM.
Booted up the VM, bingo, I have web interface access from another machine on the same network as the GREEN NIC.
Now I can set about making S2S link to my on-prem IPFire and get rid of the junk Azure basic gateway., and actually even save some of my Azure credits doing this, lovely