Когда я неправильно пишу имя домена, DNS-серверы моего провайдера провайдера разрешают имя домена в IP-адрес веб-сервера, который сообщает вам : «Извините, введенный вами адрес не существует» вместе с некоторыми объявлениями.
Например:
$ dig abcdefghijklmo.com # using the DNS from my ISP
...
;; ANSWER SECTION:
abcdefghijklmo.com. 0 IN A 31.199.53.9
...
$ dig abcdefghijklmo.com @8.8.8.8 # using Google's DNS
... no "ANSWER SECTION" ...
Как вы видите, я получаю эту бесполезную запись А вместо пустого ответа. Я хочу избавиться от этой записи.
С моего компьютера я вижу, что DNS-сервером является 192.168.1.1
, который является адресом моего маршрутизатора. Я мог бы перейти с 192.168.1.1
на 8.8.8.8
, но я бы потерял способность разрешать имена в моей локальной сети, так что это не вариант. Мой маршрутизатор не может быть настроен каким-либо образом, я не могу его изменить и не хочу запускать сервер имен на другом устройстве. Я связался со своим провайдером, и они прямо сказали, что не помогут мне.
TL; DR: Я должен использовать 192.168.1.1
в качестве сервера имен, но я хочу отфильтровать ответы, содержащие A 31.199.53.9
. Как я могу это сделать?
Я использую Ubuntu Desktop 15.04 с NetworkManager и dnsmasq.
Решение состоит в том, чтобы использовать /etc/hosts
вход на Вашей Ubuntu.
/etc/nsswitch.conf
на dns
, выравнивают первый вариант, files
. /etc/hosts
: abcdefghijklmo.com ip_address