====== DNS ====== Domain Name System — система доменных имён http://ru.wikipedia.org/wiki/DNS :!: Здесь приведены примеры настройки для [[Debian:Debian|Debian]] ====== Формат заголовка файла зоны ====== - [[#Serial]] - [[#Refresh]] - [[#Retry]] - [[#Expiry]] - [[#TTL]] :!: Время задаётся секундах! FIXME SOA-запись (Start of Authority) — начальная запись зоны, которая указывает местоположение эталонной записи о домене. Она содержит в себе контактную информацию лица, ответственного за данную зону, время кэширования информации на серверах и данные о взаимодействии DNS. SOA-запись создается автоматически. Удалить ее нельзя. Задаваемые значения: - - TTL – время, в течение которого информация будет кешироваться другими DNS-серверами. - Hostname – контактный адрес лица, который отвечает за администрирование файла зоны. - Serial number – 32-разрядное число, которое содержит в себе серийный номер файла зоны. Изменяется при каждом обновлении зоны. - Refresh – время (в секундах) ожидания ответа вторичного DNS перед запросом SOA-записи с первичных серверов. По истечении данного времени вторичный DNS обращается к первичному для получения копии текущей SOA-записи. Первичный DNS-сервер выполняет этот запрос. Вторичный DNS-сервер сравнивает полученный серийный номер зоны с имеющимся. Если они отличаются, то осуществляется запрос к первичному DNS-серверу на трансфер зоны. - Retry – если сервер недоступен, то в по истечении времени (в секундах), указанного в данном параметре, сервер повторно попытается синхронизировать информацию с первичных DNS-серверов. - Expire – время (в секундах), в течение которого вторичный DNS будет пытаться завершить синхронизацию зоны с первичным. Если это время истечет до того, как синхронизация закончится, то зона на вторичном DNS-сервере перестанет обслуживать запросы об этой зоне. - Minimum TTL – время жизни кэша для негативного ответа на запрос в зонe. ---- [[https://www.reg.ru/support/dns/Nastroika-zony/chto-takoe-soazapis-i-kak-ee-proverit|Что такое SOA-запись и как ее проверить | REG.RU]] ===== Serial ===== Серийный номер. Каждый раз при изменении каких-либо данных его нужно обязательно менять. Когда меняется серийный номер, зона обновляется на всех серверах. Используйте следующий формат: ''ГГГГММДДнн'' * ГГГГ — год * ММ — месяц * ДД — день * нн — порядковый номер изменения за день. Если вы уже второй раз за день вносите изменения в файл зоны, укажите 01, если третий — 02, и т.д. ===== Refresh ===== Интервал, через который slave сервера должны обращаться к primary серверу и проверять обновление зоны. ===== Retry ===== если slave серверу не удалось обратится к primary серверу, через это время он должен повторить свой запрос. ===== Expiry ===== если в течении этого времени slave сервер так и не смог обновить зону с primary сервера, то slave должен прекратить обслуживать эту зону. ===== TTL ===== время кеширования отрицательных ответов (ответ "домен невозможно разрешить в IP адрес") ====== Общая настройка ====== Порядок опроса источников определяет [[nss:nss|NSS]] ===== hosts ===== Файл ''/etc/hosts'' 127.0.0.1 localhost ===== resolv.conf ===== Файл ''/etc/resolv.conf'' domain domain.ru search domain.ru domain2.ru domain3.ru nameserver 192.168.1.1 nameserver 192.168.1.2 |''domain''|основной домен для хоста| |''search''|список доменов для поиска, если имя домена не указано в запросе| |''nameserver''|IP адрес сервера DNS,каждый в отдельной строке| ==== Запрет изменения файла ==== FIXME 1. Можно выполнить команду: chattr +i /etc/resolv.conf [[http://www.cyberciti.biz/faq/dhclient-etcresolvconf-hooks/|How To: Make Sure /etc/resolv.conf Never Get Updated By DHCP Client]] ====== Серверы ====== * [[bind:bind|Сервер BIND]] * [[powerdns:powerdns|PowerDNS]] ====== Тестирование ====== Нужно установить: apt install dnsutils ===== nslookup ===== |Имена почтовых серверов|nslookup -type=MX ИМЯ_ДОМЕНА| |Обратная зона|nslookup -type=PTR IP_АДРЕС| ===== dig ===== |Общая информация о домене|dig @СЕРВЕР ИМЯ_ДОМЕНА| |Имена почтовых серверов|dig -t mx ИМЯ_ДОМЕНА| |Обратная зона|dig -t ptr IP_АДРЕС_В_ОБРАТНОМ_ПОРЯДКЕ.in-addr.arpa| http://ru.wikipedia.org/wiki/Dig Для работы нужен пакет ''dnsutils'' apt install dnsutils [[https://linuxmoz.com/debian-dig-install/|Debian Dig Install - LinuxMoz]] ====== Тестирование домена / адреса ====== [[http://network-tools.com/nslook/|network-tools.com : NsLookup]] [[http://www.senderbase.org/lookup/|SenderBase Look Up]] [[http://xseo.in/dns|Проверка DNS записей A, NS, MX, CNAME, PTR, TXT, SOA, AAAA, ALL]] **[[https://viewdns.info/iphistory/|IP History - ViewDNS.info]]** [[https://intodns.com/|intoDNS: checks DNS and mail servers health]] **https://www.dnsinspect.com/** ====== Ссылки ====== [[http://info.nic.ru/st/14/out_267.shtml|Система доменных имен (материалы книги П.Б. Храмцова)]] [[http://www.zytrax.com/books/dns/|DNS for Rocket Scientists]] [[http://www.remoteshaman.com/server/mta/mtas-poor-reputation-da-ya-vizhu-bratok-ty-spamer-prostoj|MTA's poor reputation: да я вижу браток ты спамер простой?:)]] [[http://www.delayer.org/2011/01/bind9.html|bind9 + форвардинг отдельной зоны.]] [[https://en.wikipedia.org/wiki/Split-horizon_DNS|Split-horizon DNS]] [[https://ru.wikipedia.org/wiki/Передача_зоны_DNS|Передача зоны DNS]] [[http://server-tuning.info/bind/zone-file-format.html|Формат файла зоны | Настройка хостинг-сервера]] {{tag>DNS}}