Как выполнить полную настройку DNS-сервера BIND9 с именем хоста?

52

Мне нужно полное пошаговое руководство по созданию такой конфигурации сервера.

Может ли кто-нибудь помочь мне?

    
задан Artemis 08.08.2013 в 15:17
источник

2 ответа

116

Завершить DNS-сервер на сервере ubuntu 12.

Прежде всего, измените IP-адрес вашей серверной формы DHCP на STATIC, для этого используйте следующую команду

sudo nano /etc/network/interfaces

и добавьте:

auto eth0
iface eth0 inet static
address 192.168.1.5
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
# dns-nameservers

Перезапустить сетевые демона

sudo /etc/init.d/networking restart

Прежде чем настраивать DNS-сервер в Linux Ubuntu, сначала необходимо сделать доменное имя, а затем продолжить. Сначала вы проверите команду hostname для этого

sudo nano /etc/hostname

 nefitari       

(Это мое имя хоста сервера Ubuntu, которое может отличаться. Вы можете изменить это в соответствии с вашими потребностями)

Теперь после имени хоста вы должны сделать доменное имя для своего сервера. Скажем servername.domain.com, лучше практиковать, что всякий раз, когда вы настраиваете сервер для домашнего использования или нет, не используйте .com, но .hom или .net или что угодно. Введите ниже команду

  sudo nano /etc/hosts

добавить, если у него его нет:

  127.0.0.1   localhost

  192.168.1.5     nefitari.autun.hom    nefitari

В моем файле 127.0.0.1 для localhost, и я изменил второй IP-адрес 127.0.1.1 с моим IP-адресом сервера, который является 192.168.1.5, теперь я ввожу свое доменное имя с именем моего хоста nefitari затем мое доменное имя autun.hom , а затем псевдоним nefitari . Вы можете выбрать свой собственный, hostname.abc.net или hostname.home.lan и т. Д., Но помните, что для изменения этого файла необходимо перезагрузить сервер, а затем войти в систему. Перезагрузка должна

Теперь установите BIND9

 sudo apt-get install bind9

После установки достаточно настроить следующие файлы ниже:

  • Named.conf.options
  • Named.conf.local
  • /etc/resolv.conf

Теперь настройте файл named.conf.options Этот файл используется для DNS-IP. Это означает, что ваш сервер должен подключиться к некоторому DNS за пределами. Когда вы покупаете доменное имя у интернет-провайдеров, они обычно предоставляют вам свои собственные IP-адреса DNS. Вы можете использовать открытые DNS-адреса Google или так далее. В моем случае я использую свои IP-адреса DNS-провайдера.

 sudo nano /etc/bind/named.conf.options
 forwarders {
 # Give here your ISP DNS IP’s
192.168.1.1;    # gateway or router   
182.176.39.23;
182.176.18.13;
68.87.76.178;
  };

*** Сохраните файл и выйдите *** с помощью элемента управления x нажмите y и перезапишите файл

Теперь отредактируйте файл named.conf.local Это файл, в котором мы определяем зоны вперед и обратные зоны. Это означает, что когда мы вводим имя домена, он переводит его в IP-адрес, и когда мы вводим IP-адрес, он просто преобразует его в имя.

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

покажет:

# Our forward zone
zone "autun.hom" {
 type master;
 file "/etc/bind/zones/db.autun.hom";
 };

# Our reverse Zone 
# Server IP 192.168.1.5 
zone "1.168.192.in-addr.arpa" {
  type master;
  file "/etc/bind/zones/db.192";
 };

*** Сохраните файл и выйдите *** с помощью элемента управления x нажмите y и перезапишите файл

Теперь мы создадим эти два файла базы данных db.autun.hom и db.192 в папке зон

Сначала создайте зоны каталога в / etc / bind /

  sudo mkdir /etc/bind/zones

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

IP-адреса устройств

  • Сервер 192.168.1.5
  • Шлюз 192.168.1.1
  • Win7pc 192.168.1.50

Теперь в каталоге зон мы создадим два файла сначала db.autun.hom . Я просто копирую db.local , уже присутствующий в папке / etc / bind , в папку зон, изменив ее имя на db.autun.hom , Я положу эти IP-адреса в файл db.autun.hom. Начнем

sudo cp /etc/bind/db.local  /etc/bind/zones/db.autun.hom

Теперь используйте команду ниже, чтобы отредактировать файл

sudo nano /etc/bind/zones/db.autun.hom

 ;
 ; BIND data file for local loopback interface
 ;
 $TTL    604800
 @       IN      SOA     nefitari.autun.hom. webuser.autun.hom. (
                          2         ; Serial
                     604800         ; Refresh
                      86400         ; Retry
                    2419200         ; Expire
                     604800 )       ; Negative Cache TTL
  ;
autun.hom.      IN  NS  nefitari.autun.hom.
autun.hom.      IN  A   192.168.1.5
   ;@               IN  A   127.0.0.1
   ;@               IN  AAAA    ::1
nefitari            IN  A   192.168.1.5
gateway         IN  A   192.168.1.1
win7pc          IN  A   192.168.1.50
www     IN  CNAME   autun.hom.

Сохранить и выйти

  • Webuser.autun.hom. - это адрес электронной почты, который будет обращаться к серверу имен. Ты можешь напишите любое имя, а не webuser, например admin, root или host master и т. д.
  • Autun.hom. - мой сервер имен NS.
  • Autun.hom . переход на IP 192.168.1.5
  • @ IN A 127.0.0.1 и AAAA :: 1 можно прокомментировать, вам не нужно это потому, что db.local уже присутствует в / etc / bind, это просто копия этого файла. Поэтому нет необходимости удалять его.
  • Изменение Nefitari на IP 192.168.1.5
  • Шлюз по IP 192.168.1.1
  • Win7pc вы можете назвать ваши ПК с Windows или Linux-клиентами любым именем, но помните, что IP-адрес этого клиента должен быть правильно вставлен в файл. В в моем случае я дал IP-адрес Windows PC 192.168.1.50
  • Наконец, я использую CNAME , означает каноническое имя, это просто псевдоним nefitari. Означает, что вы можете получить доступ к своему серверу, введя www.autun.hom вместо nefitari.autun.hom. Вы можете опустить это или прокомментируйте это. Это зависит только от вас.

Теперь создайте файл зоны обратного просмотра

sudo cp /etc/bind/db.127    /etc/bind/zones/db.192

Теперь используйте команду ниже, чтобы отредактировать файл

sudo nano /etc/bind/zones/db.192

   ;
   ; BIND reverse data file for local loopback interface
   ;
   $TTL    604800
   @       IN      SOA     nefitari.autun.hom. webuser.autun.hom. (
                          2         ; Serial
                     604800         ; Refresh
                      86400         ; Retry
                    2419200         ; Expire
                     604800 )       ; Negative Cache TTL
   ;
        IN  NS  nefitari.
1   IN  PTR gateway.autun.hom.
5   IN  PTR nefitari.autun.hom.
50  IN  PTR win7pc.autun.hom.

Сохранить и выйти

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

named-checkzone autun.hom /etc/bind/zones/db.autun.hom
zone autun.hom /IN: loaded serial   2
Ok

Теперь проверьте файл обратной зоны

named-checkzone autun.hom /etc/bind/zones/db.192
zone autun.hom /IN: loaded serial   2
Ok 

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

Теперь отредактируйте файл resolv.конф

sudo nano /etc/resolv.conf

nameserver      192.168.1.5
domain      autun.hom
search      autun.hom

Введите следующие строки в файл resolv.conf и сохраните его

Перезапустить привязку

sudo /etc/init.d/bind9 restart

После начала привязки проверьте свой параметр в файле журнала

tail -f /var/log/syslog

у него не должно быть ошибок в журнале

Проверка переадресации зон

host –l autun.hom

Вывод должен выглядеть следующим образом

 autun.hom name server nefitari.autun.hom.
 autun.hom has address 192.168.1.5
 gateway.autun.hom has address 192.168.1.1
 nefitari.autun.hom has address 192.168.1.5
 win7pc.autun.hom has address 192.168.1.50

Теперь используйте NSLOOKUP

nslookup autun.hom

ВЫХОД

Server: 192.168.1.5
Address: 192.168.1.5#53

Name: autun.hom
Address: 192.168.1.5

Используйте DIG

 dig gateway.autun.hom

 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35612
 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

 ;; QUESTION SECTION:
 ;gateway.autun.hom         IN  A

 ;; ANSWER SECTION:
 gateway.autun.hom      604800  IN  A   192.168.1.1

 ;; AUTHORITY SECTION:
 Autun.hom.     604800  IN      NS  nefitari.autun.hom. 

 ;; ADDITIONAL SECTION:
 Nefitari.autun.hom.    604800  IN      A   192.168.1.5

 ;; Query time: 12 msec
 ;; SERVER: 192.168.1.5#53(192.168.1.5)
 ;; WHEN: Thu Aug 8 01:56:25 2013
 ;; MSG SIZE  rcvd: 90

Вывод должен быть похож на выше, проверьте статус: NOERROR означает, что он разрешает проверку РАЗДЕЛ ОТВЕТ: gateway.autun.hom разрешен в 192.168.1.1

Проверка обратной зоны

 host 192.168.1.1

Выход

 1.1.168.192.in-addr.arpa domain name pointer gateway.autun.hom

Если это дает вам ошибку, как показано ниже

 host 1.1.168.192.in-addr.arpa. not found: 3(NXDOMAIN)

Это означает, что вы допустили ошибку в файле /etc/bind/named.conf.local в обратной зоне Если ваш IP-адрес сервера 192.168.1.5 , то ваша обратная зона выглядит следующим образом

zone "**1.168.192**.in-addr.arpa" {
 correct ip reversing
};

Когда-то люди ошибались в обращении к ip как (пример)

zone "**0.168.192**.in-addr.arpa" {
incorrect ip reversing
};

Используйте NSLOOKUP

nslookup 192.168.1.1

Server: 192.168.1.5
Address: 192.168.1.5#53

1.1.168.192.in-addr.arpa    name=gateway.autun.hom

Если вы получаете ошибки NXDOMAIN или SERVFAIL, это означает, что один из файлов вашей зоны работает неправильно

Теперь вы можете ping ubuntu.com или вывести ubuntu.com в первый раз, чтобы принять несколько miliseconds, чтобы разрешить имя ubuntu .com, но когда вы запустите его секунд , потребуется 1, 2 или 3 секунды, обычно от 1 до 10 миллионов секунд , и это означает, что ваш DNS работает правильно

Настройка клиентов

сторона окна

  • открыть сетевые подключения
  • выберите изменить настройки адаптера
  • выберите свойства
  • выберите версия интернет-протокола IPv4

и здесь укажите IP-адрес (в моем случае это 192.168.1.50 вы помните win7pc)

  • IP-адрес 192.168.1.50
  • Маска подсети 255.255.255.0
  • Шлюз по умолчанию 192.168.1.1
  • первичный DNS 192.168.1.5 (мой новый DNS-сервер BIND ip)
  • в том же окне выберите Advance
  • выберите вкладка DNS
  • Введите текстовое поле ниже здесь. DNS-суффикс для этого подключение: autun.hom
  • нажмите ok
  • нажмите подтвердить настройку при выходе
  • нажмите ok

и вы закончите с ним открытую CMD

ping gateway

он должен дать вам несколько ответов

аналогично

ping 192.168.1.1 or 5

он должен дать вам несколько ответов

Проверьте свой сервер на внешний мир

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

сторона окна

открыть сетевые подключения выбрать настройки адаптера изменения выберите свойства выберите версию интернет-протокола IPv4

и здесь укажите IP-адрес (в моем случае это 192.168.1.50 вы помните win7pc)

IP-адрес 192.168.1.50

Маска подсети 255.255.255.0

Шлюз по умолчанию 192.168.1.1

первичный DNS 192.168.1.5 (мой новый DNS-сервер BIND ip)

выберите Advance (в том же окне)

выберите вкладку DNS

Введите текстовое поле ниже здесь. В DNS-суффиксе для этого соединения: autun.hom

нажмите ok

нажмите кнопку подтверждения при выходе

нажмите ok

и вы закончите с ним open CMD

Код:

 ping gateway

он должен дать вам несколько ответов

аналогично

Код:

 ping 192.168.1.1 or 5

он должен дать вам несколько ответов вы можете использовать NSLOOKUP <Сильный> Код:

 nslookup gateway

КЛИЕНТЫ LINUX

Код:

 sudo nano /etc/network/interfaces

введите следующие строки

Код:

 auto eth0
 iface eth0 inet dhcp

Теперь перезапустите Network Deamons

Код:

 sudo /etc/init.d/networking restart

, чтобы заставить клиент обновить IP-команду

Код:

 sudo dhclient -r

Теперь получите новый IP:

Код:

 sudo dhclient

Если вы используете DHCP-сервер в своей сети, введите имя домена и сервер имен в файле dhcpd.conf; например, у меня есть DNS-сервер с именем nefitari.autun.hom, а IP-адрес - 192.168.1.5, как в

Код:

 option domain-name "nefitari.autun.hom";
 option domain-name-server  192.168.1.5;

источник

    
ответ дан fossfreedom 17.07.2016 в 19:21
1

Ответ просто добавление к отличному описанию выше.

Совет по устранению неполадок

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

Я узнал о своей хорошей практике использовать более последовательный серийный номер. Очень важно увеличивать серийный номер при каждом изменении настройки, например. добавляются новые записи. Если его не увеличивать, вторичный DNS не сможет синхронизировать новые настройки. Предлагаемый формат - YYYYMMDDss , где ss - это «старый» серийный номер. Поэтому при инкрементах вы должны увеличить ss на +1 и установить дату на текущую дату. Я нашел это очень полезным при устранении неполадок при настройке. В syslog вы четко видите дату и серийный номер используемого файла.

В Ubuntu 16.04 смена resolv.conf устарела. Поскольку jdthood пишет в своем комментарии, замените шаг следующей процедурой:  - Измените / etc / default / bind9: новый будет выглядеть следующим образом:

   # run resolvconf?
   RESOLVCONF=yes

   # startup options for the server
   OPTIONS="-u bind"

   # use this when you have trouble with IPV6
   #OPTIONS="-u bind -4"

см. комментарий не-патча для проблем IPV6.

  • поместите символическую ссылку /etc/resolv.conf в /run/resolvconf/resolv.conf

     cd /etc
     sudo ln -s /etc/resolv.conf /run/resolvconf/resolv.conf
    

автономная настройка

Настройка точно такая же, и даже немного проще, поскольку вы можете просто пропустить разделы пересылки. Они не обязательно должны присутствовать, поэтому нет необходимости редактировать /etc/bind/names.con.options .

Сети класса B

Для выполнения этой работы для сетей класса B требуется несколько незначительных изменений (прежде чем появятся комментарии, нет причин, по которым локальная сеть, даже дома, не может быть классом-B, а не классом, C). В этом примере я использую номер сети 172.20.x.x. (Я думаю, что формальная нотация 172.20.0.0. Для получения дополнительной информации google rfc1918).

Используйте описание из первого ответа, замените все IP-адреса 192.168.x.x на 172.20.x.x, используйте для сервера IP 172.20.0.100 и измените файлы следующим образом:

  • имя файла db.192 становится db.172 .
  • файл named.conf.local получает другой раздел обратной зоны:

    zone "20.172.in-addr.arpe" {
    type master;
    file "/etc/bind/zones/db.172";
    }
    
  • Файл с обратными зонами изменяется на:

    ;
    ; BIND reverse data file for 172.20.x.x
    ;
    $TTL    604800
    @       IN      SOA     nefitari.autun.hom. webuser.autun.hom. (
                 2017022102         ; more intuitive serial YYYYMMDDss, here ss=02
                     604800         ; Refresh
                      86400         ; Retry
                    2419200         ; Expire
                     604800 )       ; Negative Cache TTL
    
    ; note: the '@'was missing from in the initial description
    @       IN  NS  nefitari.autun.hom.    
    
    100.0   IN  PTR nefitari.autun.hom. 
    121.0   IN  PTR client1.autun.hom.
    130.0   IN  PTR client2.autun.hom.
    33.0    IN  PTR client3.autun.hom.
    

Остальное одно и то же.

Надеюсь, что это полезно для кого-то.

    
ответ дан CatMan 22.02.2017 в 03:27