No se puede hacer ping a localhost después de migrar a una nueva Mac

2

Después de migrar a un nuevo MacBook Pro, ya no puedo hacer ping localhost .

Ya intenté cambiar mi archivo /etc/hosts aunque ya estaba justo antes.

$ host localhost
localhost has address 127.0.0.1
localhost has IPv6 address ::1
$ ping localhost.
PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.098 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.081 ms

Pinging localhost. funciona de alguna manera, no puedo entender por qué.

Si reinicio el sistema, no se resolverá localhost otra vez, pero si ping localhost. entonces ping localhost comienza a funcionar. No sé si esto puede ayudar a alguien con el mismo problema

¿Qué podría estar mal?

$ ping localhost
ping: cannot resolve localhost: Unknown host
$ ping localhost.
PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.072 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.084 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.077 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.073 ms
^C
--- localhost ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.072/0.076/0.084/0.005 ms
$ ping localhost
PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.070 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.072 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.088 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.082 ms
^C
--- localhost ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss

más resultados

MBPdeFrancisco:~ francisco$ dscacheutil -q host -a name localhost
name: localhost
ipv6_address: fe80:1::1
MBPdeFrancisco:~ francisco$ LC_ALL=C cat -vet /etc/hosts
##$
##$
# Host Database$
#$
# localhost is used to configure the loopback interface$
# when the system is booting. Do not change this entry.$
##$
127.0.0.1 localhostM-bM-^@M-($
255.255.255.255 broadcasthostM-bM-^@M-($
::1 localhostM-bM-^@M-($
fe80::1%lo0 localhost

MBPdeFrancisco:~ francisco$ cat /etc/resolv.conf
#
# macOS Notice
#
# This file is not consulted for DNS hostname resolution, address
# resolution, or the DNS query routing mechanism used by most
# processes on this system.
#
# To view the DNS configuration used by this system, use:
#   scutil --dns
#
# SEE ALSO
#   dns-sd(1), scutil(8)
#
# This file is automatically generated.
#
domain lan
nameserver 2001:8a0:ddce:7401:9e97:26ff:fedb:6214
nameserver 192.168.1.254
    
pregunta Luce Sky Walker 25.05.2018 - 14:04

1 respuesta

1

Su archivo / etc / hosts está dañado; por alguna razón, se ha agregado unicode LINE SEPARATOR caracteres a varias líneas (la cosa " M-bM-^@M-( " en LC_ALL=C cat -vet 's salida), incluido uno de esos para localhost . El solucionador de macOS tratará ese carácter extraño como parte del nombre de host, por lo que si de alguna manera logras hacer ping localhost<LINE SEPARATOR> , se resolverá a 127.0.0.1 muy bien. Plain localhost ? No tanto.

No sé cómo esos extraños personajes se habrían añadido; ¿Intentó editar el archivo con un editor sofisticado que pensó que sería una buena idea utilizar los últimos caracteres de formato modernos, en lugar de limitarse a lo que funcionará? Si es así, no use ese editor para archivos de configuración de estilo Unix (o scripts, o ...). Recomiendo BBEdit en su lugar; incluso si no lo compras, te permitirá hacer las cosas básicas en su modo de demostración gratuita.

En cuanto a cómo solucionarlo ... Bueno, primero haga una copia de seguridad en caso de que se desvíe y desordene las cosas aún más de lo que está ahora. Luego ejecuta el comando:

sudo perl -pi -e 's/[^[:ascii:]]//g' /etc/hosts

Ese debería purgar todos los caracteres Unicode extraños del archivo. Luego intente nuevamente el comando dscacheutil ; deberías obtener algo como esto:

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

name: localhost
ip_address: 127.0.0.1

P.s. Para obtener una explicación de por qué alguien pensó que LINE SEPARATOR era una buena idea, consulte el XKCD siempre relevante y La perorata de Jeff Atwood sobre "The Great Newline Schism" .

    
respondido por el Gordon Davisson 28.05.2018 - 00:30

Lea otras preguntas en las etiquetas