Вопрос или проблема
В настоящее время я настраиваю DNS на серверах Ubuntu для задания и сталкиваюсь с проблемами обратного поиска. Ниже приведены детали из файлов конфигурации и результаты команд, которые я выполнил:
p04ldns1.pod04.lan = основной сервер [10.4.30.4]
- Может разрешить
client1.pod04.lan
в 10.4.30.10 - Может разрешить
p04ldns2.pd04.lan
в 10.4.30.5 - Не может разрешить 10.4.30.10 в
client1.pod04.lan
- Не может разрешить 10.4.30.5 в
p04ldns2.pd04.lan
p04ldns2.pod04.lan = ведомый сервер [10.4.30.5]
- Может разрешить
p04ldns1.pd04.lan
в 10.4.30.4 - Не может разрешить
client1.pod04.lan
в 10.4.30.10 - Не может разрешить 10.4.30.4 в
p04ldns1.pd04.lan
- Не может разрешить 10.4.30.10 в
client1.pod04.lan
client1.pod04.lan = клиент [10.4.30.10]
- Может пинговать 10.4.30.4 и 10.4.30.5
- Может выйти в интернет, используя 10.4.30.4 и 10.4.30.5 в качестве DNS-серверов
Конфигурация зоны прямого поиска на основном сервере (/etc/bind/named.conf.local)
// Зона прямого поиска
zone "pod04.lan" {
type master; // Подтверждено как основной
file "/etc/bind/db.pod04.lan"; // Верный путь к файлу
};
// Зона обратного поиска
zone "30.4.10.in-addr.arpa" {
type master; // Подтверждено как основной
file "/etc/bind/30.4.10.in-addr.arpa"; // Верный путь к файлу
};
Файл зоны для pod04.lan на основном сервере (/etc/bind/db.pod04.lan)
$TTL 604800
$ORIGIN pod04.lan.
@ IN SOA p04ldns1.pod04.lan. admin.pod04.lan. (
2023100805 ; Серийный номер
604800 ; Обновление
86400 ; Повтор
2419200 ; Истечение
604800 ) ; Время жизни негативного кэша
;
@ IN NS p04ldns1.pod04.lan.
@ IN NS p04ldns2.pod04.lan.
p04ldns1 IN A 10.4.30.4
p04ldns2 IN A 10.4.30.5
client1 IN A 10.4.30.10
Файл зоны для обратного поиска на основном сервере (/etc/bind/30.4.10.in-addr.arpa)
$TTL 604800
$ORIGIN 30.4.10.in-addr.arpa.
@ IN SOA p04ldns1.pod04.lan. admin.pod04.lan. (
2023100805 ; Серийный номер
604800 ; Обновление
86400 ; Повтор
2419200 ; Истечение
604800 ) ; Время жизни негативного кэша
;
@ IN NS p04ldns1.pod04.lan.
@ IN NS p04ldns2.pod04.lan.
10 IN PTR client1.pod04.lan.
Файл зоны ведомого сервера
Ведомый сервер не может разрешить client1.pod04.lan в 10.4.30.10
// ЗОНА ПРЯМОГО ПОИСКА
zone "pod04.lan" {
type slave;
file "/var/cache/bind/db.pod04.lan";
masters { 10.4.30.4; }; # IP-адрес P04LDNS1
};
// ЗОНА ОБРАТНОГО ПОИСКА
zone "30.4.10.in-addr.arpa" {
type slave;
file "/var/cache/bind/30.4.10.in-addr.arpa";
masters { 10.4.30.4; }; # IP-адрес P04LDNS1
};
Я установил права на файл обратной зоны следующим образом:
sudo chown bind:bind /etc/bind/30.4.10.in-addr.arpa
sudo chmod 644 /etc/bind/30.4.10.in-addr.arpa
Тестовые команды и результаты
Прямой поиск:
dig @10.4.30.4 client1.pod04.lan
Результат: Успешно разрешается в 10.4.30.10.
Обратный поиск:
dig -x 10.4.30.10
Результат: NXDOMAIN, что указывает на то, что обратный поиск не разрешается.
dig -x 10.4.30.10 @10.4.30.4
Результат: Также возвращает NXDOMAIN.
sudo ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
53 ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
53 (v6) ALLOW Anywhere (v6)
Пробовал sudo systemctl restart bind9
много раз на основных и ведомых DNS-серверах
dig @10.4.30.4 pod04.lan AXFR на ВЕДОМОМ
; <<>> DiG 9.18.28-0ubuntu0.24.04.1-Ubuntu <<>> @10.4.30.4 pod04.lan AXFR
; (1 сервер найден)
;; глобальные опции: +cmd
pod04.lan. 604800 IN SOA p04ldns1.pod04.lan. admin.pod04.lan. 2023100805 604800 86400 2419200 604800
pod04.lan. 604800 IN NS p04ldns1.pod04.lan.
pod04.lan. 604800 IN NS p04ldns2.pod04.lan.
client1.pod04.lan. 604800 IN A 10.4.30.10
p04ldns1.pod04.lan. 604800 IN A 10.4.30.4
p04ldns2.pod04.lan. 604800 IN A 10.4.30.5
pod04.lan. 604800 IN SOA p04ldns1.pod04.lan. admin.pod04.lan. 2023100805 60480
Ответ или решение
Проблемы с Обратными Поисками в Настройке DNS BIND на Серверах Ubuntu
Настройка DNS на серверах Ubuntu может быть сложной задачей, особенно когда дело касается обратных поисков. В данной статье мы подробно рассмотрим проблемы, с которыми вы столкнулись, и предложим пошаговые решения для их устранения.
Описание Проблемы
Согласно вашему описанию, сервер master (p04ldns1.pod04.lan
, IP-адрес 10.4.30.4) успешно разрешает имена, такие как client1.pod04.lan
, в адреса (впереди), но не может выполнить обратное разрешение, то есть получить имя client1.pod04.lan
из IP-адреса 10.4.30.10. То же самое происходит и на сервере-слейве (p04ldns2.pod04.lan
, IP-адрес 10.4.30.5).
Анализ Настроек
Вы привели конфигурацию, которая выглядит следующим образом:
-
Файлы конфигурации зоны:
db.pod04.lan
(для прямого поиска)30.4.10.in-addr.arpa
(для обратного поиска)
-
Содержимое конфигурации:
Ваша настройка зон в файлеnamed.conf.local
соответствует принципам BIND. Однако, при обратном поиске, конфигурация зоны имеет ряд требований, которые необходимо проверить.
Основные Шаги по Устранению Проблем
-
Проверка файла зоны обратного поиска:
Убедитесь, что файл для зоны обратного поиска (/etc/bind/30.4.10.in-addr.arpa
) корректен. В логах или выводахdig
вы наблюдали, что имена PTR записаны верно. Вы указали только одну запись PTR для IP-адреса10.4.30.10
. Проверьте следующие моменты:10 IN PTR client1.pod04.lan.
Убедитесь, что значение записи PTR корректно и что у вас нет лишних пробелов или опечаток.
-
Проверка разрешений на файлы:
Вы указали, что установили права на файл зоны так:sudo chown bind:bind /etc/bind/30.4.10.in-addr.arpa sudo chmod 644 /etc/bind/30.4.10.in-addr.arpa
Это правильно, и права доступа выглядят корректными.
-
Проверка логов BIND:
Логи BIND могут содержать информацию о проблемах при загрузке зон или при запросах. Проверьте логи, обычно доступные по пути/var/log/syslog
или/var/log/named/named.log
, на наличие ошибок. -
Проверка конфигурационного файла
named.conf.options
:
Убедитесь, что у вас правильно настроены параметры listen и разрешения:options { directory "/var/cache/bind"; // More options allow-query { any; }; // Убедитесь, что разрешены запросы recursion no; // Для сервера без рекурсии };
-
Перезапуск службы BIND:
После внесения изменений в конфигурацию, не забудьте перезапустить BIND:sudo systemctl restart bind9
-
Проверка кэша на слейве:
Убедитесь, что слейв-сервер может успешно синхронизировать данные с мастером:dig @10.4.30.5 client1.pod04.lan dig @10.4.30.5 -x 10.4.30.10
Рекомендации по Тестированию
Проверьте исправления с помощью команды dig
:
- Для прямого поиска:
dig @10.4.30.4 client1.pod04.lan
- Для обратного поиска:
dig -x 10.4.30.10 @10.4.30.4
Если конфигурация выполнена успешно, обратные запросы должны теперь выводить имя, соответствующее заданному IP-адресу.
Заключение
Проблемы с обратными поисками в BIND DNS могут возникать из-за неправильной конфигурации зон, неверных прав на файлы или сетевых проблем. Следуя инструкциям, приведенным выше, вы сможете идентифицировать и устранить ошибки. Настройки DNS — критически важная часть сети, и их правильная конфигурация обеспечит надежную работу вашей сети.