Как выполнить полную настройку DNS-сервера BIND9 с именем хоста?
Мне нужно полное пошаговое руководство о том, как создать такую конфигурацию сервера.
Может кто-нибудь мне помочь?
2 ответа
Полный DNS-сервер в Ubuntu Server 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 и затем псевдоним нефитари. Вы можете выбрать свой собственный, hostname.abc.net или hostname.home.lan и т. Д., Но помните, что для изменения этого файла необходимо перезагрузить сервер, а затем войти в систему. Перезагрузка обязательна
Теперь установите BIND9
sudo apt-get install bind9
После установки просто настройте файлы ниже, шаг за шагом
- Named.conf.options
- Named.conf.local
- /etc/resolv.conf
Теперь настройте файл named.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 в 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 в обратной зоне. Если ваш сервер 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, это означает, что один из ваших файлов зоны работает неправильно
Теперь вы можете пропинговать ubuntu.com или копать ubuntu.com в первый раз, чтобы решить имя 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
- нажмите ОК
- нажмите на подтвердить настройки при выходе
- нажмите ОК
и вы сделали с этим открыть CMD
ping gateway
это должно дать вам несколько ответов
так же
ping 192.168.1.1 or 5
это должно дать вам несколько ответов
Протестируйте свой сервер для внешнего мира
Теперь вы можете пропинговать 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
нажмите ОК
нажмите на подтвердить настройки при выходе
нажмите ОК
и вы сделали с этим открыть CMD
Код:
ping gateway
это должно дать вам несколько ответов
так же
Код:
ping 192.168.1.1 or 5
он должен дать вам несколько ответов, которые вы можете использовать NSLOOKUPCode:
nslookup gateway
LINUX КЛИЕНТЫ
Код:
sudo nano /etc/network/interfaces
введите следующие строки
Код:
auto eth0
iface eth0 inet dhcp
Теперь перезапустите Сеть 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;
Ответ - только дополнение к большому описанию выше.
Совет по устранению неполадок
Будь очень осторожен со многими ". в конфигурационных файлах, так как каждый из них важен. Один пропущенный "." может остановить работу 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"
см. комментарий от not-a-patch для проблем 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.xx (я думаю, что формальная запись 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.
В остальном то же самое.
Надеюсь, что это полезно для кого-то.