Hi,
In Azure, when you assign an Public IP to your Virtual Machine, azure platform takes care of the NAT and sends the packet to your guest OS with the Private IP address. When you send the packet out to Internet, Azure platform changes the source IP to your Public IP and sends it out.
This is the default behavior in Azure.
Can you provide me the scenario why you want to directly assign a public IP to your guest OS ?
Regards,
Karthik Srinivas