137 votos

¿Qué causas la ' conexión rechazada ' sobrecargada?

Esta es una Pregunta canónica sobre conexión rechazada

Vemos un montón de preguntas en el sentido de

Cuando intento conectar a un sistema aparece un mensaje de

Conexión rechazada

¿Por qué es esto?

151voto

katit Puntos 130

El mensaje "Connection Refused" tiene dos causas principales:

  1. Nada se escucha en la IP:Puerto en el que está intentando conectarse.
  2. El puerto está bloqueado por un firewall.

No hay ningún proceso de escucha.

Este es por lejos la causa más común para el mensaje. Para determinar si este es el problema, en el sistema remoto ejecutar netstat o ss1 por ejemplo, si usted está esperando un proceso de escucha en el puerto 22222

sudo netstat -tnlp | grep :22222

o

ss -tnlp | grep | grep :22222

Si no se escucha lo anteriormente expuesto se va a producir ningún resultado. Si usted ve alguna salida, a continuación, confirme que es lo que esperas, a continuación, consulte la sección de firewall a continuación.

Si usted no tiene acceso al sistema remoto y desea confirmar el problema antes de la presentación de informes a los correspondientes administradores puede utilizar tcpdump (wireshark o similar).

Cuando se intenta una conexión a la IP:puerto en el que nada está a la escucha, la respuesta desde el sistema remoto a la inicial paquete SYN es un paquete con las banderas RST,ACK conjunto. De esta manera se cierra la conexión y hace que la Conexión se Negó mensaje por ej.

$ sudo tcpdump -n host 192.0.2.1 y puerto 22222
tcpdump: resultados detallados suprimida, utilice la opción-v-vv para decodificar el protocolo completo
escucha en enp14s0, enlace de tipo EN10MB (Ethernet), el tamaño de la captura 262144 bytes

12:31:27.013976 IP 192.0.2.2.34390 > 192.0.2.1.22222: Banderas [S], seq 1207858804, ganar 29200, opciones [mss de 1460,sackOK,TS val 15306344 p 0,nop,wscale 7], longitud 0

12:31:27.020162 IP 192.0.2.1.22222 > 192.0.2.2.34390: Banderas [R.], seq 0, ack 1207858805, ganar 0, longitud 0

Tenga en cuenta que tcpdump utiliza una . para representar el ACK de la flag.

El puerto está bloqueado por un firewall

Si el puerto está bloqueado por un firewall y éste ha sido configurado para responder con icmp-port-unreachable esto también hará una conexión rechazada mensaje. Una vez más se puede ver con tcpdump (o similar)

$ sudo tcpdump -n icmp
tcpdump: resultados detallados suprimida, utilice la opción-v-vv para decodificar el protocolo completo

escucha en enp14s0, enlace de tipo EN10MB (Ethernet), el tamaño de la captura 262144 bytes 13:03:24.149897 IP 192.0.2.1 > 192.0.2.2: ICMP 192.0.2.1 tcp puerto 22222 inalcanzable, longitud 68

Tenga en cuenta que esto también nos dice que el bloqueo de firewall.


Así que ahora que usted sabe lo que está causando la Conexión rechazada mensaje que debe tomar la acción apropiada por ejemplo, en contacto con el administrador de firewall o investigar la razón de que el proceso no se escucha.

1 Otras herramientas probable disponible.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: