3

На моем ПК я использую Google Public DNS в качестве DNS-серверов. В свойствах интернет-протокола (TCP/IP) я установил Предпочитаемый DNS-сервер на 8.8.4.4 и Альтернативный DNS-сервер на 8.8.8.8.

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

Но когда я проверил трассировку маршрута к веб-сайту на моем ПК, я получил следующий вывод:

 Tracing route to www.google.com [74.125.236.80] over a maximum of 30 hops:   
 1    <1 ms    <1 ms    <1 ms  192.168.1.201  
 2   360 ms   349 ms   292 ms  122.178.216.1    
 3   145 ms   107 ms   148 ms  122.166.32.121    
 4    32 ms    53 ms   120 ms  122.166.32.9   
 5    45 ms    42 ms   121 ms  122.175.255.29  
 6    63 ms    76 ms    51 ms  182.79.255.45    
 7    52 ms   134 ms    61 ms  72.14.194.22    
 8    86 ms    59 ms    72 ms  72.14.232.202    
 9   106 ms   107 ms    60 ms  66.249.94.39   
10   101 ms   103 ms   117 ms  209.85.249.235   
11   148 ms   224 ms   276 ms  74.125.236.80   Trace complete. 

Когда я проверил все эти IP-адреса в who.is, я обнаружил, что они принадлежат моему провайдеру. Итак, мой вопрос, где используется Google Public DNS? Кроме того, почему сервер имен моего интернет-провайдера используется, даже если я установил Google Public DNS в качестве DNS-сервера на моем ПК? Или мои настройки неверны?

2 ответа2

5

Вы не видите DNS-запрос в traceroute. Чтобы увидеть, какой DNS-сервер используется, попробуйте nslookup:

# nslookup www.google.com
Server:         10.0.0.100
Address:        10.0.0.100#53

Non-authoritative answer:
Name:   www.google.com
Address: 173.194.75.106
Name:   www.google.com
Address: 173.194.75.147
Name:   www.google.com
Address: 173.194.75.99
Name:   www.google.com
Address: 173.194.75.103
Name:   www.google.com
Address: 173.194.75.104
Name:   www.google.com
Address: 173.194.75.105

Или же:

# dig www.google.com |grep SERVER
;; SERVER: 10.0.0.100#53(10.0.0.100)

Часть «Имя и адрес» (или СЕРВЕР) - это ваш DNS-сервер. Traceroute дает вам маршрут от вашего IP до Google, который, конечно же, будет проходить через вашего интернет-провайдера.

3

Вы смешиваете две разные вещи.

Одна вещь - это DNS. DNS похож на телефонную книгу для имен серверов и IP-адресов. DNS-сервер сообщает вам IP-адрес для имени сервера, например, DNS сообщает, что www.superuser.com - 198.252.206.16. DNS также может отменить поиск имени для данного IP-адреса.

В Интернете существует множество DNS-серверов, и если они позволяют это, вы можете использовать любой из них. При правильной настройке все они должны давать одинаковые результаты.

Вы можете проверить, какой DNS-сервер вы используете, например, при запуске nslookup следующим образом (см. Первые две строки, выводимые с помощью Server и Address):

>nslookup www.superuser.com
Server:  google-public-dns-a.google.com
Address:  8.8.8.8

Non authoritative answer:
Name:    superuser.com
Address:  198.252.206.16
Aliases:  www.superuser.com

Когда вы смотрите на traceroute, вы видите реальный способ передачи пакета с вашего компьютера на конечный компьютер (веб-сервер). Это никак не связано с DNS. Сначала ваш компьютер ищет IP-адрес конечного компьютера, а затем проверяет, находится ли IP в вашей локальной сети. Если IP не находится в вашей локальной сети, то он отправляет пакет на ваш роутер. Ваш роутер делает то же самое. Для каждого пакета, который он получает, он просматривает в большой таблице маршрутизации, на какой сетевой интерфейс он должен пересылать IP-пакет. Все эти маршрутизаторы находятся либо у вас (например, у вас 192.168.1.201), либо у владельца компьютера-получателя, либо в пути к интернет-провайдеру. Какие маршрутизаторы используются, определяется топологией сети и задействованными интернет-провайдерами. Вы не можете влиять на способ получения пакета, вы можете влиять только на пункт назначения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .