Управление 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, для начала давайте поймем, что из себя представляет это днс кэш. Посмотреть его можно вот такой командой.
У вас появится полный список всех dns записей, с их типами и ip адресами.
Можно например пофильтровать и вывести только нужные записи, для примера все где есть упоминания jjc.ru
Очистка dns cache
И так для очистки кэша воспользуемся вот такой маленькой командой
результатом, будет, то что после нового запроса о состоянии dns cache, вы увидите пустоту.
На этом конечно powershell не заканчивает своих возможностей по управлению dns, если интересует более подробно, то могу при обращении от вас, об этом рассказать.
Материал сайта pyatilistnik.org