2 votos

'localhost' detuve a trabajar como un alias de '127.0.0.1' para SSHing en mi VirtualBox VM. Por qué y cómo solucionarlo?

La pregunta que explica el problema. Durante meses, nunca he tenido ningún problema a lo largo de estas líneas. Luego, en la mañana de ayer, que no podía entrar en mi VM! Tomó un largo tiempo para solucionar los problemas, pero aquí estaba la solución:

Brendans-Mac-mini:~ Brendan$ ssh -p 3022 user@localhost
ssh: Could not resolve hostname localhost: nodename nor servname provided, or not known
Brendans-Mac-mini:~ Brendan$ ssh -p 3022 user@127.0.0.1
user@127.0.0.1's password: 
Last login: Tue Jul  1 22:37:59 2014 from 10.0.2.2

Así que, ¿por qué esto ha sucedido, y lo que es más importante, ¿cómo puedo solucionarlo?

He intentado dig localhost, lo que parece me dicen que todavía hay algún tipo de conexión entre localhost 127.0.0.1 y:

Brendans-Mac-mini:~ Brendan$ dig localhost

; <<>> DiG 9.8.3-P1 <<>> localhost
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28989
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;localhost.         IN  A

;; ANSWER SECTION:
localhost.      655360  IN  A   127.0.0.1

;; Query time: 7 msec
;; SERVER: 10.0.1.1#53(10.0.1.1)
;; WHEN: Wed Jul  2 09:44:44 2014
;; MSG SIZE  rcvd: 43

3voto

Nate Puntos 220

[Esto es copiado y ligeramente ampliada de mi respuesta en Superusuario.]

localhost es normalmente definido en el archivo /etc/hosts, no en el DNS (aunque el DNS tiene una copia de seguridad de emergencia de la entrada). Aquí está la normal contenido de /etc/hosts en OS X (Mavericks):

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost 
fe80::1%lo0     localhost

Tenga en cuenta que si usted necesita editar/recrear este archivo debe estar en formato de texto plano (sin formato), con estilo unix finales de línea (saltos de línea). Puede utilizar un editor de línea de comandos como vi o nano; si quieres un editor gráfico, tiendo a recomendar TextWrangler o su hermano mayor BBEdit para la edición de archivos de este tipo, ya que son buenos no agregando espurio "útil" cosas a los archivos que edite, y también puede utilizar los derechos de administrador para editar los archivos del sistema (como /etc/hosts).

(Además, no es realmente visible o importante, pero esos son los caracteres de tabulación entre las direcciones y nombres).

Para las pruebas de búsquedas como este, uso dscacheutil (dscacheutil -q host -a name localhost) en lugar de algo como dig. La razón para utilizar dscacheutil es que dig (e host y nsloogup) evita que el sistema de búsqueda de políticas y comprueba DNS directamente, mientras que dscacheutil utiliza el completo sistema de búsqueda de la política. Como resultado, dig no ver las entradas en /etc/hosts, o hacer mDNS (Bonjour) búsquedas, o buscar el Equipo, entradas en el directorio de servicios, o ver las entradas en caché de las anteriores búsquedas, o...

Cuando usted tiene el archivo hosts configurados correctamente, esto es lo dscacheutil's de salida debe verse así:

$ dscacheutil -q host -a name localhost
name: localhost
ipv6_address: ::1
ipv6_address: fe80:1::1

name: localhost
ip_address: 127.0.0.1

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X