Ubuntu вирішує тільки DNS, коли IP-адреса маршрутизатора присутній у списку DNS-серверів


3

Коли я використовую сервери DNS, відмінні від IP-адреси мого маршрутизатора, Ubuntu або будь-яка інша програма (веб-браузер) не в змозі вирішити імена хостів.

Я додав DNS-сервери Google (8.8.8.8 і 8.8.4.4), використовуючи інтерфейс користувача Uuntu за замовчуванням у Ubuntu.

Коли я додаю IP-адресу мого маршрутизатора в (8.8.8.8, 8.8.4.4 і 192.168.15.1), вирішення DNS починає працювати.

Ось моя пов'язана конфігурація:

resolv.conf:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1

NetworkManager.conf:

[main]
plugins=ifupdown,keyfile
dns=dnsmasq

no-auto-default=<some mac address>,

[ifupdown]
managed=false

/ etc / network / interfaces:

auto lo
iface lo inet loopback

Я пробував різні рішення, як відключення dnsmasq від networkmanager.conf, але нічого не спрацювало.

Ось результати пошуку хостів та копання:

host www.google.com 8.8.8.8 - times out.
host www.google.com 192.168.15.1 - works immediatly.
dig @8.8.8.8 www.google.com - times out.
dig @192.168.15.1 www.google.com - works immediatly.

Тим не менш, я можу пінг до 8.8.8.8 успішно, тобто сервер доступний принаймні.

Чи можливо, що мій маршрутизатор або постачальник послуг Інтернету відхиляють запити DNS, видані серверам, крім тих, які встановлено моїм провайдером у моєму маршрутизаторі?

Відповіді:


8

Це може бути ваш маршрутизатор, але він може бути вашим провайдером: я бачив, що провайдери блокують усі запити DNS (UDP 53) на інші IP-адреси, ніж їхні DNSes - вони роблять це, щоб монетизувати (роблять їх DNS вирішенням ad-сайтів, які задіяні) або іноді з юридичних причин (блокування сайтів на основі DNS).

І перш ніж запитати: Так, вони свідомо ламають DNS.


чи є спосіб обійти цю проблему? або за допомогою VPN або DNSCrypt або будь-якого іншого рішення?
h.i

Деякі провайдери дозволяють своїм користувачам вирішувати, чи хочуть вони дозволяти DNS-серверам третіх сторін. Зверніться до свого провайдера, щоб перевірити, чи блокують вони DNS, і чи можете ви його відкрити.
jornane

Мені подобається, як worng ви написали неправильно.
Ismael Miguel

1
Інструмент Netalyzr спеціально перевірятиме ці типи проблем: netalyzr.icsi.berkeley.edu
qasdfdsaq

1
@ h.i так є способи. або за допомогою VPN або DNSCrypt або інших рішень;) Зазвичай провайдери просто блокують порт 53 UDP, так що використання резольвера з іншим портом (ви, мабуть, доведеться десь встановити) і локальну переадресацію до нього працюють. Також варто спробувати: використовуйте незв'язаний і встановіть "tcp-upstream: yes", що змушує його використовувати TCP. (І використовуйте, наприклад, сервери googles). Якщо ваш провайдер блокує тільки UDP, це буде працювати. (подивитися superuser.com/questions/475891/… )
Josef
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.