¿Cómo ssh en la LAN doméstica detrás del ISP NAT (sin dirección IP pública)?

7

Mi empresa de administración de propiedades proporciona acceso gratuito a internet. Todos los apartamentos en muchos edificios están detrás de algunos NAT comunes, por lo que ninguno de nosotros tiene nuestras propias direcciones IP públicas. Por lo tanto, servicios como dyndns.org no funcionan, al menos no que yo pueda entender. Todo lo que quiero hacer es poder conectarme a una máquina en la LAN de mi casa (que está detrás de 2 niveles de NAT, uno en el ISP que no controlo y otro en mi enrutador que sí controlo). Puedo configurar el reenvío de puertos y demás en mi enrutador, no hay problema. Mi sospecha es que alguna máquina en mi LAN ( maquina 1 ) tiene que asomarse a una máquina externa ( maquina 2 ) con una IP pública para establecer un túnel SSH, entonces puedo hacer un túnel desde otras máquinas ( maquina 3 ) a través de la máquina 2 a la máquina 1.

Mis preguntas son:

  • ¿Es mi sospecha verdadera, o hay algún otro enfoque?
  • Si tengo que hacer un túnel hacia alguna otra casilla, ¿hay servidores proxy ssh públicos o similares disponibles, o tengo que molestar a alguien con una IP pública para que me permita hacer un túnel a través de su máquina?
Matt J
fuente

Respuestas:

4

Me gustaría aclarar la respuesta de Brian sobre Hamachi , con un enfoque de Linux.

Primero instálalo:

wget https://secure.logmein.com/labs/logmein-hamachi_2.0.1.13-1_i386.deb
sudo aptitude install lsb
sudo dpkg -i logmein-hamachi_2.0.1.13-1_i386.deb 

Entonces ve a la página de hamachi y cree una nueva red de mash, recuerde el "número de red" ya que el inicio de sesión lo necesita.

Volver a la línea de comando

sudo hamachi login
sudo hamachi set-nick $HOSTNAME
sudo hamachi do-join XXX-XXX-XXX

Luego, vuelva a la página web y permita que los clientes estén en esta red. (tal vez necesite tener el cliente para iniciar sesión nuevamente)

A continuación, compruebe qué PC está en la red:

sudo hamachi list

¡Ahora puede tomar ese número de IP y ssh directamente sin importar si hay un NAT en el camino!

/Que te diviertas

Johan
fuente
¿Esto requiere un usuario en ambos extremos?
Thufir
5

Usted puede de forma remota acceder al shell SSH a su computadora sin IP Public usando una computadora de escritorio o simplemente un teléfono inteligente (por ejemplo, Android) instalando robotito en su computadora que desea acceder a SSH de forma remota.

  • Esto le permitirá acceder a SSH utilizando las aplicaciones de cliente de Google Talk en cualquier lugar.
  • No hay necesidad de una dirección IP pública o configuración especial.
  • Es gratis y de código abierto, ya no paga ningún servicio de aplicación.

Hice un script (probado en mi sistema operativo raspbian en Raspberry Pi) para que pueda instalar fácilmente robotito en Raspberry Pi, Debian o Ubuntu Box (distribución de paquetes debian). Estos son los pasos para obtener su caja de Linux remotable:

  1. Abra Shell Command o puede llamarlo Terminal, vaya a su carpeta de inicio, descargue el script de instalación mediante el comando:

    $wget https://opengateway.googlecode.com/files/robotito

  2. después de eso ejecutando el script ingresando comando

    $sudo ./robotito

  3. y luego puede editar el archivo credentials.rb de la carpeta config si robotito usa su cuenta de gtalk y guárdelo presionando ctrl + x e y. El predeterminado es usar el editor nano.

  4. ejecutando el robotito desde la carpeta robotito por comando

    $cd robotito

    $./jabbershd start

  5. Ahora que ya está hecho, puede usar ssh desde cualquier cliente de Google Talk, no olvide agregar la cuenta de robotito gtalk a su cuenta de Google Talk y pruébelo para chatear entre sí antes de usar la cuenta.

Rolly Maulana Awangga
fuente
1
Probablemente sea útil tener en cuenta que esto funciona con el google talk basado en jabber heredado, en lugar de hangouts: tengo diferentes grupos de amigos en ambos.
Journeyman Geek
2

¿Has mirado un servicio como Hamachi? ¿Que actúa como una especie de VPN? Dado que los clientes se comunican con sus servidores, no debería importar, habrá una conexión abierta con la computadora de su hogar ...

Brian
fuente
Creo que una VPN sería una excelente solución para este problema. Hamachi es una SSL VPN, por lo que no debería necesitar ninguna configuración especial en el lado NAT. Iría con esto o simplemente le pediría al administrador de la red que le envíe un puerto para usted.
qroberts
0

Tiene razón, sin la ayuda de su proveedor, no hay manera de conectarse directamente a su red. Puede valer la pena hablar con ellos sin embargo.

Si eso falla, tendrás que, como lo pones, empujar y luego hacer un túnel hacia atrás. No tengo conocimiento de ningún servicio gratuito como ese y me preocuparía las implicaciones de seguridad de usar alguno.

Cry Havok
fuente
0

Para raspbmc: después de descargar el script y ejecutarlo

sudo apt-get install ruby1.8 rubygems bundler
cd robotito-master
bundle install
./jabbershd run (to see it connect)

Una nota: debe configurar la cuenta de Google para que acepte aplicaciones menos seguras.

mstbone
fuente