Estoy configurando un monitor de red bash script en cuyo núcleo estoy usando ping
.
Cuando un host está inactivo, obtengo el estándar host is unreachable
, por lo general.
Pero en un cuadro parece estar recibiendo un ping redirigido que no puedo entender.
Mi red:
ping
conteo a continuación simplemente por brevedad.MBP IP:192.168.178.45
|
|
SWITCH#1 ---- Fritz.box (DHCP/Internet) ---- ISP
| \ 192.168.178.1
| \
| \ dav3tc (Apple Time Capsule)
| \__ 192.168.178.29
|
SWITCH#2
| \
| \
| \ wwwelc (Mac mini running 10.11 but turned off)
| \___ 192.168.178.80
\
\ Ubuntu
\__ 192.168.178.28
Ambas máquinas (llamaremos wwwelc
y Ubuntu
) están en un estado de apagado* con WoL
activo (excepto que la Mac mini aún no se está iniciando; se determinará por qué más adelante).
Editar: resulta que la Mac mini solo estaba en estado de suspensión, lo que es peor ya que no se estaba despertando en absoluto ... tema de una pregunta diferente aunque posiblemente relacionada
Del MBP recibo dos respuestas inalcanzables diferentes. Ejecutar desde la misma computadora (el MBP) y en la misma sesión/pantalla de Terminal:
MBP:~ madivad$ ping -c 3 -W 1 192.168.178.28
PING 192.168.178.28 (192.168.178.28): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
--- 192.168.178.28 ping statistics ---
3 packets transmitted, 0 packets received, 100.0% packet loss
MBP:~ madivad$ ping -c 3 -W 1 192.168.178.80
PING 192.168.178.80 (192.168.178.80): 56 data bytes
36 bytes from dav3tc.fritz.box (192.168.178.29): Redirect Host(New addr: 192.168.178.80)
Vr HL TOS Len ID Flg off TTL Pro cks Src Dst
4 5 00 0054 1c50 0 0000 40 01 788a 192.168.178.45 192.168.178.80
Request timeout for icmp_seq 0
36 bytes from dav3tc.fritz.box (192.168.178.29): Redirect Host(New addr: 192.168.178.80)
Vr HL TOS Len ID Flg off TTL Pro cks Src Dst
4 5 00 0054 8ff4 0 0000 40 01 04e6 192.168.178.45 192.168.178.80
Request timeout for icmp_seq 1
36 bytes from dav3tc.fritz.box (192.168.178.29): Redirect Host(New addr: 192.168.178.80)
Vr HL TOS Len ID Flg off TTL Pro cks Src Dst
4 5 00 0054 bda5 0 0000 40 01 d734 192.168.178.45 192.168.178.80
--- 192.168.178.80 ping statistics ---
3 packets transmitted, 0 packets received, 100.0% packet loss
Ambos están respondiendo con lo esperado Request timeout for icmp_seq
y en muchos paquetes a veces también se ven ping: sendto: Host is down
.
A veces aparece un desvío similar cuando el sistema está activo, pero ahora tengo problemas para replicarlo. Para solucionarlo en ese momento, simplemente desactivé el puerto Ethernet y lo volví a activar:
sudo ifconfig en0 down && sudo ifconfig en0 up && exit
Estaba ejecutando esto desde SSH
y sin él exit
bloquearía mi sesión remota de Terminal :)
Aquí hay una copia de ping
los resultados cuando apago el wwwelc
:
64 bytes from 192.168.178.80: icmp_seq=1273 ttl=64 time=0.674 ms
64 bytes from 192.168.178.80: icmp_seq=1274 ttl=64 time=0.528 ms
64 bytes from 192.168.178.80: icmp_seq=1275 ttl=64 time=0.636 ms
64 bytes from 192.168.178.80: icmp_seq=1276 ttl=64 time=0.715 ms
Request timeout for icmp_seq 1277
Request timeout for icmp_seq 1278
Request timeout for icmp_seq 1279
36 bytes from dav3tc.fritz.box (192.168.178.29): Redirect Host(New addr: 192.168.178.80)
Vr HL TOS Len ID Flg off TTL Pro cks Src Dst
4 5 00 0054 4506 0 0000 40 01 4fd4 192.168.178.45 192.168.178.80
Request timeout for icmp_seq 1280
36 bytes from dav3tc.fritz.box (192.168.178.29): Redirect Host(New addr: 192.168.178.80)
Vr HL TOS Len ID Flg off TTL Pro cks Src Dst
4 5 00 0054 aaae 0 0000 40 01 ea2b 192.168.178.45 192.168.178.80
Como podemos ver, la Máquina del Tiempo se está involucrando nuevamente.
puedes ver cuando la máquina del tiempo está desconectada:
Request timeout for icmp_seq 1462
36 bytes from dav3tc.fritz.box (192.168.178.29): Redirect Host(New addr: 192.168.178.80)
Vr HL TOS Len ID Flg off TTL Pro cks Src Dst
4 5 00 0054 cb5d 0 0000 40 01 c97c 192.168.178.45 192.168.178.80
Request timeout for icmp_seq 1463
Request timeout for icmp_seq 1464
Request timeout for icmp_seq 1465
Request timeout for icmp_seq 1466
Luego volví a enchufar la máquina del tiempo y le di tiempo para que arrancara. Mis pings se wwelc
mantuvieron sucintos. Lo desperté del modo de suspensión (logré que se despertara usando Magic Packet
), inicié sesión SSH
y lo envié de nuevo a dormir (sí, soy desagradable: despertar, volver a dormir, despertar, volver a dormir): )
Pensé que todo iba a estar bien, pero finalmente vi esto (el ping se agota una vez que duerme):
64 bytes from 192.168.178.80: icmp_seq=1670 ttl=64 time=0.617 ms
64 bytes from 192.168.178.80: icmp_seq=1671 ttl=64 time=0.588 ms
64 bytes from 192.168.178.80: icmp_seq=1672 ttl=64 time=0.493 ms
64 bytes from 192.168.178.80: icmp_seq=1673 ttl=64 time=0.690 ms
Request timeout for icmp_seq 1674
Request timeout for icmp_seq 1675
Request timeout for icmp_seq 1676
Request timeout for icmp_seq 1677
Request timeout for icmp_seq 1678
36 bytes from dav3tc.fritz.box (192.168.178.29): Redirect Host(New addr: 192.168.178.80)
Vr HL TOS Len ID Flg off TTL Pro cks Src Dst
4 5 00 0054 f5fb 0 0000 40 01 9ede 192.168.178.45 192.168.178.80
Request timeout for icmp_seq 1679
36 bytes from dav3tc.fritz.box (192.168.178.29): Redirect Host(New addr: 192.168.178.80)
Vr HL TOS Len ID Flg off TTL Pro cks Src Dst
4 5 00 0054 a2db 0 0000 40 01 f1fe 192.168.178.45 192.168.178.80
Request timeout for icmp_seq 1680
36 bytes from dav3tc.fritz.box (192.168.178.29): Redirect Host(New addr: 192.168.178.80)
Vr HL TOS Len ID Flg off TTL Pro cks Src Dst
4 5 00 0054 41f4 0 0000 40 01 52e6 192.168.178.45 192.168.178.80
Una vez más revisé la configuración de Time Machine y no puedo ver dónde, cómo o por qué está interviniendo en el ping. Wi-Fi en ambas unidades están apagados.
Aquí hay un ping que va a otro Mac mini:
MBP:~ madivad$ ping 192.168.178.26
PING 192.168.178.26 (192.168.178.26): 56 data bytes
64 bytes from 192.168.178.26: icmp_seq=0 ttl=64 time=66.294 ms
64 bytes from 192.168.178.26: icmp_seq=1 ttl=64 time=2.006 ms
64 bytes from 192.168.178.26: icmp_seq=2 ttl=64 time=1.665 ms
64 bytes from 192.168.178.26: icmp_seq=3 ttl=64 time=20.826 ms
Por alguna razón, hacer ping a una Mac mini ( wwwelc
) desde mi MBP pasa por la máquina del tiempo cuando no se puede acceder a la Mac mini.
¿Algunas ideas?
Realmente no hay nada de qué preocuparse: lo que está viendo son redireccionamientos ICMP y no son un problema como tal.
El razonamiento detrás de lo que estás viendo es este:
Su MBP generalmente tiene la dirección MAC de wwwelc en su caché ARP. De manera similar, SWITCH1 y SWITCH2 saben en cuál de sus puertos está conectada la computadora con la dirección MAC de wwwelc. Esto significa que puede enviar paquetes IP directamente a la dirección MAC de wwwelc.
Cuando apague la Mac Mini y pase algún tiempo, la dirección MAC finalmente se borrará de los cachés en sus conmutadores y/o el caché ARP en el MBP.
Imagine que ya no está en el caché del conmutador. Esto significa que el conmutador no tiene otra opción que transmitir paquetes para esa dirección MAC a todos sus puertos. Esto significa que SWITCH1 enviará el paquete tanto a Time Capsule como a SWITCH2.
Time Capsule recibe el paquete y actúa como un enrutador. Intentará enrutar el paquete a su destino. Encuentra que el paquete en realidad está destinado a algo en la conexión ethernet por la que entró en la Time Capsule, es decir, no debe enrutarse con los puertos de conexión Wi-Fi o Internet.
Para esa situación, tenemos algo llamado redirecciones ICMP. Es común a muchos enrutadores de varios productores, por lo que no es específico de Time Capsule.
Time Capsule envía la redirección ICMP para ser "agradable". Le permite al remitente saber que recibió un paquete que podría haberlo enviado directamente al siguiente salto de la ruta sin involucrar a Time Capsule. Entonces le está haciendo saber que podría haber ahorrado un salto.
Es decir, se cumplen las siguientes condiciones:
El paquete entró en el mismo puerto desde el que se va a enrutar.
La red (subred) de la IP de origen es la misma red que el próximo salto (es decir, el remitente podría haberlo enviado directamente a ese próximo salto)
El paquete no está enrutado en origen (es decir, el remitente no indicó que se tomara una ruta específica)
Así que esa es la explicación de lo que estás viendo. Time Capsule recibe el paquete porque SWITCH o MBP no sabe a dónde enviar el paquete, por lo que lo transmite. La Time Capsule está tratando de ser amable, diciendo que el paquete podría haberse entregado de una manera más fácil. Y, por último, el destino wwwelc todavía está inactivo, por lo que, por supuesto, no obtendrá ninguna respuesta del destino.
klanomath
Thorbjorn Ravn Andersen