El Capitán: el caché de DNS no se vaciará

1

Estoy intentando que la memoria caché de DNS de El Capitan (10.11.6) se vacíe, para intentar resolver la resolución lenta de nombres de dominio de localhost, pero nada de lo que hago tiene ningún efecto. Los nombres de mi computadora, nombre de host y disco duro solían ser los siguientes:

Santa's MacBook Pro
santas-macbook-pro-2.local
Santa's MacBook

(No elegí poner el "-2" al final del nombre de host; eso es lo que tenía la Mac en el panel de preferencias de Compartir).

Intenté editar el archivo etc/hosts de la siguiente manera:

127.0.0.1    localhost santas-macbook-pro-2.local
255.255.255.255    broadcasthost
::1             localhost santas-macbook-pro-2.local
fe80::1%lo0    localhost

pero incluso después de reiniciar, la resolución fue tan lenta como siempre.

Se intentó cambiar el nombre de la computadora y el nombre de host a trial y trial.local (actualizando etc/hosts en consecuencia) y el disco duro a tt . Logré que OnyX vaciara varios cachés, incluidas las extensiones del sistema y del kernel, reiniciado, aún lento.

Al ejecutar el pequeño inetTester obtengo Santa's MacBook Pro.local devuelto.

He intentado vaciar el caché de DNS siguiendo las instrucciones aquí , se reinició, y todavía obtengo Santa's MacBook Pro.local devuelto.

Parece que discoveryutil ya no existe (en cualquier caso, no está en mi máquina), así que ni siquiera puedo mirar el contenido del caché.

¿Qué diablos tengo que hacer para que esta máquina se olvide de ser la MacBook Pro de Santa?

    
pregunta skiaddict1 20.12.2016 - 22:59

1 respuesta

1

Usted está mezclando muchas cosas completamente o en parte diferentes / no relacionadas aquí.

  1. Para asignar un nombre correcto y rápido a su disco duro / SSD, también debe agregar su nombre al archivo de hosts:

    127.0.0.1    localhost santas-macbook-pro-2.local tt-this_is_a_VM_volume_and_therefore_slower_than_a_real_disk 
    

    Ahora puede verificar el tiempo de respuesta haciendo ping:

    ping tt-this_is_a_VM_disk_and_therefore_slower_than_a_real_disk 
    PING tt-this_is_a_VM_disk_and_therefore_slower_than_a_real_disk (127.0.0.1): 56 data bytes
    64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.054 ms
    64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.089 ms
    64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.071 ms
    
    --- tt-this_is_a_VM_disk_and_therefore_slower_than_a_real_disk ping statistics ---
    3 packets transmitted, 3 packets received, 0.0% packet loss
    round-trip min/avg/max/stddev = 0.054/0.071/0.089/0.014 ms
    

    El tiempo promedio de ida y vuelta es de ~ 0.071 ms. Por lo tanto, el tiempo necesario para resolverlo es inferior a ~ 0.071 / 2 ms. Con un HDD / SSD real, puede esperar respuestas aún más rápidas.

    Utilice el nombre corto tt (el nombre de su volumen) en lugar de mi nombre largo tt-this_.... para obtener una respuesta aún más rápida.

  2. Para verificar su caché de DNS, abra Console.app (ingrese mDNSResponder en el campo de búsqueda) y Terminal.app.

    Verifique la hora e ingrese en la Terminal: sudo killall -INFO mDNSResponder

    Aproximadamente la primera mitad de la salida en la consola con la marca de tiempo anotada anteriormente es el caché de DNS. La parte del caché comienza con ------------ Cache ------------- y termina con un resumen como Cache currently contains 391 entities; 33 referenced by active questions .

    Para matar el caché usa sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

    Vuelva a verificar el caché ingresando sudo killall -INFO mDNSResponder nuevamente.

  3. discoveryutil se introdujo en OS X 10.10.0 y fue reemplazado por su predecesor mDNSResponder en OS X 10.10.4.

  4. Para modificar su nombre de host local y el nombre de la computadora use scutil :

    sudo scutil --set LocalHostName trial
    sudo scutil --set ComputerName Trial
    

    Si aún obtiene un nombre de Bonjour (por ejemplo, MacBook Pro.local de Santa), es probable que su nombre de host esté configurado incorrectamente. O cambie el nombre de host ingresando:

    sudo scutil --set HostName trial
    

    o elimínelo por completo (recomendado) modificando el archivo preferences.list:

    sudo  nano /Library/Preferences/SystemConfiguration/preferences.plist
    

    y elimine su nombre de host mal formado actual cerca de la parte inferior del archivo:

        <key>HostName</key>
        <string>Santa's MacBook Pro.local</string>
    

        <key>HostName</key>
        <string></string>
    

    Es posible que también deba eliminar el archivo de copia de seguridad de preferencias preferences.plist.old . Reinicie después.

  5. La resolución de nombres se realiza aproximadamente en este orden:

      files (e.g. /etc/hosts) > mDNS > DNS)  \
       ↕︎                         (↓ )   (↓)   | rather remote hostnames
    DNS cache (memory) (←-----------------)  /
       ↑                                       \
    memory                                      | rather local hostnames (including hosts file)
       ↑                                        |
     file (preferences.plist)                  /
    
  6. inetTester es una herramienta para verificar rápidamente el tiempo transcurrido desde la capa de Java para acceder al nombre de dominio localhost. Esto es no el momento para obtener (resolver) el nombre de host local. El nombre de host se almacena en algún lugar de la memoria y una llamada al sistema toma nanosegundos para obtenerlo.

  7. El nombre de su volumen principal (anteriormente Santa's MacBook , ahora tt ) está en no relacionado con el caché de DNS o una lenta resolución de nombre de host local.

Con respecto al artículo 1 en la lista. Me pongo el sombrero de fiesta casco de Dark Vader y me puse desagradable temporalmente.

    
respondido por el klanomath 21.12.2016 - 02:38

Lea otras preguntas en las etiquetas