DNS (Domain Name System)
Teoria
- DNS tłumaczy nazwy domenowe (np. google.com) na adresy IP i odwrotnie
- Działa na porcie 53 UDP (zapytania) i 53 TCP (transfery stref)
- Rekord A – nazwa → adres IPv4
- Rekord AAAA – nazwa → adres IPv6
- Rekord PTR – adres IP → nazwa (strefa odwrotna)
- Rekord MX – serwer poczty dla domeny
- Rekord CNAME – alias (jedna nazwa wskazuje na inną)
- Rekord NS – wskazuje autorytatywny serwer nazw dla strefy
- Rekord SOA – Start of Authority; metadane strefy (serwer główny, TTL, odświeżanie)
- Strefa podstawowa (Primary) – oryginał strefy, tu się wprowadza zmiany
- Strefa pomocnicza (Secondary) – kopia tylko do odczytu, pobierana z serwera głównego
- Strefa stub – zawiera tylko rekordy NS i SOA, używana do delegacji
- Serwer autorytatywny – odpowiada definitywnie za daną strefę
- Resolver/forwarder – serwer przekazujący zapytania dalej (np. do 8.8.8.8)
- Plik hosts (C:\Windows\System32\drivers\etc\hosts) – lokalne przypisania nazw, mają pierwszeństwo przed DNS
Instalacja roli DNS (PowerShell)
- Install-WindowsFeature -Name DNS -IncludeManagementTools – instalacja serwera DNS
Zarządzanie strefami (PowerShell)
- Add-DnsServerPrimaryZone -Name "domena.local" -ZoneFile "domena.local.dns" – tworzy strefę podstawową (plik)
- Add-DnsServerPrimaryZone -Name "domena.local" -ReplicationScope "Forest" – strefa zintegrowana z AD
- Add-DnsServerSecondaryZone -Name "domena.local" -ZoneFile "domena.local.dns" -MasterServers 192.168.1.1 – strefa pomocnicza
- Remove-DnsServerZone -Name "domena.local" – usuwa strefę
- Get-DnsServerZone – lista stref
Zarządzanie rekordami (PowerShell)
- Add-DnsServerResourceRecordA -ZoneName "domena.local" -Name "serwer" -IPv4Address "192.168.1.10" – rekord A
- Add-DnsServerResourceRecordAAAA -ZoneName "domena.local" -Name "serwer" -IPv6Address "::1" – rekord AAAA
- Add-DnsServerResourceRecordCName -ZoneName "domena.local" -Name "www" -HostNameAlias "serwer.domena.local" – rekord CNAME
- Add-DnsServerResourceRecordMX -ZoneName "domena.local" -Name "." -MailExchange "mail.domena.local" -Preference 10 – rekord MX
- Get-DnsServerResourceRecord -ZoneName "domena.local" – lista rekordów strefy
- Remove-DnsServerResourceRecord -ZoneName "domena.local" -Name "serwer" -RRType A – usuwa rekord
Diagnostyka (cmd / PowerShell)
- nslookup nazwa_domeny – sprawdza rozwiązywanie nazw przez domyślny serwer DNS
- nslookup nazwa_domeny adres_serwera_DNS – sprawdza rozwiązywanie przez wskazany serwer
- ipconfig /displaydns – wyświetla lokalny bufor DNS
- ipconfig /flushdns – czyści lokalny bufor DNS
- ipconfig /registerdns – wymusza rejestrację rekordów klienta w DNS
- Resolve-DnsName google.com – zapytanie DNS przez PowerShell
- Get-DnsServerStatistics – statystyki serwera DNS
Strefa odwrotna (reverse lookup)
- Służy do tłumaczenia adresu IP na nazwę (rekordy PTR)
- Nazwa strefy dla sieci 192.168.1.0/24: 1.168.192.in-addr.arpa
- Add-DnsServerPrimaryZone -NetworkId "192.168.1.0/24" -ZoneFile "1.168.192.in-addr.arpa.dns" – tworzy strefę odwrotną
- Add-DnsServerResourceRecordPtr -ZoneName "1.168.192.in-addr.arpa" -Name "10" -PtrDomainName "serwer.domena.local" – dodaje rekord PTR