Supongamos que tengo acceso a un servidor SSH que admite túneles, y estoy en una PC que ejecuta * ubuntu, ¿cómo configuro un proxy SOCKS local que canaliza el tráfico a través de ese servidor SSH antes de llegar a Internet?
El ssh
binario que usa cuando se conecta a un servidor que ejecuta ssh admite la ejecución de un proxy SOCKS de fábrica, con el -D
indicador. Ejemplo:
ssh -D 1337 -f -C -q -N user@remote -p 22
-D 1337
le dice ssh
que inicie un servidor SOCKS en el puerto 1337 localmente.-f
bifurca el proceso en segundo plano.-C
Activa la compresión.-q
habilita el "Modo silencioso", ya que el propósito aquí es solo hacer un túnel, realmente no nos importa la salida de errores y demás.-N
dice ssh
que no se enviarán comandos (se -f
queja si no especificamos esto).-p
especifica qué puerto usar; obviamente, este valor predeterminado es 22, por lo que la declaración anterior no tiene sentido, pero se incluye para mayor claridad.Cuando su servidor SOCKS está en funcionamiento, simplemente debe asegurarse de que su aplicación (generalmente un navegador web) esté intentando conectarse al proxy SOCKS local, y no a Internet normal.
En Firefox 29 (explicado aquí como ejemplo), esto se logra yendo al menú (las tres salchichas en la parte superior derecha), seguido de Preferencias> Avanzado> Red> (Conexión)> Configuración ... - asegúrese de que solo ¡Completa el campo SOCKS! Como su proxy está en el mismo sistema, puede usar localhost
o 127.0.0.1
apuntar hacia cualquier puerto en el que lo haya configurado en el mismo sistema.
Si necesita que sus solicitudes de DNS también se tunelen (si no lo son, sus búsquedas de DNS revelarán qué sitios web está tratando de visitar), puede verificar en "DNS remoto" o también hacer esta configuración completa about:config
. En el último caso, ábralo y establezca estos valores:
network.proxy.socks : 127.0.0.1
network.proxy.socks_port : 1337
network.proxy.socks.remote_dns : true
network.proxy.socks_version : 5
network.proxy.type : 1
También puede necesitar esta configuración para excluir ciertos dominios o sitios de la tunelización:
network.proxy.no_proxies_on : localhost, 127.0.0.1, 192.168.0.0/24, .yourcompany.com
Esta respuesta fue escrita desde Francia, pero se canalizó a través de Suecia :)
-D
y-p
parte.ssh -D 1337 user@host