Как определить сервер, предоставляющий ответ DNS?

TL; DR: Где в nslookup www.somedomain.com -debug я найду имя / IP-адрес серверов, которые отвечают на цепочку запросов?

Подробности:

У меня есть установка (машина с Windows 10)

  • , которая подключена к корпоративной локальной сети ( example.corp ) и имеет исходящее соединение OpenVPN (к example.customer )
  • , где запросы DNS делегируются локальному ( 127.0.0.1 ) серверу (а именно Несвязанный )

Этот DNS-сервер настроен для пересылки DNS-запросов:

  • example.corp в корпоративный DNS
  • example.customer в DNS клиента за VPN
  • Интернет-хосты ( google.com , ...) к клиентскому DNS за VPN (для этого есть несколько причин вместо использования корпоративного DNS или таких провайдеров, как 1.1.1.1 )

Теперь я бы хотел сделать Убедитесь, что правильный сервер решает правильные запросы. Это легко для корпоративных и связанных с клиентами (никто другой не может разрешить их правильно, поэтому, если они будут разрешены, это означает, что был поражен правильный DNS), но у меня были сомнения по поводу интернет-запросов (которые в конечном итоге могли быть правильно разрешены любым из них ).

Решение, которое я использовал, состояло в том, чтобы отслеживать трафик VPN и проверять, проходят ли соответствующие DNS-пакеты. Я знал, что с настройкой все в порядке.

Этот подход не самый лучший, я бы предпочел использовать возможности nslookup , чтобы выяснить это. Я попытался установить отладку в инструменте и посмотреть, что получится при запросе интернет-машины ( yahoo.fr ).

Сначала разрешение было выполнено через yahoo.fr.somesubdomain.example.corp , yahoo.fr.someothersubdomain.example.corp - все, что есть в списке суффиксов домена. Очевидно, что ни один из запросов не прошел, и был испробован следующий. Пример:

------------
Got answer:
    HEADER:
        opcode = QUERY, id = 99, rcode = NXDOMAIN
        header flags:  response, want recursion, recursion avail.
        questions = 1,  answers = 0,  authority records = 1,  additional = 0

    QUESTIONS:
        yahoo.fr.somesubdomain.example.corp, type = AAAA, class = IN
    AUTHORITY RECORDS:
    ->  (root)
        ttl = 3440 (57 mins 20 secs)
        primary name server = thecorpnsserver.example.corp
        responsible mail addr = root.thecorpnsserver.example.corp
        serial  = 2018113000
        refresh = 1800 (30 mins)
        retry   = 900 (15 mins)
        expire  = 604800 (7 days)
        default TTL = 86400 (1 day)

Это неудавшийся запрос, но я нигде не вижу ответившего сервера (это не thecorpnsserver.example.corp , который является частью SOA ] из example.corp ). Другими словами, тот, который предоставил SOA ( АВТОРИТЕТНЫЕ ЗАПИСИ )

Я наконец получил свой ответ с

------------
Got answer:
    HEADER:
        opcode = QUERY, id = 100, rcode = NOERROR
        header flags:  response, want recursion, recursion avail.
        questions = 1,  answers = 5,  authority records = 0,  additional = 0

    QUESTIONS:
        yahoo.fr, type = A, class = IN
    ANSWERS:
    ->  yahoo.fr
        internet address = 106.10.248.151
        ttl = 17 (17 secs)
    ->  yahoo.fr
        internet address = 98.136.103.24
        ttl = 17 (17 secs)
    ->  yahoo.fr
        internet address = 124.108.115.101
        ttl = 17 (17 secs)
    ->  yahoo.fr
        internet address = 74.6.136.151
        ttl = 17 (17 secs)
    ->  yahoo.fr
        internet address = 212.82.100.151
        ttl = 17 (17 secs)

------------
Non-authoritative answer:
------------
Got answer:
    HEADER:
        opcode = QUERY, id = 101, rcode = NOERROR
        header flags:  response, want recursion, recursion avail.
        questions = 1,  answers = 0,  authority records = 1,  additional = 0

    QUESTIONS:
        yahoo.fr, type = AAAA, class = IN
    AUTHORITY RECORDS:
    ->  yahoo.fr
        ttl = 595 (9 mins 55 secs)
        primary name server = hidden-master.yahoo.com
        responsible mail addr = hostmaster.yahoo-inc.com
        serial  = 2018112700
        refresh = 3600 (1 hour)
        retry   = 900 (15 mins)
        expire  = 604800 (7 days)
        default TTL = 600 (10 mins)

------------
Name:    yahoo.fr
Addresses:  106.10.248.151
          98.136.103.24
          124.108.115.101
          74.6.136.151
          212.82.100.151

, но он все еще не говорит, какой DNS-сервер обработал запрос. .

2
задан 30 November 2018 в 13:36
1 ответ

Когда вы запускаете nslookup в интерактивном режиме, используемый сервер отображается как «Сервер по умолчанию». Это сервер, который используется nslookup.

Если вы ищете вышестоящие серверы, которые использует сервер по умолчанию, вы не увидите этого в nslookup.

3
ответ дан 3 December 2019 в 10:32

Теги

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