Рейтинг:-2

Невозможно изменить значение TTL на локальном DNS Ubuntu 18.04

флаг de

Я настроил локальный DNS с почтовым сервером, при проверке DNS с помощью dig по умолчанию ttl всегда равен 0.

Как я могу установить TTL 60? Не могли бы вы посоветовать мне?

root@mx:/etc/bind# uname -a
Linux mx.mailserver.local 4.15.0-147-generic #151-Ubuntu SMP Пт, 18 июня, 19:21:19 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
root@mx:/etc/bind# копать локальный хост

; <<>> DiG 9.11.3-1ubuntu1.15-Ubuntu <<>> локальный
;; глобальные параметры: +cmd
;; Получил ответ:
;; ->>HEADER<<- код операции: QUERY, статус: NOERROR, id: 886
;; флаги: qr rd ra; ЗАПРОС: 1, ОТВЕТ: 1, ПОЛНОМОЧИЯ: 0, ДОПОЛНИТЕЛЬНО: 1

;; ДОПОЛНИТЕЛЬНЫЙ ПСЕВДОРАЗДЕЛ:
; ЭДНС: версия: 0, флаги:; UDP: 65494
;; РАЗДЕЛ ВОПРОСОВ:
;локальный. В

;; РАЗДЕЛ ОТВЕТОВ:
локальный хост. **0** В А 127.0.0.1

;; Время запроса: 0 мс
;; СЕРВЕР: 127.0.0.53#53(127.0.0.53)
;; КОГДА: Вт, 10 августа, 15:06:14 IST 2021
;; РАЗМЕР MSG rcvd: 54
root@mx:/etc/bind# копать mx.mailserver.local

; <<>> DiG 9.11.3-1ubuntu1.15-Ubuntu <<>> mx.mailserver.local
;; глобальные параметры: +cmd
;; Получил ответ:
;; ->>HEADER<<- код операции: QUERY, статус: NOERROR, id: 55910
;; флаги: qr rd ra; ЗАПРОС: 1, ОТВЕТ: 4, АВТОРИЗАЦИЯ: 0, ДОПОЛНИТЕЛЬНО: 1

;; ДОПОЛНИТЕЛЬНЫЙ ПСЕВДОРАЗДЕЛ:
; ЭДНС: версия: 0, флаги:; UDP: 65494
;; РАЗДЕЛ ВОПРОСОВ:
;mx.mailserver.local. В

;; РАЗДЕЛ ОТВЕТОВ:

mx.mailserver.local. **0** В А 192.168.1.55

mx.mailserver.local. **0** В А 192.168.1.66

mx.mailserver.local. **0** В А 192.168.1.77

mx.mailserver.local. **0** В А 192.168.1.88


;; Время запроса: 0 мс
;; СЕРВЕР: 127.0.0.53#53(127.0.0.53)
;; КОГДА: Вт, 10 августа, 15:06:34 IST 2021
;; РАЗМЕР MSG rcvd: 110

Вот файлы моей зоны.

root@mx:/etc/bind# cat mailserver.local.db
;
; Файл данных BIND для локального петлевого интерфейса
;
14400 долларов США
@ В SOA ns1.mailserver.local. корень.почтовый сервер.локальный. (
                              2; Серийный
                         604800 ; Обновить
                          86400 ; Повторить попытку
                        2419200 ; Срок действия
                         604800 ) ; Отрицательный TTL кэша
;
@ В NS ns1.mailserver.local.
ns1.почтовый сервер.локальный. В А 192.168.1.55
локальный хост 60 IN A 127.0.0.1
;
@ 60 В А 192.168.1.55
@ 60 В CNAME mx.mailserver.local.
;
@ 300 IN MX 5 mx.mailserver.local.
;
м х 60 В 192.168.1.55
м х 60 В 192.168.1.66
м х 60 В 192.168.1.77
мх 60 В 192.168.1.88


root@mx:/etc/bind# cat db.local
;
; Файл данных BIND для локального петлевого интерфейса
;
$TTL 2419200
@ IN SOA на локальном хосте. корень.локальный хост. (
                              2; Серийный
                         604800 ; Обновить
                          86400 ; Повторить попытку
                        2419200 ; Срок действия
                         604800 ) ; Отрицательный TTL кэша
;
@ 60 IN NS локальный хост.
@ 60 В А 127.0.0.1
@ 60 В АААА :: 1

Это моя основная проблема, не меняйте IP-адрес и продолжайте пинговать только 192.168.1.55.

root@mx:/etc/bind# for i in {1..6};do ping -c 1 mx.mailserver.local|grep ^PING;sleep 1;done
PING mx.mailserver.local (192.168.1.55) 56 (84) байт данных.
PING mx.mailserver.local (192.168.1.55) 56 (84) байт данных.
PING mx.mailserver.local (192.168.1.55) 56 (84) байт данных.
PING mx.mailserver.local (192.168.1.55) 56 (84) байт данных.
PING mx.mailserver.local (192.168.1.55) 56 (84) байт данных.
PING mx.mailserver.local (192.168.1.55) 56 (84) байт данных.
Carles Mateo avatar
флаг cn
Можете ли вы показать свои файлы зоны?. Если вы установите 1000 секунд в качестве TTL, он разрешается должным образом? Будет ли это работать, если вы очистите локальные кеши преобразователя DNS? ```$ sudo systemd-resolve --flush-cache $ sudo resolvectl flush-cache``` Ура!
Dilli Ganesh avatar
флаг de
Спасибо за обновление, да, я пытался сбросить кэши, но те же проблемы.
Рейтинг:0
флаг ru

Значение TTL вам здесь не поможет.

То, что вы видите на своей единственной машине, Стандартное поведение для DNS, пинги т. д. Если для имени хоста возвращается несколько адресов, службы по умолчанию будут использовать первый адрес, предоставленный в ответе DNS.

Поясню на примере.

Допустим, у меня есть имя хоста с тремя записями A. Эти записи A указывают на 192.168.10.1, 192.168.10.2 и 192.168.10.3 соответственно для одного и того же домена.

Ответ DNS будет содержать любой из этих адресов в ответе. т.е. фактический «ответ» DNS может давать им в следующем порядке:

192.168.10.2
192.168.10.1
192.168.10.3

Те же три записи в отдельном DNS-запросе могут возвращаться и в таком порядке:

192.168.10.1
192.168.10.3
192.168.10.2

Поэтому, когда вы выполняете разрешение DNS для одного имени хоста в целях пинг таким образом, он имеет функциональность с нулевым приоритетом, и полученный им «последний ответ» будет «кэширован», а этот «первый» адрес будет использоваться для целей пинг, веб-запросы, инициализация соединений с именем хоста и т. д.

Нет понятия в пинг, и т.д."Протестировать все IP с разными запросами" - для этого вам нужно вручную переопределить адрес на /и т.д./хосты level или пропингуйте IP-адреса напрямую. Как правило, если у вас есть три адреса для одной записи домена, вы должны пинговать IP-адреса независимо и не доверять правильному разрешению «имени хоста».

Кроме того, если вы не удалили systemd-разрешено из уравнения, это кеширующий преобразователь на вашей стороне, и он будет «кэшировать» этот первоначальный IP-ответ для почтового сервера (в моем примере .2 был первым адресом в ответе, поэтому он кэширует этот адрес. если я перезапущу этот процесс в системе и очищает его кеш, а DNS-сервер, который он запрашивает, сначала возвращает .1, затем .1 кэшируется как «результат» для первого имени хоста DNS, а также для трех других записей.)

Dilli Ganesh avatar
флаг de
Спасибо за краткое объяснение.
Рейтинг:0
флаг cn

Если вы хотите, чтобы IP-адреса менялись, я думаю, вам нужно определить разные регистры A с одним и тем же именем и разными IP-адресами, тогда вы должны определить регистры MX с одинаковым приоритетом, обычно 10, и разными IP-адресами. Итак, чтобы быть ясным, вам нужно иметь два регистра: один типа А другой типа MX.

Может быть, вы можете запустить несколько экземпляров Docker и пропинговать их изнутри, чтобы узнать, что они разрешают?

флаг ru
Это будет обрабатываться только в сценарии DNS "циклического перебора". т.е. первый адрес, который он увидит, будет использоваться, даже если запрос DNS отправляет все 4 адреса. И `ping` и т. д. не будут подчиняться записям MX.
Dilli Ganesh avatar
флаг de
Спасибо за обновления.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.