Azure VM shows different IPs - azure

I have Windows Azure VM and public IP (40.115.16.153) assigned to it. However when I execute ipconfig /all command inside VM, it shows me different IP address. I'm wondering why?

When you launch a VM in Azure you do not have a public IP Address attached directly to the Nic.
With a v1 (classic) VM you either connect through the Cloud Service IP, or through a Public IP attached to the VM.
In a v2 VM, all VMs need to exist within a virtual network, to which you attach a Network Interface. That interface will have an IP Address that is local to the virtual network it is a member of. Optionally you can attach a Public IP to that interface.
In both cases the external IP address is mapped to the internal address of your VM through whatever firewalling you have configured.
This is the reason that your VM does not have the same IP as the external IP.

Related

Assign multiple IP addresses to existing virtual machines access web server

We have Azure Virtual Machine (VM) has one network interface (NIC) attached to it one NIC and have one or more static public IP associated it.
Reasons for Attaching Multiple static Public IPS
Hosting multiple websites or services with different IP addresses on a single server
Hosting the Wildcard Entry domains on a single server
Problem with the second IP we cont access the IIS server in Azure Virtual Machine (VM)
How to attach the second IP to access the IIS in VM?
To connect and sign in to a VM you created with multiple private IP addresses. You must manually add all the private IP addresses (including the primary) that you added to the VM. You can get the detailed steps here.
Main steps:
Type ncpa.cpl in the CMD to pen the Network connections window and add the following values manually.
Add all the private IP addresses to that VM Advanced TCP/IP settings.
Save it then restart your Azure VM, reestablish a RDP connection, then you can see the valid private IP addresses in the ipconfig/all.
Then, you should access your websites via the secondary public IP address.

How to ssh to Azure VM using private IP address from internet

I'm new to Azure. Just deployed an Ubuntu VM but thought I'd only create a private IP address, no public IP.
How do I ssh from my laptop at home to the Azure VM using the 10.x.x.x IP address?
I've tried:
Using the Azure Cloud Shell but connection just times out
Using ssh on my laptop, but its looking for the VM on my LAN and times out.
You can't SSH from your local machine to your VM with a private IP because your machine isn't in the same network as the VM. You would only be able to SSH to the VM from another VM on the same virtual network.
In order to SSH to your VM from outside of the vnet you will need a NIC attached with a Public IP and the default port of 22 open on your Network Security Group.
Edit: because I couldn't find a relevant document for this I wrote a blog post. https://medium.com/#joelatwar/how-to-ssh-to-your-azure-linux-vms-with-username-and-password-from-windows-linux-or-mac-df7d07ea3be1
I have found some other way working.
Temporarily attach the VM with private ip address under a public azure lb, configure a nat rule for ssh in the load balancer.make sure you have allowed the ssh from inside vnet in the nsg where the vm is attached.
SSH into the public load balancer ip and you will be able to access the internal machine via azure load balancer ip.
In the meanwhile there exists Azure Bastion which could help you.

Azure Virtual Network / VM's Setup to Share One Public IP

I've recently setup a point to site VPN on Azure. In doing so I have created:
Azure Virtual Network
Azure Virtual Network Gateway
Azure Virtual Network Gateway IP (static)
Azure VM
I was under the impression that any VM set to use the above said Virtual Network would all share the same public IP? However it appears that the Azure VM i setup is instead using its own dynamic public IP.
Is there a way to route any VM on the Custom Virtual Network I created through one public IP? IF so - how can I do this?
According to your description, you have create a point-to-side VPN. in this scenario, we can remove the public IP addresses from VMs, then you can access your VMs with private IP addresses via VPN.
You are correct - I have the VPN working correctly. My only concern is this, it'd be great that if any of those VM's in that private network shared the same static IP - that way I could grant access to that IP in my firewall to other systems i have in other hosting platforms (as they are all typically locked down by ip).
It sounds like your reference to availablity sets may be the phrase i was looking for to further google.. i will check it out and let me know
please let me know if anything I added above changes your answer/recommendations :)
I was under the impression that any VM set to use the above said
Virtual Network would all share the same public IP?
You are talking about Azure ASM module (classic). In ASM module, VMs can use the same public IP address(NAT).
However it appears that the Azure VM i setup is instead using its own
dynamic public IP.
In Azure resource module, we can create Azure VMs with different Public IP addresses.
Is there a way to route any VM on the Custom Virtual Network I created
through one public IP?
According to your description, you have create a point-to-side VPN. in this scenario, we can remove the public IP addresses from VMs, then you can access your VMs with private IP addresses via VPN.
If you want to access those VMs from Internet and use one public IP address, we can create VMs in the same availability set, and deploy a Internet facing load balancer, then add NAT rules to them, in this way, we can access those VMs use the same public IP address and different ports.

Azure Reserved IP Address Inconsistency

I had a need to add additional public IP addresses to an Azure VM and found a working solution here:
Azure VM: More than one Public IP
Essentially this creates a reserved IP in Azure and then adds the reserved IP to a cloud service. Once it's bound to a cloud service it can be mapped to a VM endpoint.
This all works great but there is one bit I don't understand - The IP address of the reserved IP and the resultant VM endpoint don't match. I have to set up DNS to point to the IP address of the endpoint to make this work. Is there something I am not doing right, or is this just the way reserved VMs work?
It looks like this unanswered question is the same issue:
azure reserved IP for VM is diffrent than the given
Thanks!
The "Azure Cloud Service" is a container that provides internet connectivity to "Azure VMs". Thus, you assign the Internet facing Public IP to the Cloud Service. This article is relatively good at explaining the relationship: Azure Cloud Services
From above link:
Here’s a definition of an Azure IaaS cloud service that will make it easy for you to understand what it is in the context of Azure Infrastructure Services:
A cloud service is a network container where you can place virtual machines.
All virtual machines in that container can communicate with each other directly through Azure (and therefore don’t have to go out to the Internet to communicate with each other).
This container is also assigned a DNS name that is reachable from the Internet.
A rudimentary DNS server is created and can provide name resolution for all virtual machines within the same cloud service container (note that name resolution provided by the DNS server is only available to the virtual machines that are located within the cloud service).
One or more Virtual IP Addresses (VIPs) are assigned to the container and these IP addresses can be used to allow inbound connections from the Internet to the virtual machines.
Certain services (like FTP) may require your vm have a public IP: Azure VM Public IP
(IaaS v1) An Azure cloud service comes with a permanent DNS name - something.cloudapp.net - and has a single VIP allocated whenever there are VMs deployed in it OR whenever a reserved IP address is associated with it. Traffic is either load balanced or NATted (port forwarded) to the VM from the Azure Load Balancer sitting on the VIP. You can also associate a public instance-level IP address (PIP) with a VM, which gives it an additional IP address. The VIP always has a DNS name (something.cloudapp.net) while the PIP has one only if you specifically add it, I did a post which goes into these differences.
(IaaS v2) VMs are not deployed into cloud services and only have a public IP address if one is specifically added - either by configuring a PIP on the NIC of the VM (and optionally giving it a cloudapp.azure.com DNS name) or by configuring a load balancer and either load balancing or NATting traffic to it. This load balancer is configured with a public IP address and can optionally have a cloudapp.azure.com DNS name associated with it. (Ignoring internal load balancers in this discussion.)

Is there any way to have azure VM keep the same IP address?

We have an azure virtual network with a web role, worker role and a dedicated sql VM. Currently we're using the VM dns name in the database connection string. I was thinking it would be better to update the connection string to use the private ip address to skip the name resolution, mydbserver.cloudapp.net to 10.0.0.1.
Since all virtual machines have to use DHCP is there a chance the private ip will change? If so is there anyway to address this? Thanks
The SQL Server VM will have a persistent private IP within the Virtual Network.
From Windows Azure Virtual Network Overview:
Persistent private IP addresses: Virtual machines within a VNet will
have a stable private IP address. We assign an IP address from the
address range you specify and offer an infinite DHCP lease on it. So
the IP address will stay with the virtual machine for its lifetime.
to be extra safe, you can set a static vnet IP that guarantees that it never changes:
http://windowsitpro.com/windows-azure/set-azure-vm-static-ip-address

Resources