DNS routing to private IP - azure

We have 1 virtual machine with IIS in Azure, it doesn't hold the public IP address.
Its FQDN is machine.domain.local.
Its serving a service from IIS. We want to install certificate. However, we got the SSL by name service.domain.com.
If my machine would have public IP address I would have created A record for service.domain.com pointing to machines public IP address.
But we want this service to run internally, how we can we achieve this routing?
Any suggestions?

you can make a CNAME record to map service.domain.com bind to machine.domain.local

The question is not Azure or DNS related, it looks like its IIS/certificate related.
You got certificate for service.domain.com, which you want to apply to website machine.domain.local.
You either get machine.domain.local added to CName on Certificate or change IIS website domain to service.domain.com

You can use IIS to generate a self-signed certificate. Then, use an Azure Site-to-Site or Express Route to connect to On-premise. Set up a local host file entry on the servers for that domain & private IP address. This would work without a flaw but, it's tedious and not much of a recommended design.
What I would do is, I would MAP my domain to the private IP within the local DNS server and set the DNS as custom DNS on the VNET. This will make sure that all the VM's will point to the DNS server for any query and then start a recursive query.
MAP to Private IP
Make record entry with the local DNS server with Private IP
Make changes at the Azure VNET to use the custom DNS, provide the DNS server private IP
Else
Do a host file entry manually on all the servers.
You can also read more along the lines of Private DNS on Azure:
https://azure.microsoft.com/en-in/blog/azure-dns-private-zones-now-available-in-public-preview/
Regards,
Charan

Related

DNS record mapping the hostnames and the external IP

So I'm deploying this app called WSO2 API Manager to AKS and at the end of the tutorial it asks me to do this :
If the defined hostnames (in the previous step) are backed by a DNS
service, add a DNS record mapping the hostnames and the external IP
(EXTERNAL-IP) in the relevant DNS service.
So I don't know where to go from here, because if I map the DNS to the IP in the hosts file, the app works no problemo.
But I'm on AKS, if someone could guide me through doing the equivalent over there, I would be grateful.
For a DNS to work through the internet you need to properly configure it. If your DNS name is abc.com, first you need to purchase "abc.com" domain through a domain registrar. Then it should be mapped to the public IP of your Ingress. You can use Azure DNS for this. Refer to the following.
https://learn.microsoft.com/en-us/azure/dns/
https://learn.microsoft.com/en-us/azure/dns/dns-getstarted-portal

How to set up endpoints within a Azure Virtual Machine

I'm trying to set up MailTrain (a newsletter application) on an Azure VM. I created a resource group with the virtual machine, a virtual network, a network interface, a network security group, a public ip adress and a private DNS zone.
MailTrain expects three URL endpoints which all point to the same IP adress. For testing purposes I would like to create internal endpoints which all point to the VM. I played around with DNS entries in the DNS zone, but it doesn't work as I expected.
The name of the private DNS zone is equal to the DNS name of the VM's public IP adress. The private DNS zone and the VM are linked with the virtual network link and auto registration is enabled. The virtual network contains a default subnet. I created an A entry for "lists" pointing to the VM's internal IP adress and a CNAME entry for "sbox" pointing to the DNS name of the public IP adress. Inbound rules for the ports 80 and 443 were added to the netwwork security group.
The console shows me the following message while running the installation script:
Domain: lists.xxx.cloudapp.azure.com
Type: None
Detail: DNS problem: NXDOMAIN looking up A for
lists.xxx.cloudapp.azure.com - check that
a DNS record exists for this domain
Domain: sbox.xxx.cloudapp.azure.com
Type: None
Detail: DNS problem: NXDOMAIN looking up A for
sbox.xxx.cloudapp.azure.com - check that a
DNS record exists for this domain
Domain: xxx.cloudapp.azure.com
Type: unauthorized
Detail: Invalid response from
https://xxx.cloudapp.azure.com/.well-known/acme->challenge/VIjYMd-Uic_T2lQBl4vSyy9Va46-yVxmTA8SSE3f8J8
[xxx.xxx.xxx]: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML
2.0//EN\">\n<html><head>\n<title>503 Service
Unavailable</title>\n</head><body>\n<h1>Service"
Followed that quick start, you just need to create three DNS records in your public domain DNS zone.
Please note that there is public DNS and private DNS in Azure. In this case, I assume you have created a private DNS zone for internal endpoints. To resolve the records of a private DNS zone from your virtual network, you must link the virtual network with the zone. Additionally, you can also enable autoregistration on a virtual network link. If you enable auto registration on a virtual network link, the DNS records for the virtual machines on that virtual network are registered in the private zone. Or, you can manually create an A record to map to your VM's private IP address in the zone and create other CNAME records to map to the other internal endpoints.
As a best practice, do not use a .local domain for your private DNS zone. Not all operating systems support this.
In addition, you need to add inbound ports 80, 443 in your network security group that associated with the Azure VM subnet or NIC.
Update
For an internal test, you can use a private DNS zone because the DNS records in a private Zone can only be resolved in a virtual network it can not be resolved over the Internet, you could select the local installation in this scenario.
For example, I create a private DNS zone named contoso.com,
After local install, you can access the website via the trusted endpoint http://localhost:3000, then you should access the other endpoints in the VNet instead of access external.
However, if you want to use it for public access, you could select to install a public website secured by SSL. In this case, you need to purchase a domain and add the related DNS records to the DNS zone in the respective DNS provider. Azure DNS zone supports host your public domain zones in Azure.

FQDN for Azure VNG dynamic IP

I'm aware that Azure does not support static IP address on their VNG. Is it possible in anyway to configure FQDN for the VNG in such a way that when the IP address changes due to a restart, connection would still me maintained as long as DNS record is mapped to the new IP. I will appreciate 3rd party suggestion from Azure marketplace
Of course, yes. You can create an alias record set for the public IP with the type Azure resource in the DNS Zone. Then the DNS Zone will route your requests to that public IP, no matter if the IP address changes.
By the way, when you use the VPN, you install the client and connect the Azure VNet from your local network, in this step, you do not care about the public IP of the VPN. So I don't think you need to configure the FQDN for the public IP of the VPN. Of course, maybe you have a special reason. This just is advice.

Configure custom DNS for Public IP Address

i created VM behide Azure Load Balancer. i want to use custom domain to Load Balance Public IP. for example i want to access url like 'xx.mvg.com' instead Load Balance Public IP from internet. how i can do it?
i tried to did followed reference link 'https://learn.microsoft.com/en-us/azure/dns/dns-custom-domain' but still not working.
Please recommend how to register my domain name i wish, i want map my domain name to my application running on VM behide Azure Load Balancer.
and Azure have service about internet domain registrar?
about your last question - no, Azure have only Azure DNS, which is not a domain registrar, but a DNS as a service.
Easiest way to achieve what you want - assign a dns name to a public ip (called dns label here) and create a CNAME record in your DNS for that DNS name. or just straight up create a A record in your DNS and point it to your public ip.

exposing Azure DNS servers

I have an Azure virtual machine with multiple web sites on it that I would like to expose to the Internet. The VM has Active Directory and DNS installed on it. I created the forward zone (xxx.cloudapp.net) on my server, and added the two web site names to the zone. On the Networks in the Management Portal, I added a DNS server(xxx.cloudapp.net) and gave it the public IP for my server.
So when I try a nslookup from outside of the VM, the names will not resolve. I set the server in nslookup to either the public IP or the name, and it does not resolve. I have logging turned on in the DNS server, but it does not seem to show any requests from my computer.
I must be doing something wrong. Any suggestions? This server is for a demo next week, and worst case, I can buy a couple of domain names.
Try the instance level public-ip address, you will get an ip address per virtual server: https://azure.microsoft.com/documentation/articles/virtual-networks-instance-level-public-ip/

Resources