Hoe configureert u DNS-voorwaardelijk doorsturen en DNS-beleid op Windows Server?

Experimenteren met DNS in Windows Server: een praktijkvoorbeeld

Het kan een hele uitdaging zijn om DNS in Windows Server precies zo in te stellen als je wilt. Of je nu DNS-reacties wilt splitsen op basis van de locatie van de client, bepaalde query’s wilt blokkeren of de interne naamresolutie wilt stroomlijnen, het is niet altijd even eenvoudig. De meeste configuraties waarmee ik heb geëxperimenteerd, vereisen een combinatie van Conditional Forwarders en DNS-beleid. Deze tools kunnen helpen om query’s slimmer te routeren, zodat interne applicaties intern blijven en externe verzoeken extern blijven, zonder dat ze via het hele internet worden verzonden. Als je je ooit hebt afgevraagd hoe je dit correct instelt – vooral in een meer “dynamische” omgeving – dan ben je hier aan het juiste adres. Aan het einde van dit artikel weet je hoe je regels maakt die daadwerkelijk nuttig zijn, in plaats van alleen maar met de standaardinstellingen te rommelen.

Hoe los ik problemen op met DNS-voorwaardelijk doorsturen in Windows Server?

Een voorwaardelijke doorstuurder handmatig configureren

Wanneer DNS-verzoeken voor een specifiek domein – bijvoorbeeld corp.woshub.com– naar een speciale locatie moeten worden doorgestuurd, is het instellen van een Conditional Forwarder de juiste oplossing. Dit is handig wanneer u strikte controle wilt over interne domeinresolutie – u hoeft die verzoeken dan niet via internet te versturen. Bovendien versnelt het de boel meestal en voorkomt het DNS-lekken. Hieronder leest u hoe u dit doet in Windows Server 2019 (maar vrijwel hetzelfde in 2016/2022).

  • Open eerst de DNS Manager- console door dnsmgmt.mscin het vak Uitvoeren ( Win + R) of Server Manager te typen.
  • Klik met de rechtermuisknop op Conditional Forwarders en kies New Conditional Forwarder.
  • Typ in het veld voor het DNS-domeincorp.woshub.com het volgende:.Dit vertelt de DNS-server welk domein moet worden doorgestuurd.
  • Voeg in het veld ‘ IP-adressen van masterservers’10.1.10.11 het volgende toe :.Dit is het adres waarnaar de DNS-query’s worden verzonden.
  • Vink het vakje ‘ Deze voorwaardelijke doorstuurregel opslaan in Active Directory’ aan als u deze beschikbaar wilt hebben in het hele domein (maar houd er rekening mee dat deze in sommige configuraties mogelijk niet direct wordt gerepliceerd of dat een groepsbeleidsupdate nodig is).
  • Stel het replicatiebereik in: kies ‘ Alle DNS-servers in dit forest’ of ‘Domein’, afhankelijk van uw behoeften.

Zodra dit is gedaan, stuurt uw DNS-server alle corp.woshub.comquery’s rechtstreeks door naar dat IP-adres, in plaats van recursieve zoekopdrachten uit te voeren. Een oude truc, maar verrassend effectief – al moet u er natuurlijk wel voor zorgen dat uw DNS-servers tevreden blijven, anders werkt dit gewoon niet.

Hoe doe je dat met PowerShell?

Voor wie liever met scripts werkt of een hekel heeft aan het klikken door een grafische gebruikersinterface, is PowerShell de oplossing. Met de onderstaande opdracht maak je een Conditional Forwarder aan die dmz.woshub.comverwijst naar specifieke DNS-servers. Je voert deze opdracht uit op de DNS-server waar je de doorstuurregel wilt instellen:

Add-DnsServerConditionalForwarderZone -Name dmz.woshub.com -MasterServers 192.168.1.11, 192.168.101.11 -ReplicationScope Forest

Het is best handig, want je kunt meerdere IP-adressen toevoegen als je DNS-infrastructuur uit meerdere servers bestaat, en het bereik kan worden ingesteld op Forest of Domain. In sommige configuraties kan het uitvoeren van deze opdracht in eerste instantie mislukken, dus wees niet verbaasd als je PowerShell als beheerder moet uitvoeren of DNS opnieuw moet starten.

Om alle geconfigureerde DNS-forwarders, inclusief de voorwaardelijke, weer te geven, kunt u het volgende commando uitvoeren:

$DNSServer = "DC01" Get-WMIObject -ComputerName $DNSServer -Namespace "root\MicrosoftDNS" -Class "MicrosoftDNS_Zone" | Select-Object Name, MasterServers, DsIntegrated, ZoneType | where {$_. ZoneType -eq 4} | Format-Table -AutoSize

DNS-beleid gebruiken voor slimmere routering

Hier wordt het interessant: DNS-beleid in Windows Server 2016 en later biedt de mogelijkheid om anders te reageren op basis van wie en waar het verzoek vandaan komt. Zie het als het aanpassen van DNS-reacties met regels, gebaseerd op het IP-adres van de client, het tijdstip of zelfs het type query. Natuurlijk is het niet de eenvoudigste functie om goed te configureren, vooral omdat alle configuraties via PowerShell worden uitgevoerd. Maar eenmaal ingesteld, zijn ze behoorlijk krachtig voor scenario’s zoals lokale proxy’s, load balancing of DNS-filtering.

Stel, u wilt dat clients in elke vestiging op een andere manier verbinding maken proxy.woshub.com, namelijk via hun lokale proxy-IP-adres. Eerst moet u elk subnet registreren als een ” clientsubnet ” en vervolgens zonebereiken aanmaken voor elke locatie. Hier volgt een korte uitleg:

  • Gebruik opdrachten zoals deze om subnetten te registreren — doe dit op uw DNS-servers:
Add-DnsServerClientSubnet -Name "BER_DNS_Subnet" -IPv4Subnet "192.168.1.0/24" Add-DnsServerClientSubnet -Name "HH_DNS_Subnet" -IPv4Subnet "192.168.11.0/24" Add-DnsServerClientSubnet -Name "MCH_DNS_Subnet" -IPv4Subnet "192.168.21.0/24"
  • Maak voor elke vestiging een ander zonebereik aan:
  • Add-DnsServerZoneScope -ZoneName "woshub.com" -Name "BERZoneScope" Add-DnsServerZoneScope -ZoneName "woshub.com" -Name "HHZoneScope" Add-DnsServerZoneScope -ZoneName "woshub.com" -Name "MCHZoneScope"
  • Voeg resource records (A-records) toe die verwijzen naar lokale proxyservers, met bereiklabels voor de scheiding:
  • Add-DnsServerResourceRecord -ZoneName "woshub.com" -A -Name proxy -IPv4Address "192.168.1.10" -ZoneScope "BERZoneScope" Add-DnsServerResourceRecord -ZoneName "woshub.com" -A -Name proxy -IPv4Address "192.168.11.10" -ZoneScope "HHZoneScope" Add-DnsServerResourceRecord -ZoneName "woshub.com" -A -Name proxy -IPv4Address "192.168.21.10" -ZoneScope "MCHZoneScope"

    Om ervoor te zorgen dat DNS reageert op basis van het subnet van de client, kunt u beleidsregels zoals deze aanmaken:

    Add-DnsServerQueryResolutionPolicy -Name "BERResolutionPolicy" -Action ALLOW -ClientSubnet "eq, BER_DNS_Subnet" -ZoneScope "BERZoneScope, 1" -ZoneName woshub.com Add-DnsServerQueryResolutionPolicy -Name "HHResolutionPolicy" -Action ALLOW -ClientSubnet "eq, HH_DNS_Subnet" -ZoneScope "HHZoneScope, 1" -ZoneName woshub.com Add-DnsServerQueryResolutionPolicy -Name "MCHResolutionPolicy" -Action ALLOW -ClientSubnet "eq, MCH_DNS_Subnet" -ZoneScope "MCHZoneScope, 1" -ZoneName woshub.com

    Deze beleidsregels geven je DNS-server de opdracht om te reageren met lokale IP-adressen op basis van de herkomst van de query, wat eigenlijk magie is als het eenmaal werkt. Houd er rekening mee dat al deze opdrachten op elke DNS-server moeten worden uitgevoerd waarop je beleidsregels wilt toepassen; het is geen naadloze replicatie. En omdat Windows deze niet via Active Directory pusht, is handmatige configuratie of scripts op elke server meestal vereist.

    Samenvatting

    Eerlijk gezegd is het spelen met DNS op deze manier niet de meest soepele ervaring, maar als je het eenmaal door hebt, kan je netwerk zich een stuk intelligenter gedragen. Conditional Forwarders zijn eenvoudig maar essentieel; DNS-beleid is flexibeler maar ook complexer. Als je ervoor wilt zorgen dat intern verkeer intern blijft of dat filialen lokaal zaken oplossen, vormen deze methoden de basis. Onthoud wel: geduld is een schone zaak, en soms helpt een herstart van de computer of een herstart van de DNS-service om alles weer te synchroniseren.

    Samenvatting

    • Gebruik voorwaardelijke doorstuurregels voor snelle domeindoorsturing naar specifieke DNS-servers.
    • Stel PowerShell-opdrachten in om doorstuurregels te automatiseren of te wijzigen.
    • Implementeer DNS-beleid voor locatiegebonden DNS-reacties, taakverdeling of filtering.
    • Wees voorbereid op wat vallen en opstaan ​​— DNS-configuratie op Windows Server kan soms lastig zijn.

    Samenvatting

    Dit lijkt misschien in eerste instantie overdreven, maar het kan je interne DNS-systeem echt stroomlijnen. Of je nu simpelweg een domein doorstuurt of complexe regels aanmaakt op basis van de locatie van de client, met deze stappen krijg je de controle. Hopelijk helpt dit je om één of twee configuraties sneller te laten werken in plaats van eindeloos te moeten prutsen. Ik hoop dat dit iemand een paar uur bespaart – het werkte voor mij, misschien werkt het ook voor jou.