Управление dns cache через powershell

Обновлено 27.07.2016

Управление dns cache через powershell

Приветствую вас читатели блога, давно я, что то не писал про DNS, все больше на тему виртуализации. Сегодня это поправим. Все мы знаем о том, что при разрешении dns имени Windows для возможного ускорения последующего аналогичного запроса, кэширует текущий себе в локальный кэш, и когда вы снова обращаетесь к тому же имени, вы его получаете уже не от DNS сервера а из своего кэша, очень удобно, но из за этого так же бывают и трудности. Ранее я рассказывал как через командную строку почистить dns cache, сегодня расширим кругозор и сделаем все тоже но через PowerShell.

dns cache что это такое

dns cache > это записи разрешенных ранее доменных имен, хранящиеся локально на системе для ускорения, последующих запросов. Если немного вам освежить в памяти принцип работы разрешения имени в Windows, то этот процесс выглядит вот так. Допусти мы хотим разрешить dns имя pyatilistnik.org, в начале компьютер проверяет не является ли он сам данным хостом, потом идет в файле Hosts, если в hosts ничего нет, то он обращается к вышестоящему dns серверу указанному в его сетевых настройках. Далее он получает ответ и кладет его себе в локальный кэш минут на 5, после удаляет.

И так процесс мы поняли, что он нам дает, допустим я начинаю пинговать pyatilistnik.org и он по той или иной причине не смог мне ответить и имя не разрешилось, проходит минута и вы точно знаете, что он поднялся, но пропинговав его снова вы получите, что такого имени нет, из за локального днс кэша. Этот пакосник по умолчанию смотрит в своей базе, что он есть и берет информацию о данной записи от туда. В итоге вы получаете предыдущий провальный ответ. Для таких вещей и придумали чистить dns cache.

dns cache как посмотреть

Открываем powershell, для начала давайте поймем, что из себя представляет это днс кэш. Посмотреть его можно вот такой командой.

Get-DnsClientCache

У вас появится полный список всех dns записей, с их типами и ip адресами.

Как посмотреть dns cache

Можно например пофильтровать и вывести только нужные записи, для примера все где есть упоминания jjc.ru

Get-DnsClientCache -Name "*jjc.ru*"

Управление dns cache через powershell

Очистка dns cache

И так для очистки кэша воспользуемся вот такой маленькой командой

Clear-DnsClientCache

результатом, будет, то что после нового запроса о состоянии dns cache, вы увидите пустоту.

Очистка dns cache

На этом конечно powershell не заканчивает своих возможностей по управлению dns, если интересует более подробно, то могу при обращении от вас, об этом рассказать.

Материал сайта pyatilistnik.org

Автор - Сёмин Иван

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *