A maneira como faço isso é definir supersede domain-name-servers
em /etc/dhcp/dhclient.conf
. Experimentei várias opções, incluindo head
ou tail
files, na pasta /etc/resolvconf/resolv.conf.d/
, mas apenas dhclient.conf
faz o truque para mim. Eu fiz isso em 13.04, 14.04 e 15.04 versões do Ubuntu - sempre funciona.
A ideia básica é que, quando você se conecta a um ponto de acesso Wi-Fi, recebe determinadas informações do dhcp
server. A opção supersede
diz ao Ubuntu para substituir o que o servidor dhcp
envia para você, com o seu próprio. Neste caso, nós substituímos o servidor dns. Portanto, não importa qual wifi você se conecta, seu ubuntu irá substituir o dns do wifi por conta própria.
Abaixo está a amostra do meu próprio arquivo dhclient.conf
, observe a linha supersede domain-name-servers 208.67.220.220;
:
$ cat /etc/dhcp/dhclient.conf
# Configuration file for /sbin/dhclient, which is included in Debian's
# dhcp3-client package.
#
# This is a sample configuration file for dhclient. See dhclient.conf's
# man page for more information about the syntax of this file
# and a more comprehensive list of the parameters understood by
# dhclient.
#
# Normally, if the DHCP server provides reasonable information and does
# not leave anything out (like the domain name, for example), then
# few changes must be made to this file, if any.
#
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
#send host-name "andare.fugue.com";
send host-name = gethostname();
#send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;
#send dhcp-lease-time 3600;
#supersede domain-name "fugue.com home.vix.com";
supersede domain-name-servers 208.67.220.220;
#prepend domain-name-servers 127.0.0.1;
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, domain-search, host-name,
dhcp6.name-servers, dhcp6.domain-search,
netbios-name-servers, netbios-scope, interface-mtu,
rfc3442-classless-static-routes, ntp-servers,
dhcp6.fqdn, dhcp6.sntp-servers;
Agora, se você quiser, pode usar a opção prepend
para usar ambos wifi-given e seu próprio servidor. Em caso de falha no servidor fornecido pelo Wi-Fi, sua solicitação será roteada para o DNS pré-anexado.