Puede ssh internamente, pero no externamente

Puede ssh internamente, pero no externamente

Tengo un enrutador/módem Netgear C6300 (versión de firmware 2.01.14) y estoy intentando con todas mis fuerzas conectarme externamente a mi raspberry pi. Aquí está mi configuración de reenvío de puertos: ingrese la descripción de la imagen aquí

Puedo hacer ssh internamente usando ssh 192.168.0.84, pero externamente en canyouseeme.com aparece "Error: no se pudo ver su servicio en el puerto (22). Mi sshd_config tiene la línea Port 22y las ListenAddresslíneas están comentadas. En otras palabras, no he tocado esto archivo. ¿Qué está pasando aquí?

Respuesta1

Me vienen a la mente varias cosas.

El reenvío en su captura de pantalla parece correcto. Podrías intentar configurarlo TCPen lugar de TCP/UDP, porque ssh es un protocolo TCP.

dyndns

¿Está seguro de que utiliza el nombre de host correcto actualizado dinámicamente o su dirección IP pública correcta? Para encontrar su dirección IP pública, abra una consola en Raspberry o SSH (internamente) y use curl icanhazip.com.

sshd_config

Asegúrese, en /etc/ssh/sshd_config, que sshd escuche la interfaz correcta, en caso de que tenga varias. Comente la línea ListenAddress a.b.c.dcon a #y reinicie el servicio ( /etc/init.d/sshd restarto systemctl restart sshd, según su distribución). Editar: lo siento, ya dijiste eso.

Editar:

enrutamiento

Si no puede obtener una salida de curl icanhazip.com, es probable que su Raspberry no sepa cómo acceder a Internet. Por lo tanto, no puede responder a su intento de conexión desde el exterior. Añade una ruta, por ejemplo con ip route add default via <your modem's IP address>e inténtalo de nuevo.

iptables

Asegúrese de que su firewall interno de Raspberry permita SSH desde direcciones externas. iptables -SLe dará una lista de reglas. Busque líneas como

-A INPUT -s 192.168.0.0/24 -p tcp -m tcp --dport 22 -j ACCEPT
# SSH only allowed from the internal network, if iptables policy INPUT is DROP

En ese caso, permita todo el tráfico entrante con iptables -P INPUT ACCEPTo iptables -I INPUT -p tcp --dport 22 -j ACCEPT.

DS-Lite (doble pila Lite)

Internamente, en su red doméstica, utiliza direcciones IPv4. En su ejemplo 192.168.0.x. Sin embargo, su ISP podría utilizar IPv6 en su red. El enrutador traduce sus direcciones IPv4 a IPv6. Esto generalmente resulta en la imposibilidad de conectarse a su red doméstica de forma remota.

Si curl icanhazip.comle proporcionó una dirección IPv6, por ejemplo 2001:a61::35:2, podría ser un indicador. Además, tal vez su C6300 muestre información al respecto. (Yo uso un AVM Fritz!Box 7360 y muestra explícitamente "Fritz!Box usa un túnel DS-Lite").

Para estar 100% seguro, llame a su ISP.

Editar:

En caso de que esté detrás de un túnel DS-Lite, le vienen a la mente las siguientes opciones para conectarse a casa desde el control remoto:

  • pídale a su proveedor/ISP que cambie su línea a una que no sea DS-Lite
  • Úselo autosshpara que la computadora de su hogar se conecte a otro host, por ejemplo, en el trabajo (pregúntele a su empleador antes), su servidor web, su VPS. Configure autosshde manera que cree un túnel inverso, por ejemplo . Luego puede enviar ssh a yourvps.com y volver a casa mediante ssh desde allí a través de .ssh -R 10000:localhost:22 [email protected]ssh -p 10000 user@localhost

Editar:

Específico para Netgear C6300

Parece haber un error en los firmwares hasta o hasta la versión de firmware 2.01.14 que hará que los puertos abiertos sean visibles solo si la opción "Responder al ping en el puerto WAN de Internet" en "Configuración avanzada" > "Configuración WAN" está activada.

Configuración WAN de Netgear C6300

información relacionada