Good bye netsh – cz.3 DnsClient

Skoro potrafimy konfigurować ustawienia TCPIP przejdźmy do kolejnego ważnego elementu naszej konfiguracji. Mianowicie dziś zaprezentuję konfigurację klienta DNS. Jak możemy się domyślić z poprzednich części cyklu, do tego celu powstał dedykowany moduł PowerShella – DnsClient.

Moduł ten nie tyle pozwana na przypisywanie adresów serwerów DNS, ale również na rozszerzoną administrację całego klienta DNS.

Na początek do podstawowych dwóch cmdletów, od których powinniśmy zacząć należą:

Get-DnsClient

w celu zwrócenia szczegółów o dostępnych interfejsach z jakich możemy skorzystać oraz

Get-DnsClientServerAddress

aby sprawdzić konfigurację serwerów DNS dla poszczególnych interfejsów.

Cmdlet ten pozwala nam na zastąpienie starego narzędzia netsh do pozyskiwania konfiguracji klienta DNS:

netsh interface ip show dns

I jak możemy zaobserwować aktualnie nie posiadamy skonfigurowanych żadnych adresów serwerów DNS, które mogłyby posłużyć do rozwiązania naszego przykładowego adresu.

Do rozwiązania tego problemu możemy posłużyć się analogicznie cmdletem Get-DnsClientServerAddress ze wskazaniem odpowiedniego interfejsu dla którego ma być zastosowana konfiguracja oraz podaniem adresów serwerów DNS, które maja być obsługiwane do rozwiązywania nazw na naszej maszynie.

Set-DnsClientServerAddress -InterfaceIndex 12 -ServerAddresses 10.10.10.7,10.10.10.10

Oczywiście możemy podać zarówno jeden adres jak I zestaw adresów. Natomiast przy wykorzystaniu netsh mieliśmy bardziej utrudnione zadanie. Dla głównego adresu wykorzystywaliśmy:

netsh interface ip set dns name="Ethernet" static 10.10.10.7

Natomiast dla kolejnych adresów konieczne było wykorzystywanie następnych komend

netsh interface ip add dns name="Ethernet" 10.10.10.10 index=2

Przy użyciu tego cmdletu możemy również całkowicie zresetować ustawienia serwerów DNS dla naszego klienta przy wykorzystaniu parametru ResetServerAddresses. Jest to o tyle przydatne, iż przełącznik ten automatycznie kasuje pamięć podręczną o zgromadzonych rekordach. Zaprezentujmy to jednak na przykładzie.

Rozwiążmy adres IP dla nazwy naszego przykładowego serwera

Resolve-DnsName –Name CommandLineGeeks.com

Cmdlet ten działa analogicznie jak narzędzie nslookup.

nslookup CommandLineGeeks.com

Możemy go również wykorzystać do sprawdzenia wpisów na poszczególnych serwerach, np. czy nie posiadamy sprzecznych konfiguracji w różnych serwerach DNS.

Resolve-DnsName –Name CommandLineGeeks.com –Server 10.10.10.7

Wracając jednak do przykładu, sprawdźmy pamięć podręczną dla klienta DNS

Get-DnsClientCache

Zastępuje to narzędzie:

ipconfig /displaydns

Ostatecznie zresetujmy konfigurację serwerów DNS dla naszego klienta

Set-DnsClientServerAddress –InterfaceIndex 12 –ResetServerAddresses

I gdy jeszcze raz sprawdzimy pamięć podręczną to zobaczymy iż została ona automatycznie opróżniona.

Oczywiście w celu usunięcia pamięci podręcznej nie musimy resetować ustawień klienta DNS. Do tego celu posiadamy osobny cmdlet o intuicyjnej nazwie

Clear-DnsClientCache

Czyli w przypadku klasycznego commandlina:

ipconfig /flushdns

Ostatnią funkcjonalnością jaką przedstawię jest możliwość ręcznego rejestrowanie zmian adresu IP klienta DNS. Jeśli tylko posiadamy odpowiednie uprawnienia do modyfikowania wpisów serwera DNS, to po zmianie adresu IP możemy wykorzystać odpowiedni cmdlet:

Register-DnsClient

w celu ręcznego zaktualizowania odpowiednich wpisów w serwerach DNS.

Źródła:
http://technet.microsoft.com/en-us/library/jj590772.aspx

Reklamy

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s