Reader small image

You're reading from  Designing and Implementing Microsoft Azure Networking Solutions

Product typeBook
Published inAug 2023
PublisherPackt
ISBN-139781803242033
Edition1st Edition
Tools
Concepts
Right arrow
Author (1)
David Okeyode
David Okeyode
author image
David Okeyode

David is the EMEA Azure CTO at Palo Alto Networks. Before that, he was an independent consultant helping companies secure their Azure environments through private expert level trainings and assessments. He has authored two books on Azure security - "Penetration Testing Azure for Ethical Hackers" and "Microsoft Azure Security Technologies Certification and Beyond. He has also authored multiple cloud computing courses for popular platforms like LinkedIn Learning. He holds over 15 cloud certifications and has over a decade of experience in Cybersecurity (consultancy, design, implementation). David is married to a lovely girl who makes the best banana cake in the world. They love travelling the world together!
Read more about David Okeyode

Right arrow

Designing and Implementing Name Resolution

Domain Name System (DNS) servers are used to host records that translate human-readable domain names into machine-readable IP addresses (used by computers to communicate with each other). Traditionally, DNS servers are hosted on a customer-managed infrastructure, but Azure offers multiple options to implement name resolution without us having to manage the underlying infrastructure. This chapter covers these options for both internal and external name resolution scenarios. We will discuss what Azure DNS is, its features, and use cases. We will cover how to configure Azure DNS for private and public name resolution scenarios.

In this chapter, we will cover the following main topics:

  • A hands-on exercise – provisioning resources for the chapter’s exercises
  • Name resolution scenarios and options
  • Internal name resolution scenarios and options
  • External name resolution scenarios and options
  • A hands-on exercise...

Technical requirements

To follow along with the instructions in this chapter, you will need the following:

  • A PC with an internet connection
  • An Azure subscription

Before we proceed to cover the objectives of this chapter, let us prepare our Azure subscription for the hands-on exercises that we will be completing later.

A hands-on exercise – provisioning resources for the chapter’s exercises

To follow along with the exercises in this chapter, we will provision some Azure resources for our fictional organization, CharisTech. I have prepared an Azure ARM template in the GitHub repository of this book for this purpose. The template will deploy two peered virtual networks in two Azure regions, as shown in Figure 2.1.

Figure 2.1 – Resources deployed via the provided ARM template

Figure 2.1 – Resources deployed via the provided ARM template

The first VNet (CoreServicesVNet) will have three subnets, with a virtual machine in each subnet. The second VNet (EngineeringVNet) will have two subnets, with a virtual machine in one subnet. One of the virtual machines (WebVM) will be assigned a public IP address, so you can connect to it from your PC over the internet. Here are the tasks that we will complete in this exercise:

  • Task 1: Initialize template deployment in GitHub
  • Task 2: Complete parameters and deploy...

Name resolution scenarios and options

DNS servers host records that translate human-readable domain names into machine-readable IP addresses (used by computers to communicate with each other). For example, Figure 2.7 shows the DNS server for the azurecourses.xyz domain zone, which has a single A record that translates the www.azurecourses.xyz hostname into the IP address 1.2.3.4. Clients that want to communicate with the web server called www.azurecourses.xyz can make a DNS request to their DNS resolver to translate the name into an IP address. The DNS resolver will then go through an iterative process to make a record request to the DNS server (Figure 2.7).

Figure 2.7 – DNS server and name resolution

Figure 2.7 – DNS server and name resolution

To facilitate network communications, there are two name resolution scenarios that we will cover:

  • Internal name resolution: Providing name resolution for private/internal clients hosted in our virtual networks
  • External name resolution:...

Internal name resolution scenarios and options

Azure virtual network workloads need to be able to resolve internal and external domain names to IP addresses. A comprehensive Azure internal name resolution implementation should cover the translation of domain names for the following scenarios:

  • Scenario 1 – name resolution for resources within the same virtual network
  • Scenario 2 – name resolution for resources in different virtual networks
  • Scenario 3 – name resolution for resources in connected on-premises networks (hybrid)
  • Scenario 4 – name resolution for public domain names from VNet resources

Figure 2.8 shows an example of this. By making name resolution requests to its DNS resolver (server), VM1 (deployed into Azure VNET-1) should be able to resolve the private IP address for VM2 (deployed into a separate subnet in the same Azure VNet), it should be able to resolve the private IP address for VM3 (deployed into another Azure VNet...

External name resolution scenarios and options

To facilitate network communications, external clients (for example, clients on the internet) may need to be able to resolve domain names for our services to public IP addresses. A comprehensive Azure internal name resolution implementation should cover the translation of domain names for the following scenarios (Figure 2.1):

  • Scenario 1 – name resolution for internet clients

Alias recordsets are only supported for A, AAAA, and CNAME record types.

A hands-on exercise – implementing Azure Public DNS

In this exercise, you will configure public DNS name resolution for CharisTech using the Azure Public DNS service. You will create a public DNS zone named charistech.xyz and then test the configuration. Here are the tasks that you will complete:

  • Task 1: Creating an Azure Public DNS zone
  • Task 2: Reviewing Azure DNS name server information
  • Task 3: Adding a DNS record to the DNS zone
  • Task 4...

A hands-on exercise – clean up resources

In this exercise, we will remove the resources that we created in this chapter's exercises to avoid running up a large cost in Azure!

In cloud shell, run the following command to delete the CharisTechRG-C2 resource group:

az group delete --name CharisTechRG-C2 --yes

This will remove all the resources that we created for the exercises in this chapter.

Summary

Name resolution is a critical part of any network infrastructure. In this chapter, we covered name resolution options for private and public client scenarios. We covered the default Azure-provided DNS for internal name resolution. We walked through the use of customer-managed DNS servers for internal name resolution. Finally, we covered the use of Azure Private DNS for internal name resolution and Azure Public DNS for external name resolution. All the concepts that we covered will equip you with the knowledge and skills needed to design a comprehensive name-resolution solution for Azure virtual networks.

In the next chapter, we will learn how to design, implement, and manage VNet routing.

Further reading

Refer to the following for more information about the topics covered in this chapter:

lock icon
The rest of the chapter is locked
You have been reading a chapter from
Designing and Implementing Microsoft Azure Networking Solutions
Published in: Aug 2023Publisher: PacktISBN-13: 9781803242033
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime

Author (1)

author image
David Okeyode

David is the EMEA Azure CTO at Palo Alto Networks. Before that, he was an independent consultant helping companies secure their Azure environments through private expert level trainings and assessments. He has authored two books on Azure security - "Penetration Testing Azure for Ethical Hackers" and "Microsoft Azure Security Technologies Certification and Beyond. He has also authored multiple cloud computing courses for popular platforms like LinkedIn Learning. He holds over 15 cloud certifications and has over a decade of experience in Cybersecurity (consultancy, design, implementation). David is married to a lovely girl who makes the best banana cake in the world. They love travelling the world together!
Read more about David Okeyode