Enrutamiento de todo el tráfico a través de socks proxy usando ssh -D


9

¿Es alguna manera fácil de enrutar todo el tráfico a través de un proxy ssh con -D?

Puedo configurar aplicaciones específicas individuales para hacer esto, pero me gustaría una configuración que enrute todo el tráfico en la máquina. ¡Gracias por tu ayuda!


Olvidé decir que estaba en Linux tan idealmente, algo por lo que puedo enrutar usando iptables.
grm

Respuestas:


10

En Linux:

  1. iptables -t nat -A SALIDA! -d 127.0.0.0/8 -j REDIRECT --to 1081
  2. Ejecute el programa que escucha 1081, recupera la dirección de destino real, no redirigida, negocia con el servidor SOCKS y los relés.

He escrito dicho programa para uso privado en Perl (calidad de prototipo) y escribo una versión mejor en C. Todavía no se ha publicado.

Actualización: ahora publicada: http://github.com/vi/socksredirect/ Use prototype.pl. Envíame un aviso si estás interesado en el desarrollo de una mejor versión.

La actualización 2 creó una versión un poco mejor: http://github.com/vi/tcpsocks y un parche para Socat 2: http://github.com/vi/socksredirect/blob/master/socat-2.0.0- b3-REDIRECT.patch

PD: La mayor parte de mi tráfico (y a veces el de algunos vecinos) ahora pasa por tcpsocks-> ssh.


Muy interesante proyecto Vi. ¡Gracias! Voy a echar un vistazo a esto.
grm

Probablemente debería usar más reglas de iptables para seleccionar qué tráfico desea que se socksified. Uso "iptables -t nat -A OUTPUT -j QQQ", luego "iptables -t nat -A QQQ <checks> -j RETURN" y finalmente "iptables -t nat -A QQQ -p tcp -j REDIRECT - -a 1234 ".
Vi.

¡Gracias! Me preguntaba si esto era factible, estaba en mi larga lista de ideas de proyectos para intentar alguna vez.
Tobu

@Tobu, he implementado esto más: ahora hay un parche Socat ( github.com/vi/socksredirect/blob/master/… ) para esto y también un programa tcpsocks liviano ( github.com/vi/tcpsocks )
Vi .

1
@Tanmay, con un dispositivo tun verás solo paquetes TCP y sería difícil decodificarlos en una secuencia de bytes (necesitarías algo así slirp). con REDIRECT o TPROXY solo use usual recvque le da datos decodificados sin encabezados TCP.
Vi.


2

Quizás deberías considerar configurar VPN en su lugar.


¿No requeriría eso más acceso en el lado de la puerta de enlace?
grm

Tengo una configuración de servidor VPN (poptop) en casa en Ubuntu. Y en el trabajo solo uso el cliente VPN incorporado en Windows para conectarme a él. Sin molestar a mi administrador de red ni nada.
Espennilsen

1

No creo que haya ninguna forma de hacerlo, pero tal vez puedas probar programas como FreeCap (windows), SocksCap (windows) o proxychains (linux). Estos programas pueden ayudarte un poco.


0

Depende de qué sistema operativo esté utilizando. Si está en MacOS, hay configuraciones de Proxy globales que deberían ser utilizadas por todas las Aplicaciones, a pesar de que hay algunas que no las cumplen (Firefox, por ejemplo).


Con MacOS en particular, se debe verificar la confianza en la configuración de proxy global.
chiggsy

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.