Топология сети:
Рисунок 1: топология сети, описанная в этой статье
Здесь я настрою машину CentOS 8 в качестве DNS-сервера. Машина CentOS 8 имеет статический IP-адрес 192.168.20.20. Остальные компьютеры в сети смогут получить доступ к DNS-серверу для разрешения доменных имен.
Настройка статического IP-адреса:
Вы должны настроить статический IP-адрес на своем компьютере с CentOS 8, если хотите настроить DNS-сервер. Чтобы настроить статический IP-адрес в CentOS 8, ознакомьтесь с моей статьей Настройка статического IP-адреса в CentOS 8.
Установка DNS-сервера на CentOS 8:
BIND 9 доступен в официальном репозитории пакетов CentOS 8. Итак, установить очень просто.
Сначала обновите кеш репозитория пакетов DNF с помощью следующей команды:
$ sudo dnf makecache
Теперь установите BIND 9 с помощью следующей команды:
$ sudo dnf install bind
Для подтверждения установки нажмите Y а затем нажмите
BIND 9 должен быть установлен.
Настройка DNS-сервера BIND 9:
Основная конфигурация BIND: / etc / named.conf. Вы добавляете свои собственные базы данных DNS в / var / named / каталог. После создания базы данных DNS вы добавляете файлы настраиваемой зоны в / etc / named / каталог и включите файлы зоны в / etc / named.conf конфигурационный файл. Вот как вы настраиваете DNS-сервер BIND 9.
Создадим базу DNS для linuxhint.местный доменное имя.
Создать новый файл db.linuxhint.местный в / var / named / каталог следующим образом:
$ sudo vim / var / с именем / db.linuxhint.местный
Теперь введите следующие строки в db.linuxhint.местный файл и сохраните файл.
$ TTL 1д$ ORIGIN linuxhint.местный.
@ IN SOA ns root (
2020031201; Серийный
12ч; Обновить
15м; Повторить
3w; Срок действия
2ч; Минимум
)
@ IN A 192.168.20.20
@ IN NS нс
нс IN A 192.168.20.20
@ IN MX 10 почта
почта IN A 192.168.20.20
помощь В А 192.168.20.111
поддержка IN A 192.168.20.112
www IN A 192.168.10.12
роутер IN A 192.168.2.1
ftp IN CNAME www
После того, как вы добавили базу данных DNS для linuxhint.местный домен, вы можете проверить правильность синтаксиса файла с помощью следующей команды:
$ sudo с именем-checkzone linuxhint.локальный / var / named / db.linuxhint.местный
Как видите, синтаксических ошибок нет. Если они есть, вы увидите соответствующие сообщения об ошибках.
Теперь создайте файл зоны linuxhint.местный.зоны в / etc / named / каталог для linuxhint.местный домен следующим образом:
$ sudo vim / и т. д. / с именем / linuxhint.местный.зоны
Теперь введите следующие строки в linuxhint.местный.зоны файл.
зона "linuxhint".local "INтип мастер;
файл "db.linuxhint.местный";
;
Теперь отредактируйте / etc / named.conf файл следующим образом:
$ sudo vim / etc / named.conf
Во-первых, вам нужно добавить свою сетевую подсеть в разрешить запрос. В противном случае ни один из компьютеров в вашей сети не сможет использовать DNS-сервер.
Подсеть сети 192.168.20.0/24. Итак, это то, что я добавил туда.
Вам также необходимо добавить IP-адрес вашего компьютера CentOS 8, который вы настраиваете как DNS-сервер, как слушать адрес. В моем случае это 192.168.20.20. Итак, я добавил это туда.
Наконец, включите linuxhint.местный.зоны файл из / etc / named / каталог в конце / etc / named.conf файл со следующей строкой.
включить "/ etc / named / linuxhint.местный.зоны »;
Теперь начнем названный service с помощью следующей команды:
$ sudo systemctl start с именем
Как видите, названный служба работает.
$ sudo systemctl status с именем
Также добавьте названную службу в автозагрузку системы CentOS 8. Итак, DNS-сервер автоматически запускается при загрузке.
$ sudo systemctl enable с именем
Если вы внесете какие-либо изменения в файл конфигурации DNS-сервера после запуска названный сервис, необходимо перезапустить названный сервис, чтобы изменения вступили в силу.
Чтобы перезапустить названный service, выполните следующую команду:
$ sudo systemctl перезапуск с именемТестирование DNS-сервера:
Вы можете протестировать сервер имен DNS, используя копать.
Чтобы проверить, прослушивает ли DNS-сервер исходящий сетевой интерфейс, выполните следующие действия:
$ dig @ 192.168.20.20 linuxhint.местный любой
большой! DNS-сервер доступен из исходящего сетевого интерфейса CentOS 8.
Сервер имен DNS также доступен локально для машины CentOS 8.
$ dig @localhost linuxhint.местный любой
Я также могу разрешить www.linuxhint.локальный, как вы можете видеть на скриншоте ниже.
$ dig @ 127.0.0.1 www.linuxhint.местный
Изменение адреса DNS-сервера сетевого интерфейса:
Теперь вы можете изменить адрес DNS-сервера вашего сетевого интерфейса, чтобы использовать локальный DNS-сервер по умолчанию. Ознакомьтесь с моей статьей Настройка статического IP-адреса в CentOS 8 для получения подробной инструкции о том, как это сделать.
Как видите, BIND может разрешать доменные имена в Интернете.
BIND также может разрешить локально настроенный домен linuxhint.местный
Настройка межсетевого экрана:
Теперь, чтобы разрешить DNS-запросы через брандмауэр, откройте порт 53 DNS-сервера с помощью следующей команды:
$ sudo firewall-cmd --add-service = dns --permanent
Чтобы изменения вступили в силу, выполните следующую команду:
$ sudo firewall-cmd --reload
Тестирование DNS-сервера с других компьютеров:
Я настроил машину с Windows 10 в той же сетевой подсети для использования DNS-сервера, который я только что настроил на машине CentOS 8.
Как видите, разрешение DNS для linuxhint.местный поддомены работают.
$ nslookup ns.linuxhint.местный$ nslookup поддержка.linuxhint.местный
$ nslookup www.linuxhint.местный
$ nslookup mail.linuxhint.местный
Итак, вот как вы настраиваете DNS-сервер BIND 9 на CentOS 8. Спасибо, что прочитали эту статью.