4 votos

¿Cómo enrutar el tráfico de ssh server en mi equipo local?

Soy un estudiante en una universidad. En mi escuela, tenemos esta regla extraña que después de las 12 de la noche, hay una LAN interna de la Prohibición. Eso significa que soy capaz de conectarse a internet, el tráfico externo), mientras que sentado en mi habitación, pero no puedo acceder a la mayoría de los servidores internos (digamos B) a través de la LAN, excepto por un servidor (por decir Una). Puedo ssh a la máquina (a) y mesa de ping otros servidores internos (B) e incluso ssh para ellos.

Mi Universidad tiene su propio alojado espejos (B) para varias distribuciones (http://mirror.cse.iitk.ac.in). He configurado los gestores de paquetes para el uso de este espejo y durante el tiempo del día, funciona a la perfección y descargas de pasar la friolera de más de 10 MB/s (LAN), pero durante las noches cuando la LAN Prohibición está en la acción, tengo que usar otros Indios los Espejos de descarga/actualización de paquetes que es patéticamente lento en comparación con el anterior.

Lo que quiero lograr es escribir un script para enrutar el tráfico desde el servidor a mi máquina local, ya que Una puede tener acceso a el espejo (B) durante la LAN Prohibición de horas. He buscado en google pero no consiguió lo que quería hacer. En resumen, quiero configurar un proxy inverso como la cosa que hace que mi máquina local el acceso al espejo(B) por el enrutamiento del tráfico de A.

Es posible? Todavía soy un novato y aprendiendo cosas. Cualquier tipo de ayuda sería muy apreciada.

Gracias de antemano!

4voto

Pallav Agarwal Puntos 36

Vamos a cubrir todas las bases posibles.

Método 1

En primer lugar, por el espejo. mirror.cse.iitk.ac.in es un espejo, y tiene una dirección IP externa. Lo que significa que usted puede acceder con una dirección IP externa. En el momento de la escritura, esto se resuelve a 202.3.77.108. El uso que en su espejo archivo de configuración, y usted debe obtener velocidades tan buena como la de la LAN (en mi experiencia).

Método 2

Ahora, llegando al servidor (que asumo es webhome.cc.iitk.ac.in). El uso de un ssh tunnel. En resumen:

ssh -L8000:mirror.cse.iitk.ac.in:80 <username>@webhome.cc.iitk.ac.in

Mantener el anterior ssh que se ejecuta (se puede deamonize el comando con una combinación de N y -f). Ahora, en su archivo de configuración, en lugar de

http://mirror.cse.iitk.ac.in/

uso

http://localhost:8000/

Yo escribí un artículo en el puerto de reenvío cuando he aprendido sobre ella. Así que esto debería ser útil para entender cómo los anteriores obras.

Comentarios

Siguiente duda (desde mi experiencia) se trata de mantener ssh conectado en el fondo (volver a conectar si se desconecte). Buscar en la adición de KeepAlive, ServerAliveInterval parámetros .ssh/config archivo ;)

Editar

Me di cuenta de que en el comentario que dijo el reenvío de puertos es fuera de la cuestión, ya que no tiene acceso de root en el servidor. El comando anterior no requieren acceso de root en el servidor debido a varias razones.

  1. El puerto se asigna en el equipo (no en el servidor). es decir, finalmente se escucha en localhost:8000.
  2. Escuchando en los puertos que son mayores que 1024 (8000 en este caso) no de todos modos requieren acceso de root.

Notas

  1. Si este es https, tendría que ser reenviar las peticiones al puerto 443 de espejo.la cse.iitk.ac.en (vez de 80).

  2. La solicitud va como esto:

YOU --> localhost:8000 (your PC) --via-ssh-tunnel-> webhome (forwards it to mirror:80) --> mirror.cse.iitk.ac.in (and then the reverse)

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: