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

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

Кто-нибудь может мне помочь?

53
задан 31 January 2014 в 22:00

2 ответа

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

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

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

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

В 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"

см. Комментарий от [ 1112] not-a-patch для проблем с IPV6.

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

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

Offline Setup ]

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

Сети класса B

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

Используйте описание из первого ответа, замените все IP-адреса 192.168.xx на 172.20.xx, используйте для сервера 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.
    
    [ 1117]

Остальное тоже самое.

Надеюсь, это кому-нибудь пригодится.

0
ответ дан 31 January 2014 в 22:00

Полный 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 сначала необходимо указать имя домена, а затем продолжить. Сначала вы проверите команду имени хоста для этого:

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

Теперь настройте файл с именем.conf.options Этот файл используется для IP-адресов DNS. Это означает, что ваш сервер должен подключаться к внешнему 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 и перезапишите файл

Теперь отредактируйте файл с именем.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. адрес электронной почты, который будет обращаться к серверу имен. Вместо веб-пользователя вы можете написать любое имя, например, 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.conf

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 в обратной зоне. Если ваша подача r 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 в первый раз, когда потребуется несколько миллисекунд для разрешения имени ubuntu.com, но когда вы запустите секунды времени, которые потребуются 1, 2 или 3 секунды, обычно составляют от 1 до 10 мили секунд , это нормально, и это означает, что ваш DNS работает нормально

Конфигурирование клиентов

windows side

  • открыть сетевых подключений
  • выбрать изменить адаптер настройки
  • выберите свойства
  • выберите inte версия протокола rnet 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 (ip моего нового DNS-сервера BIND)
  • в том же окне выберите Advance
  • выберите вкладку DNS
  • Введите текстовое поле ниже. В DNS-суффикс для этого подключения: autun. hom
  • нажмите ok
  • нажмите на , подтвердите настройку при выходе
  • нажмите OK

и с этим покончено, откройте CMD

ping gateway

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

аналогично

ping 192.168.1.1 or 5

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

Тестирование вашего сервера во внешнем мире

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

windows side

открыть сетевые подключения выбрать изменить настройки адаптера выбрать свойства выбрать версию интернет-протокола 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 (мой новый BIND DNS-сервер ip)

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

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

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

нажмите ok

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

нажмите ok

и все готово, откройте 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;

source [ одна тысяча сто сорок два]

0
ответ дан 31 January 2014 в 22:00

Другие вопросы по тегам:

Похожие вопросы: