Esta podría ser una pregunta simple, pero como he leído información contradictoria de varios recursos (¿qué? ¿Contradicciones en Internet?), Quería saber si hice todo lo que se suponía que debía hacer.
Entonces, quiero configurar una conexión SSH a mi RasPi para poder acceder a través de Internet.
- Comencé activando SSH en el Pi, ejecutando Raspbian, usando la
raspi-config
herramienta. - Luego, instalé el cliente no-ip.com en mi Pi para tener un nombre de host que apuntara a mi dirección IP dinámica.
- Busqué mi IP de LAN en mi frambuesa usando
ifconfig
- Finalmente, en la utilidad de configuración de mi enrutador, bajo el reenvío de puertos, habilité el reenvío del puerto 22 en TCP y UDP a la ip local de mi pi.
Después de esto, parece que no puedo enviar SSH a mi pi a través de Internet. Funciona cuando intento conectarme dentro de mi LAN usando mi IP local, pero no usando mi nombre de host o dirección IP de Internet. También intenté conectarme desde una ubicación diferente y nada funciona.
Mi pregunta: ¿Me faltan algunos pasos? ¿Hay archivos de configuración que debería editar en mi pi para que todo funcione?
iptables -L
en su Pi.Respuestas:
Si solo planea conectarse a su Raspberry Pi a través de SSH a través de Internet, probablemente ngrok.com pueda satisfacer su problema de la manera más cómoda.
Reenvía su (s) puerto (s) con algún tipo de túnel invertido e incluso puede ayudar a evitar los firewalls o las restricciones de su ISP. Debe registrarse (de forma gratuita) en el sitio para reenviar el tráfico TCP.
No estoy afiliado a este proyecto de ninguna manera; Simplemente lo usé para lograr la misma idea (en mi caso, reenviar un servidor OpenVPN) y hasta ahora no encontré ningún problema.
fuente
Parte de su problema podría ser que debido a que el Pi está utilizando una IP dinámica del DHCP en su enrutador, el reenvío de puertos que configuró no funciona, ya que la IP local del Pi ha cambiado.
La forma más sencilla de solucionar esto (al menos eso he visto) es configurar una IP estática. Es relativamente simple, siempre y cuando no te importe jugar en un archivo de configuración. Puedes leer un poco más en profundidad aquí y aquí . También explicaré la manera simple a continuación:
Conéctese a su Pi ya sea a través de SSH dentro de su red doméstica o mediante una pantalla, ya sea que funcione.
Tome un bolígrafo y un poco de papel, va a escribir información.
Ejecutar el comando
ifconfig
. Sé que ya lo ejecutó, pero esta vez necesitamos recopilar un poco más de información que su IP local. Esto revela la información de su enrutador, el bit que desea es después de eth0 (la conexión ethernet). . . .Escriba la siguiente información ...
Obviamente, su información será diferente de este tutorial, así que asegúrese de usar su información desde el
ifconfig
comando ejecutado en el Pi.Ahora corre
netstat -nr
oroute -n
. Nosotros necesitamos:Dirección 'Gateway' - 192.168.1.254 Dirección
'Destino' - 192.168.1.0
Ahora que tenemos esa información, podemos editar el archivo de interfaces para configurar la IP dinámica. Ejecutar
sudo nano /etc/network/interfaces
. Debería verse algo así:Cambia la linea:
a
Luego, directamente debajo de esta línea, ingrese lo siguiente ( Tenga en cuenta. Necesitará sus propias direcciones que reunimos anteriormente ). . . .
Básicamente, la parte de la dirección es lo que quieres que sea tu IP. Más alto es mejor, ya que hay menos posibilidades de conflictos de IP. netmask: la dirección de 'Máscara' que escribimos anteriormente.
red : la dirección IP del enrutador, esta es la dirección de 'Destino' que se encontró anteriormente. También puede tomar esto de su enrutador, debería decir en algún lado.
broadcast - La dirección 'Bcast' que escribimos anteriormente.
gateway : esta es la dirección de 'Gateway' que encontramos anteriormente.
Presione Ctrl+ Oy o Entero Yy luego Enter. Una vez que hayas hecho eso, presiona Ctrl+ X.
¡Corre
sudo reboot
y tu IP debería estar en su lugar! Vuelva a iniciar sesión y ejecute elifconfig
comando nuevamente, y debería verse así ahora:Luego configure su reenvío de puertos a su nueva IP estática, ¡y todo debería funcionar! ¡La mejor de las suertes!
fuente
Lo único que parece estar mal configurado es que SSH es un protocolo solo TCP, por lo que no necesita reenviar tráfico UDP en el puerto 22.
Ahora, por qué no parece funcionar es probablemente porque su enrutador no admite NAT loopback . Lo que significa es que las reglas NAT (como la de reenvío) no se aplican cuando el origen de la conexión proviene de su LAN interna. No todos los enrutadores tienen esta función activada. Por lo tanto, si su enrutador no es compatible con NAT loopback, no podrá conectarse a su RPi utilizando SSH cuando utilice el nombre de dominio no-ip.com y cuando lo haga desde su LAN .
Para probar si su configuración funciona, si tiene un teléfono inteligente con alguna conexión de datos (3G, LTE, etc.) y tiene un cliente ssh, intente conectarse a su RPi utilizando el plan de datos y no su conexión WiFi. Si no tiene un cliente ssh en él y se le permite hacer anclaje, entonces use su teléfono inteligente junto con una de su computadora desenchúfelo para su red local y utilice el enlace de anclaje.
fuente
Intente usar un nombre de dominio gratuito, por ejemplo, co.cc o similar, y freeDNS (también proporcionan una amplia gama de subdominios) para apuntar a su enrutador. Creo que también puede obtener un script de actualización en caso de que su enrutador tenga una IP dinámica.
Si eso no funciona, ¿quizás la configuración para el reenvío de puertos sea incorrecta? ¿Qué clase de router tienes?
fuente
Try using a free domain name...
Lo hizo, eso es lo que es el cliente sin IP. Es mucho más simple que tener que meterse con DNSing y enrutadores manuales.Tengo esta situación aquí en Finlandia: rpi está conectado a un enrutador wifi móvil, huawei e5776, y quiero conectarme a rpi con SSH a través de internet, sin éxito hasta ahora y finalmente sé que es mi proveedor de servicios de Internet que bloquea las conexiones bidireccionales para clientes de banda ancha móvil. El tráfico bidireccional para ellos es un servicio adicional (que debe pagar) llamado puerta abierta por mi ISP. Así que dirígete a tu propio sitio de ISP para ver si ese es el caso.
fuente
Slubbix señaló un posible problema de que la dirección IP local de Raspberry Pi no es fija. Esto haría que el puerto hacia adelante en su enrutador no sea confiable. Por defecto, la Raspberry Pi está configurada para usar DHCP. Esto significa que la dirección IP la proporciona el enrutador. Esta IP también es por defecto no fija.
Slubbix ya ha indicado una solución a este problema : hacer que la IP de Raspberry Pi sea fija.
En mi opinión, esto tiene dos desventajas: no hay una lista global de IP en su red que se pueda mantener fácilmente y no puede usar su Raspberry Pi en otra red (IP ya en uso o submáscara diferente).
Por lo tanto, propongo hacer lo siguiente: configurar su enrutador para asignar una IP fija a la dirección MAC de su Raspberry Pi. La dirección MAC se puede encontrar usando el comando
ifconfig
fuente
La dirección IP local de su Raspberry Pi no es fija, a menos que esté utilizando un adaptador inalámbrico para conectarse, que mantendrá su dirección IP. Si desea usar SSH para el RPI, puede seguir estos pasos:
Encontré estos pasos desde aquí y funcionaron para mí.
Aquí hay otra forma de usar SSH:
Encontré estas instrucciones desde aquí
fuente
Una cosa que noté para mi Internet es que cuando reenvié mi servidor web e intenté conectarme a él usando mi IP pública, diría que no estaba disponible, pero cuando me conecto a él en mi teléfono o en la red de mi escuela Puedo conectarme a él, también una cosa que puedes intentar hacer es ir a google y escribir "IP" en la barra de búsqueda, copiar la ip que te da y luego ir a google translate y pegar tu ip, y luego haga clic en la dirección IP azul en la ventana derecha, y eso debería mostrarle si ha reenviado exitosamente su servidor web.
fuente
Para permitir el tráfico entrante en el puerto SSH predeterminado (22), puede decirle a iptables que permita que entre todo el tráfico TCP en ese puerto.
Volviendo a la lista anterior, puede ver que esto le dice a iptables:
-A INPUT
) para que observemos el tráfico entrante-p tcp
).--dport ssh
).-j ACCEPT
).Esperemos que esto funcione para usted también es posible que desee agregar los puertos FTP que son 20-21, sólo cambia el
ssh
a20
y21
.fuente
No estoy seguro de si esta pregunta necesita respuestas adicionales, pero es bastante simple.
Instale OpenSSH o habilítelo desde
raspi-config
Ir a la página de inicio de su enrutador / firewall en mi caso 192.168.1.1
Busque el reenvío de puertos o servidores virtuales y agregue algo como lo siguiente:
Inicio del puerto externo: 1234 Fin del puerto externo: 1234
Puerto interno de inicio y fin 22.
La IP del servidor es la IP estática de su RPi en mi caso 192.168.1.50
Una vez que esté todo configurado en el lado del enrutador, tome nota de su IP WAN buscando su IP en Google.
Ahora debería poder SSH a la pi a través de Internet. En mi caso, estoy usando un Chromebook y el complemento de shell seguro. Escribo el nombre de usuario en mi caso
pi@mywanip
y el puerto 1234.Básicamente, la regla del firewall en el paso 3 reenvía todo el tráfico en el puerto 1234 de IP de WAN al puerto 22 de IP de LAN interna.
fuente
Me costó mucho configurar SSH a través de Internet hasta que encontré este método simple:
http://raspctl.com
Simplemente registre y copie y pegue los comandos. Es posible que deba editar un archivo de configuración, pero eso es todo. Lo probé hoy y funciona de maravilla. También lo probé con diferentes aplicaciones de Android SSH.
fuente