O Chrome usa um servidor DNS diferente do sistema operacional?


11

Estou executando o Chrome no Linux. Eu tenho o DNS local para resolver * .myname.com em 127.0.0.2 (digito "host Whatever.myname.com" ou "host myname.com" e vejo o endereço correto). No entanto, no Chrome, quando digito "myname.com", ele é redirecionado para "www.myname.com" e resolve o site "real" que eu não quero.

Somente quando eu digito "test.myname.com", não "www.myname.com", o Chrome o resolve corretamente em 127.0.0.2. Eu acho que o Chrome está tentando fazer coisas engraçadas com www.anything.com e nothing.com.

Como corrigi-lo?

PS: o DNS local que estou usando é dnsmasq. Se eu colocar explicitamente myname.com em / etc / hosts, o Chrome o resolverá corretamente em 127.0.0.2, mas não posso usar curinga em / etc / hosts.

PPS: Posso confirmar no chrome: // net-internals / # dns que o Chrome corretamente myname.com e www.myname.com no IP público real.

Respostas:


6

De fato, o Chrome estava usando seu próprio cliente DNS que conversa com vários servidores DNS (o DNS local, o DNS do roteador, o DNS do roteador no IPv6). Eu vou para o chrome: // flags e desativo o "DNS assíncrono embutido". Agora funciona.


2
O sinalizador "DNS assíncrono interno" foi removido do Google Chrome, desativando a "correção" para isso. chromium.googlesource.com/chromium/src/+/… (de superuser.com/a/887191/109126 )
jcisio

5
Esta opção foi removida a partir de cromo, remover a resposta para evitar confusão, ou downvotes: D
Sorin

11
Ainda há algum tipo de problema aqui. Estou usando o Chrome 56 no Linux Mint e leva alguns minutos para resolver os endereços após a conexão a uma VPN. O Firefox faz isso imediatamente. Parece que o Chrome demora um pouco para ver as alterações /etc/resolv.conf.
orodbhen

11
Ainda é válido no Chrome para Android. A opção é chamado de "Async DNS resolvedor" (chrome: // flags / # enable-async-dns)
MaxChinni

11
não existe essa opção no 69+ e incapacitante chrome: // flags / # enable-nova-preconnect (menciona DNS) não ajuda
vladkras

1

Você pode alterar suas configurações de proxy e forçá-lo a usar o endereço desejado.

Abra um novo arquivo, com extensão .pac, esses arquivos são usados ​​pelo sistema para determinar proxies, copie-o para o conteúdo do arquivo:

function FindProxyForURL(url, host) {
    if (host=='www.myname.com' || host=='myname.com'){
        return 'PROXY 127.0.0.2';
    }
    // All other domains should connect directly without a proxy
    return "DIRECT";
}

vá para as configurações de proxy do chrome e, em "url para configuração automática de proxy", digite o caminho para esse arquivo.

não há necessidade de ter um servidor DNS, você pode redirecioná-lo para portas diferentes na máquina e pode programá-lo para suas necessidades.


11
Usei quando usei o Mac, porque no OS XI posso usar o arquivo .pac para todo o sistema. Não no Linux AFAIK (ele não funciona com wget, curl etc.).
jcisio

qual linux você tem? (eu tenho o Kubuntu e está funcionando)
Ohad Cohen

Archlinux + KDE. Só não acredito que as configurações do Chrome possam alterar o comportamento do sistema operacional no console.
jcisio

cromo configurações de proxy configurações de proxy do sistema apenas aberto
Ohad Cohen

Obrigado, acabei de testar com o xubuntu no meu netbook. Não foi possível abrir as configurações do proxy do systme (a página chrome: // linux-proxy-config / deu um erro). Vou tentar com o meu Archlinux mais tarde.
jcisio
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.