Chapter 4

Implement and manage an on-premises and hybrid networking infrastructure

The key to a successful hybrid deployment is ensuring that hosts connected to on-premises networks can communicate securely and reliably with workloads hosted in the cloud. To solve problems related to hybrid networking infrastructure effectively, you need to understand how to reliably implement on-premises and hybrid name resolution, ensure that IP address spaces across on-premises and cloud environments support coexistence, and determine which technologies will best facilitate communication between on-premises and cloud workloads.

Skills covered in this chapter:

Skill 4.1: Implement on-premises and hybrid name resolution

This objective deals with ensuring that name resolution occurs properly across workloads running both in Azure and on-premises in hybrid configurations. To master this objective you’ll need to understand how to integrate Domain Name System (DNS) with Active Directory Domain Services (AD DS), how to manage zones and records, how to configure forwarding and conditional forwarding, how to integrate Windows Server DNS with Azure DNS, and how to implement DNSSEC.

Integrate DNS with AD DS

At the most basic level, DNS servers translate host names to IP addresses and translate IP addresses to host names. By querying special records on DNS servers, it’s possible to locate mail servers and name servers, verify domain ownership, and locate servers such as domain controllers. While DNS servers are usually deployed on a domain controller on a Windows Server network, it’s also possible to deploy them on standalone computers.

DNS zone types

Zones store DNS resource record information. The DNS Server role in Windows Server supports several zone types, each of which is appropriate for a different set of circumstances. These zone types include primary, secondary, stub, and GlobalNames zones. You can integrate zones into Active Directory, or you can use the traditional primary or secondary architecture.

Active Directory–integrated zones

Active Directory–integrated zones provide high availability for DNS as any DNS server that hosts an Active Directory–integrated primary zone can process updates to that zone. In traditional DNS, if the primary server becomes unavailable, secondary servers cannot process updates to the zone. Both primary and stub zones can be configured as Active Directory–
integrated zones.

You can create an Active Directory–integrated zone only on a writable domain controller. When you choose to make a zone Active Directory–integrated , you have the option to configure a replication scope. You can configure the zone to be replicated so that it is present on all domain controllers in the domain, in the forest, or within the scope of a custom Active Directory partition. When determining the appropriate replication scope, consider which clients need regular, direct access to the zone and which clients require only occasional, indirect access.

You can use custom directory partitions to replicate a zone to some, but not all, domain controllers. You can select this option only if there is an existing custom DNS application directory partition. You can use the Add-DNSServerDirectoryPartition cmdlet to create a directory partition. You can also use ntdsutil.exe and dnscmd.exe to create custom partitions to host DNS zones. For example, to create a DNS Server directory partition called Tasmania on a subset of your organization’s domain controllers using PowerShell, execute this command:

Add-DNSServerDirectoryPartition -Name Tasmania

Active Directory–integrated zones use multimaster replication, meaning any domain controller that hosts the DNS zone can process updates to the zone. When creating a DNS zone, you must specify whether the zone supports dynamic updates, which allow clients to update DNS records. This is useful in environments in which clients change IP addresses on a regular basis. When a client gets a new IP address, it can update the record associated with its host name in the appropriate DNS zone. There are three dynamic update configuration options:

  • Allow Only Secure Dynamic Updates You can use this option only with Active Directory–integrated zones. Only authenticated clients can update DNS records.

  • Allow Both Non-Secure And Secure Dynamic Updates With this option, any client can update a record. Although this option is convenient, it is also insecure because any client can update the DNS zone, which could potentially redirect clients that trust the quality of the information stored on the DNS server.

  • Do Not Allow Dynamic Updates When you choose this option, all DNS updates must be performed manually. This option is very secure, but it is also labor-intensive.

An Active Directory–integrated zone can replicate to a read-only domain controller (RODC). With this configuration, the RODC-hosted zone is read only and the RODC cannot process updates to the zone, which is also the case with a traditional writable domain controller. When you replicate an Active Directory–integrated zone to an RODC, the RODC forwards any client that wants to update the zone to a writable domain controller.

You can create an Active Directory–integrated primary zone by using the Add-DnsServer PrimaryZone cmdlet with the ReplicationScope parameter. For example, to create the Active Directory–integrated zone tailwindtraders.com so that it replicates to all domain controllers in the forest, issue this command:

Add-DnsServerPrimaryZone -Name tailwindtraders.com -ReplicationScope Forest

When you first install Active Directory, the installation process ensures that the DNS zone associated with the root domain is automatically configured as an Active Directory–integrated zone. This root domain zone is automatically replicated to all domain controllers in the forest.

Need More Review? Active Directory–Integrated DNS

You can learn more about Active Directory–integrated DNS at https://docs.microsoft.com/windows-server/identity/ad-ds/plan/active-directory-integrated-dns-zones.

Create and manage zones and records

In traditional DNS implementations, a single server hosts a primary zone, which processes all zone updates, and a collection of secondary servers replicate zone data from the primary zone. One drawback to this model is that if the primary server fails, no zone updates can occur until the primary zone is restored. Azure DNS servers function as highly available primary servers.

Windows Server supports two types of primary zones: Active Directory–integrated zones and standard primary zones. Active Directory–integrated zones can only be hosted on computers that also function as domain controllers. Computers running Windows Server that do not function as domain controllers can host standard primary zones.

The DNS server service on a domain controller supports all zone types. This means that you can choose to deploy a standard or Active Directory–integrated primary zone, a stub zone, a reverse lookup zone, or a secondary zone on a domain controller.

Secondary zones

A secondary zone is a read-only copy of a primary zone. Secondary zones cannot process updates and retrieve updates from a primary zone. Also, secondary zones cannot be Active Directory–integrated zones, but you can configure a secondary zone for an Active Directory–integrated primary zone. Before configuring a secondary zone, you need to configure the primary zone that you want it to replicate from to enable transfers to that zone. You can do this on the Zone Transfers tab of the Zone Properties dialog box. Secondary zones work best when the primary zone that they replicate from does not update frequently. If the primary zone does update frequently, it is possible that the secondary zone might have out-of-date records.

Use the Add-DNSServerSecondaryZone cmdlet to create a secondary zone. For example, to create a secondary zone for the australia.contoso.com zone, where a DNS server hosting the primary zone is located at 192.168.15.100, issue the following command:

Add-DnsServerSecondaryZone -Name "australia.contoso.com" -ZoneFile "australia.contoso
.com.dns" -MasterServers 192.168.15.100
Reverse lookup zones

Reverse lookup zones translate IP addresses into FQDNs. You can create IPv4 or IPv6 reverse lookup zones, and you can also configure reverse lookup zones as Active Directory–integrated zones, standard primary zones, secondary zones, or stub zones. The domain controller promotion process automatically creates a reverse lookup zone based on the IP address of the first domain controller promoted in the organization.

Reverse lookup zones are dependent on the network ID of the IP address range that they represent. IPv4 reverse lookup zones can only represent /8, /16, or /24 networks, which are the old Class A, Class B, and Class C networks. You can’t create a single reverse lookup zone for IP subnets that doesn’t fit into one of these categories, and the smallest reverse lookup zone you can create is for subnet mask /24, or 255.255.255.0.

Use the Add-DNSPrimaryZone cmdlet and the NetworkID parameter to create a reverse lookup zone. For example, to create an Active Directory–integrated reverse lookup zone for the 192.168.15.0/24 subnet, issue the following command:

Add-DnsServerPrimaryZone -NetworkID "192.168.15.0/24" -ReplicationScope "Forest"

Few applications actually require that you configure reverse lookup zones. In most organizations, the only reverse lookup zone is the one that is automatically created when Active Directory is installed. One of the few times where reverse lookup zones seem necessary is when you configure Simple Mail Transfer Protocol (SMTP) gateways. This is because some anti-SPAM checks perform a reverse IP address lookup to verify the identity of the SMTP gateway. Often, the SMTP gateway’s IP address, being a public address, belongs to the ISP, which means creating the reverse lookup zone entry is beyond your direct control as a systems administrator.

GlobalNames zones

GlobalNames zones are a single-label, name-resolution replacement for WINS (Windows Internet Naming System) that can utilize existing DNS infrastructure. Deploying GlobalNames zones enables organizations to retire their existing WINS servers. If your organization still needs WINS (and apparently some do), you can still deploy the service on computers running Windows Server 2022.

Your organization should consider deploying GlobalNames zones instead of WINS in the following situations:

  • Your organization is transitioning to IPv6. WINS does not support IPv6, and you need to support single-label name resolution.

  • Single-label name resolution is limited to a small number of hosts that rarely change. GlobalNames zones must be updated manually.

  • You have a large number of suffix search lists because of a complex naming strategy or disjoined namespace.

Entries in the GlobalNames zones must be populated manually. GlobalNames zone entries are alias (CNAME) records to existing DNS A or AAAA records. The existing DNS A and AAAA records can be dynamically updated, with these updates flowing on to records in the GlobalNames zone.

To deploy a GlobalNames zone in a forest, perform the following steps:

  1. On a domain controller that is configured as a DNS server, create a new Active Directory–integrated forward lookup zone and configure it to replicate to every domain controller in the forest using the New Zone Wizard

  2. On the Zone Name page, enter GlobalNames as the zone name. You can also accomplish the same task by running the following PowerShell command:

    Add-DnsServerPrimaryZone -Name GlobalNames -ReplicationScope Forest
  3. Next, activate the GlobalNames zone on each authoritative DNS server hosted on a domain controller in the forest. To do this, execute the following PowerShell command (where DNSServerName is the name of the domain controller hosting DNS):

    Set-DnsServerGlobalNameZone -ComputerName DNSServerName -Enable $True
  4. To populate the GlobalNames zone, create alias (CNAME) records in the GlobalNames zone that point to A or AAAA records in existing zones.

Zone delegation

Zone delegations function as pointers to the next subordinate DNS layer in the DNS hierarchy. For example, if your organization uses the contoso.com DNS zone and you want to create a separate australia.contoso.com DNS zone, you can perform a zone delegation so that the DNS servers for the contoso.com DNS zone point to the DNS servers for the australia.contoso.com DNS zone. When you create a new child domain in an Active Directory forest, zone delegation occurs automatically. When you’re performing a manual delegation, create the delegated zone on the target DNS server before performing the delegation from the parent zone.

Although you can delegate several levels, remember that the maximum length of an FQDN is 255 bytes and the maximum length of an FQDN for an Active Directory Domain Services domain controller is 155 bytes.

Use the Add-DnsServerZoneDelegation cmdlet to add a delegation. For example, to add a delegation for the australia.contoso.com zone to the contoso.com zone pointing at the name server ausdns.australia.contoso.com, which has the IP address 192.168.15.100, use the following command:

Add-DnsServerZoneDelegation -Name "contoso.com" -ChildZoneName "australia" -NameServer
"ausdns.australia.contoso.com" -IPAddress 192.168.15.100 -PassThru
Resource records

DNS supports a large number of resource records. The most basic resource record maps an FQDN to an IP address. More complex resource records provide information about the location of services, such as SMTP servers and domain controllers.

Host records

Host records are the most common form of record and can be used to map FQDNs to IP addresses. There are two types of host records:

  • The A record, which is used to map FQDNs to IPv4 addresses

  • AAAA records, which are used to map FQDNs to IPv6 addresses

You can add a new host record to a zone by right-clicking the zone in DNS Manager and then selecting New Host (A or AAAA). You also have the option of creating a pointer (PTR) record in the appropriate reverse lookup zone, if one exists. You can add host records with the Add-DnsServerResourceRecordA cmdlet and AAAA records with the Add-DnsServer ResourceRecordAAAA cmdlet.

Alias (CNAME)

An alias, or CNAME, record enables you to provide an alternate name when there is an existing host record. You can create as many aliases for a particular record as you need. To create a new alias in a zone, right-click the zone in DNS Manager and then select New Alias (CNAME). When you create an alias, you must point the alias to an existing host record. You can use the Browse button to navigate to the target host record or enter it manually. You can also add an alias record to a zone from PowerShell by using the Add-DnsServerResourceRecordCName cmdlet.

Mail exchanger

Mail exchanger (MX) records are used to locate mail gateways. For example, when a remote mail gateway wants to forward an email message to an email address associated with your organization’s DNS zone, it performs an MX lookup to determine the location of the mail gateway. After that determination has been made, the remote mail gateway contacts the local gateway and transmits the message. MX records must map to existing host records. To create an MX record, right-click the zone in DNS Manager, select New Mail Exchanger (MX), and enter information in the New Resource Record dialog box. The Mail Server Priority field is available to allow for the existence of more than one MX record in a zone and is often used when organizations have multiple mail gateways. This is done so that if an organization’s primary mail gateway fails, remote mail servers can forward message traffic to other mail gateways. You can add MX records using the Add-DnsServerResourceRecordMX PowerShell cmdlet.

Pointer record

Pointer (PTR) records enable you to connect IP addresses to FQDNs and are hosted in reverse lookup zones. When you create a host record, a PTR record is automatically created by default, if an appropriate reverse lookup zone exists. To create a PTR record, right-click the reverse lookup zone in DNS Manager, select New Pointer (PTR), and enter the PTR record information in the New Resource Record dialog box. You can create a PTR record from PowerShell by using the Add-DnsServerResourceRecordPtr cmdlet.

Unknown Records

Windows Server 2016 and later DNS supports “unknown records,” which are resource records whose RDATA format is unknown to the DNS server. “Unknown records” are defined in RFC 3597 and can be added to Windows Server DNS zones when they are hosted on computers running the Windows Server 2016 or later operating system.

Zone aging and scavenging

Aging and scavenging provide a technique to reduce the incidence of stale resource records in a primary DNS zone. Stale records are records that are out of date or no longer relevant. If your organization has zones that relate to users with portable computers, such as laptops and tablets, those zones might end up accumulating stale resource records. This can lead to the following problems:

  • DNS queries return stale rather than relevant results.

  • Large zones can cause DNS server performance problems.

  • Stale records might prevent DNS names being reassigned to different devices.

To resolve these problems, you can configure the DNS server service to do the following:

  • Time stamp resource records that are dynamically added to primary zones. This occurs when you enable aging and scavenging.

  • Age resource records based on a refresh time period.

  • Scavenge resource records that are still present beyond the refresh period.

After you configure the DNS server service, aging and scavenging occur automatically. It is also possible to trigger scavenging by right-clicking the DNS server in DNS Manager and then selecting Scavenge Stale Resource Records. You can also configure aging and scavenging using the Set-DnsServerScavenging cmdlet. For example, to enable stale resource record scavenging on all zones of a DNS server and to set the Scavenging and Refresh Intervals to 10 days, issue this command:

Set-DnsServerScavenging -ApplyOnAllZones -RefreshInterval 10.0:0:0 -ScavengingInterval
10.0:0:0 -ScavengingState $True

Configure DNS forwarding/conditional forwarding

Forwarders and conditional forwarders enable your DNS server to forward traffic to specific DNS servers when a lookup request cannot be handled locally. For example, you might configure a conditional forwarder to forward all traffic for resource records in the tailspintoys.com zone to a DNS server at a specific IP address. If you don’t configure a forwarder or if a configured forwarder can’t be contacted, the DNS Server service forwards the request to a DNS root server and the request is resolved normally.

Forwarders

When you want to have a specific DNS server on the internet handle your organization’s DNS resolution traffic, you are likely to use a DNS forwarder, rather than have your DNS server just use the root servers. Most organizations configure their ISP’s DNS server as a forwarder. When you do this, the ISP’s DNS server performs all the query work, returning the result to your organization’s DNS server. Your organization’s DNS server then returns the result of the query back to the original requesting client.

You configure forwarders on a per-DNS server level. You can configure a forwarder using the DNS Manager. You can do this by editing the properties of the DNS server and then configuring the list of forwarders on the Forwarders tab.

You can create a DNS forwarder by using the Add-DnsServerForwarder cmdlet. For example, to create a DNS forwarder for a DNS server with 10.10.10.111 as the IP address, issue this command:

Add-DnsServerForwarder 10.10.10.111

You can’t create a forwarder on one DNS server and then have it replicate to all other DNS servers in the forest or the domain; however, this is possible with conditional forwarders and stub zones.

Conditional forwarders

Conditional forwarders only forward address requests from specific domains rather than forwarding all requests that can’t be resolved by the DNS server. When configured, a conditional forwarder takes precedence over a forwarder. Conditional forwarders are useful when your organization has a trust relationship or partnership with another organization or you need to have resolution occur in an Azure DNS private zone that can be connected to through site-to-site VPN or ExpressRoute. You can configure a conditional forwarder that directs all traffic to host names within that organization instead of having to resolve those host names through the standard DNS-resolution process.

You can create conditional forwarders using the Add-DnsServerConditionalForwarder Zone PowerShell cmdlet. For example, to create a conditional forwarder for the DNS domain tailspintoys.com that forwards DNS queries to the server at IP address 10.10.10.102 and also replicates that conditional forwarder to all DNS servers within the Active Directory forest, issue this command:

Add-DnsServerConditionalForwarderZone -MasterServers 10.10.10.102 -Name tailspintoys.com
-ReplicationScope Forest
Stub zones

A stub zone is a special zone that stores authoritative name server records for a target zone. Stub zones have an advantage over forwarders when the address of a target zone’s authoritative DNS server changes on a regular basis. Stub zones are often used to host the records for authoritative DNS servers in delegated zones. Using stub zones in this way ensures that delegated zone information is up to date. If you create the stub zone on a writable domain controller, it can be stored with Active Directory and replicated to other domain controllers in the domain or forest.

You can add a stub zone using the Add-DnsServerStubZone cmdlet. For example, to add a DNS stub zone for the fabrikam.com zone using the DNS server at 10.10.10.222 and to also replicate that stub zone to all DNS servers in the forest, execute this command:

Add-DnsServerStubZone -MasterServers 10.10.10.222 -Name fabrikam.com -ReplicationScope
Forest -LoadExisting

Integrate Windows Server DNS with Azure DNS private zones

Azure DNS is a highly available DNS service that runs in the Microsoft cloud. Rather than deploy the DNS server service on an IaaS virtual machine to host a public zone and have to perform all the administrative tasks for the care and maintenance of that IaaS VM, Azure DNS allows you to just deploy and manage DNS zones and records. When you configure Azure DNS, you are provided with the IP address of the DNS servers within Azure that can be used to resolve records in the configured zones. You can use these addresses when configuring DNS delegation from your chosen domain registrar. You can also use these addresses when configuring forwarders and stub zones from on-premises DNS servers.

Azure DNS private zones allow you to host private DNS zones that host records that can only be queried by hosts on specific virtual networks and connected networks. For example, records in an Azure DNS private zone could be queried by hosts on an on-premises network connected using a site-to-site VPN but not hosts on an on-premises network that connect to Azure DNS servers over the internet.

Azure DNS does not support zone transfers from primary to secondary or from secondary to primary zones. This means that you cannot directly integrate an Active Directory–integrated zone with an Azure DNS zone functioning as a secondary zone.

The best method of integrating Azure DNS with on-premises DNS is to use conditional forwarders and stub zones. When configuring a conditional forwarder or a stub zone for an Azure AD DS zone, use the DNS server addresses that are configured for the Azure AD DS virtual network.

Need More Review? Hybrid DNS Architecture

You can learn more about hybrid DNS architecture at https://docs.microsoft.com/en-us/azure/architecture/hybrid/hybrid-dns-infra.

Implement DNSSEC

Domain Name System Security Extensions (DNSSEC) add security to DNS by enabling DNS servers to validate the responses given by other DNS servers. DNSSEC enables digital signatures to be used with DNS zones. When the DNS resolver issues a query for a record in a signed zone, the authoritative DNS server provides both the record and a digital signature, enabling validation of that record.

To configure DNSSEC, perform the following steps:

  1. Right-click the zone in DNS Manager, select DNSSEC, and then select Sign the Zone.

  2. On the Signing Options page, select Use default settings to sign the zone.

When you configure DNSSEC, three new resource record types are available. These records have the following properties:

  • Resource Record Signature (RRSIG) record This record is stored within the zone, and each is associated with a different zone record. When the DNS server is queried for a zone record, it returns the record and the associated RRSIG record.

  • DNSKEY This is a public key resource record that enables the validation of RRSIG records.

  • Next Secure (NSEC/NSEC3) record This record is used as proof that a record does not exist. For example, the contoso.com zone is configured with DNSSEC. A client issues a query for the host record tasmania.contoso.com and if there is no record for tasmania.contoso.com, the NSEC record returns, which informs the host making the query that no such record exists.

In addition to the special resource records, a DNSSEC implementation has the following components:

  • Trust anchor This is a special public key associated with a zone. Trust anchors enable a DNS server to validate DNSKEY resource records. If you deploy DNSSEC on a DNS server hosted on a domain controller, the trust anchors can be stored in the Active Directory forest directory partition. This replicates the trust anchor to all DNS servers hosted on domain controllers in the forest.

  • DNSSEC Key Master This is a special DNS server that you use to generate and manage signing keys for a DNSSEC-protected zone. Any computer running Windows Server 2012 or later that hosts a primary zone, whether standard or integrated, can function as a DNSSEC Key Master. A single computer can function as a DNSSEC Key Master for multiple zones. The DNSSEC Key Master role can also be transferred to another DNS server that hosts the primary zone.

  • Key Signing Key (KSK) You use the KSK to sign all DNSKEY records at the zone root. You create the KSK by using the DNSSEC Key Master.

  • Zone Signing Key (ZSK) You use the ZSK to sign zone data, such as individual records hosted in the zone. You create the ZSK by using the DNSSEC Key Master.

You can configure Group Policy to ensure that clients only accept records from a DNS server for a specific zone if those records have been signed using DNSSEC. You do this by configuring the Name Resolution Policy Table, which is located in the Computer ConfigurationPoliciesWindows SettingsName Resolution Policy node of a GPO. You create entries in the table; for example, requiring that all queries against a specific zone require DNSSEC validation. You can configure the NRPT by using Group Policy or through PowerShell.

DNSSEC is appropriate for high-security environments, such as those where IPsec and authenticating switches are in use. DNSSEC protects against attacks where clients are fed false DNS information. In many small to medium-sized environments, the likelihood of such an attack is minimal; however, in high-security environments, enabling DNSSEC is a prudent precaution.

Manage Windows Server DNS

Managing DNS on Windows Server also includes understanding how to maintain the DNS event logs and how to configure advanced DNS options.

DNS event logs

The DNS server log is located in the Applications And Services Logs folder in Event Viewer. Depending on how you configure event logging on the Event Logging tab of the DNS server’s properties, this event log can record information, including the following:

  • Changes to the DNS service, such as when the DNS server service is stopped or started

  • Zone loading and signing events

  • Modifications to the DNS server configuration

  • DNS warning and error events

By default, the DNS server records all these events. It’s also possible to configure the DNS server to only log errors, or you can have it log errors and warning events. The key with any type of logging is that you should only enable logging for information that you might need to review at some point in time. Many administrators log everything “just in case,” even though they’re only ever interested in a specific type of event.

In the event that you need to debug how a DNS server performs, you can enable Debug Logging on the Debug Logging tab of the DNS server’s Properties dialog box. Debug logging is resource intensive, and you should only use it when you have a specific problem related to the functionality of the DNS server. You can configure debug logging to use a filter so that only traffic from specific hosts is recorded, instead of recording traffic from all hosts that interact with the DNS server.

DNS options

In high-security environments, you can take a number of steps to make a DNS server more secure from attackers who attempt to spoof it. Spoofing can cause the server to provide records that redirect clients to malicious sites. While DNSSEC provides security for zones hosted on the server, most DNS server traffic involves retrieving information from remote DNS servers and passing that information on to clients. In this section, you learn about settings that you can configure to ensure that the information relayed to clients retains its integrity in the event that a nefarious third party attempts to spoof your organization’s DNS servers.

DNS socket pool

DNS socket pool is a technology that makes cache-tampering and spoofing attacks more difficult by using source port randomization when issuing DNS queries to remote DNS servers. To spoof the DNS server with an incorrect record, the attacker needs to guess which randomized port was used as well as the randomized transaction ID that was issued with the query. By default, one DNS server running on Windows Server uses a socket pool of 2,500. You can use the dnscmd command-line tool to change the socket pool size to a value between 0 and 10,000. For example, to set the socket pool size to 4,000, issue the following command:

Dnscmd /config /socketpoolsize 4000

You must restart the DNS service before you can use the reconfigured socket pool size.

DNS cache locking

DNS cache locking provides you with control over when information stored in the DNS server’s cache can be overwritten. For example, when a recursive DNS server responds to a query for a record that is hosted on another DNS server, it caches the results of that query so that it doesn’t have to contact the remote DNS server if the same record is queried again within the Time to Live (TTL) value of the resource record. DNS cache locking prevents record data in a DNS server’s cache from being overwritten until a configured percentage of the TTL value has expired. By default, the cache-locking value is set to 100 percent, but you can reset it by using the Set-DNSServerCache cmdlet with the LockingPercent option. For example, to set the cache-locking value to 80 percent, issue the following command and then restart the DNS server service:

Set-DNSServerCache -LockingPercent 80
DNS recursion

By default, DNS servers on Windows Server perform recursive queries on behalf of clients. This means when the client asks the DNS server to find a record that isn’t stored in a zone hosted by the DNS server, the DNS server then goes out and finds the result of that query and passes it back to the client. It’s possible, however, for nefarious third parties to use recursion as a denial-of-service attack vector, which could slow a DNS server to the point where it becomes unresponsive. You can disable recursion on the Advanced tab of the DNS server’s properties, or you can configure it by using the Set-DNSServerRecursion cmdlet. For example, to configure the recursion retry interval to 3 seconds, use the following command:

Set-DNSServerRecursion -RetryInterval 3 -PassThru
Netmask ordering

Netmask ordering ensures that the DNS server returns the host record on the requesting client’s subnet, if such a record exists. For example, imagine that the following host records exist on a network that uses 24-bit subnet masks:

  • 10.10.10.105 wsus.contoso.com

  • 10.10.20.105 wsus.contoso.com

  • 10.10.30.105 wsus.contoso.com

If netmask ordering is enabled and a client with the IP address 10.10.20.50 performs a lookup of wsus.contoso.com, the lookup always returns the record 10.10.20.105 because this record is on the same subnet as the client. If netmask ordering is not enabled, the DNS server returns records in a round-robin fashion. If the requesting client is not on the same network as any of the host records, the DNS server also returns records in a round-robin fashion. Netmask ordering is useful for services, such as WSUS, that you might have at each branch office. When you use netmask ordering, the DNS server redirects the client in the branch office to a resource on the local subnet when one exists. Netmask ordering is enabled by default on Windows Server. You can verify that netmask ordering is enabled by viewing the Advanced Properties of the DNS server.

Response rate limiting

Distributed denial-of-service attacks against DNS servers are becoming increasingly common. One method of ameliorating such attacks is by configuring response rate limiting. Response rate limiting determines how a DNS server responds to clients sending an unusually high number of DNS queries. You can configure the following response rate limiting settings:

  • Responses Per Second Determines the maximum number of times an identical response can be returned to a client per second.

  • Errors Per Second Determines the maximum number of error responses returned to a client per second.

  • Window The timeout period for any client that exceeds the maximum request threshold.

  • Leak Rate Determines how often the DNS server responds to queries if a client is in the suspension window. The leak rate is the number of queries it takes before a response is sent. A leak rate of 42 means that the DNS server only responds to one query out of every 42 when a client is in the suspension window period.

  • TC Rate Tells the client to try connecting with TCP when the client is in the suspension window. The TC rate should be below the leak rate to give the client the option of attempting a TCP connection before a leak response is sent.

  • Maximum Responses The maximum number of responses that a DNS server issues to a client during the timeout period.

  • White List Domains Domains that are excluded from response rate limiting settings.

  • White List Subnets Subnets that are excluded from response rate limiting settings.

  • White List Server Interfaces DNS server interfaces that are excluded from response rate limiting settings.

DANE

DNS-based Authentication of Named Entities (DANE) allows you to configure records that use Transport Layer Security Authentication (TLSA) to inform DNS clients of which certificate authorities (CAs) they should accept certificates from for your organization’s domain name DNS zone. DANE blocks attackers from using attacks where a certificate is issued from a rogue CA and is used to provide validation for a rogue website when a DNS server is compromised. When DANE is implemented, a client requesting a TLS connection to a website, such as www.tailspintoys.com, knows that it should only accept a TLS certificate from a specific CA. If the TLS certificate for www.tailwindtraders.com is from a different CA, the client knows that the website that appears to be at www.tailwindtraders.com might have been compromised or that the client might have been redirected by an attacker corrupting a DNS cache.

DNS Policies

You use DNS policies to control how DNS servers respond to queries based on the properties of that query. You can configure DNS policies to achieve the following:

  • Application load balancing Allows you to weight which endpoint is returned when multiple endpoints exist for an address—for example, returning one IP address 75 percent of the time and another IP address 25 percent of the time. This differs from DNS round-robin, where multiple IP addresses associated with a specific address would be returned to clients on an equal basis (netmask ordering is the exception).

  • Traffic management The DNS server provides a response to the client that directs them to the datacenter closest to them. For example, clients making DNS requests from Australia are redirected to an application endpoint in Australia and clients making DNS requests from Canada are redirected to an application endpoint in Canada.

  • Split-brain DNS DNS records can be segmented into zone scopes. Records can be placed in different scopes. This allows external clients to query the DNS zone and be only able to access a specific number of DNS records that are members of a scope designed for external clients. Internal clients have access to a more comprehensive internal scope.

  • Filtering Allows you to block DNS queries from specific IP addresses, IP address ranges, or FQDNs.

  • Forensics Redirects malicious clients to a sinkhole host rather than to the host they are trying to reach. For example, if clients appear to be attempting a denial-of-service attack, redirect them to a static page rather than the site they are attempting to attack.

  • Time of day–based redirection Allows you to configure a policy where clients are redirected to specific hosts based on the time of day when the query is received.

To accomplish most of these tasks, you create a zone scope, which is a collection of records within a zone. For example, in a split-brain scenario, you’d create a zone scope for the internal records. You’d then use the Add-DNSServerQueryResolutionPolicy cmdlet to create a policy that allowed all queries from the DNS server’s internal network interface to have access to records in the internal zone scope; queries that came through any other interface on the DNS server would only have access to the Default scope, which would consist only of those records in the zone to which you wanted public clients to have access. Similarly, in the time-of-
day-based redirection scenario, you’d create scopes for each period of time and then create policies that were triggered based on the time of day that would direct clients to records within the particular scope associated with that period of time.

images Exam Tip

Remember that you can allow hosts on an on-premises network to query records in an Azure DNS private zone if the on-premises network is connected to Azure using a site-
to-site VPN or ExpressRoute and you have configured the appropriate forwarder or stub zone.

Skill 4.2: Manage IP addressing in on-premises and hybrid scenarios

This objective deals with how to manage IP addressing on-premises and in hybrid environments. To master this objective you’ll need to understand how you can use IPAM to manage the DHCP and DNS server roles, how to configure the DHCP server role separately, how to ensure you minimize the chance of IP address issues in hybrid environments, how you can manage DHCP scopes, and how you make sure that the DHCP server service remains available even if an individual DHCP server fails.

Implement and manage IPAM

IPAM allows you to centralize the management of DHCP and DNS servers. Rather than manage each server separately, you can use IPAM to manage them from a single console. You can use a single IPAM server to manage up to 150 separate DHCP servers and up to 500 individual DNS servers. Also, it can manage 6,000 separate DHCP scopes and 150 separate DNS zones. You can perform tasks such as creating address scopes, configuring address reservations, and managing DHCP and DNS options globally, instead of having to perform these tasks on a server-by-server basis. IPAM supports both Active Directory and file-based DNS zones.

Deploy IPAM

You can install the IPAM feature only on a computer that is a member of an AD DS domain. You can have multiple IPAM servers within a single AD DS forest. You are likely to do this if your organization is geographically dispersed and you have separate support teams in the different geographic locations.

It’s important to note that IPAM cannot manage a DHCP or DNS server if the role is installed on the same computer that hosts IPAM. For this reason, you should install the IPAM server feature on a server that doesn’t host the DNS or DHCP roles. IPAM is also not supported on computers that host the AD DS domain controller server role. Additionally, if you want to use the IPAM server to manage IPv6 address ranges, you need to ensure that IPv6 is enabled on the computer hosting the IPAM server. IPAM can use the Windows Internal Database or a dedicated SQL server instance to host data.

Configure server discovery

Server discovery is the process where the IPAM server checks with Active Directory to locate domain controllers, DNS servers, and DHCP servers. You select which domains to discover in the Configure Server Discovery dialog box. After you’ve completed server discovery, you need to run a PowerShell cmdlet that creates and provisions Group Policy objects (GPOs) that allow these servers to be managed by the IPAM server. When you set up the IPAM server, you choose a GPO name prefix. Use this prefix when executing the Invoke-IpamGpoProvisioning PowerShell cmdlet that creates the appropriate GPOs.

If you use the GPO prefix IPAM, the three GPOS are named:

  • IPAM_DC_NPS

  • IPAM_DHCP

  • IPAM_DNS

Until these GPOs apply to the discovered servers, these servers are listed as having an IPAM Access status of Blocked. After the GPOs are applied to the discovered servers, the IPAM Access status is set to Unblocked. After the discovered service has an IPAM Access status set to Unblocked, you can edit the properties of the server and set it to Managed. After you do this, you are able to use IPAM to manage the selected services on the server.

IPAM supports managing DNS and DHCP servers in forests where a two-way trust relationship has been configured. You perform DHCP and DNS server discovery in a trusted forest on a per-domain basis.

IPAM administration

You can delegate administrative permissions by adding user accounts to one of five local security groups on the IPAM server. By default, members of the Domain Admins and Enterprise Admins groups are able to perform all tasks on the IPAM server. The five following local security groups are present on the IPAM server after you deploy the role, and they allow you to delegate the following permissions:

  • DNS Record Administrator Members of this role can manage DNS resource records.

  • IP Address Record Administrator Members of this role can manage IP addresses, but not address spaces, ranges, subnets, or blocks.

  • IPAM Administrators Members of this role can perform all tasks on the IPAM server, including viewing IP address tracking information.

  • IPAM ASM Administrators ASM stands for Address Space Administrator. Users added to this group can perform all tasks that can be performed by members of the IPAM Users group, but they are also able to manage the IP address space. They cannot perform monitoring tasks and are unable to perform IP address tracking tasks.

  • IPAM DHCP Administrator Members of this role can manage DHCP servers using IPAM.

  • IPAM DHCP Reservations Administrator Members of this role can manage DHCP reservations using IPAM.

  • IPAM DHCP Scope Administrator Members of this role can manage DHCP scopes.

  • IPAM MSM Administrators MSM stands for Multi-Server-Management. Members of this role can manage all DNS and DHCP servers managed by IPAM.

  • IPAM DNS Administrator Members of this role can manage DHCP servers using IPAM.

Managing the IP address space

The benefit of IPAM is that it allows you to manage all the IP addresses in your organization. IPAM supports the management of IPv4 public and private addresses, whether they are statically or dynamically assigned. IPAM allows you to detect whether there are overlapping IP address ranges defined in DHCP scopes on different servers; determine IP address utilization and whether there are free IP addresses in a specific range; create DHCP reservations centrally without having to configure them on individual DHCP servers; and create DNS records based on IP address lease information.

IPAM separates the IP address space into blocks, ranges, and individual addresses. An IP address block is a large collection of IP addresses that you use to classify the address space that your organization uses at the highest level. An organization might only have one or two address blocks: one for its entire internal network and another smaller block that represents the public IP address space used by the organization. An IP address range is part of an IP address block. An IP address range cannot map to multiple IP address blocks. Generally, an IP address range corresponds to a DHCP scope. An individual IP address maps to a single IP address range. IPAM stores the following information with an IP address:

  • Any associated MAC (Media Access Control) addresses

  • How the address is assigned (static/DHCP)

  • Assignment date

  • Assignment expiration

  • Which service manages the IP address

  • DNS records associated with the IP address

IP address tracking

One of the most important features of IPAM is its ability to track IP addresses by correlating DHCP leases with user and computer authentication events on managed domain controllers and Network Policy Servers (NPSs). IP address tracking allows you to figure out which user was associated with a specific IP address at a particular point in time, which can be important when trying to determine the cause of unauthorized activity on the organizational network.

You can search for IP address records using one of the following four parameters:

  • Track by IP address You can track by IPv4 address, but IPAM does not support tracking by IPv6 address.

  • Track by client ID You can track by client ID in IPAM, which allows you to track IP address activity by MAC address.

  • Track by host name You can track by the computer’s name as registered in DNS.

  • Track by username You can track a username, but to do this, you must also provide a host name.

Naturally, you can only track data that has been recorded since IPAM has been deployed. So, while it is possible to store several years of data in the Windows Internal Database that IPAM uses, you are limited to only being able to retrieve events recorded after IPAM was configured.

Microsoft estimates that the Windows Internal Database IPAM uses is able to store three years of IP address utilization data for an organization that has 100,000 users before data must be purged.

You can use IPAM to locate free subnets and free IP address ranges in your existing IP address scheme. For example, if you need 50 consecutive free IP addresses for a project, you can use the Find-IpamFreeRange PowerShell cmdlet to determine whether such a range is present in your current environment.

Implement and configure the DHCP server role

DHCP is a network service that most administrators barely pay attention to after they’ve configured it. The main concern that most administrators have with DHCP is up until the release of Windows Server 2012, it had been difficult to configure as a highly available service. While DNS became highly available through its ability to be hosted on any domain controller, the problem with making DHCP highly available was ensuring that, when multiple DHCP servers were in play, duplicate addresses were not being assigned to separate clients. Windows Server 2012 introduced highly available DHCP servers, allowing two servers to share a scope, rather than having to split the scope according to the old 80/20 rule.

DHCP servers need to be authorized in Active Directory before they start leasing addresses. DHCP servers on Microsoft operating systems must always be authorized before they start working, simply because this reduces the chance that a rogue DHCP server might start leasing IP addresses. Only the following can authorize DHCP servers:

  • Members of the Enterprise Admins group

  • Members of the Domain Admins group in the forest root domain

  • Accounts delegated the ability to add, modify, or delete new objects of the DHCP class type on the NetServices folder in Active Directory

When you deploy the DHCP server role, the following local groups are created. You can use membership of these groups to delegate DHCP server management permissions to users or groups:

  • DHCP Administrators Members of this group can view or modify any DHCP server settings, including configuring DHCP options, failover, and scopes.

  • DHCP Users Members of this group have only read-only access to the DHCP server. They can view, but not modify, DHCP server settings, including scope information and data.

Resolve IP address issues in hybrid environments

Any organization that’s merged with another knows the challenges involved in resolving overlapping IP address spaces. Many organizations choose default private IP address ranges for their on-premises networks and do the same with their resources in the cloud. This does not cause problems until an attempt is made to connect the two environments and the duplicate ranges are discovered.

Common IP address issues in hybrid environments are:

  • Overlapping IP address ranges Many cloud environments suffer from unplanned sprawl of IP address spaces. Developers spin up new virtual networks for each new workload. This is especially likely to occur in environments where different parts of an organization maintain separate Azure subscriptions. It can also happen when organizations have multicloud deployments with IaaS resources in Azure and third-party clouds and connect those resources using VPNs.

  • IP address conflicts This issue occurs when hosts on-premises and in the cloud are assigned the same IP address. You can avoid this problem by ensuring that no overlapping IP address ranges are used.

  • Routing problems Without clear and differentiated IP address ranges on-premises and in Azure, routing problems can occur. One simple solution is to use a completely different IP address range for on-premises networks and cloud networks. For example, on-premises networks can use IP addresses in the 10.0.0.0/8 range and private IP addresses on cloud networks.

  • Public versus private traffic In many environments it’s necessary to ensure that all traffic that passes between the on-premises network and Azure passes across VPN or ExpressRoute. If routes are not configured properly, traffic that should pass across an encrypted private link may instead travel across the internet.

Create and manage scopes

A DHCP scope is a collection of IP address settings that a client uses to determine its IP address configuration. You configure a DHCP scope for every separate IPv4 subnet to which you want the DHCP servers to provide IP address configuration information. When configuring an IPv4 scope, specify the following information:

  • Scope Name The name of the scope. The name should be descriptive enough that you recognize which hosts the scope applies to—for example, Level 2, Old Arts Building.

  • IP Address Range This is the range of IP addresses encompassed by the scope, and it should be a logical subnet.

  • IP Address Exclusions This includes which IP addresses within the IP address range you do not want the DHCP server to lease. For example, you could configure exclusions for several computers that have statically assigned IP addresses.

  • Delay This setting determines how long the DHCP server waits before offering an address. This provides you with a method of DHCP server redundancy, with one DHCP server offering addresses immediately and another offering addresses only after a certain period of time has elapsed.

  • Lease Duration The lease duration determines how long a client has an IP address before the address returns to the lease pool.

  • DHCP Options There are 61 standard options that you can configure. These include settings, such as DNS server address and default gateway address, that apply to leases in the scope.

You can add a DHCP server scope using the Add-DHCPServer4Scope or Add-DHCPServer6 Scope PowerShell cmdlet. For example, to create a new scope for the 192.168.10.0/24 network named MelbourneNet, issue the following PowerShell command:

Add-DHCPServerv4Scope -Name "MelbourneNet" -StartRange 192.168.10.1 -Endrange
192.168.10.254 -SubnetMask 255.255.255.0

Most organizations are still using IPv4 with their DHCP server. For the sake of brevity, all PowerShell examples are for IPv4.

Server and scope options

DHCP options include additional configuration settings, such as the address of a network’s default gateway or the addresses of DNS servers. You can configure DHCP options at two levels: the scope level and the server level. Options configured at the scope level override options configured at the server level.

Common scope options include:

  • 003 Router The address of the default gateway for the subnet.

  • 006 DNS Servers The address of DNS servers that the client should use for name resolution.

  • 015 DNS Domain Name This is the DNS suffix assigned to the client.

  • 058 Renewal time This determines how long after the lease is initially acquired that the client waits before it attempts to renew the lease.

You can configure IPv4 scope options using the Set-DHCPServer4OptionValue cmdlet. For example, to configure the scope with ID 192.168.10.0 on DHCP server dhcp.contoso.com with the value for the DNS server set to 192.168.0.100, issue the following command:

Set-DHcpServerv4OptionValue -Computername dhcp.contoso.com -ScopeID 192.168.10.0
-DNSServer 192.168.0.100
Superscopes

A superscope is a collection of individual DHCP scopes. You might create a superscope when you want to bind existing scopes for administrative reasons. For example, imagine that you have a subnet in a building that is close to fully allocated. You can add a second subnet to the building and then bind them into a superscope. The process of binding several separate logical subnets on the same physical network is known as multinetting.

At least one existing scope must be present on the DHCP server before you can create a superscope. After you have created a superscope, you can add new subnets or remove subnets from that scope. It’s also possible to deactivate some subnets within a scope while keeping others active. You might use this technique when migrating clients from one IP address range to another. For example, you could have both the source and destination scopes as part of the same superscope and activate the new scope and deactivate the original scope as necessary when performing the migration. You can create superscopes using the Add-DHCPServerv4 Superscope cmdlet. For example, to add the scopes with ID 192.168.10.0 and 192.168.11.0 to a superscope named MelbourneCBD, run the following command:

Add-DhcpServerv4Superscope -SuperscopeName "MelbourneCBD" -ScopeId 192.168.10.0,
192.168.11.0
Multicast scopes

A multicast address is an address that allows one-to-many communications on a network. When you use multicast, multiple hosts on a network listen for traffic on a single multicast IP address. Multicast addresses are in the IPv4 range of 224.0.0.0 to 239.255.255.255. Multicast scopes are collections of multicast addresses. You can configure a Windows Server 2016 DHCP server to host multicast scopes. Multicast scopes are also known as Multicast Address Dynamic Client Allocation Protocol (MADCAP) scopes because applications that require access to multicast addresses support the MADCAP API.

The most common use for multicast addresses using the default Windows Server 2016 roles is for Windows Deployment Services (WDS). You can, however, configure the WDS server with its own set of multicast addresses, and you don’t need to configure a special multicast scope in DHCP to support this role.

Split scopes

A split scope is one method of providing fault tolerance for a DHCP scope. The idea behind a split scope is that you host one part of the scope on one DHCP server and a second, smaller part of the scope on a second DHCP server. Usually, this split has 80 percent of the addresses on the first DHCP server and 20 percent of the addresses on the second server. In this scenario, the DHCP server that hosts the 20 percent portion of the address space is usually located on a remote subnet. In the split-scope scenario, you also use a DHCP relay agent configured with a delay so that most addresses are leased from the DHCP server that hosts 80 percent of the address space. Split scopes are most likely to be used in scenarios where your DHCP servers aren’t running on Windows Server 2012 or later operating systems. If you want to provide fault tolerance for scopes hosted on servers running Windows Server 2012 or later, you should instead implement DHCP failover.

Name protection

DHCP name protection is a feature that allows you to ensure that the host names a DHCP server registers with a DNS server are not overwritten in the event that a non-Windows operating system has the same name. DHCP name protection also protects names from being overwritten by hosts that use static addresses that conflict with DHCP-assigned addresses.

For example, imagine that in the tailwindtraders.com domain there is a computer running the Windows 11 operating system that has the name Auckland and receives its IP address information from a Windows Server DHCP server. The DHCP server registers this name in DNS and creates a record in the contoso.com DNS zone that associates the name Auckland.tailwindtraders.com with the IP address assigned to the computer running Windows 11. A newly installed computer running a custom distribution of Linux is also assigned the name Auckland. Because name protection has been enabled, this new computer is unable to overwrite the existing record with a new record that associates the name Auckland.tailwindtraders.com with the Linux computer’s IP address. If name protection had not been enabled, it is possible that the record would have been overwritten.

You can enable name protection on a scope by selecting Configure on the DNS tab of the IPv4 or IPv6 Properties dialog box. You can also do this by using the Set-DhcpServerv4 DnsSetting or the Set-DhcpServerv6DnsSetting cmdlet. For example, to configure the DHCP server on computer MEL-DC so that name protection is enabled on all IPv4 scopes, issue the following command:

Set-DhcpServerv4DnsSetting -Computer MEL-DC -NameProtection $true
DHCP relay

The DHCP relay agent allows you to relay DHCP requests from a logical network or VLAN that does not have a DHCP server to a subnet that does. Windows Server supports the deployment of a DHCP relay agent as part of the Routing and Remote Access role. When configuring the DHCP relay agent component of Routing and Remote Access, you specify the IP address of the DHCP server that is used to provision IP addresses. Because configuring Routing and Remote Access to support a DHCP relay agent is more complicated than deploying a new DHCP server, some organizations simply opt to deploy a new DHCP server and manage the relevant scopes through IPAM. Alternatively, most organizations configure routers to forward DHCP requests, and in those environments, it is not necessary to configure a DHCP relay agent. Other aspects of the Routing and Remote Access role are covered later in this chapter.

DHCP policies

DHCP policies allow you to group DHCP clients based on information contained with that client’s DHCP request packet. For example, if you had a collection of Microsoft Teams phones that had a specific range of MAC addresses connected to a subnet serviced by a specific DHCP scope, you could configure a DHCP policy to assign separate scope options to those clients that differed from those assigned normally.

Create and manage IP reservations

Reservations allow you to ensure that a particular computer always receives a specific IP address. You can use reservations to allow servers to always have the same address, even when they are configured to retrieve that address through DHCP. If you don’t configure a reservation for a computer, it can be assigned any available address from the pool. Although you can configure DHCP to update DNS to ensure that other hosts can connect using the client’s host name, it is generally a good idea to ensure that a server retains the same IP address.

Configuring reservations

There are two ways to configure a DHCP reservation. The simplest way is to locate an existing IP address lease in the DHCP console, right-click it, and then select Add To Reservation. This then ties that specific network adapter address to that IP address. The only drawback of this method is that the reservation is for the assigned IP address, and you cannot customize it.

If you know the network adapter address, also known as a MAC address, of the computer for which you want to configure a reservation, you can right-click the Reservations node under the scope that you want to configure the reservation under, and then select New Reservation. In the New Reservation dialog box fill out the Reservation Name, IP Address, and Network Adapter Address fields, and then select Add to create the reservation. You can also configure a reservation using the Add-DhcpServerv4Reservation cmdlet. For example, to configure a reservation, issue the following command:

Add-DhcpServerv4Reservation -ScopeId 192.168.10.0 -IPAddress 192.168.10.8 -ClientId
A0-FE-C1-7A-00-E5 -Description "A4 Printer"
DHCP filtering

You can configure DHCP filtering on the Filters tab of the IPv4 Properties dialog box in the DHCP console. DHCP filtering is used in high-security environments to restrict the network adapter addresses that can utilize DHCP. For example, you can have a list of all network adapter addresses in your organization and use the Enable Allow List option to lease only IP addresses to this list of authorized adapters. This method of security is not entirely effective because it is possible for unauthorized people to fake an authorized adapter address as a way of gaining network access. You can add a specific network adapter to the allowed list of MAC addresses using the Add-DHCPServerv4Filter cmdlet. For example, to allow a laptop with the MAC address D1-F2-7C-00-5E-F0 to the authorized list of adapters, issue this command:

Add-DhcpServerv4Filter -List Allow -MacAddress D1-F2-7C-00-5E-F0 Description "Rooslan's
Laptop"

Implement DHCP high availability

DHCP failover allows you to configure DHCP to be highly available without using split scopes. You have two options when configuring DHCP failover:

  • Hot Standby mode This relationship is a traditional failover relationship. When you configure this relationship, the primary server handles all DHCP traffic unless it becomes unavailable. You can configure DHCP servers to be in multiple separate relationships, so it’s possible that a DHCP server can be the primary server in one relationship and a hot standby server in another relationship. When configuring this relationship, you specify a percentage of the address ranges to be reserved on the standby server. The default value is 5 percent. These 5 percent of addresses are instantly available after the primary server becomes unavailable. The hot standby server takes control of the entire address range when the figure specified by the state switchover interval is reached. The default value for this interval is 60 minutes.

  • Load balance mode This is the default mode when you create a DHCP failover relationship. In this mode, both servers provide IP addresses to clients according to the ratio defined by the load balance percentage figure. The default is for each server to share 50 percent of the load. The maximum client lead time figure enables one of the partners to take control of the entire scope in the event that the other partner is not available for the specified time.

Before configuring DHCP failover, you need to remove any split scopes between the potential partners. You can also choose a shared secret to authenticate replication traffic, but you don’t have to enter this secret on the partner DHCP server.

images Exam Tip

Remember that you should deploy IPAM on a server that is not a domain controller, DNS server, or DHCP server.

Skill 4.3: Implement on-premises and hybrid network connectivity

Hybrid environments require some type of bridge between on-premises workloads and those hosted in the cloud. To build these connections you will need to configure a VPN or ExpressRoute connection. When choosing a VPN, you’ll need to chose between a point-to-site or site-to-site VPN. Connecting an organization with multiple on-premises sites to Azure also provides you the option of using the cloud as a central hub for routing organizational traffic. The final element to implementing hybrid network connectivity is selecting the appropriate technology to connect on-premises applications and workloads to front end services and clients in the cloud.

Implement and manage the Remote Access role

The Remote Access role service enables you to provide network access and routing functionality using a computer running Windows Server that you might otherwise provision using a dedicated hardware device. The Remote Access role enables you to provide the following services to computers:

  • Access to trusted networks (such as an organization’s internal network) for clients on untrusted networks (such as the internet) through VPNs or DirectAccess.

  • Network routing using the Routing Information Protocol (RIP) and static routes, enabling you to connect separate IPv4 and IPv6 networks. It also enables you to configure encrypted site-to-site tunnels that can be used as wide area network (WAN) links between branch offices across the internet.

RADIUS servers

The Network Policy Server (NPS) role is Microsoft’s implementation of a RADIUS server. A RADIUS server performs authentication, authorization, and accounting for VPN, 802.1x wireless access point and authenticating switches, and dial-up connections.

Given that NPS is an implementation of the RADIUS protocol, you can use NPS with other third-party products that support the RADIUS protocol, as well as other versions of Microsoft products that support RADIUS. The NPS role’s support for the RADIUS protocol means that you can integrate it with most third-party remote and network access products. Active Directory functions as the user account database when a server with the NPS role installed is a member of an Active Directory Domain Services (AD DS) domain. You configure whether the local server performs RADIUS authentication when creating a connection request policy, or by editing the properties of a connection request policy.

RADIUS proxies

A RADIUS proxy forwards traffic from RADIUS clients to other RADIUS servers based on the properties of the connection request. When you configure a server with the NPS role installed as a RADIUS proxy, information about messages passed on to RADIUS servers from RADIUS clients is recorded in the accounting log. A server configured as a RADIUS proxy functions as a RADIUS client from the perspective of the RADIUS server performing authentication.

You deploy a RADIUS proxy when you need to provide authentication and authorization for users who have accounts in other Active Directory forests. For example, if there are three forests in your organization in which no forest trusts have been configured, but only one VPN server, you can use a RADIUS proxy to forward authentication traffic to RADIUS servers in the other forests. If a forest trust has been configured, you don’t need to use a RADIUS proxy. You can also use a RADIUS proxy when you need authentication to occur against an account database running on a third-party operating system.

To configure a server with the NPS role installed to function as a RADIUS proxy, you need to have configured a remote RADIUS server group. A remote RADIUS server group is a collection of RADIUS servers to which a RADIUS proxy can forward authentication traffic. You configure the priority and weight of each server in the group to determine the balance of traffic forwarded from the proxy. Weight is for load balancing allocation and priority is used in high availability situations. You can add additional servers to the group if the current RADIUS servers can’t cope with the current traffic load.

RADIUS clients

When many IT professionals are first introduced to the term RADIUS client, they assume that it is something similar to a laptop computer on the internet trying to make a remote access connection. A RADIUS client is a device that forwards authentication and authorization traffic to a RADIUS server. A RADIUS client can be one of the following:

  • Another RADIUS server In this case, the RADIUS server is acting as a proxy. The response from the RADIUS server is forwarded back to the client through the proxy.

  • A wireless access point that uses 802.1x authentication Rather than have the wireless access point perform authentication and authorization, the wireless access point functions as a RADIUS client and forwards authentication and authorization traffic to the RADIUS server. The response from the RADIUS server determines whether the connection is allowed or denied.

  • A switch that uses 802.1x authentication Rather than have the authenticating switch perform authentication and authorization, the authenticating switch functions as a RADIUS client and forwards authentication and authorization traffic to the RADIUS server. The response from the RADIUS server determines whether the connection is allowed or denied.

  • A VPN server The VPN server handles the setup of the VPN connection. The authentication and authorization is handled by another server. The response from the RADIUS server determines whether the connection is allowed or denied. This configuration is more secure because the account database is not hosted on the VPN server. If the VPN server is on a perimeter network, you configure a firewall to allow RADIUS authentication and authorization traffic between the VPN server and the RADIUS server on the protected network.

  • A dial-up server Although dial-up is less likely to be used today, dial-up servers can function as RADIUS clients. In this configuration, they forward authentication and authorization traffic to a RADIUS server and then allow or deny the connection based on the response.

RADIUS accounting

RADIUS accounting is a function that you can configure on a server that hosts the NPS role that enables you to record successful and failed connection attempts through devices that participate in your organization’s RADIUS infrastructure. You can use the RADIUS accounting function available in NPS to record the following information:

  • User authentication requests

  • Access-Accept messages

  • Access-Reject messages

  • Accounting requests and responses

  • Periodic status updates

You can configure RADIUS accounting on a server with the NPS role installed in one of the following three ways:

  • Event logging This method is the least sophisticated. You use this method to audit and troubleshoot connection attempts. The events are written to the event log.

  • Logging user authentication and accounting requests to a local file Enables logs to be written in Internet Authentication Service (IAS) and database-compatible format. This type of logging is appropriate when there are only a small number of remote access clients.

  • Logging user authentication and accounting requests to a Microsoft SQL Server XML-compliant database Logging onto an SQL Server database has the advantage of enabling multiple servers with the NPS role installed to write accounting data to a single location. Because the data is stored on an SQL Server instance, it can be queried using Microsoft SQL Server syntax. In large environments in which RADIUS accounting data needs to be regularly examined, administrators can write a web application to query and extract data from this database.

When configuring logging, you can enable an option that will block connection requests if logging fails. When considering whether to implement this option, you should balance the inconvenience of disallowing network access, which could be substantial if you have deployed NAP, against the security impact of having connections that would otherwise be authenticated and authorized being denied because a log entry cannot be written.

VPN server

After you install the Remote Access role on a computer running Windows Server, you can configure the server as a VPN server. Before you deploy Windows Server as a VPN server, ensure that you have met the following requirements:

  • The computer that functions as the VPN server must have two network adapters. Prior to configuring the VPN server, you must determine which interface accepts incoming traffic from untrusted networks. You specify this network interface during VPN setup.

  • Determine how clients from untrusted networks receive IP addresses on the trusted network. You can configure the VPN server to interact with an existing DHCP server on the trusted network. When you do this, the VPN server leases blocks of 10 IP addresses and assigns them to remote clients. You also have the option of manually configuring an address pool from which the VPN server can lease IP addresses. When you do this, you must ensure that the manually selected IP addresses are not already in use and are not used in the future by clients other than those that connect using the VPN server.

  • Decide whether you want the VPN server to authenticate connections or pass authentication requests on to a server with the NPS role installed. You might choose to configure the VPN server to pass authentication requests on to a server with the NPS role installed if you have multiple servers or if you have configured a stand-alone server as a VPN server as a way of enhancing security.

VPN authentication

When planning to allow clients to remotely connect to trusted networks, consider the authentication protocols that can be used to establish those connections. Although Windows Server supports many protocols that have been in use for some time, these protocols are often less secure than more recently developed protocols. Windows Server supports the following protocols, listed from most secure to least secure:

  • Extensible Authentication Protocol-Transport Level Security (EAP-TLS) You use this protocol with smart cards or digital certificates. You can use this protocol only if you are using RADIUS authentication or if the remote access server performing authentication is domain-joined.

  • Microsoft Challenge Handshake Authentication Protocol version 2 (MS-CHAPv2) Provides mutual authentication. This means that not only is the user authenticated but the service that the user is connecting to is also authenticated. Allows for the encryption of the authentication process and the session.

  • Extensible Authentication Protocol-Message Digest 5 Challenge Handshake Authentication (EAP-MD5 CHAP) Supports encryption of authentication data through MD5 hashing and also uses the EAP framework. Used to support third-party clients.

  • Challenge Handshake Authentication Protocol (CHAP) Authentication data is encrypted through MD5 hashing. The data is not encrypted.

  • Password Authentication Protocol (PAP) This protocol does not encrypt authentication data, meaning that if the authentication is captured, the username and password data can be read directly without having to be decrypted.

VPN protocols

A Windows Server VPN server supports four VPN tunneling protocols. In most organizations, you leave the protocols enabled. Clients attempt to negotiate a connection using the most secure protocol available to them. VPN servers on computers running Windows Server support the following protocols:

  • IKEv2

  • SSTP

  • L2TP/IPsec

  • PPTP

IKEv2

IKEv2 has the following features:

  • Supports IPv6

  • Enables VPN reconnect

  • Supports EAP and Computer certificates for client authentication

  • Does not support PAP or CHAP

  • Only supports MS-CHAPv2 with EAP

  • Supports data origin authentication, data integrity, replay protection, and data confidentiality

  • Uses UDP port 500

VPN Reconnect enables the automatic reconnection of VPN connections without requiring users to perform manual authentication. VPN Reconnect works across different connections, so a VPN connection can remain active when a user switches between hotspots or a wired and wireless connection. VPN Reconnect allows for automatic reconnection without authentication for periods of disruption for up to 8 hours.

SSTP

SSTP functions by encapsulating PPTP traffic over the Transport Layer Security (TLS) (formerly Secure Sockets Layer [SSL]) channel of the Secure Hypertext Transfer Protocol (HTTPS). The advantage of SSTP is that it uses TCP port 443, which means that it is likely to work in locations in which other protocols, such as IKEv2, L2TP/IPsec, and PPTP, do not work because of intervening firewalls.

SSTP has the following requirements:

  • Requires that the client trusts the certification authority (CA) that issued the VPN server’s SSL certificate.

  • The SSL certificate must be configured with a name that matches the FQDN of the IP address of the external interface of the VPN server.

  • Can’t be used to create VPN connections if there is a web proxy that requires authentication.

L2TP/IPsec

Although L2TP/IPsec usually requires the deployment of digital certificates, it is possible, with special configuration, to get L2TP/IPsec to work with preshared keys. When used with digital certificates, L2TP/IPsec VPN clients must trust the CA that issued the certificate to the VPN server, and the VPN server must trust the CA that issued the certificates to the clients. The simplest way to implement L2TP/IPsec is by also deploying an Enterprise CA on the trusted network. L2TP/IPsec supports all authentication protocols that are supported with Windows Server, which means you can use the protocol with advanced authentication methods such as smart cards.

PPTP

PPTP is the oldest VPN protocol supported by Windows Server. It is also the least secure. It is most often used by organizations that need to support clients running legacy operating systems or that haven’t deployed the certificate infrastructure required to implement L2TP/IPsec. PPTP connections provide data confidentiality but do not provide data integrity or data origin protection. That means captured data can’t be read, but you can’t be sure that the transmitted data was the same data sent by the client.

LAN routing

You can configure Windows Server to function as a network router in the same way that you configure traditional hardware devices to perform this role. LAN routing is often used with virtual machines to connect private or internal virtual machine networks with an external network. To perform the LAN routing function, Windows Server must have two or more network adapters. Windows Server supports using Routing Information Protocol (RIP) v2 for route discovery. You can also use the Routing and Remote Access console to configure static routes.

Network address translation

Network address translation (NAT) enables you to share an internet connection with computers on an internal network. In a typical NAT configuration, the NAT server has two network interfaces, where one network interface is connected to the internet and the second network interface connects to a network with a private IP address range. Computers on the private IP address range can then establish communication with computers on the internet. It is also possible to configure port forwarding so all traffic that is sent to a particular port on the NAT server’s public interface is directed to a specific IP address/port combination on a host on the private IP address range.

DirectAccess

DirectAccess is an always-on remote access solution, which means that if a client computer is configured with DirectAccess and connects to the internet, a persistent connection is established between that computer and the organization’s internal network. One big advantage of DirectAccess is that it does not require users to directly authenticate. The client computer determines that it is connected to the internet by attempting to connect to a website that is only accessible from the internal network. If the client determines that it is on a network other than the internal network, it automatically initiates a connection to the internal network.

When determining its network connection status, the client first attempts to determine whether it is connected to a native IPv6 network. If the client has been assigned a public IPv6 address, it can make a direct connection to the organization’s internal DirectAccess servers. If the client determines that it is not connected to a native IPv6 network, it attempts to create an IPv6 over IPv4 tunnel using the 6to4 and then Teredo technologies. If connections cannot be established using these technologies, it attempts to use IP-HTTPS, which is similar to the SSTP protocol discussed earlier, except that it encapsulates IPv6 traffic within the HTTPS protocol.

When a connection is established, authentication occurs using computer certificates. These computer certificates must be preinstalled on the client, but the benefit of this requirement is that user intervention is not required. Authentication occurs automatically and the connection occurs seamlessly.

DirectAccess supports remote client management through a feature named Manage Out. Manage Out enables remote management functionality for DirectAccess clients, allowing administrative tasks, including tasks that in the past could only be performed on computers on a local area network, to be performed on clients without requiring a connection to cloud-hosted solutions such as Intune.

The primary drawback of DirectAccess is that it requires a domain-joined computer. DirectAccess clients are configured through GPOs. The configuration GPO is automatically created through the DirectAccess setup process. This GPO is filtered so that it only applies to the security group you’ve designated to host the DirectAccess clients.

DirectAccess Topologies

DirectAccess supports multiple deployment topologies. You don’t have to deploy the DirectAccess server with a network adapter directly connected to the internet. Instead, you can integrate the DirectAccess server with your organization’s existing edge topology. During your DirectAccess server deployment, the Remote Access Server Wizard asks you which of the topologies reflects your server configuration. The difference between them is as follows:

  • Edge This is the traditional DirectAccess deployment method. The computer hosting the server has two network adapters. The first network adapter is connected directly to the internet and has been assigned one or more public IPv4 addresses. The second network adapter connects directly to the internal trusted network.

  • Behind An Edge Device (With Two Network Adapters) In this type of deployment, the DirectAccess server is located behind a dedicated edge firewall. This configuration includes two network adapters. One of the network adapters on the DirectAccess server is connected to the perimeter network behind the edge firewall. The second network adapter connects directly to the internal trusted network.

  • Behind An Edge Device (With A Single Network Adapter) In this type of deployment, the DirectAccess server has a single network adapter connected to the internal network. The edge firewall passes traffic to the DirectAccess server.

DirectAccess server

The DirectAccess server is a domain-joined computer running Windows Server 2012 or later that accepts connections from DirectAccess clients on untrusted networks, such as the internet, and provides access to resources on trusted networks. The DirectAccess server performs the following roles:

  • Authenticates DirectAccess clients connecting from untrusted networks

  • Functions as an IPsec tunnel mode endpoint for DirectAccess traffic from untrusted networks

Before you can configure a computer running Windows Server 2012 or later to function as a DirectAccess server, you must ensure that it meets the following requirements:

  • The server must be a member of an Active Directory Domain Services domain.

  • If the server is connected directly to the internet, it must have two network adapters: one that has a public IP address and one that is connected to the trusted internal network.

  • The DirectAccess server can be deployed behind a NAT device, which limits DirectAccess to using IP over HTTPS (IP-HTTPS).

  • A server connected to the internet only requires a single public IPv4 address. Two-factor authentication, using either a smart card or a one-time password (OTP), however, requires two consecutive public IPv4 addresses.

  • The DirectAccess server can also host a VPN server. This functionality was not present in the Windows Server 2008 R2 version of DirectAccess.

  • You can configure DirectAccess in a network load-balanced configuration of up to eight nodes.

  • The TLS certificate installed on the DirectAccess server must contain an FQDN that resolves through DNS servers on the internet to the public IP address assigned to the DirectAccess server or to the gateway through which the DirectAccess server is published.

  • The TLS certificate installed on the DirectAccess server must have a Certificate Revocation List (CRL) distribution point that is accessible to clients on the internet.

You should strongly consider obtaining the TLS certificate for your organization’s DirectAccess server from a public CA. If you obtain the certificate this way, you don’t have to worry about publishing the CRL from your internal certificate services deployment to a location that is accessible to the internet. Using a trusted third-party CA ensures that the CRL is available to clients on the internet.

A DirectAccess implementation also relies on the following infrastructure being present:

  • Active Directory domain controller DirectAccess clients and servers must be members of an Active Directory domain. By necessity, when you deploy a domain controller, you also deploy a DNS server. Active Directory, due to its basic nature, also makes Group Policy available.

  • Group Policy When you configure DirectAccess, the setup wizard creates a set of Group Policy objects (GPOs) that are configured with settings you choose in the wizard. They apply to DirectAccess clients, DirectAccess servers, and servers that you use to manage DirectAccess.

Prepare DNS servers by removing the ISATAP name from the global query block list. You must take this step on all DNS servers that are hosted on computers running Windows Server operating systems.

You can remove ISATAP from the DNS global query block list by issuing the following command on each DNS server and restarting the DNS server service:

Dnscmd /config /globalqueryblocklist wpad

Alternatively, you can remove ISATAP from the GlobalQueryBlockList value on the ComputerHKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDNSParameters hive of the registry so that it contains only the wpad entry. After making this configuration change, you must restart the DNS server.

Network Location Server

The Network Location Server (NLS) is a specially configured server that enables clients to determine whether they are on a trusted network or an untrusted network. The NLS server’s only function is to respond to specially crafted HTTPS requests. When the client determines that it has a connection to any network, it sends this specially crafted HTTPS request. If there is a response to this request, the client determines that it is on a trusted network and disables the DirectAccess components. If there is no response to this request, the client assumes that it is connected to an untrusted network and initiates a DirectAccess connection.

DirectAccess clients are informed of the NLS’s location through Group Policy. You don’t have to configure these policies manually because they are created automatically when you use the DirectAccess Setup Wizard. Any server that hosts a website and has an SSL certificate installed can function as the NLS. You should ensure that the NLS is highly available because if this server fails, it causes all clients that are configured for DirectAccess on the trusted network to assume they are on an untrusted network.

Implement and manage Azure Network Adapter

Azure Network Adapter allows you to create a point-to-site VPN connection to an Azure virtual network directly from Windows Admin Center on a computer running Windows Server 2019 or Windows Server 2022. Because it is a point-to-site VPN, the computer that you’re configuring with Azure Network Adapter only needs a connection to the internet; it does not need to have a public IP address.

While it’s possible to create point-to-site VPN connections from the Azure console, as is the case with creating an Azure VM from Windows Admin Center, this allows you to perform all the necessary tasks from the primary tool that you use to manage Windows Server. Windows Admin Center will also assist in the creation of Azure VPN gateways if one isn’t already present on the virtual network to which you are creating a connection.

Once you have configured Azure Network Adapter, you’ll be able to connect to and manage IaaS VMs running Windows Server operating systems connected to the virtual network the adapter connects to. You can configure multiple Azure virtual network adapters, each of which connects to a different Azure virtual network.

Azure Network Adapter is appropriate if you only need to connect one or more individual Windows Server computers to an Azure virtual network. If you need to connect your entire on-premises network to an Azure virtual network, you should use a site-to-site VPN or ExpressRoute, which are covered later in this chapter.

Need More Review? Azure Network Adapter

You can learn more about Azure Network Adapter at https://docs.microsoft.com/azure/architecture/hybrid/azure-network-adapter.

Implement and manage Azure Extended Network

Extended Network for Azure, alternatively named Azure Extended Network, allows your organization to extend an on-premises subnet with a private IP address range into an Azure virtual network. This allows you to have existing on-premises hosts retain their private IP address when migrating or configuring coexistence with Azure.

Network extension is enabled through a bidirectional VXLAN tunnel between two Windows Server computers hosting virtual appliances. One virtual appliance is deployed on the on-premises subnet you wish to extend and one is deployed using nested virtualization in Azure on the network to which you wish to extend the IP address range. You can extend up to 250 addresses from an on-premises network to Azure. Extended Network, for Azure supports an aggregate throughput of approximately 700 Mbps with performance depending on the CPU capacity of the VXLAN tunnel endpoint appliances. If a firewall exists between your on-premises network and Azure, you will need to configure it to allow asymmetric routing traffic. This involves enabling TCP state bypass and disabling sequence number randomization.

Deployment occurs by adding the Extended Network extension to Windows Admin Center that is connected to an Azure subscription. You will need a virtual network in Azure that has a minimum of two subnets as well as an additional subnet for the gateway connection. One of the subnets will need the same address range as the on-premises private address range that you wish to extend into Azure. You’ll also need to deploy a Windows Server VM in Azure configured for nested virtualization. This server will host the cloud instance of the virtual appliance. Once you have connected Windows Admin Center to your on-premises and Azure Windows Server virtual machine hosts and installed the Extended Network extension, you will be able to deploy and configure Extended Network for Azure. You need to configure each IP address that you wish to extend from on-premises to Azure, ensuring that there are no conflicts with the same address being present both on-premises and in Azure. Once the address has been extended to Azure, it can be assigned to a VM connected to the appropriate Azure subnet.

Need More Review? Extended Network For Azure

You can learn more about this topic at https://docs.microsoft.com/windows-server/manage/windows-admin-center/azure/azure-extended-network.

Implement and manage Network Policy Server role

NPS enables you to configure network access policies. These policies can be related to remote connection requests, such as through a VPN or an RD gateway server. You can also configure a Windows Server with the NPS role as a RADIUS proxy. A RADIUS proxy forwards remote access connection requests to another RADIUS server that can authorize or deny that request.

You can configure the NPS role on Windows Server to function in one or more of the following capacities:

  • NAP policy server

  • RADIUS server

  • RADIUS proxy

Connection request policies

A connection request policy is a set of conditions that enable you to specify which RADIUS server performs the authorization and authentication process for specific RADIUS clients. You can configure multiple connection request policies on a server with the NPS role installed. When multiple policies are present, policies are processed according to the policy processing order. The first policy where conditions are met is used.

Network access server type

One of the first steps you take when creating a connection request policy is to specify the type of network access server that will be sending traffic to the NPS server. When configuring the policy, you can choose from the following connection types:

  • Remote Desktop Gateway Use this option when you are configuring the NPS server to perform authentication for an RD Gateway server.

  • Remote Access Server (VPN-Dial Up) Use this option when you are configuring the NPS server to perform authentication for remote access. You can use this method with both VPN and dial-up servers.

  • Unspecified Use this type if you are configuring NPS to perform authentication for an 802.1x authenticating switch or wireless access point.

You can also configure a vendor-specific network access server and use the vendor-specific ID if you are configuring NPS to perform authentication from a third-party access server.

Request policy conditions

When you configure multiple policies, the policies are evaluated in numerical order, with the first policy that matches the specified conditions being used. You add conditions on the Specify Conditions page of the New Connection Request Policy wizard. Although at least one condition must exist, you can also use multiple conditions when you create a connection request policy. You can select from the following conditions:

  • Username The username as specified in the RADIUS message. This name includes both the user account name and the RADIUS realm name. You can use wildcards when configuring this condition.

  • Access Client IPv4 Address The IPv4 address of the client requesting access.

  • Access Client IPv6 Address The IPv6 address of the client requesting access.

  • Framed Protocol Use this condition when you want to apply the policy to clients using a specific framing protocol such as PPP.

  • Service Type Enables you to create a condition that depends on the type of service.

  • Tunnel Type Use this condition to create a policy that applies only to a specific type of tunnel, such as an LT2P/IPsec tunnel.

  • Day and Time Restrictions Enables you to create a condition determining when connection attempts will be accepted or denied. Day and time restrictions are based on the time zone set on the NPS server.

  • Calling Station ID This RADIUS client property enables the policy to match the telephone number of the network access server to which the client connected. For example, if the dial-up server had the phone number 555-5555, it could be used as the calling station ID.

  • Client Friendly Name This RADIUS client property enables the policy to match the identity of the RADIUS client that forwarded the connection request to the NPS server. For example, if the VPN server were named VPN-ALPHA, it could be used as the client friendly name.

  • Client IPv4 Address This RADIUS client property enables the policy to match the IPv4 address of the RADIUS client that forwarded the connection request to the NPS server. For example, you could use the IPv4 address of a VPN server as the client IPv4 address.

  • Client IPv6 Address This RADIUS client property enables the policy to match the IPv6 address of the RADIUS client that forwarded the connection request to the NPS server. For example, you could use the IPv6 address of a VPN server as the client IPv6 address.

  • Client Vendor Enables you to use the name of the RADIUS client vendor that is forwarding connection requests to the NPS server.

  • Called Station ID Similar to the RADIUS client property, this property enables you to specify the telephone number of the network access server. In this and the following property items, the network access server is not using RADIUS but is forwarding authentication traffic to the server with the NPS role installed.

  • NAS Identifier In this scenario, NAS is the acronym of Network Access Server rather than Network Attached Storage. This property enables you to specify a character string representing the name of the network access server.

  • NAS IPv4 Address This property enables you to specify the IPv4 address of the network access server.

  • NAS IPv6 Address Use this property to specify the IPv6 address of the network access server.

  • NAS Port Type Use this property to specify the types of access media, including ISDN, VPN, Ethernet, or Cable.

RADIUS terminology can be confusing. It is important to remember that RADIUS clients are not the same as remote access clients. For example, a VPN or dial-up server that forwards authentication requests to an NPS server is a RADIUS client. The remote computer making the connection to the VPN or dial-up server is not a RADIUS client.

Connection request forwarding

By configuring a connection request forwarding setting, you can specify whether the local server performs authentication or forwards authentication traffic to a remote RADIUS server group. You can also configure connection request forwarding so that users are automatically accepted without any credential validation. You can also configure accounting on the Specify Connection Request Forwarding page. Accounting enables you to record RADIUS traffic.

Authentication methods

The Specify Authentication Methods page enables you to configure which authentication method or methods clients can use. These settings override any authentication methods specified in the network policy. When you specify multiple methods, the NPS server attempts the most secure method, and then the next most secure method, until it reaches the least secure specified method. The most secure authentication types are the Extensible Authentication Protocols (EAPs), which include the following:

  • Microsoft: Smart Card or Other Certificate

  • Microsoft: Protected EAP (PEAP)

  • Microsoft: Secured Password (EAP-MSCHAP v2)

You can also configure NPS to support less secure authentication protocols. The less secure authentication protocols, from most secure to least secure, are the following:

  • Microsoft Encrypted Authentication Version 2 (MS-CHAP-v2) When enabling this authentication method, you can also allow users to change passwords after that password has expired. MS-CHAP-v2 was first introduced with Windows NT 4.0 Service Pack 4.

  • Microsoft Encrypted Authentication (MS-CHAP) A less secure version of MS-CHAP-v2. You can also allow users to change passwords after the password expiration date.

  • Encrypted Authentication (CHAP) Unless there is an excellent reason otherwise, don’t use this authentication protocol. You should use this protocol only if you need to support old clients that don’t support more secure authentication protocols.

  • Unencrypted Authentication (PAP, SPAP) You use these protocols only if you need to support old clients that don’t support more secure authentication protocols. Use these protocols with care because they pass credentials in cleartext format.

  • Allow Clients To Connect Without Negotiating An Authentication Method This option enables clients to connect without requiring a specific authentication method.

Realm and RADIUS attributes

You can apply a realm name as well as RADIUS attributes to a connection request policy. This is often done when the computer with the NPS server role installed is functioning as a RADIUS proxy. When functioning as a proxy, the server with the NPS role installed can alter attributes that were passed to it by a RADIUS client. This process enables the RADIUS server providing authentication to use the altered attributes instead of the ones sent by the client. When functioning as a RADIUS proxy, the server with the NPS role installed can also add additional attributes to the traffic forwarded to the RADIUS server that provides authentication services.

Default connection request policy

Windows Server creates a default connection request policy when you deploy the NPS role. The name of this policy is Use Windows Authentication For All Users, and it is assigned the processing order of 999999. The NPS server uses this policy as a last resort. The policy has the following properties, with all other properties not configured:

  • Authentication Methods: Unspecified

  • Authentication: Authenticate Requests On This Server

  • Conditions: Sunday To Saturday, 00:00 To 24:00

Creating a connection request policy

You can create a connection request policy from the NPS console. To create a connection request policy, perform the following steps:

  1. Open the NPS console from the Tools menu in Server Manager, expand the Policies node, and select Connection Request Policies. In the Action menu, select New.

  2. On the Specify Connection Request Policy Name And Connection Type page, provide a policy name and specify the type of network access server to which the policy applies.

  3. On the Specify Conditions page, add at least one condition that differentiates the policy from any other policies on the server with the NPS role installed.

  4. On the Specify Connection Request Forwarding page, specify whether the local server will perform authentication, or whether the server with the NPS role installed will function as a RADIUS proxy and forward requests to a remote server. You can also configure accounting on this page.

  5. On the Specify Authentication Methods page, choose whether to override network policy authentication settings. If you do, you must specify which authentication methods you will use in place of the ones specified in the network policy.

  6. If the server with the NPS role installed is functioning as a RADIUS proxy, you can configure additional attributes as well as replace existing attributes forwarded by a RADIUS client on the Configure Settings page.

  7. You then complete the New Connection Request Policy Wizard. The policy will be assigned the next available processing order number. You can right-click the policy and select Move Up or Move Down to change the policy processing order.

IP filters

IP filters enable you to control incoming and outgoing traffic based on source and destination IP address, as well as port and protocol. You use IP address filters to limit communication between clients and specific hosts and services on the network. You can configure IP filters on the Settings page of the Network Policy properties or when creating a network policy.

Encryption

When configuring network policies, you can select which types of encryption the connection can use on the Configure Settings page of the New Network Policy Wizard or by editing the properties of an existing network policy. If you want to force network connections to use strong encryption, ensure that the No Encryption and Basic Encryption settings are not selected in the network policy. The key length determines the strength of the encryption. Although increased key length does improve security, it also comes at the cost of increased processor overhead.

IP settings

IP settings, which you can configure when creating a network policy or by editing the properties of a policy, enable you to configure how a client receives an IP address. You can configure the following settings:

  • Server Must Supply An IP Address

  • Client May Request An IP Address

  • Server Settings Determine IP Address Assignment

  • Assign A Static IPv4 Address

You can configure an IPv6 address on the Standard page of the RADIUS attributes section.

Creating network policies

Network policies determine which users and computers are authorized to connect to the network. The process of creating network policies is similar to creating connection request policies. Both sets of policies share many of the same elements. To create a network policy, perform the following steps:

  1. In the NPS console, select Network Policies under the Policies node and on the Action menu, select New.

  2. On the Specify Network Policy Name And Connection Type page, enter a policy name and specify the type of network access server. The options are the following:

    • Remote Desktop Gateway

    • Remote Access Server (VPN-Dial Up)

  3. On the Specify Conditions page, select one or more conditions that determine whether the policy applies.

    • Windows Groups The user or computer must belong to a Windows security group.

    • Machine Groups The computer must belong to a Windows security group.

    • User Groups The user must belong to a Windows security group.

    • Day And Time Restrictions Policy applies only at specific dates and times.

    • Access Client IPv4 Address The client’s IPv4 address, not the RADIUS client’s IP address.

    • Access Client IPv6 Address The client’s IPv6 address.

    • Authentication Type Authentication method used, which includes CHAP, EAP, MS-CHAP v1, MS-CHAP v2, PAP, PEAP, and Unauthenticated.

    • Allowed EAP Types Allowed EAP types, which includes Microsoft: Smart Card or other certificate, Microsoft PEAP, and Microsoft: EAP-MSCHAP v2.

    • Framed Protocol Policy applies only to clients using the specified framed protocol, such as PPP or SLIP.

    • Service Type Applies when the client uses a particular service type.

    • Tunnel Type Applies when the client uses a particular tunnel type.

    • Calling Station ID RADIUS calling station ID.

    • Client Friendly Name RADIUS client name.

    • Client IPv4 Address RADIUS IPv4 address.

    • Client IPv6 Address RADIUS IPv6 address.

    • Client Vendor RADIUS client vendor.

    • MS-RAS Vendor RADIUS vendor ID.

    • Called Station ID Number of the network access server.

    • NAS Identifier Network access server name.

    • NAS IPv4 Address Network access server IPv4 address.

    • NAS IPv6 Address Network access server IPv6 address.

    • NAS Port Type Network access server media type, including ISDN, wireless, VPN, or tunnel.

  4. On the Specify Access Permission page, choose whether access is granted or denied to computers or users that meet the specified conditions.

  5. On the Configure Authentication Methods page, specify which authentication methods the client can use to authenticate.

  6. On the Configure Constraints page, you can configure the following properties:

    • Idle Timeout

    • Session Timeout

    • Called Station ID

    • Day and Time Restrictions

    • NAS Port Type

  7. On the Configure Settings page of the New Network Policy Wizard, you can configure the following:

    • RADIUS Attributes

    • Multilink and Bandwidth Allocation Protocol

    • IP Filters

    • Encryption

    • IP Settings

  8. Clicking Next enables you to complete the wizard. You can then alter the position of the policy by moving it up and down. Clients use the first policy for which they meet the conditions.

NPS templates

NPS templates enable you to save a specific NPS component configuration so that it can be reused or exported to another server with the NPS role installed. You can apply the template to multiple policies to ensure uniform configuration. You can configure the following templates:

  • Shared Secrets

  • RADIUS Clients

  • Remote RADIUS Servers

  • IP Filters

To configure a template, select the type of template that you want to configure in the NPS console. Then, from the Action menu, select New. Configure the template in the same way that you would configure the associated properties in a policy.

Implement Web Application Proxy

Web Application Proxy is a remote access role that allows you to configure a reverse proxy to publish applications and services hosted on protected networks to hosts on untrusted networks, such as the internet. When you publish an application through Web Application Proxy, you can choose to use Active Directory Federation Services (AD FS) to perform preauthentication and configure pass-through mode. When you configure pass-through mode, the Web Application Proxy passes all authentication traffic to the server hosting the published application.

To deploy Web Application Proxy, you need to already have deployed AD FS on a server in the domain. When you deploy the Web Application Proxy, you specify the address of the AD FS server. You also need to import a copy of the web server certificate used with AD FS, including the private key, onto the server that will host the Web Application Proxy. As the server that hosts the Web Application Proxy will be responsible for proxying traffic from hosts on untrusted networks to applications hosted on protected networks, it should be configured as a standalone server rather than a server that is domain-joined.

Implement Azure Relay

Azure Relay (previously named Service Bus Relay) allows you to securely connect services that run on on-premises networks to Azure. Azure Relay can be scoped to a single application endpoint on a specific computer. This allows you to connect a single application to Azure without creating a broader tunnel for traffic as is the case with a VPN or ExpressRoute connection. Azure Relay supports the following scenarios between on-premises services and workloads running in Azure:

  • Uni-directional, request/response, and peer-to-peer communication

  • Unbuffered socket communication across network boundaries

  • Event distribution used in publish/subscribe scenarios

Azure Relay has the following features:

  • Hybrid Connections Hybrid Connections uses the open standard web sockets. It supports .NET Core, .NET Framework, JavaScript/Node.JS, standards-based open protocols, and remote procedure call (RPC) programming models.

  • WCF Relays This uses Windows Communication Foundation (WCF) to enable remote procedure calls. WCF Relays also supports the .NET Framework.

Need More Review? Azure Relay

You can learn more about Azure Relay at https://docs.microsoft.com/azure/azure-relay/relay-what-is-it.

Implement site-to-site VPN

An Azure site-to-site VPN allows you to connect your on-premises network to Azure by using a secure VPN tunnel across the public internet. Azure VPN connections are like traditional VPN connections that might exist between a branch office and a head office location except in this case, the connection is between an on-premises network and an Azure virtual network. When deploying a site-to-site VPN, you deploy an Azure VPN gateway on an Azure virtual network. The Azure VPN gateway functions as the Azure VPN endpoint. Your on-premises VPN endpoint, which can be a Windows Server computer with RRAS installed but is usually a specific device, functions as the VPN on-premises endpoint.

Each Azure virtual network can only have a single VPN gateway, but each VPN gateway supports multiple connections. Windows Server’s Azure Network Adapter functions as a point-to-site VPN rather than a site-to-site VPN.

Need More Review? Site-to-Site VPN

You can learn more about Azure site-to-site VPNs at https://docs.microsoft.com/en-us/azure/vpn-gateway/tutorial-site-to-site-portal.

Azure ExpressRoute

ExpressRoute allows your organization to have a dedicated private high-speed connection from an on-premises network to Azure. As the connection is dedicated and the equipment is managed by the ExpressRoute provider, ExpressRoute connections have a higher SLA than VPN connections to Azure and also provide guaranteed bandwidth speed. Another difference between ExpressRoute and Azure VPN traffic is that ExpressRoute traffic does not pass across the public internet. As well as connecting on-premises workloads to Azure, ExpressRoute can be used for on-premises traffic to all of Microsoft’s clouds, including Microsoft 365 and Dynamics.

Need More Review? Azure Expressroute

You can learn more about Azure ExpressRoute at https://docs.microsoft.com/en-au/azure/expressroute/expressroute-introduction.

Implement Azure Virtual WAN

Many organizations have branch offices connected to each other using site-to-site VPNs. Azure Virtual WAN allows your organization to use Azure’s network as a hub-and-spoke architecture, with Azure functioning as the hub and connections out to branch offices functioning as spokes. For example, if an organization with branch offices in Melbourne, Auckland, Seattle, and Dubai adopted Azure Virtual WAN, any traffic that was passing from Melbourne to Dubai or from Seattle to Auckland would pass across that site’s connection to Azure, across Azure’s backbone and then back down to the destination site.

Azure Virtual WAN allows geographically distributed organizations with multiple branch offices to remove existing cross-site VPN connections and instead route everything through Azure. As most organizations that adopt hybrid cloud topologies are likely to centralize resources and workloads in Azure rather than host them at a specific branch office, it’s likely that whatever remaining inter-branch-office site communication does occur would be minimal and unlikely to justify the need for separate VPN or dedicated connections between those remote on-premises sites.

Need More Review? Azure Virtual WAN

You can learn more about Azure Virtual WAN at https://docs.microsoft.com/azure/virtual-wan/virtual-wan-about.

Implement Azure AD Application Proxy

You can use Azure AD Application Proxy to provide users on the internet with access to applications and workloads running on on-premises networks that use Active Directory authentication. You can use Azure AD Application Proxy with the following application types:

  • Web applications that use Integrated Windows Authentication

  • Web applications that use header-based or form-based authentication

  • Applications hosted through Remote Desktop Gateway

  • Rich client applications that are integrated with Microsoft Authentication Library (MSAL)

Azure AD Application Proxy requires less administrative effort to configure than Web Application Proxy because you only need to deploy the Application Proxy Service in Azure and the Application Proxy connector on-premises. The Application Proxy connector can be deployed on a Windows Server computer running on a perimeter network and makes outbound connections to Azure. You can also deploy the Application Proxy connector directly on an internal network if you choose. The computer hosting the Application Proxy connector must be able to directly connect to the backend application. You do not need to open any port on the perimeter firewall to allow inbound communication to the Application Proxy connector. You can deploy multiple Application Proxy connectors to ensure they remain highly available.

Need More Review? Azure AD Application Proxy

You can learn more about Azure AD Application Proxy at https://docs.microsoft.com/azure/active-directory/app-proxy/what-is-application-proxy.

Use Azure App Service Hybrid Connections

Azure App Service Hybrid Connections allow connections between any on-premises workload that communicate with a relay agent that is able to send outbound requests to Azure on port 443 and workloads in Azure. For example, you can use Azure App Service Hybrid Connections to allow a web app running in Azure to connect to an SQL Server database running on-premises through a relay agent deployed on a perimeter network. Azure App Service Hybrid Connections provide access from an app running in Azure to a Transmission Control Protocol (TCP) endpoint. App Service Hybrid Connections are not limited to workloads running on Windows Server platforms, and you can configure App Service Hybrid Connections to access any resource provided it functions as a TCP endpoint, regardless of which application protocol is being used.

Hybrid Connections use a relay agent usually deployed on a perimeter network that can establish connectivity to the TCP endpoint on an internal on-premises network and establish a connection outbound on TCP port 443 to Azure. This connection is secured by using Transport Layer Security (TLS) 1.2, and shared access signature (SAS) keys are used for authentication and authorization.

App Service Hybrid Connections have the following functionality:

  • Workloads running in Azure can access on-premises systems and services in a secure manner.

  • The on-premises system or service doesn’t need to be directly accessible to hosts on the internet but only accessible to the relay agent on the perimeter network.

  • All communication is initiated in an outbound manner from the relay agent on TCP port 443 and it is not necessary to open an inbound firewall port on the perimeter firewall.

App Service Hybrid Connections have the following limitations:

  • Cannot connect to UDP endpoints

  • Cannot connect to TCP-based services that use dynamic ports

  • Does not support Lightweight Directory Access Protocol (LDAP)

Need More Review? Azure App Service Hybrid Connections

You can learn more about Azure App Service Hybrid Connections at https://docs.microsoft.com/azure/app-service/app-service-hybrid-connections.

images Exam Tip

Use Azure Relay instead of App Service Hybrid Connections when there is no front-end web app running in Azure. Use Azure Relay instead of Azure AD Application Proxy when the application doesn’t require Azure AD Authentication.

Chapter summary

  • Active Directory–integrated zones can replicate to any domain controller in a domain or a forest, or can be replicated only to domain controllers with a specific custom partition.

  • DNS forwarders can be used to forward traffic from on-premises DNS servers to DNS servers in Azure that host Azure private zones as long as the on-premises network is connected to a specially configured Azure virtual network.

  • DNSSEC allows for cryptographic verification of DNS records.

  • IPAM can be used to manage DNS and DHCP servers in on-premises environments.

  • Azure Network Adapter can connect a single Windows Server computer to an Azure virtual network.

  • Azure Extended Network allows an IP address range to span an on-premises network and an Azure virtual network.

  • There are a variety of methods you can use to allow Azure workloads to access on-premises workloads and whether you use Azure Relay, Application Proxy, or App Service Hybrid Connections depends on the nature of the on-premises workload.

Thought experiment

In this thought experiment, demonstrate your skills and knowledge of the topics covered in this chapter. You can find answers to this thought experiment in the next section.

You are in the process of updating the network infrastructure of your existing on-premises network. You have four physical local area networks, each of which you expect will host around 230 hosts. Each local area network is connected to the others by routers. You have deployed Active Directory Domain Controllers hosting the DNS role on Subnet_Alpha and Subnet_Delta. You have also deployed member servers with the DHCP role service on Subnet_Alpha and Subnet_Delta. You want to manage all DHCP scopes and DNS zones centrally using IPAM. You have configured the Active Directory–integrated DNS zone tailwindtraders.com with DNSSEC. With this information in mind, answer the following questions:

  1. What type of computer should you deploy the IPAM role on?

  2. Instead of deploying DHCP servers on Subnet_Beta and Subnet_Gamma, what other role could you deploy to allow clients on those networks to get addresses from an authorized DHCP server?

  3. How can you ensure that clients only accept digitally signed DNS records from the tailwindtraders.com DNS zone?

Thought experiment answers

This section contains the solution to the thought experiment. Each answer explains why the answer choice is correct.

  1. You should deploy the IPAM service on a Windows Server domain member that does not function as a domain controller, DHCP server, or DNS server.

  2. You could deploy a DHCP relay on Subnet_Beta and Subnet_Gamma to allow clients on those networks to get addresses from an authorized DHCP server.

  3. Configure the Name Resolution Policy Table to allow digitally signed records only from the tailwindtraders.com zone.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.222.110.189