Рейтинг:-1

Копать IPv6 dnsmasq отказался

флаг jp

Я пытаюсь включить стек IPv4 и IPv6 в среде SUSE 15. Я назначил адреса IPv4 и IPv6 одному и тому же интерфейсу, используя /opt/vmware/share/vami/vami_set_network. Оба адреса IPv4 и IPv6 доступны для проверки связи.

Теперь мне нужно включить разрешение DNS для IPv4 и IPv6 с помощью dnsmasq. Но когда я использую dig для проверки состояния DNS-сервера, dig IPv4-адрес завершается успешно, а dig IPv6-адрес не удается с отказом.

Есть ли что-нибудь, на что следует обратить внимание, чтобы настроить DNS-сервер IPv6 с помощью dnsmasq?

# копать 2001:db8:3333:4444:5555:6666:7777:200

; <<>> DiG 9.16.6 <<>> 2001:db8:3333:4444:5555:6666:7777:200
;; глобальные параметры: +cmd
;; Получил ответ:
;; ->>HEADER<<- код операции: QUERY, статус: REFUSED, id: 64764 <<<<<<<<<<<<<<<<<<<<<<<<<
;; флаги: qr rd ra ad; ЗАПРОС: 1, ОТВЕТ: 0, АВТОРИТЕТ: 0, ДОПОЛНИТЕЛЬНО: 0

;; РАЗДЕЛ ВОПРОСОВ:
;2001:db8:3333:4444:5555:6666:7777:200. В

;; Время запроса: 0 мс
;; СЕРВЕР: ::1#53(::1)
;; КОГДА: Пн, 27 сентября, 16:42:04 UTC 2021
;; РАЗМЕР MSG rcvd: 55

# копать 172.20.10.25

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

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

;; РАЗДЕЛ ОТВЕТОВ:
172.20.10.25. 0 В А 172.20.10.25

;; Время запроса: 0 мс
;; СЕРВЕР: ::1#53(::1)
;; КОГДА: Пн, 27 сентября, 16:45:54 UTC 2021
;; РАЗМЕР MSG rcvd: 57

Другая проблема заключается в том, что когда я добавляю записи ipv4 и ipv6 в /etc/hosts, правильно разрешается только запись ipv4.

# кошка /etc/hosts
192.168.10.10 ipv4-hostname.com
2001:db8:3333:4444:5555:6666:7777:200 ipv6-hostname.com

# dig @127.0.0.1 ipv4-hostname.com +short +time=15 +try=3
192.168.10.10
# dig @127.0.0.1 ipv6-hostname.com +short +time=15 +try=3
<<<<< пустой результат

Конфигурация сервера dnsmasq по умолчанию:

# кошка /etc/dnsmasq.conf | grep -v '^#' | grep -v '^$'
conf-dir=/etc/dnsmasq.d/,*.conf 

Вот результат раскопок имени хоста, также отклоненный:

# копать ipv6-hostname.com

; <<>> DiG 9.16.6 <<>> ipv6-hostname.com
;; глобальные параметры: +cmd
;; Получил ответ:
;; ->>HEADER<<- код операции: QUERY, статус: REFUSED, id: 4887
;; флаги: qr rd ra ad; ЗАПРОС: 1, ОТВЕТ: 0, АВТОРИТЕТ: 0, ДОПОЛНИТЕЛЬНО: 0

;; РАЗДЕЛ ВОПРОСОВ:
;ipv6-hostname.com. В

;; Время запроса: 0 мс
;; СЕРВЕР: ::1#53(::1)
;; КОГДА: Вт, 28 сентября, 08:24:45 UTC 2021
;; РАЗМЕР MSG rcvd: 30

Статус порта:

# netstat -lnp | grep dnsmasq
TCP 0 0 0.0.0.0:53 0.0.0.0:* ПРОСЛУШАТЬ 19455/dnsmasq
tcp6 0 0 :::53 :::* ПРОСЛУШАТЬ 19455/dnsmasq
udp 0 0 0.0.0.0:53 0.0.0.0:* 19455/dnsmasq
udp6 0 0 :::53 :::* 19455/dnsmasq

Похоже, что в среде прослушиваются подстановочные знаки ipv4 и ipv6. Не знаю, почему в ipv6 dig постоянно отказывают.

Michael Hampton avatar
флаг cz
Вы запрашиваете локальный сервер dnsmasq? Какова его конфигурация?
cynkiller avatar
флаг jp
Это должен быть сервер dnsmasq по умолчанию. Никаких дополнительных опций не настроено. # кошка /etc/dnsmasq.conf | grep -v '^#' | grep -v '^$' conf-dir=/etc/dnsmasq.d/,*.conf
cynkiller avatar
флаг jp
Хороший улов. Я обнаружил, что имя хоста ipv6 может быть разрешено извне, но не может быть разрешено локально. Но мне нужно использовать локальный DNS-сервер.
Patrick Mevzek avatar
флаг cn
`dig` по умолчанию выполняет запросы `A`, и эти записи имеют смысл только для имен хостов, а не для IP-адресов. Ваши 2 трассировки `dig` не показывают ничего полезного на самом деле (и вторая может считаться нарушением протокола)
Patrick Mevzek avatar
флаг cn
«Теперь мне нужно включить разрешение DNS для IPv4 и IPv6 с помощью dnsmasq». Что это обозначает? IP-адреса не нуждаются в «разрешении». Они работают как есть. Имена и имена хостов требуют разрешения (по отношению к IP-адресам).
cynkiller avatar
флаг jp
@PatrickMevzek Да, точно. Я имею в виду разрешение имени хоста. IP-адрес, разрешенный из имени хоста, может быть IPv4 или IPv6, в настоящее время только адреса IPv4 могут быть правильно разрешены локально.
Patrick Mevzek avatar
флаг cn
«Я имею в виду разрешение для имени хоста». Затем покажите выходные данные `dig` при запросе имен хостов, а не IP-адресов...
Michael Hampton avatar
флаг cz
Вы смотрели, есть ли какие-либо файлы в этом conf-dir?
cynkiller avatar
флаг jp
@MichaelHampton В папке /etc/dnsmasq.d есть только один файл trust-anchors.conf, в котором записаны два файла trust-anchor.
cynkiller avatar
флаг jp
@PatrickMevzek Если я копаю имя хоста, результат также будет отклонен. Я добавил результат в контент.
dave_thompson_085 avatar
флаг jp
Как сказал @PatrickMevzek, «dig» по умолчанию имеет значение «A». Сделайте `копать @127.0.0.1 ipv6-hostname AAAA`.
cynkiller avatar
флаг jp
@dave_thompson_085 О! Это я упустил, при переключении на АААА все прошло нормально. Спасибо за напоминание!
Рейтинг:0
флаг jp

Для разрешения имени хоста IPv6 не забудьте добавить AAAA в аргументы командной строки:

dig @<сервер> <имя хоста> AAAA

Michael Hampton avatar
флаг cz
Если вам не нужны все детали, которые предоставляет `dig`, подумайте об использовании вместо них `host`.По умолчанию он ищет записи A, AAAA и MX за один вызов и печатает их в относительно компактном формате.

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

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