Windows. Вирусы. Ноутбуки. Интернет. Office. Утилиты. Драйверы

Назначение DNS это перевод доменных имен, легко запоминаемых человеком в IP адреса которые понимают компьютеры, этот процесс называется-Разрешение имен. Что нам даст установка собственного кеширующего DNS сервера? Это немного ускорит отклик сайтов + Linux не очень хорошо воспринимает имена NetBios, а ведь иногда приходится находить компьютеры или принтеры внутри локальной сети, а хочется это делать по именам.

Запоминать IP адреса- не удобно, а постоянно лазить к журнал работы DHCP сервера- тоже не наш метод. Вот для таких случаев и нужен DNS в локальной сети. Сама установка пакета bind9 не отличается сложностью, затыки, обычно возникают на стадии его конфигурирования, т.к. после легко читаемых конфигурационных файлов системы, на человека сваливается непонятный синтаксис, кстати, очень похожий на язык программирования С. Т.к. сервер будет работать внутри локальной сети, то не имеет смысла переносить его в chroot окружение и вся настройка занимает совсем немного времени. На этом, лирическую часть, можно завершить, переходим к установке и настройке.

Установим DNS сервер Bind9:

# apt - get install bind9

После завершения, закачки и установки, нам необходимо отредактировать его конфигурационный файл:

# vim / etc / bind / named . conf . options

Находим секцию, она находится в самом начале конфигурационного файла, кроме нее там больше ничего нет…

options { directory "/var/cache/bind" ; // If there is a firewall between you and nameservers you want // to talk to, you may need to fix the firewall to allow multiple // ports to talk. See http://www.kb.cert.org/vuls/id/800113 // If your ISP provided one or more IP addresses for stable // nameservers, you probably want to use them as forwarders. // Uncomment the following block, and insert the addresses replacing // the all-0"s placeholder. // forwarders { // 0.0.0.0; // }; auth - nxdomain no ; # conform to RFC1035 listen - on - v6 { any ; }; };

Секция forwarders, отвечает за то, куда будет передаваться DNS запрос на разрешение имени, в случае если его нет в собственной базе. Последнее время меня совсем не радует, работа этих серверов у провайдера по этому можно подключить сторонние например гугловские, запомнить IP очень легко 8.8.8.8, на его примере я и буду вести настройку, но никто не мешает использовать, те что вам нравятся больше.

Редактируем секцию, для начала с нее нужно снять комментарии и добавить сторонние DNS, если есть необходимость добавить несколько серверов, например на тот случай если сервер google не выдержит ваших запросов и поломается:), то IP других серверов можно написать в столбик, тогда можно добиться более значительной отказоустойчивости.

forwarders { 8.8.8.8 ; 193.58.251.251 ; //Российская служба DNS -SkyDNS };

В эту секцию лучше вписать IP того сервера который у вас указан в файле /etc/resolv.conf или вписать туда в секциюnameserver этот IP. Сохраняем изменения и выходим. Перезапускаем сервер и проверяем. Набираем в командной строке nslookup mail.ru
Должно выдать:

Non - authoritative answer : Name : mail . ru Addresses : 94.100.191.202

Это говорит о том, что наш сервер не является, главным в обслуживании этой зоны (mail.ru), но запросы добавил в кеш!
Теперь нужно создать ДНС зону для нашей сети чтобы машины могли находить различные сетевые сервисы - могут быть, например, сетевые принтеры, они могут быть как самостоятельными так и расшаренными на других рабочих станциях.
Нашу зону можно назвать orgname –т.е. название организации.
Первым делом создаем зону, для этого отредактируем named.conf.local

# vim / etc / bind / named . conf . local

и добавим в него следующее:

zone "orgname" { type master ; file "/etc/bind/db.orgname" ; };

Сохраняем и выходим
Теперь нам необходимо создать файл настройки зоны

# vim / etc / bind / db . orgname

и вставляем в него следующее:
(Прошу отнестись внимательно к синтаксису конфигурационного файла, даже точки имеют значение)

@ IN SOA orgname . root . orgname . (20101015 4h ; время обновления - 4 часа 1h ; повтор каждый час 1w ; как долго хранить информацию - 1 неделю 1d ) ; TTL (время жизни ) записи - 1 день @ IN NS orgname . ; имя сервера имен @ IN A 192.168.10.1 ; A - запись - IP адрес нашего ДНС сервера который обслуживает эту зону, @ означает что это корневая зона. * IN CNAME @ printer IN A 192.168.10.25 ; Можно создать ДНС запись сетевого принтера который находится по адресу 192.168.10.25

Теперь, при добавлении нового сетевого устройства, вам необходимо сделать 2 вещи:
1) Зарезервировать IP адрес на DHCP сервере, о том, как это сделать, можно прочитать в статье- Настройка DHCP сервера
2) Создать DNS зону для этого IP, вида devicename IN A XXX.XXX.XXX.XXX. Где: devicename-сетевое имя устройства; XXX.XXX.XXX.XXX-его IP адрес который зарезервирован на DHCP сервере.

теперь нам необходимо отредактировать файл resolv.conf

# vim / etc / resolv . conf

и вписать туда:

nameserver 127.0.0.1

все что там было можно закоментировать поставив #
перезапускам сервер

# reboot

Сделано это для того чтобы сервер искал все в собственной базе, а уже потом BIND будет перенаправлять запросы к серверу 8.8.8.8 IP которого вписан в директиве forwarders .
Теперь можно проверять работоспособность:
Если тестирование происходит из под Windows:

ping devicename . orgname

Если тестируем из под Linux:

ping devicename . orgname - c 4

Должны пойти пинги на тот IP который вы указали вместо XXX.XXX.XXX.XXX

Можно так же проверять скорость обработки запросов коммандой dig

# dig @127.0.0.1 tut.by ; <<>> DiG 9.9.5-9+deb8u6-Debian <<>> @127.0.0.1 tut.by ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63893 ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 4, AUTHORITY: 13, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;tut.by. IN A ;; ANSWER SECTION: tut.by. 103 IN A 178.172.160.5 tut.by. 103 IN A 178.172.160.4 tut.by. 103 IN A 178.172.160.2 tut.by. 103 IN A 178.172.160.3 ;; AUTHORITY SECTION: . 6029 IN NS i.root-servers.net. . 6029 IN NS b.root-servers.net. . 6029 IN NS m.root-servers.net. . 6029 IN NS k.root-servers.net. . 6029 IN NS e.root-servers.net. . 6029 IN NS d.root-servers.net. . 6029 IN NS j.root-servers.net. . 6029 IN NS g.root-servers.net. . 6029 IN NS l.root-servers.net. . 6029 IN NS f.root-servers.net. . 6029 IN NS h.root-servers.net. . 6029 IN NS a.root-servers.net. . 6029 IN NS c.root-servers.net. ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Tue Mar 22 16:46:24 MSK 2016 ;; MSG SIZE rcvd: 310

Выпуск WordPress 5.3 улучшает и расширяет представленный в WordPress 5.0 редактор блоков новым блоком, более интуитивным взаимодействием и улучшенной доступностью. Новые функции в редакторе […]

После девяти месяцев разработки доступен мультимедиа-пакет FFmpeg 4.2, включающий набор приложений и коллекцию библиотек для операций над различными мультимедиа-форматами (запись, преобразование и […]

  • Новые функции в Linux Mint 19.2 Cinnamon

    Linux Mint 19.2 является выпуском с долгосрочной поддержкой, который будет поддерживаться до 2023 года. Он поставляется с обновленным программным обеспечением и содержит доработки и множество новых […]

  • Вышел дистрибутив Linux Mint 19.2

    Представлен релиз дистрибутива Linux Mint 19.2, второго обновления ветки Linux Mint 19.x, формируемой на пакетной базе Ubuntu 18.04 LTS и поддерживаемой до 2023 года. Дистрибутив полностью совместим […]

  • Доступны новые сервисные релизы BIND, которые содержат исправления ошибок и улучшения функций. Новые выпуски могут быть скачано со страницы загрузок на сайте разработчика: […]

    Exim – агент передачи сообщений (MTA), разработанный в Кембриджском университете для использования в системах Unix, подключенных к Интернету. Он находится в свободном доступе в соответствии с […]

    После почти двух лет разработки представлен релиз ZFS on Linux 0.8.0, реализации файловой системы ZFS, оформленной в виде модуля для ядра Linux. Работа модуля проверена с ядрами Linux c 2.6.32 по […]

  • В WordPress 5.1.1 устранена уязвимость, позволяющая получить контроль над сайтом
  • Комитет IETF (Internet Engineering Task Force), занимающийся развитием протоколов и архитектуры интернета, завершил формирование RFC для протокола ACME (Automatic Certificate Management Environment) […]

    Некоммерческий удостоверяющий центр Let’s Encrypt, контролируемый сообществом и предоставляющий сертификаты безвозмездно всем желающим, подвёл итоги прошедшего года и рассказал о планах на 2019 год. […]

  • Вышла новая версия Libreoffice – Libreoffice 6.2
  • Представьте, что было бы, если бы мы должны были помнить IP -адреса всех веб-сайтов, которые мы используем ежедневно. Даже если бы у нас была потрясающая память, процесс перехода на сайт был бы смехотворно медленным и трудоемким.

    А как насчет того, если нам нужно посещать несколько веб-сайтов или использовать несколько приложений, которые находятся на одном компьютере или виртуальном хосте? Это будет одна из худших головных болей, которые только можно представить — не говоря уже о возможности изменения IP -адреса, связанного с веб-сайтом или приложением, без предварительного уведомления.

    Только сама мысль об этом была бы достаточной причиной, чтобы через некоторое время отказаться от использования Интернета или внутренних сетей.

    Именно так будет выглядеть мир без системы доменных имен (также известный как DNS ). К счастью, эта служба решает все проблемы, упомянутые выше, даже если связь между IP -адресом и доменным именем изменяется.

    По этой причине в этой статье мы узнаем, как настроить и использовать простой DNS -сервер, службу, которая позволит переводить доменные имена в IP -адреса и наоборот.

    Разрешения имен DNS

    Для небольших сетей, которые не подвержены частым изменениям, файл /etc/hosts можно использовать как рудиментарный метод определения имени домена для разрешения IP -адреса.

    Этот файл, использует очень простым синтаксис, позволяет связать имя (и/или псевдоним) с IP -адресом. Это выполняется следующим образом:

    Например,

    192.168.0.1 gateway gateway.mydomain.com 192.168.0.2 web web.mydomain.com

    Таким образом, вы можете связаться с веб-машиной либо по имени web.mydomain.com , либо по её IP -адресу.

    Для больших сетей или тех, которые подвержены частым изменениям, использование файла /etc/hosts для разрешения имен доменов на IP -адреса не будет приемлемым решением. Именно здесь возникает необходимость в специальном сервисе.

    Залезем за кулисы работы DNS . DNS -сервер запрашивает большую базу данных в виде дерева, которое начинается с корневой («.» ) зоны.

    Следующий рисунок поможет нам понять о чём идет речь:

    На изображении выше корневая зона (.) содержит com , edu и net домены первого уровня. Каждый из этих доменов управляется (или может управляться) различными организациями, чтобы избежать зависимости от одной большой — центральной. Это позволяет правильно распределять запросы по иерархии.

    Давайте посмотрим, что происходит:

    1. Когда клиент делает запрос на DNS -сервер для web1.sales.me.com , сервер отправляет запрос на верхний (корневой) DNS -сервер, который направляет запрос на сервер имен в зону .com .

    Это, в свою очередь, отправляет запрос на сервер имен следующего уровня (в зону me.com ), а затем на sales.me.com . Этот процесс повторяется столько раз, сколько необходимо, пока полное доменное имя (полное доменное имя, web1.sales.me.com в этом примере) не будет возвращено сервером имен зоны, в которой он находится.

    2. В этом примере сервер имен в sales.me.com отвечает за адрес web1.sales.me.com и возвращает желаемую ассоциацию для имени домена-IP и другую информацию (если он настроен для этого).

    Вся эта информация отправляется на исходный DNS -сервер, который затем передает его обратно клиенту, который его запросил. Чтобы избежать повторения одинаковых шагов для будущих идентичных запросов, результаты запроса сохраняются на DNS -сервере. Это и есть тот важный аспект, из-за которого такая настройка обычно называется рекурсивной кэширующей настройкой DNS-сервера .

    Установка и настройка DNS-сервера

    В Linux наиболее используемым DNS -сервером является bind (сокращение от Berkeley Internet Name Daemon), которое может быть установлено следующим образом:

    # yum install bind bind-utils # zypper install bind bind-utils # aptitude install bind9 bind9utils

    После того, как мы установили bind и связанные с ним утилиты, сделаем копию файла конфигурации перед внесением каких либо изменений:

    # cp /etc/named.conf /etc/named.conf.orig # cp /etc/bind/named.conf /etc/bind/named.conf.orig

    Затем давайте откроем named.conf и перейдем к блоку параметров, где нам нужно указать следующие настройки для рекурсивного кеширующего сервера с IP 192.168.0.18/24 , к которому могут обращаться только хосты в той же сети (в качестве меры безопасности).

    Параметры прямой зоны используются для указания того, какие серверы имен необходимо сначала запрашивать (в следующем примере мы используем серверы имен Google) для хостов вне нашего домена:

    Options { ... listen-on port 53 { 127.0.0.1; 192.168.0.18}; allow-query { localhost; 192.168.0.0/24; }; recursion yes; forwarders { 8.8.8.8; 8.8.4.4; }; … }

    Вне блока опций мы определим нашу зону sales.me.com (в Ubuntu это обычно делается в отдельном файле с именем named.conf.local ), который отображает домен с заданным IP -адресом и обратной зоной для сопоставления IP -адреса к соответствующей области.

    Однако фактическая конфигурация каждой зоны будет проходить в отдельных файлах, как указано в директиве файла («master» означает, что мы будем использовать только один DNS-сервер).

    Добавьте следующие строки в файл named.conf :

    Zone "sales.me.com." IN { type master; file "/var/named/sales.me.com.zone"; }; zone "0.168.192.in-addr.arpa" IN { type master; file "/var/named/0.162.198.in-addr.arpa.zone"; };

    Обратите внимание, что inaddr.arpa (для адресов IPv4) и ip6.arpa (для IPv6) являются соглашениями для конфигураций обратной зоны.

    После сохранения вышеуказанных изменений в named.conf мы можем проверить наличие ошибок следующим образом:

    # named-checkconf /etc/named.conf

    Если обнаружены какие-либо ошибки, указанная выше команда выдает информационное сообщение с причиной и строкой, в которой они находятся. В противном случае он ничего не вернет.

    Настройка DNS-зон

    В файлах /var/named/sales.me.com.zone и /var/named/0.168.192.in-addr.arpa.zone мы настроим прямую (домен → IP-адрес) и обратную (IP-адрес → домен) зоны.

    Сначала рассмотрим прямую конфигурацию:

    1. В верхней части файла вы найдете строку, начинающуюся с TTL (сокращение от Time To Live), в которой указано, как долго кешированный ответ должен «жить» перед его заменой результатами нового запроса.

    В строке, расположенной ниже, мы свяжемся с нашим доменом и укажем адрес электронной почты, с которой должны быть отправлены уведомления (обратите внимание, что root.sales.me.com означает ).

    2. Запись SOA (Start of Authority) указывает, что эта система является авторитетным сервером имен для машин внутри домена sales.me.com .

    При наличии двух серверов имен (одного ведущего и другого подчиненного) для каждого домена требуются следующие настройки (хотя это не наш случай, так как он не требуется на экзамене, они представлены здесь для справки):

    Serial используется для выделения одной версии файла определения зоны из предыдущей (где могли быть изменены параметры). Если кешированный ответ указывает на вывод с другим Serial , запрос выполняется снова, вместо того, чтобы вернутся к клиенту.

    В настройке с ведомым (вторичным) сервером имен Refresh указывает время, в течение которого вторичный сервер должен проверять новый серийный номер с главного сервера.

    Кроме того, Retry сообщает серверу, как часто вторичный объект должен пытаться связаться с основным, если ответ от первичного не получен, тогда как Expire указывает, когда определение зоны во вторичном режиме больше не действует после того, как становится невозможно получить ответ от главного сервера, и отрицательный TTL — это время, в течение которого не кэшируется несуществующий домен (NXdomain ).

    3. NS -запись указывает, что является авторитетным DNS -сервером для нашего домена (на который указывает знак @ в начале строки).

    4. Запись A (для адресов IPv4) или AAAA (для адресов IPv6) преобразует имена в IP -адреса.

    В приведенном ниже примере:

    Dns: 192.168.0.18 (the DNS server itself) web1: 192.168.0.29 (a web server inside the sales.me.com zone) mail1: 192.168.0.28 (a mail server inside the sales.me.com zone) mail2: 192.168.0.30 (another mail server)

    5. Запись MX указывает имена уполномоченных агентов передачи почты (MTA) для этого домена. Имя хоста должно быть предварено номером, указывающим приоритет, который должен иметь текущий почтовый сервер при наличии двух или более MTA для домена (чем ниже значение, тем выше приоритет) в следующем примере, mail1 является основным, тогда как mail2 является вторичным MTA ).

    6. Запись CNAME устанавливает псевдоним (www.web1) для хоста (web1).

    ВАЖНО : важно наличие точки (.) в конце имен.

    $TTL 604800 @ IN SOA sales.me.com. root.sales.me.com. (2016051101 ; Serial 10800 ; Refresh 3600 ; Retry 604800 ; Expire 604800) ; Negative TTL ; @ IN NS dns.sales.me.com. dns IN A 192.168.0.18 web1 IN A 192.168.0.29 mail1 IN A 192.168.0.28 mail2 IN A 192.168.0.30 @ IN MX 10 mail1.sales.me.com. @ IN MX 20 mail2.sales.me.com. www.web1 IN CNAME web1

    Давайте посмотрим на конфигурацию обратной зоны (/var/named/0.168.192.in-addr.arpa.zone). Запись SOA такая же, как и в предыдущем файле, тогда как последние три строки с записью PTR (указатель) указывают последний октет в адресе хостов IPv4 mail1 , web1 и mail2 (192.168.0.28, 192.168.0.29, и 192.168.0.30, соответственно).

    $TTL 604800 @ IN SOA sales.me.com. root.sales.me.com. (2016051101 ; Serial 10800 ; Refresh 3600 ; Retry 604800 ; Expire 604800) ; Minimum TTL @ IN NS dns.sales.me.com. 28 IN PTR mail1.sales.me.com. 29 IN PTR web1.sales.me.com. 30 IN PTR mail2.sales.me.com.

    Вы можете проверить файлы зон на наличие ошибок:

    # named-checkzone sales.me.com /var/named/sales.me.com.zone # named-checkzone 0.168.192.in-addr.arpa /var/named/0.168.192.in-addr.arpa.zone

    На следующем скриншоте показано, каков ожидаемый результат вывода:

    В противном случае вы получите сообщение об ошибке и советом по её устранению:

    После того, как вы проверили основной файл конфигурации и файлы зон, перезапустите именованную службу, чтобы применить изменения.

    В CentOS и openSUSE выполните:

    # systemctl restart named

    И не забудьте также включить его:

    # systemctl enable named

    В Ubuntu :

    $ sudo service bind9 restart

    Наконец, вам нужно будет отредактировать конфигурацию основных сетевых интерфейсов:

    In /etc/sysconfig/network-scripts/ifcfg-enp0s3 for CentOS and openSUSE ---- DNS1=192.168.0.18 ---- In /etc/network/interfaces for Ubuntu ---- dns-nameservers 192.168.0.18

    Теперь перезапустите службу сети, чтобы применить изменения.

    Тестирование DNS-сервера

    На этом этапе мы готовы запросить наш DNS -сервер для локальных и внешних имен и адресов. Следующие команды вернут IP -адрес, связанный с хостом web1 :

    # host web1.sales.me.com # host web1 # host www.web1

    Как мы можем узнать, кто обрабатывает электронные письма для sales.me.com ? Узнать это легко — просто запросите записи MX для домена:

    # host -t mx sales.me.com

    Аналогично, давайте проведем обратный запрос. Это поможет нам узнать имя IP -адреса:

    # host 192.168.0.28 # host 192.168.0.29

    Вы можете попробовать те же операции для внешних хостов:

    Чтобы убедиться, что запросы действительно проходят через наш DNS -сервер, давайте включим ведение журнала:

    # rndc querylog

    И проверьте файл /var/log/messages (в CentOS и openSUSE):

    # host -t mx linux.com # host 8.8.8.8

    Чтобы отключить ведение журнала DNS , введите еще раз:

    # rndc querylog

    В Ubuntu для включения ведения журнала потребуется добавить следующий независимый блок (тот же уровень, что и блок опций) в /etc/bind/named.conf :

    Logging { channel query_log { file "/var/log/bind9/query.log"; severity dynamic; print-category yes; print-severity yes; print-time yes; }; category queries { query_log; }; };

    Обратите внимание, что файл журнала должен существовать и быть доступен для записи по имени.

    Итоги

    В этой статье мы объяснили, как настроить базовый рекурсивный, кеширующий DNS -сервер и как настроить зоны для домена.

    Чтобы обеспечить правильную работу вашего DNS -сервера, не забудьте разрешить эту службу в вашем брандмауэре (порт TCP 53), как описано в («Настройка брандмауэра Iptables для включения удаленного доступа к услугам»).

    .

    Курсы Cisco и Linux с трудоустройством!

    Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля , а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля .

    Что Вы получите?

    • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
    • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
    • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.

    Как проходит обучение?

    • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
    • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
    • Если хотите индивидуальный график - обсудим и осуществим.
    • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.

    А еще поможем Вам:

    Назначение DNS это перевод доменных имен, легко запоминаемых человеком в IP адреса которые понимают компьютеры, этот процесс называется-Разрешение имен.
    Что нам даст установка собственного кеширующего DNS сервера?!
    Это немного ускорит отклик сайтов + Linux не очень хорошо воспринимает имена NetBios, а ведь иногда приходится находить компьютеры или принтеры внутри локальной сети, а хочется это делать по именам.
    Запоминать IP адреса- не удобно, а постоянно лазить к журнал работы DHCP сервера- тоже не наш метод. Вот для таких случаев и нужен DNS в локальной сети.
    Сама установка пакета bind9 не отличается сложностью, затыки, обычно возникают на стадии его конфигурирования, т.к. после легко читаемых конфигурационных файлов системы, на человека сваливается непонятный синтаксис, кстати, очень похожий на язык программирования С. Т.к. сервер будет работать внутри локальной сети, то не имеет смысла переносить его в chroot окружение и вся настройка занимает совсем немного времени.
    На этом, лирическую часть, можно завершить, переходим к установке и настройке.
    Установим DNS сервер Bind9:
    sudo apt-get install bind9
    После завершения, закачки и установки, нам необходимо отредактировать его конфигурационный файл:
    sudo nano /etc/bind/named.conf.options
    Находим секцию, она находится в самом начале конфигурационного файла, кроме нее там больше ничего нет…

    Options { directory "/var/cache/bind"; // If there is a firewall between you and nameservers you want // to talk to, you may need to fix the firewall to allow multiple // ports to talk. See http://www.kb.cert.org/vuls/id/800113 // If your ISP provided one or more IP addresses for stable // nameservers, you probably want to use them as forwarders. // Uncomment the following block, and insert the addresses replacing // the all-0"s placeholder. // forwarders { // 0.0.0.0; // }; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; };

    Секция forwarders, отвечает за то, куда будет передаваться DNS запрос на разрешение имени, в случае если его нет в собственной базе. Последнее время меня совсем не радует, работа этих серверов у провайдера по этому можно подключить сторонние например гугловские, запомнить IP очень легко 8.8.8.8, на его примере я и буду вести настройку, но никто не мешает использовать, те что вам нравятся больше.

    Редактируем секцию, для начала с нее нужно снять комментарии и добавить сторонние DNS, если есть необходимость добавить несколько серверов, например на тот случай если сервер google не выдержит ваших запросов и поломается:), то IP других серверов можно написать в столбик, тогда можно добиться более значительной отказоустойчивости.
    forwarders { 8.8.8.8; 193.58.251.251; //Российская служба DNS -SkyDNS };
    В эту секцию лучше вписать IP того сервера который у вас указан в файле /etc/resolv.conf или вписать туда в секцию nameserver этот IP
    Сохраняем изменения и выходим
    Перезапускаем сервер и проверяем
    Набираем в командной строке nslookup mail.ru
    Должно выдать:

    Non-authoritative answer: Name: mail.ru Addresses: 94.100.191.202
    Это говорит о том, что наш сервер не является, главным в обслуживании этой зоны (mail.ru), но запросы добавил в кеш!
    Теперь нужно создать ДНС зону для нашей сети чтобы машины могли находить различные сетевые сервисы - могут быть, например, сетевые принтеры, они могут быть как самостоятельными так и расшаренными на других рабочих станциях.
    Нашу зону можно назвать orgname –т.е. название организации.
    Первым делом создаем зону, для этого отредактируем named.conf.local

    Sudo nano /etc/bind/named.conf.local
    и добавим в него следующее:
    zone "orgname" { type master; file "/etc/bind/db.orgname"; };
    Сохраняем и выходим
    Теперь нам необходимо создать файл настройки зоны
    sudo nano /etc/bind/db.orgname
    и вставляем в него следующее:
    (Прошу отнестись внимательно к синтаксису конфигурационного файла, даже точки имеют значение)

    @ IN SOA orgname. root.orgname. (20101015 4h ; время обновления -4 часа 1h ; повтор каждый час 1w ; как долго хранить информацию -1 неделю 1d) ; TTL (время жизни) записи - 1 день @ IN NS orgname. ; имя сервера имен @ IN A 192.168.10.1 ; A - запись - IP адрес нашего ДНС сервера который обслуживает эту зону, @ означает что это корневая зона. * IN CNAME @ printer IN A 192.168.10.25 ; Можно создать ДНС запись сетевого принтера который находится по адресу 192.168.10.25

    Теперь, при добавлении нового сетевого устройства, вам необходимо сделать 2 вещи:
    1) Зарезервировать IP адрес на DHCP сервере, о том, как это сделать, можно прочитать в статье-
    2) Создать DNS зону для этого IP, вида devicename IN A XXX.XXX.XXX.XXX. Где: devicename-сетевое имя устройства; XXX.XXX.XXX.XXX-его IP адрес который зарезервирован на DHCP сервере.

    Теперь нам необходимо отредактировать файл resolv.conf

    Sudo nano /etc/resolv.conf

    И вписать туда:

    Nameserver 127.0.0.1

    Все что там было можно закоментировать поставив #

    Перезапускам сервер

    Сделано это для того чтобы сервер искал все в собственной базе, а уже потом BIND будет перенаправлять запросы к серверу 8.8.8.8 IP которого вписан в директиве forwarders .

    Теперь можно проверять работоспособность:

    Если тестирование происходит из под Windows:
    ping devicename.orgname

    Если тестируем из под Linux:
    ping devicename.orgname -c 4
    Должны пойти пинги на тот IP который вы указали вместо XXX.XXX.XXX.XXX

    На этом настройку DNS сервера можно завершить.

    К эш DNS – это временная база данных, в которой хранится информация о предыдущих поисках DNS. Другими словами, всякий раз, когда вы посещаете веб-сайт, ваша ОС и веб-браузер будут вести учет домена и соответствующего IP-адреса. Это исключает необходимость повторяющихся запросов к удаленным DNS-серверам и позволяет вашей ОС или браузеру быстро разрешать URL-адреса веб-сайта.

    Однако в некоторых ситуациях, таких как устранение неполадок в сети или после смены преобразователей DNS, вам необходимо очистить кэш DNS. Это очистит кэшированные записи DNS и выполнит последующий поиск для разрешения домена на основе вновь настроенных параметров DNS.

    В этой статье приведены инструкции по очистке кеша DNS в разных операционных системах и веб-браузерах.

    Очистить/удалить кэш DNS в Windows

    Процесс очистки DNS-кэша одинаков для всех версий Windows. Вам нужно открыть командную строку с правами администратора и запустить ipconfig /flushdns.

    Windows 10 и Windows 8

    Чтобы очистить кэш DNS в Windows 10 и 8, выполните следующие действия:

    1. Введите cmd в строке поиска Windows.
    2. ipconfig /flushdns

      Windows 7

      Чтобы очистить кэш DNS в Windows 7, выполните следующие действия:

      1. Нажмите на кнопку Пуск.
      2. Введите cmd в текстовое поле поиска меню «Пуск».
      3. Щелкните правой кнопкой мыши на командной строке и выберите Запуск от имени администратора. Это откроет окно командной строки.
      4. В командной строке введите следующую строку и нажмите Enter:

        ipconfig /flushdns

        В случае успеха система вернет следующее сообщение:

        Windows IP Configuration Successfully flushed the DNS Resolver Cache.

      Очистить/удалить кэш DNS в Linux

      В Linux отсутствует кэширование DNS на уровне ОС, если не установлена ​​и не запущена служба кэширования, такая как Systemd-Resolved, DNSMasq или Nscd. Процесс очистки DNS-кэша отличается в зависимости от дистрибутива и службы кэширования, которую вы используете.

      Systemd Resolved

      В большинстве современных дистрибутивов Linux, таких как , используется системный разрешенный сервис для кэширования записей DNS.

      Чтобы узнать, запущена ли служба, выполните:

      sudo systemctl is-active systemd-resolved.service

      Если служба работает, команда напечатает active, иначе вы увидите inactive.

      Чтобы очистить DNS-кэш Systemd Resolved, вы должны ввести следующую команду.

      sudo systemd-resolve --flush-caches

      В случае успеха команда не возвращает никакого сообщения.

      Dnsmasq

      Dnsmasq – это облегченный сервер кэширования имен DHCP и DNS.

      Если ваша система использует DNSMasq в качестве сервера кеширования, для очистки кеша DNS вам необходимо перезапустить службу Dnsmasq:

      sudo systemctl restart dnsmasq.service

      sudo service dnsmasq restart

      Nscd

      Nscd – это демон кэширования, и он является предпочтительной системой кэширования DNS для большинства дистрибутивов на основе RedHat.

      Если ваша система использует Nscd, для очистки кеша DNS вам необходимо перезапустить службу Nscd:

      sudo systemctl restart nscd.service

      sudo service nscd restart

      Очистить/удалить кэш DNS на MacOS

      Команда очистки кэша в MacOS немного отличается в зависимости от используемой версии. Команда должна быть запущена как пользователь с правами системного администратора (пользователь sudo).

      Чтобы очистить кэш DNS в MacOS, выполните следующие действия:

      1. Откройте Finder.
      2. Перейдите в Приложения> Утилиты> Терминал. Это откроет окно терминала.
      3. В командной строке введите следующую строку и нажмите Enter:

        sudo killall -HUP mDNSResponder

        Введите свой пароль sudo и снова нажмите Enter. В случае успеха система не возвращает никаких сообщений.

      Для более ранних версий MacOS команда очистки кэша отличается.

      MacOS версии 10.11 и 10.9

      sudo dscacheutil -flushcache sudo killall -HUP mDNSResponder

      MacOS версия 10.10

      sudo discoveryutil mdnsflushcache sudo discoveryutil udnsflushcaches

      MacOS версии 10.6 и 10.5

      sudo dscacheutil -flushcache

      Очистить /удалить кэш DNS браузера

      В большинстве современных веб-браузеров есть встроенный DNS-клиент, который предотвращает повторяющиеся запросы при каждом посещении веб-сайта.

      Google Chrome

      Чтобы очистить DNS-кеш Google Chrome, выполните следующие действия:

      1. Откройте новую вкладку и введите в адресную строку Chrome: chrome://net-internals/#dns.
      2. Нажмите кнопку «Очистить кэш хоста».

      Если это не работает для вас, попробуйте очистить кэш и куки.

      1. Нажмите, CTRL+Shift+Del чтобы открыть диалоговое окно «Очистить данные просмотра».
      2. Выберите диапазон времени. Выберите «Все время», чтобы удалить все.
      3. Установите флажки «Файлы cookie и другие данные сайта» и «Кэшированные изображения и файлы».
      4. Нажмите кнопку «Очистить данные».

      Этот метод должен работать для всех браузеров на основе Chrome, включая Chromium, Vivaldi и Opera.

      FireFox

      Чтобы очистить DNS-кэш Firefox, выполните следующие действия:

      1. В верхнем правом углу щелкните значок гамбургера, ☰чтобы открыть меню Firefox:
      2. Нажмите на ⚙ Options (Preferences)ссылку.
      3. Нажмите на вкладку «Конфиденциальность и безопасность» или «Конфиденциальность» слева.
      4. Прокрутите вниз до Historyраздела и нажмите на Clear History…кнопку.
      5. Выберите временной диапазон, чтобы очистить. Выберите «Все», чтобы удалить все.
      6. Выберите все поля и нажмите «Очистить сейчас».

      Если это не работает для вас, попробуйте следующий метод и временно отключите кэш DNS.

      1. Откройте новую вкладку и введите about:configв адресную строку Firefox.
      2. Найдите network.dnsCacheExpiration, временно установите значение 0 и нажмите ОК. После этого измените значение по умолчанию и нажмите ОК.
      3. Найдите network.dnsCacheEntries, временно установите значение 0 и нажмите ОК. После этого измените значение по умолчанию и нажмите ОК.

      Заключение

      Вы узнали, как очистить или очистить кэш DNS в операционных системах Windows, Linux и MacOS.

      Linux и MacOS могут использовать команду dig для запроса DNS и устранения проблем с DNS.

      Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.



    Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter
    ПОДЕЛИТЬСЯ: