Имеет ли значение порядок ответов DNS в nslookup? [закрыто]

Я реализовал программу ретрансляции DNS на Windows.
Я получаю 3 DNS запроса каждую команду nslookup, PTR, A и AAAA.
Сначала я отвечаю на запрос type=A, а через несколько микросекунд отвечаю на запрос PTR/AAAA.
Но я получил таймаут в nslookup и обнаружил, что все ответы A и AAAA получены localhost, но ответ PTR получил ошибку ICMP Port unreachable.
Интересно, почему так происходит?

0
задан 2 June 2018 в 07:33
2 ответа

Запросы адресов (A и AAAA) отделены от запроса записи PTR. До тех пор, пока у вас нет адреса, вы не можете запросить запись PTR.

Для типичного обратного SMTP-поиска подтверждения DNS для IP 192.0.2.8 процесс выглядит следующим образом:

  • Перевести IP-адрес в формат поиска.
  • Поиск PTR для 8.2.0.192.in-addr.arpa.
  • Получить PTR с именем smtp.example.org
  • Адреса поиска для smtp.example.org
  • Получить адрес 192.0.2. 8

IP адреса перевернуты для поиска, так как для поиска сервера имен подсети необходимо найти такие подсети, как 2.0.192.in-addr.arpa.

Делегации частичных подсетей выполняются с использованием записей CNAME.

.
1
ответ дан 4 December 2019 в 15:57

Вы используете UDP, TCP или оба? При использовании UDP, в качестве порта назначения вы используете тот же номер UDP-порта, который был источником исходного запроса? (Другими словами: когда UDP-запрос поступает с IP-адреса a.b.c.d. порта X на ваш IP-адрес и порт 53, ответ должен быть отправлен с вашего порта 53 на порт X. )

DNS может использовать как TCP, так и UDP: обычно сначала используется UDP, потому что он самый быстрый, но если ответ не помещается в один UDP-пакет, сервер помещает как можно больше и добавляет флаг, который говорит клиенту: "вот первая часть; если вам нужно больше, попросите еще раз по TCP, чтобы получить полный ответ"

.
0
ответ дан 4 December 2019 в 15:57

Теги

Похожие вопросы