A solução é usar /etc/hosts
no seu Ubuntu.
- Verifique se, em
/etc/nsswitch.conf
ondns
line, a primeira opção éfiles
. - Adicione linha em
/etc/hosts
:
abcdefghijklmo.com ip_address
Quando eu digito errado um nome de domínio, os servidores DNS do meu provedor ISP resolvem o nome do domínio para um endereço IP de um servidor web que diz "desculpe, o endereço que você digitou não existe" juntamente com alguns anúncios.
Por exemplo:
$ 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" ...
Como você pode ver, estou recebendo um registro A inútil em vez de uma resposta vazia. Eu quero me livrar desse registro.
No meu computador, vejo que o servidor DNS é 192.168.1.1
, que é o endereço do meu roteador. Eu poderia mudar de 192.168.1.1
para 8.8.8.8
, mas perderia a capacidade de resolver nomes dentro da minha LAN, por isso não é uma opção. Meu roteador não pode ser configurado de forma alguma, não posso alterá-lo e não quero executar um servidor de nomes em outro dispositivo. Eu entrei em contato com meu provedor e eles explicitamente disseram que não vão me ajudar.
TL; DR: preciso usar 192.168.1.1
como servidor de nomes, mas quero filtrar as respostas que contêm A 31.199.53.9
. Como posso fazer isso?
Estou usando o Ubuntu Desktop 15.04 com o NetworkManager e o dnsmasq.
A solução é usar /etc/hosts
no seu Ubuntu.
/etc/nsswitch.conf
on dns
line, a primeira opção é files
. /etc/hosts
: abcdefghijklmo.com ip_address