Mi red se ve así y tengo todo tipo de dispositivos: teléfonos Android, tabletas, Raspberry Pis, algunos de los cuales mi Mac no puede pinguear por WiFi.
Otros dispositivos en la red pueden hacer ping al objetivo perfectamente. En un caso, incluso pude usar ssh -L 2222:objetivo:22 otro-dispositivo -N; ssh localhost -p 2222 ping mac
, y luego pude hacer ssh al objetivo desde el Mac directamente.
Los objetivos no responden a ninguna conexión desde el Mac (ping, ssh, http). No es un problema de NIC en suspensión en los objetivos porque otros dispositivos pueden comunicarse con los objetivos perfectamente (en todos los mismos protocolos).
El Mac está conectado por ethernet, los objetivos están conectados por wireless a la misma red (sin modo invitado, vlan, etc., pero podría haber otras opciones que no he considerado). Sin embargo, otro-dispositivo
en la instancia anterior también está conectado por cable.
Editado para agregar información de la red:
- los objetivos están conectados a un AP inalámbrico que está conectado al switch principal.
- el Mac está conectado a un switch que está conectado al switch principal.
- otrohost está conectado al switch principal
- el switch principal es el único dispositivo LAN conectado al router (el otro dispositivo es el módem de cable WAN)
Editado para agregar más información:
Ping desde el Mac:
ping objetivo
PING target.domain (192.168.1.126): 56 datos bytes
Tiempo de espera agotado para icmp_seq 0
Tiempo de espera agotado para icmp_seq 1
ping: sendto: No route to host
Tiempo de espera agotado para icmp_seq 2
ping: sendto: Host is down
Tiempo de espera agotado para icmp_seq 3
ping: sendto: Host is down
Tiempo de espera agotado para icmp_seq 4
ping: sendto: Host is down
Tiempo de espera agotado para icmp_seq 5
ping: sendto: Host is down
Tiempo de espera agotado para icmp_seq 6
^C
--- target.domain estadísticas de ping ---
8 paquetes transmitidos, 0 recibidos, 100.0% pérdida de paquetes
Ping desde otrohost:
ssh otrohost
ping objetivo
PING target.domain (192.168.1.126) 56(84) bytes of data.
64 bytes from target.domain (192.168.1.126): icmp_seq=1 ttl=64 time=46.1 ms
64 bytes from target.domain (192.168.1.126): icmp_seq=2 ttl=64 time=70.2 ms
64 bytes from target.domain (192.168.1.126): icmp_seq=3 ttl=64 time=95.8 ms
64 bytes from target.domain (192.168.1.126): icmp_seq=4 ttl=64 time=118 ms
64 bytes from target.domain (192.168.1.126): icmp_seq=5 ttl=64 time=38.6 ms
^C
--- target.domain estadísticas de ping ---
5 paquetes transmitidos, 5 recibidos, 0% pérdida de paquetes, tiempo 6ms
rtt min/avg/max/mdev = 38.572/73.770/118.162/29.918 ms
netstat en el Mac: (gracias @slm)
netstat -rn -f inet
Tablas de enrutamiento
Internet:
Destino Pasarela Banderas Refs Uso Interfaz Vence
default 192.168.1.1 UGSc 222 0 en0
127 127.0.0.1 UCS 0 0 lo0
127.0.0.1 127.0.0.1 UH 20 1512 lo0
169.254 link#5 UCS 0 0 en0 !
192.168.1 link#5 UCS 14 0 en0 !
192.168.1.1/32 link#5 UCS 1 0 en0 !
192.168.1.1 78:8a:20:xx:xx:xx UHLWIir 167 954 en0 1183
192.168.1.7 0:1e:6:xx:xx:xx UHLWIi 1 43 en0 1149
192.168.1.59/32 link#5 UCS 0 0 en0 !
...
192.168.1.126 link#5 UHLWI 0 13 en0 !
...
192.168.1.186 9c:8e:cd:xx:xx:xx UHLWI 0 0 en0 1180
...
192.168.1.255 ff:ff:ff:ff:ff:ff UHLWbI 0 15 en0 !
224.0.0/4 link#5 UmCS 1 0 en0 !
224.0.0.251 1:0:5e:0:0:fb UHmLWI 0 0 en0
255.255.255.255/32 link#5 UCS 1 0 en0 !
255.255.255.255 ff:ff:ff:ff:ff:ff UHLWbI 0 7 en0 !
Parece que algo está raro en la tabla de enrutamiento. Para otrohost
(.7), hay una dirección MAC y tiempo de expiración, pero para objetivo
solo hay link#5
y un !
en la expiración. (Las banderas también difieren un poco, pero hay otras entradas con las mismas banderas que incluyen una dirección MAC y expiración, así que no estoy seguro de que sea relevante).
traceroute desde el Mac:
traceroute objetivo
traceroute hacia target.domain (192.168.1.126), 64 saltos máximo, 52 bytes de paquetes
1 * *traceroute: sendto: No route to host
traceroute: escribió target.domain 52 caracteres, ret=-1
*
traceroute: sendto: Host is down
2 traceroute: escribió target.domain 52 caracteres, ret=-1
*traceroute: sendto: Host is down
traceroute: escribió target.domain 52 caracteres, ret=-1
*traceroute: sendto: Host is down
traceroute: escribió target.domain 52 caracteres, ret=-1
tracepath desde otrohost
(con cable, pero con Linux):
tracepath objetivo
1?: [LOCALHOST] pmtu 1500
1: target.domain 5.742ms alcanzado
1: target.domain 3.304ms alcanzado
Continuación: pmtu 1500 saltos 1 retrocede 1
netstat después de hacer ping desde el objetivo al Mac:
...
192.168.1.126 64:a2:f9:xx:xx:xx UHLWI 0 9 en0 1133
...
traceroute después de hacer ping desde el objetivo al Mac:
traceroute objetivo
traceroute hacia target.domain (192.168.1.126), 64 saltos máximo, 52 bytes de paquetes
1 target.domain (192.168.1.126) 5.718 ms 3.204 ms 3.538 ms
ifconfig en0 en el Mac:
en0: flags=8863 mtu 1500
opciones=10b
ether 38:c9:86:xx:xx:xx
inet6 fe80::xx...xx%en0 longitud de prefijo 64 seguro scopeid 0x5
inet6 2601:xx...xx longitud de prefijo 64 autoconf seguro
inet6 2601:xx...xx longitud de prefijo 64 autoconf temporal
inet 192.168.1.59 máscara de red 0xffffff00 broadcast 192.168.1.255
opciones nd6=201
multimedia: autoseleccionar (1000baseT )
estado: activo
Editar: Parece que el problema radica en la tabla ARP en el Mac.
arp -a
durante el problema:
target.domain (192.168.1.126) en (incompleto) en en0 ifscope [ethernet]
arp -a
después de hacer ping desde el objetivo al Mac:
target.domain (192.168.1.126) en 64:a2:f9:xx:xx:xx en en0 ifscope [ethernet]
sudo arp -ad
vuelve inmediatamente al estado incorrecto, y requiere un ping fresco desde el objetivo.
¿Cómo puedo asegurarme de que la tabla ARP se construya correctamente?
(Reiniciar no parece ayudar, toda la salida anterior es de un reinicio en frío, hace 31 minutos
)
¿Hay algún filtro ARP integrado en Mac, o alguna forma de escuchar broadcast que necesite habilitarse en macOS?
0 votos
¿Cómo se ve la red? Se necesita la dirección IP de origen y destino también si ambos utilizan el mismo enrutador / gateway. Esto parece ser un problema de red, pero definamos un poco más la red antes de intentar responder.
0 votos
Red de muy simple. Puntos de acceso inalámbricos y dispositivos cableados todos conectados a un solo switch.
0 votos
Entendido: todos están en la misma red de clase C / no enrutables.
0 votos
Esta publicación en los foros de Apple es prometedora: discussions.apple.com/thread/5896974. Por supuesto, ahora no veo este problema con ningún host, así que ¯_()_/¯. Supongo que aprendí de esto que no hay ningún problema conocido, así que lo que sea que esté sucediendo es probablemente demasiado específico para ser respondido de forma general.
0 votos
El problema no son tus tablas arp o de enrutamiento. El problema es tu caché de DNS; intenta vaciarla primero. Emitir este comando
sudo killall -HUP mDNSResponder
luego intenta hacer ping por nombre de host y mira si funciona.0 votos
@Allan el problema probablemente no sea de DNS. En la salida de ping y traceroute del caso que falla, la dirección IP se resuelve correctamente (y se muestra entre paréntesis)
0 votos
He tenido exactamente el mismo problema con macOS 14 y Windows 11... Antes de hacer ping a la mac:
... at (incompleto) on en0 ifscope [ethernet]
Después de hacer ping a la mac:... at on en0 ifscope [ethernet]
0 votos
Puedo reproducir el caso fácilmente teniendo dos redes (ethernet y wifi) y luego desactivando una. El sistema podría confundirse. Por lo tanto, reiniciar el sistema le aclarará que está funcionando.