зачем копать в роутер на порт DNS 53?

3762
4pie0

192.168.1.1 - это мой роутер NetGear. Он имеет 8.8.8.8 и 8.8.4.4 в качестве DNS. из окон:

nslookup google.com 192.168.1.1 // works OK 

из убунту:

me@ubuntu:/etc/mail# dig @192.168.1.1 google.com +tcp ;; Connection to 192.168.1.1#53(192.168.1.1) for google.com failed: connection refused. 

Я думаю, что это не должно идти на порт 53, верно? Если да, что может быть причиной для digперевода моего DNS-запроса в запрос NetGear на неверный порт?

Я не могу запросить 8.8.8.8:

dig @8.8.8.8 google.com  ; <<>> DiG 9.9.2-P2 <<>> @8.8.8.8 google.com ; (1 server found) ;; global options: +cmd ;; connection timed out; no servers could be reached root@ubuntuamd:/etc/mail# dig @8.8.8.8 google.com +tcp 

однако может с + tcp:

dig @8.8.8.8 google.com +tcp  ; <<>> DiG 9.9.2-P2 <<>> @8.8.8.8 google.com +tcp ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59432 ;; flags: qr rd ra; QUERY: 1, ANSWER: 16, AUTHORITY: 0, ADDITIONAL: 1  ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;google.com. IN A  ;; ANSWER SECTION: google.com. 88 IN A 46.28.247.93 google.com. 88 IN A 46.28.247.119 //etc  ;; Query time: 33 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Wed May 8 00:20:06 2013 ;; MSG SIZE rcvd: 295 

в конце этого: здесь 127.0.1.1 (dnsmasq верно?) отвечает:

 dig google.com  ; <<>> DiG 9.9.2-P2 <<>> google.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34747 ;; flags: qr rd ra; QUERY: 1, ANSWER: 16, AUTHORITY: 0, ADDITIONAL: 0  ;; QUESTION SECTION: ;google.com. IN A  ;; ANSWER SECTION: google.com. 300 IN A 208.117.224.29 //etc  ;; Query time: 3 msec ;; SERVER: 127.0.1.1#53(127.0.1.1) ;; WHEN: Wed May 8 00:04:44 2013 ;; MSG SIZE rcvd: 284 

нм инструмент:

me@ubuntu:/etc/mail# nm-tool | tail -n 8 IPv4 Settings: Address: 192.168.1.3 Prefix: 24 (255.255.255.0) Gateway: 192.168.1.1  DNS: 192.168.1.1 
0
Порт 53 _is_ порт DNS. Что заставляет вас думать, что это неправильно? Michael Hampton 11 лет назад 3
но для прослушивания. Мой запрос должен идти не по маршрутизаторам 53, а по случайному порту, не так ли? если это нормально, то почему отказано? 4pie0 11 лет назад 0
Ваш запрос должен поступать со случайного порта (в диапазоне) ДО спроектированного порта сервера 53. Jeff Ferland 11 лет назад 0
Правильно ли ваш компьютер с Ubuntu подключен к сети? Michael Hampton 11 лет назад 0
да я на нем постоянно 4pie0 11 лет назад 0
@ restart.localhost.localdomain - насколько нам известно, на вашем компьютере с Ubuntu есть правила iptables для блокировки запросов DNS ко всему, кроме доверенного DNS. Это не является редкостью - это может предотвратить некоторые запросы DNS о высоком угоне или обойти корпоративный DNS. Mark Henderson 11 лет назад 0

3 ответа на вопрос

5
Michael Hampton

Порт 53 действительно является портом, который DNS-сервер прослушивает для запросов.

Однако по умолчанию это UDP-порт 53, а TCP-порт 53 используется не часто.

Вы digи nslookupкоманды используют UDP по умолчанию, но в вашей digкоманде вы указали использовать TCP с +tcp, и, так как маршрутизатор слушает только UDP, запрос не выполняется.

Чтобы решить эту проблему, запросите UDP, удалив +tcpиз вашей digкоманды.

нет, это не работает 4pie0 11 лет назад 0
Затем предоставьте вывод. Michael Hampton 11 лет назад 0
dig @ 192.168.1.1 google.com; << >> DiG 9.9.2-P2 << >> 192.168.1.1 google.com; (Найден 1 сервер) ;; глобальные параметры: + cmd ;; время соединения истекло; серверы недоступны 4pie0 11 лет назад 0
1
Mark Henderson

DNS работает на порту 53.

Порт 53 является портом, назначенным IANA для DNS.

digделает поиск DNS. nslookupделает поиск DNS. Таким образом, они оба используют порт 53.

Что касается вашего реального вопроса, который:

тогда почему отказано?

Ну, это может быть по ряду причин. Возможно, ваш компьютер с Ubuntu находится в другой сети. Может быть, его сетевой кабель отключен. Возможно, у вас есть правила брандмауэра, блокирующие исходящий DNS, за исключением некоторых конкретных IP-адресов.

Есть ли конкретная проблема, которую вы пытаетесь решить с помощью этой digкоманды?

да, я не могу запросить 8.8.8.8 напрямую 4pie0 11 лет назад 0
пожалуйста, смотрите обновление 4pie0 11 лет назад 0
Попробуйте еще раз без `+ tcp` Darth Android 11 лет назад 0
@DarthAndroid есть ли у вас идеи, почему не работает без + tcp? на windows работает без + tcp 4pie0 11 лет назад 0
@ restart.localhost.localdomain DNS-порт по умолчанию - 53 UDP. Иногда DNS-серверы просто не прослушивают TCP-соединение, потому что ожидают UDP. Darth Android 11 лет назад 2
@DarthAndroid, как вы думаете, мои настройки правильные или что-то не так, учитывая вывод, указанный в моем вопросе? почему я все еще могу искать сайты в браузере? потому что, во-вторых, DNS-запросы после первоначального сбоя переводятся в + tcp версию? 4pie0 11 лет назад 0
1
authority

Вам следует установить bind и использовать 127.0.1.1. Это может помочь и решить ваши проблемы.

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