Поиск по сайту:

Настройка кэширующего DNS-сервера в Ubuntu Server 14.04


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

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

Что такое DNS?

Вот простой способ понять DNS и то, как он работает.

Если нам понадобится доступ к linux-console.net в браузере, система будет искать linux-console.net. Здесь в конце .com будет (.), так что это?.

(.) представляет корневой сервер пространства имен. Всего во всем мире доступно 13 корневых серверов. При доступе к linux-console.net он запросит имя сервера в соответствии с конфигурацией операционной системы. В Ubuntu мы настраивали сервер имен в /etc/resolv.conf, при доступе к linux-console.net мой браузер будет запрашивать root-серверы имен, если корневой сервер имен этого не делает. Имея запрошенную информацию о домене, он кэширует запрошенную информацию и перенаправляет мой запрос на (TLD) домен верхнего уровня сервер имен, даже на сервере имен TLD мой запрос не выполняется. доступный, он будет кэширован и перенаправлен на авторитетный сервер имен.

Во время регистрации домена наш регистратор доменов определит, какой авторитетный сервер имен должен использовать наш домен. Таким образом, авторитетные серверы имен имеют информацию о нашем домене, и пока наш запрос достигает ANS, он отвечает на запрос, который linux-console.net имеет 111.111.222.1, в то же время это будет кэшируется на авторитетном сервере имен и отправляет запрос обратно в браузер. Все вышеперечисленные шаги выполняются в течение миллисекунд.

Надеюсь, вы поняли, что такое DNS и как он работает. Теперь давайте настроим Кэширующий DNS-сервер на сервере Ubuntu 14.04 LTS.

Шаг 1. Установка DNS-сервера

Сначала взгляните на информацию о моем локальном DNS-сервере, такую как статический IP-адрес и имя хоста, которая используется для целей этой статьи.

IP Address:	192.168.0.100
Hostname:	dns.tecmintlocal.com

Чтобы проверить правильность вышеуказанных настроек, мы можем использовать команды «hostnamectl» и «ifconfig».

hostnamectl
ifconfig eth0 | grep inet

Затем мы обновляем репозитории по умолчанию и выполняем обновление системы перед настройкой DNS-кэш-сервера.

sudo apt-get update && sudo apt-get upgrade -y

Теперь установите пакеты DNS bind и dnsutils, используя следующую команду.

sudo apt-get install bind9 dnsutils -y

После установки DNS перейдите в каталог конфигурации привязки в /etc/bind.

/etc/bind/
ls -l

Шаг 2. Настройка DNS-кэш-сервера

Прежде всего, здесь мы настраиваем и настраиваем сервер кэширования. Откройте и отредактируйте файл named.conf.options с помощью редактора vim.

sudo vim named.conf.options

Здесь слово «переадресаторы» используется для кэширования запросов доменных имен. Итак, здесь мы собираемся использовать мой маршрутизатор в качестве пересылки. Раскомментируйте // перед строкой, как показано на рисунке.

forwarders {
        192.168.0.1;
        };

Сохраните и выйдите из файла, используя wq!. Теперь пришло время запустить сервер привязки для небольшого тестирования.

sudo /etc/init.d/bind9 start

Если нам нужно проверить, работает ли кеширование, мы можем использовать команду dig и проверить, работает ли кеш или нет.

Например, сейчас мы собираемся раскопать ubuntu.com, сначала это не будет кеш, поэтому это может занять несколько миллисекунд, после кеширования все будет молниеносно.

dig @127.0.0.1 ubuntu.com

Команда dig — это инструмент для поиска DNS. Чтобы узнать больше о команде Dig, прочтите тему ниже.

  1. 10 полезных примеров команды «копать»

Здесь мы видим на изображении выше, что при первом копании мой запрос занял 1965 миллисекунд и показывает, какой ipaddress привязан к ubuntu.com.

Давайте попробуем еще раз покопаться и посмотреть время запроса.

Круто! Со второй попытки мы получили запрос за 5 миллисекунд. Надеюсь, вы знаете, что сейчас такое кэширующий сервер. На изображении выше показано, что всего 13 корневых серверов кэшируют Ubuntu.com, поскольку миллионы людей уже заходили на официальный сайт Ubuntu.

Шаг 3. Настройка главного DNS-сервера

Создайте ГЛАВНЫЙ DNS-сервер. Здесь я определяю имя домена как tecmintlocal.com, отредактируйте файл named.conf.local с помощью редактора vim.

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

Введите запись DNS-Master, как показано ниже.

zone "tecmintlocal.com" {
        type master;
        file "/etc/bind/db.tecmintlocal.com";
        };
    1. зона: сведения о хостах в домене.

.

  1. тип: Главный DNS.
  2. файл: место хранения информации о зоне.

Создайте файл зоны db.tecmintlocal.com (прямой поиск), скопировав его из db.local.

sudo cp db.local db.tecmintlocal.com

Теперь откройте и отредактируйте скопированный файл зоны с помощью редактора vim.

sudo vim db.tecmintlocal.com

Затем добавьте следующий пример записи, который я использовал в учебных целях. Я использую то же самое и для других настроек виртуальных машин. Измените запись ниже в соответствии с вашими требованиями.

;
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     tecmintlocal.com. root.tecmintlocal.com. (
                     2014082801         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns.tecmintlocal.com.
ns      IN      A       192.168.0.100

clt1    IN      A       192.168.0.111
ldap    IN      A       192.168.0.200
ldapc   IN      A       192.168.0.211
mail    IN      CNAME   clt1.tecmintlocal.com.

Сохраните и выйдите из файла, используя wq!.

Наконец, перезапустите службу привязки DNS, используя команду ниже.

 
sudo service bind9 restart

Нам нужно подтвердить, работает ли наша настройка вышеуказанной зоны. Давайте проверим с помощью команды dig. Запустите команду следующим образом из запроса localhost.

dig @127.0.0.1 mail.tecmintlocal.com

Давайте проверим и проверим clt1.tecmintlocal.com, перед этим нам нужно изменить запись DNS-сервера на localhost на нашем компьютере с DNS-сервером и перезапустить сеть, чтобы получить эффект. .

Откройте и отредактируйте настройки сетевого интерфейса и введите запись DNS.

sudo vim /etc/network/interfaces

Измените запись DNS в интерфейсе, как показано ниже.

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
        address 192.168.0.100
        netmask 255.255.255.0
        gateway 192.168.0.1
        network 192.168.0.0
        broadcast 192.168.0.255
        dns-nameservers 127.0.0.1
	    dns-search tecmintlocal.com

После добавления записи перезапустите сеть, используя следующую команду.

sudo ifdown eth0 && sudo ifup eth0

Если перезапуск сети не дал результата, нам потребуется перезагрузка. Теперь давайте пропингуем и проверим clt1.tecmintlocal.com, пока он отвечает, нам нужно получить IP-адрес, который мы определили для имени хоста clt1.

ping clt1.tecmintlocal.com -c 3

Настройка обратного поиска DNS

Снова откройте и отредактируйте файл named.conf.local.

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

Теперь добавьте следующую запись обратного поиска DNS, как показано.

zone "0.168.192.in-addr.arpa" {
        type master;
        notify no;
        file "/etc/bind/db.tecmintlocal192";
        };

Сохраните и выйдите из файла, используя wq!. Теперь создайте файл db.tecmintlocal192, как я уже упоминал в главном файле выше для обратного поиска, скопируйте db.127 в db.tecmintlocal192 с помощью следующей команды.

sudo cp db.127 db.tecmintlocal192

Теперь откройте и отредактируйте файл db.tecmintlocal192 для настройки обратного просмотра.

sudo vim db.tecmintlocal192

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

;
; BIND reverse data file for local loopback interface
;
$TTL    604800
@       IN      SOA     ns.tecmintlocal.com. root.tecmintlocal.com. (
                        2014082802      ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns.
100     IN      PTR     ns.tecmintlocal.com.

111     IN      PTR     ctl1.tecmintlocal.com.
200     IN      PTR     ldap.tecmintlocal.com.
211     IN      PTR     ldapc.tecmintlocal.com.

Перезапустите службу привязки, используя.

Теперь проверьте резервную запись поиска.

host 192.168.0.111

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

Давайте также проведем проверку с помощью команды dig.

dig clt1.tecmintlocal.com

Здесь мы можем увидеть Ответ на наш Запрос в разделе ответов, поскольку доменное имя clt1.tecmintlocal.com имеет IP-адрес 192.168.0.111.

Шаг 4. Настройка клиентского компьютера

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

Давайте проверим имя хоста нашего клиента, используя следующую серию команд.

ifconfig eth0 | grep inet
hostname	
dig -x 192.168.0.100

Понимание записи файла зоны в DNS. Это изображение даст вам небольшое объяснение того, что мы определили в записи файла зоны.

Вот и все! В этой статье мы увидели, как настроить локальный DNS-сервер для использования в офисе или дома.

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

8 команд Nslookup для устранения неполадок DNS