Bind сбросить кэш dns
BIND (Berkeley Internet Name Domain, до этого: Berkeley Internet Name Daemon) — открытая и наиболее распространённая реализация DNS-сервера.
Установка BIND9
Для начала нам необходимо установить сам сервер следующей командой:
sudo su
sudo apt-get install bind9
Укажем к каким DNS серверам будет обращатся наш сервер:
nano /etc/bind/named.conf.options
217.195.65.9;
217.195.66.253;
8.8.8.8;
/etc/init.d/bind9 restart
Не забываем поменять DNS адрес в /etc/resolv.conf на свой.
На сколько я понял кеш хранится в памяти и не сохранется при перезапуске.
Проверим, кеширует ли DNS:
;; Query time: 4825 msec
;; Query time: 2 msec
Утилита DIG.
dig – утилита для запросов информации с серверов DNS, входящая в пакет bind9. Использование:
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45434
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 0
;; QUESTION SECTION:
;; ANSWER SECTION:
;; AUTHORITY SECTION:
;; Query time: 0 msec
;; WHEN: Thu Nov 25 10:47:55 2010
;; MSG SIZE rcvd: 251
Рассмотрим подробнее вывод:
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45434
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 0
Здесь dig рассказывает о себе и информацию, которую он принял от DNS серверов. Вывод этой информации можно отключить, воспользовавшись ключом +[no]comments.
; QUESTION SECTION:
Информация, которую мы запрашиваем. Вывод этой информации можно отключить, воспользовавшись ключом +[no]question.
;; ANSWER SECTION:
;; AUTHORITY SECTION:
;; Query time: 0 msec
;; WHEN: Thu Nov 25 10:47:55 2010
;; MSG SIZE rcvd: 251
Статистика. Вывод этой информации можно отключить, воспользовавшись ключом +[no]stats.
;; global options: +cmd
Запись A (address record) или запись адреса связывает имя хоста с адресом IP.
Запросим список NS серверов:
;; global options: +cmd
Запись NS (name server) указывает на DNS-сервер для данного домена.
Запросим список MX серверов:
;; global options: +cmd
Запись MX (mail exchange) или почтовый обменник указывает сервер(ы) обмена почтой для данного домена.
Теперь запросим всё вместе.
;; global options: +cmd
194.87.0.50
Быстрый ответ для MX:
Если мало информации - можно воспользоваться ключом +noall.
dig +nocmd ru any +multiline +noall +answer
4017065 ; serial
86400 ; refresh (1 day)
14400 ; retry (4 hours)
2592000 ; expire (4 weeks 2 days)
3600 ; minimum (1 hour)
ru. 86399 IN NS ns2.nic.fr.
Запись SOA (Start of Authority) или начальная запись зоны указывает, на каком сервере хранится эталонная информация о данном домене, содержит контактную информацию лица, ответственного за данную зону, тайминги (параметры времени) кеширования зонной информации и взаимодействия DNS-серверов.
Смотрим PTR запись:
dig -x 194.87.0.50 +short
Запись PTR (pointer) или запись указателя связывает IP хоста с его каноническим именем.
Отправляем запрос другому DNS серверу.
ns.demos.su.
194.87.0.50
Запрашиваем много адресов по списку.
dig -f /home/brj/my-ip-list.txt
Tracing
Смотрим SOA информацию.
Добавляем запись в днс-сервер.
nano /etc/bind/named.conf
Добавляем путь к конфиг-файлу новой зоны:
include "/etc/bind/myzone.conf";
Теперь создаем этот файл:
touch /etc/bind/myzone.conf
Делаем владельцем этого файла пользователя "bind":
chown bind:bind /etc/bind/myzone.conf
Указываем путь к файлу, содержащему записи, что будем добавлять:
nano /etc/bind/myzone.conf
zone "megaholod.lan" IN
type master;
file "/etc/bind/megaholod.lan";
allow-update < none; >;
Где allow-update - каким хостам разрешено посылать динамические изменения зоны первичному серверу.
Создаем этот файл:
touch /etc/bind/megaholod.lan
Меняем владельца файла:
chown bind:bind /etc/bind/megaholod.lan
nano /etc/bind/megaholod.lan
Вносим записи для добавления:
$TTL 86400
$ORIGIN megaholod.lan.
@ 1D IN SOA @ root (
1 ; Serial Number
3H ; обновление через 3 часа
15M ; повторение попытки через 15 мин
1W ; устаревание через неделю
1D ) ; minimum
1D IN NS @
1D IN A 10.10.10.4
@ - означает, что запись зоны будет совпадать с именем домена.
Serial Number - Серийный номер файла базы данных DNS. Этот номер увеличивается на единицу при каждом изменении файла, таким образом дополнительные сервера имен этой зоны узнают об изменении, и загружают самую последнюю информацию.
Таким образом мы добавили записи:
- SOA, т.е. указали что эталонная информация о megaholod.lan хранится на нашем сервере (@), указали тайминги.
- NS, т.е. указали что ДНС-сервером для домена megaholod.lan будет наш сервер (@).
- A, т.е. связали имя megaholod.lan с ip-адресом 10.10.10.4 .
В /etc/hosts машины megaholod.lan добавляем:
10.10.10.4 megaholod.lan
/etc/init.d/bind9 restart
Проверяем сначала на серваке, а затем на на любом компе в лок. сети, и для линукс и для виндовс команда одинаковая:
Зачем очищать или удалять кеш DNS?
У очистки локального кеша DNS может быть много причин.
Например, вы могли настроить свой веб-сайт или изменить настройки DNS для своего домена, или у вас возникли проблемы с подключением к Интернету.
В таких случаях, если вы попытаетесь посетить сайт, ваша ОС, скорее всего, получит кешированную версию сайта из локального кеша DNS.
Таким образом, очистка локального кеша DNS приведет к удалению всех записей из базы данных локального кеша DNS и заставит вашу систему повторно заполнить кеш DNS новыми записями с реального DNS-сервера и отобразить новую копию веб-сайта.
Как очистить кеш DNS в Linux
По умолчанию кэширование DNS не установлен и/или не включен на уровне операционной системы Linux.
Вместо этого приложения, например веб-браузеры, поддерживают свой собственный внутренний кеш.
Таким образом, вы можете просто очистить кеш своего браузера или перезапустить его, чтобы устранить проблемы с подключением к Интернету, решить проблемы с подменой DNS (например, отравление кеша DNS) и решить проблемы с устаревшим контентом.
Если ваш дистрибутив Linux действительно использует какие-либо службы кэширования DNS, вам необходимо вручную очистить их, как описано ниже.
Есть несколько способов очистить кеш DNS.
Это зависит от дистрибутива Linux и службы кэширования DNS, которую вы используете.
Здесь я включил инструкции по очистке наиболее часто используемых служб кэширования DNS на Linux.
1. Служба кэширования DNS Systemd-resolve.
Это часть пакета systemd, который устанавливается по умолчанию.
Это служба ключена по умолчанию в большинстве современных операционных систем Linux, таких как Fedora и Ubuntu.
Во-первых, давайте проверим, активна ли служба systemd-resolved, используя команду:
Если включена служба systemd-resolved, в выводе будет отображаться «active». Если она неактивна, система выведет «inactive».В моей системе активна служба systemd-resolved.
Давайте посмотрим статистику службы кеширования systemd-resolve с помощью команды:
Как вы видите, в приведенных выше выходных данных указано общее количество текущего размера кеша, хитсов и пропущенных кешей.
Чтобы очистить кеш systemd-resolve, запустите:
При успешном выполнении вы не увидите никакого вывода.
Теперь проверьте статистику systemd-resolve, чтобы убедиться, очищен ли локальный кеш DNS.
Теперь вы увидите, что текущий размер кеша равен нулю.
2. Служба кеширования DNS Nscd.
Это предпочтительный сервис кэширования для большинства систем на базе Redhat.
Если ваша система Linux использует службу кэширования nscd, вы можете очистить локальную службу кэширования DNS, просто перезапустив службу nscd, как показано ниже:
3. Служба кэширования Bind / Named DNS.
Если вы используете BIND для кеширования DNS-запросов, используйте следующие команды для очистки / сброса службы кэширования BIND в Linux:
Читайте также: