Puedo usar la computadora A de mi casa para conectarme por SSH a un servidor B donde el acceso a la red externa está bloqueado. En otras palabras, todas las solicitudes a B desde Internet arrojan un error: la red es inalcanzable . ¿Puedo redirigir todas estas solicitudes para que pasen por la computadora A que tiene acceso ilimitado a Internet?
El servidor B es un servidor que aloja uno de mi sitio web. Quiero descargar archivos para instalar algún software. Pero la conexión está bloqueada. Yo era capaz de transferir archivos, pero era complicado debido a las versiones de software son diferentes en A y B , por lo que las dependencias donde diferentes y que requieren diferentes archivos en un y B .
Busqué en Internet y parece que necesito un túnel inverso. Pero solo encontré soluciones donde se redirige un puerto . Pero no es lo que necesito ya que no quiero que B acceda a A sino a Internet.
fuente
Respuestas:
Puede ejecutar un proxy en la computadora A a la que se conectaría la computadora B para acceder a Internet a través de la computadora A.
Algo como esto
Instale un proxy como squid en A que escucha en el puerto 3128, y luego puede enviar ssh al servidor con esto:
ssh -L 3128:127.0.0.1:3128 user@B
Eso permitirá que B acceda a Internet a través de A
fuente
Simplemente agregue algunos pasos más y claros a las respuestas de @Lawrence y @ SpiRail.
Realice la configuración de la siguiente manera:
Configuración en el host A:
yum install squid
http_access deny all
luego agregahttp_access allow all
/etc/squid/squid.conf/etc/squid/squid.conf
siguiente manera:Configuración en el host B:
source /etc/environment
Ahora nuestra configuración está completa.
Crear un túnel SSH con reenvío de puerto remoto
Ejecute el siguiente comando SSH desde el host A
ssh -R 3129:localhost:3128 user@HostB
Si desea hacer un túnel SSH persistente, puede usar autossh de la siguiente manera:
autossh -M 20000 -f -NT -R 3129:localhost:3128 user@HostB
Para que funcione el comando autossh anterior, debe tener configuradas las claves SSH de HostA a HostB
Comprobando internet:
wget https://google.com
Diagrama de flujo de tráfico :
fuente
La respuesta de @Lawrence fue lo suficientemente buena para que yo lo entendiera todo. Pero aquí están los pasos más detallados que utilicé.
Utilicé esto para usar mi dongle 4g de computadoras portátiles para enrutar Internet a una frambuesa pi con una conexión de línea fija a un enrutador wifi.
Si su host es un mac: instale squidman http://squidman.net/squidman/
(no solo calamar genérico, tuve demasiados problemas para construirlo) La configuración predeterminada me pareció lo suficientemente buena.
conectarse a 4g conectarse a wifi: configure una ip estática en su wifi y elimine la dirección de la puerta de enlace (a menos que esté haciendo cosas avanzadas) de lo contrario obtendrá dos rutas predeterminadas y es muy molesto. - asegúrese de que su enrutador wifi no esté usando el mismo rango 192.168.xy (configure una "x" diferente en este caso)
En el PI
con visudo agregue el texto:
Ahora wget funcionará y también sudo apt-get para que pueda instalar paquetes.
Si quieres git también está aquí: /programming/128035/how-do-i-pull-from-a-git-repository-through-an-http-proxy
fuente
visudo
aquí? ¿Dónde agregas el texto? (No puedo usarsudo
en mi alojamiento web)