Я не могу понять, почему такое поведение. У меня есть два экземпляра pihole, работающие в контейнерах докеров на 10.0.2.205 и 10.0.2.206 (синхронизированные). Бег статус разрешения
на локальном ПК/сервере используются правильные преобразователи DNS, включая третичный IP-адрес 1.1.1.1; все раздал мой DHCP-сервер. Оба локальных DNS (pihole) разрешаются, как и ожидалось.
Моя проблема, я раскручиваю новый сервер и каждый раз сталкиваюсь с этой проблемой, и я хотел бы раз и навсегда покончить с этим. Я не думаю, что это должно потребовать перезаписи /etc/resolv.conf
файл каждый раз, когда я раскручиваю сервер.
Сервер может пинговать что угодно, только ничего из того, что установлено как локальная запись DNS в pihole. Однако я могу копать @ 10.0.2.205 <local_hostname>
и получить результат/IP. Таким образом, преобразователь DNS возвращает IP-адрес для локальной записи DNS для локального имени хоста, как и ожидалось. Но я не могу пропинговать имя хоста DNS. Однако если я перезапишу файл /etc/resolv.conf (как упоминалось ранее) IP-адресом одного или обоих распознавателей pihole, то все будет работать как положено. Поэтому я не считаю, что это проблема с преобразователем DNS, а локальная проблема с systemd-resolved.service или другим. Я видел множество дискуссий на эту тему и пришел к выводу, что все еще много путаницы и нет действительно четких и прямых ответов / исправлений. Что я нашел во всяком случае. Любой опыт и информация для решения этой проблемы будут высоко оценены. Пожалуйста, порекомендуйте. Большое тебе спасибо
Информация о сервере:
noc@TestingServer:~$ hostnamectl
Статическое имя хоста: TestingServer
Имя значка: компьютер-VM
Шасси: ВМ
Идентификатор машины: 5ab2c4f3f6d2413a9684ada5dc6e87af
Идентификатор загрузки: 1f73d83492724511821bdf91a6a8cdf1
Виртуализация: квм
Операционная система: Ubuntu 20.04.3 LTS
Ядро: Linux 5.4.0-91-универсальный
Архитектура: x86-64
**/etc/hosts (по умолчанию при начальной установке) **
noc@TestingServer:~$ cat /etc/hosts
# Ваша система настроила 'manage_etc_hosts' как True.
# В результате, если вы хотите, чтобы изменения в этом файле сохранялись
# то вам нужно либо
# а.) внесите изменения в основной файл в /etc/cloud/templates/hosts.debian.tmpl
# b.) изменить или удалить значение 'manage_etc_hosts' в
# /etc/cloud/cloud.cfg или cloud-config из пользовательских данных
#
127.0.1.1 Сервер тестирования
127.0.0.1 локальный хост
# Следующие строки желательны для хостов с поддержкой IPv6
::1 ip6-localhost ip6-loopback
fe00::0 ip6-локальная сеть
ff00::0 префикс ip6-mcast
ff02::1 ip6-все узлы
ff02::2 ip6-все маршрутизаторы
ff02::3 ip6-все хосты
Командная строка
noc@TestingServer:~$ ping docker1
ping: docker1: временный сбой в разрешении имен
noc@TestingServer:~$
noc@TestingServer:~$ ping docker2
ping: docker2: временный сбой в разрешении имен
noc@TestingServer:~$
noc@TestingServer:~$ ping docker3
ping: docker3: временный сбой в разрешении имен
noc@TestingServer:~$
noc@TestingServer:~$ cat /etc/resolv.conf
# Этим файлом управляет man:systemd-resolved(8). Не редактировать.
#
# Это динамический файл resolv.conf для подключения локальных клиентов к
# внутренний резолвер DNS-заглушек systemd-resolved. В этом файле перечислены все
# настроенные поисковые домены.
#
# Запустите «resolvectl status», чтобы увидеть подробности о DNS-серверах восходящей линии связи.
# В настоящее время используется.
#
# Сторонние программы не должны обращаться к этому файлу напрямую, а только через
# символическая ссылка на /etc/resolv.conf. Чтобы управлять man:resolv.conf(5) по-другому,
# заменить эту символическую ссылку на статический файл или другую символическую ссылку.
#
# Подробную информацию о поддерживаемых режимах см. в man:systemd-resolved.service(8).
# операция для /etc/resolv.conf.
сервер имен 127.0.0.53
параметры edns0 траст-объявление
noc@TestingServer:~$
noc@TestingServer:~$
noc@TestingServer:~$ статус разрешения | grep -A2 -E 'DNS-сервер'
Текущий DNS-сервер: 10.0.2.205
DNS-серверы: 10.0.2.205
10.0.2.206
1.1.1.1
noc@TestingServer:~$
noc@TestingServer:~$
noc@TestingServer:~$ dig @10.0.2.205 docker1
; <<>> DiG 9.16.1-Ubuntu <<>> @10.0.2.205 докер1
; (найден 1 сервер)
;; глобальные параметры: +cmd
;; Получил ответ:
;; ->>HEADER<<- код операции: QUERY, статус: NOERROR, id: 37841
;; флаги: qr aa rd ra; ЗАПРОС: 1, ОТВЕТ: 1, ПОЛНОМОЧИЯ: 0, ДОПОЛНИТЕЛЬНО: 1
;; ДОПОЛНИТЕЛЬНЫЙ ПСЕВДОРАЗДЕЛ:
; ЭДНС: версия: 0, флаги:; UDP: 4096
;; РАЗДЕЛ ВОПРОСОВ:
;докер1. В
;; РАЗДЕЛ ОТВЕТОВ:
докер1. 0 В А 10.0.2.10
;; Время запроса: 0 мс
;; СЕРВЕР: 10.0.2.205#53(10.0.2.205)
;; КОГДА: воскресенье, 05 декабря, 09:29:04 MST 2021
;; РАЗМЕР MSG rcvd: 52
noc@TestingServer:~$ ping google.com
PING google.com (172.217.11.174) 56 (84) байт данных.
64 байта от lax28s15-in-f14.1e100.net (172.217.11.174): icmp_seq=1 ttl=116 time=46,1 мс
^ С
--- статистика пинга google.com ---
1 пакет передан, 1 получен, 0% потери пакетов, время 0 мс
rtt min/avg/max/mdev = 46,132/46,132/46,132/0,000 мс
noc@TestingServer:~$
noc@TestingServer:~$
noc@TestingServer:~$ sudo su
root@TestingServer:/home/noc# echo -e "сервер имен 10.0.2.205\n" > /etc/resolv.conf
root@TestingServer:/home/noc# выход
выход
noc@TestingServer:~$
noc@TestingServer:~$ ping docker1
PING docker1 (10.0.2.10) 56 (84) байт данных.
64 байта из docker1.local (10.0.2.10): icmp_seq=1 ttl=64 time=0,617 мс
^ С
--- статистика пинга docker1 ---
1 пакет передан, 1 получен, 0% потери пакетов, время 0 мс
rtt min/avg/max/mdev = 0,617/0,617/0,617/0,000 мс