В этой быстрой конфигурации мы настроим службу Berkeley Internet Name Domain (DNS) named. Сначала давайте кратко опишем нашу среду и предложенный сценарий.
Мы будем настраивать DNS-сервер для размещения файла одной зоны для домена Ваше_имя.org.
Наш DNS-сервер будет выступать в роли главного администратора для этого домена и будет разрешать полностью определенный домен (FQDN) Ваше_имя.org и www.Ваше_имя.org IP-адрес 1.1.1.1.
Кроме того, наш named демон будет прослушивать два локальных IP-адреса: петлевой IP-адрес 127.0.0.1 и локальный сетевой интерфейс 10.1.1.100.
Наконец, DNS-сервер будет разрешать запросы с любого внешнего IP-адреса.
Установка DNS-сервера
Теперь, когда мы описали наш основной сценарий, давайте начнем с установки DNS-сервера. Чтобы установить DNS-сервер на RHEL7, используйте yum команду ниже:
# yum install bind
Как только установка DNS будет завершена, мы сделаем быструю настройку, чтобы named демон прослушивал нашу петлю и адрес локальной сети:
[root @ rhel7 ~] # ip addr show | grep inet
Из приведенного выше вывода команды мы можем видеть наши IP-адреса как IPv4, так и IPv6. Давайте заставим нашего named демона слушать оба. Откройте основной именованный файл конфигурации /etc/named.conf и измените строку:
listen-on port 53 { 127.0.0.1; };
На:
listen-on port 53 { 127.0.0.1; 10.1.1.110; };
На данный момент мы можем запустить named демона:
[root@rhel7 ~]# service named start
Redirecting to /bin/systemctl start named.service
Если приведенная выше service команда зависает, убедитесь, что у вас правильно настроено имя хоста и что вы можете решить это:
[root@rhel7 ~]# ping -c 1 `hostname`
ping: unknown host rhel7
Самый быстрый способ исправить это - отредактировать ваш /etc/hosts файл примерно так:
[root@rhel7 ~]# vi /etc/hosts
На этом этапе вы сможете без проблем запустить DNS-сервер. После named запуска вашего демона проверьте порт 53 с помощью netstat команды, входящей в net-tools пакет:
[root@rhel7 ~]# netstat -ant | grep -w 53
На этом этапе у нас должен быть DNS-сервер, настроенный на прослушивание как минимум двух сокетов:
10.1.1.110:53
127.0.0.1:53
Настройки брандмауэра
Сейчас настало время открыть брандмауэр, чтобы разрешить DNS-запросы из внешних источников. Убедитесь, что у вас есть оба протокола TCP и UDP:
[root@rhel7 ~]# firewall-cmd --zone=public --add-port=53/tcp --permanent
success
[root@rhel7 ~]# firewall-cmd --zone=public --add-port=53/udp --permanent
success
[root@rhel7 ~]# firewall-cmd --reload
success
Проверьте, что вы можете получить доступ к порту 53 с другого внешнего хоста. Самый простой способ - использовать nmap команду:
$ nmap -p 53 10.1.1.110
Увидите такой примерно вывод
А также проверьте, доступен ли порт 53 DNS по протоколу UDP. Для этого вам понадобятся привилегии root:
# nmap -sU -p 53 10.1.1.110
Конфигурация файла зоны
Все хорошо. Теперь пришло время определить наш файл зоны для домена Ваше_имя.org. Сначала мы создаем каталог для размещения всех наших файлов мастер-зоны:
[root@rhel7 ~]# mkdir -p /etc/bind/zones/master/
Далее, давайте создадим фактический файл зоны со следующим содержимым: создайте файл зоны:
[root@rhel7 ~]# vi /etc/bind/zones/master/db.Ваше_имя.org
;
; BIND data file for Ваше_имя.org
;
$TTL 3h
@ IN SOA Ваше_имя.org admin.Ваше_имя.org. (
1 ; Serial
3h ; Refresh after 3 hours
1h ; Retry after 1 hour
1w ; Expire after 1 week
1h ) ; Negative caching TTL of 1 day
;
@ IN NS ns1.rhel7.local.
@ IN NS ns2.rhel7.local.
Ваше_имя.org. IN A 1.1.1.1
www IN A 1.1.1.1
Измените вышеуказанный файл зоны в соответствии с вашей средой, добавьте записи MX, а также измените записи сервера имен ns1.rhel7.local. and ns2.rhel7.local. в свое полное доменное имя, с которым может быть разрешен ваш новый сервер DNS, например ns1.mydomain.com. and ns2.mydomain.com./etc/named.rfc1912.zones
zone "Ваше_имя.org" {
type master;
file "/etc/bind/zones/master/db.Ваше_имя.org";
};
Перезагрузите DNS-сервер:
[root@rhel7 ~]# service named restart
Redirecting to /bin/systemctl restart named.service
Конфигурация DNS-сервера
Если ошибок нет, и named демон правильно запустился, снова откройте главный именованный файл конфигурации /etc/named.conf
От:
allow-query { localhost; };
До:
allow-query { any; };
Вышеуказанное позволит запросить ваш DNS-сервер из внешних источников. Перезапустите своего named демона:
[root@rhel7 ~]# service named restart
Redirecting to /bin/systemctl restart named.service
Последним этапом настройки остается убедиться, что наш DNS-сервер запускается после перезагрузки нашего Linux-сервера RHEL7:
[root@rhel7 ~]# systemctl enable named
ln -s '/usr/lib/systemd/system/named.service' '/etc/systemd/system/multi-user.target.wants/named.service'
RHEL 7 Тестирование DNS-сервера
На этом этапе вы должны быть готовы попросить DNS-сервер разрешить домен Ваше_имя.org. С какого-то внешнего хоста теперь попробуйте запросить у вашего DNS-сервера домен Ваше_имя.org с помощью dig команды:
$ dig @10.1.1.110 www.Ваше_имя.org
Все работает как положено. Приведенный выше конфиг помог вам начать с некоторой базовой конфигурации вашего DNS-сервера на сервере Linux RHEL