¿Chrome utiliza un servidor DNS diferente del sistema operativo?

11

Estoy ejecutando Chrome en Linux. Tengo DNS local para resolver * .myname.com en 127.0.0.2 (escribo "host whatever.myname.com" o "host myname.com" y veo la dirección correcta). Sin embargo, en Chrome cuando escribo "myname.com" se redirige a "www.myname.com" y resuelve el sitio web "real" que no quiero.

Solo cuando escribo "test.myname.com", no "www.myname.com", Chrome lo resuelve correctamente en 127.0.0.2. Supongo que Chrome está tratando de hacer cosas funky con www.anything.com y anything.com.

¿Como arreglarlo?

PD: el DNS local que estoy usando es dnsmasq. Si pongo explícitamente myname.com en / etc / hosts, Chrome lo resuelve correctamente en 127.0.0.2, pero no puedo usar comodines en / etc / hosts.

PPS: puedo confirmar en chrome: // net-internals / # dns que Chrome correctamente myname.com y www.myname.com en la IP pública real.

jcisio
fuente

Respuestas:

6

De hecho, Chrome estaba usando su propio cliente DNS que habla con varios servidores DNS (el DNS local, el enrutador DNS, el enrutador DNS en IPv6). Voy a chrome: // flags y desactivo "DNS asíncrono incorporado". Ahora funciona.

jcisio
fuente
2
El indicador "DNS asíncrono incorporado" se eliminó de Google Chrome, deshabilitando así la "solución" para esto. chromium.googlesource.com/chromium/src/+/... (de superuser.com/a/887191/109126 )
jcisio
55
Esta opción se eliminó de Chrome, elimine la respuesta para evitar confusiones o votaciones negativas: D
sorin
1
Todavía hay algún tipo de problema aquí. Estoy usando Chrome 56 en Linux Mint, y me lleva varios minutos resolver las direcciones después de conectarme a una VPN. Firefox lo hace de inmediato. Parece que Chrome tarda un tiempo en ver los cambios /etc/resolv.conf.
orodbhen
1
Todavía es válido en Chrome para Android. La opción se llama "Resolver DNS asíncrono" (chrome: // flags / # enable-async-dns)
MaxChinni
1
no existe tal opción en 69+ y deshabilitar chrome: // flags / # enable-new-preconnect (menciona DNS) no ayuda
vladkras
1

Puede cambiar la configuración de su proxy y obligarlo a usar la dirección que desee.

Abra un nuevo archivo, con extensión .pac, el sistema usa esos archivos para determinar los servidores proxy, copie esto en el contenido del archivo:

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";
}

vaya a la configuración de proxy de Chrome, y en "url para configuración automática de proxy" ingrese la ruta a ese archivo.

no es necesario tener un servidor DNS, puede redirigirlo a diferentes puertos en la máquina y puede programarlo según sus necesidades.

Ohad Cohen
fuente
1
Lo usé cuando usé Mac, porque en OS XI puedo usar el archivo .pac para todo el sistema. No en Linux AFAIK (no funciona con wget, curl, etc.).
jcisio
que linux tienes (Tengo kubuntu y está funcionando)
Ohad Cohen
Archlinux + KDE. Simplemente no creo que la configuración de Chrome pueda cambiar el comportamiento del sistema operativo en la consola.
jcisio
la configuración del proxy de Chrome solo abre la configuración del proxy del sistema
Ohad Cohen
Gracias, acabo de probar con xubuntu en mi netbook. No se pudo abrir la configuración del proxy del sistema (la página chrome: // linux-proxy-config / dio un error). Lo intentaré con mi Archlinux más tarde.
jcisio