O trabalho de encontrar quais endereços IP são associados com um nome de domínio particular é trabalho de um resolvedor. O resolvedor mais comumente usado é o conjunto de funções que leva esse nome (resolver) na Biblioteca C GNU. Outro é o resolvedor FireDNS que vem no pacote libfiredns.
A forma como o resolvedor da LIBC resolve nomes é governada pela linha hosts no arquivo de configuração /etc/nsswitch.conf. Essa linha lista os serviços que devem ser usados para resolver um nome: por exemplo, dns, files, nis, nisplus. Se for usado o serviço files, o comportamento do resolvedor também é governado pelo arquivo de configuração /etc/hosts.
Se for usado o serviço dns, o comportamento do resolvedor também é governado pelo arquivo de configuração /etc/resolv.conf. Uma das funções importantes do resolv.conf é listar os endereços IP de servidores de nome que serão contactados para resolver o nome. Essa lista freqüentemente depende do ambiente de rede e esse pode mudar de tempos em tempos enquanto seu computador está funcionando. Programas como o pppd e o dhclient são capazes de manipular o resolv.conf para adicionar e remover linhas, mas esses recursos não funcionam sempre apropriadamente e eles conflitam uns com os outros. O pacote resolvconf soluciona o problema, fornecendo uma estrutura padrão para atualizar esse arquivo. Se você tiver o resolvconf instalado então pode adicionar linhas que especifiquem informação de DNS. Por exemplo:
auto eth0 iface eth0 inet static address 192.168.0.123 netmask 255.255.255.0 gateway 192.168.0.1 dns-search nicedomain.org dns-nameservers 195.238.2.21 195.238.2.22