Enrutar el tráfico de aplicaciones a través de una interfaz de red específica, comotun0, es esencial cuando se trata de VPN, pruebas de penetración o configuraciones centradas en la privacidad. Este proceso garantiza que todos los datos del servidor proxy se transmitan a través del túnel deseado, mejorando la seguridad y la segmentación de la red.
Método 1: uso de Privoxy e iptables para proxy transparente
Paso 1:Instale Privoxy, un proxy web liviano sin almacenamiento en caché, utilizando el administrador de paquetes de su sistema. En sistemas basados en Debian, ejecute:
sudo apt update
sudo apt install privoxyEste comando descarga e instala Privoxy, preparando su sistema para la configuración del proxy.
Paso 2:Edite el archivo de configuración de Privoxy, generalmente ubicado en/etc/privoxy/config. Configure la dirección de escucha en su IP local y el puerto deseado (por ejemplo, 8118):
listen-address 127.0.0.1:8118Este cambio garantiza que Privoxy escuche las conexiones solo desde su máquina local, lo que reduce la exposición a amenazas externas.
Paso 3:Reinicie Privoxy para aplicar los cambios:
sudo systemctl restart privoxyPaso 4:Usariptablespara marcar y enrutar el tráfico destinado al proxy a través detun0. Primero, identifique el nombre de la interfaz de red para su túnel VPN (comúnmentetun0) ejecutando:
ip addrPaso 5:Configure una regla de iptables para marcar paquetes de Privoxy para enrutarlos a través detun0:
sudo iptables -t mangle -A OUTPUT -p tcp --sport 8118 -j MARK --set-mark 1Esta regla etiqueta los paquetes salientes del puerto de Privoxy con una marca para enrutamiento especial.
Paso 6:Agregue una regla de enrutamiento para que los paquetes marcados utilicen latun0interfaz:
sudo ip rule add fwmark 1 table 100
sudo ip route add default dev tun0 table 100Estos comandos dirigen todos los paquetes marcados para que utilicen la tabla de enrutamiento personalizada, enviándolos a través detun0.
Paso 7:Configura tus aplicaciones o navegadores para usar127.0.0.1:8118como proxy HTTP/HTTPS. Este cambio fuerza su tráfico a través del proxy Privoxy y, por extensión, el túnel VPN.
Método 2: usar socat para el reenvío de proxy simple
Paso 1:Instale socat, una utilidad de línea de comandos para la transferencia de datos entre dos ubicaciones, con:
sudo apt update
sudo apt install socatPaso 2:Reenviar el tráfico de proxy local a un servidor remoto o a través detun0ejecutando:
socat TCP4-LISTEN:8888,fork SOCKS4A:127.0.0.1:destination:port,socksport=1080Reemplazardestinationyportcon los detalles de su servidor de destino. Si su proxy SOCKS está obligado atun0, todo el tráfico reenviado utilizará esa interfaz.
Paso 3:Establezca la configuración de proxy de su aplicación en127.0.0.1:8888para que socat maneje el tráfico y lo enrute según la configuración.
Método 3: uso de Redsocks para proxy transparente
Paso 1:Instale redsocks, una herramienta que redirige las conexiones TCP a un SOCKS o proxy HTTP, con:
sudo apt update
sudo apt install redsocksPaso 2:Configurar/etc/redsocks.confpara especificar la configuración del proxy local y garantizar latun0La interfaz se utiliza para conexiones salientes.
base {
log_debug = on;
log_info = on;
daemon = on;
redirector = iptables;
}
redsocks {
local_ip = 127.0.0.1;
local_port = 12345;
ip = 127.0.0.1;
port = 1080;
type = socks5;
}Paso 3:Iniciar calcetines rojos:
sudo systemctl start redsocksPaso 4:Utilice iptables para redirigir el tráfico deseado a redsocks:
sudo iptables -t nat -A OUTPUT -p tcp -m owner ! --uid-owner root -j REDIRECT --to-ports 12345Este comando redirige todo el tráfico TCP no raíz al proxy redsocks, que luego lo enruta a través del proxy SOCKS a través detun0.
Paso 5:Verifique que el tráfico se enrute correctamente a través detun0comprobando su IP pública o utilizando herramientas de monitoreo de red.
Enrutar el tráfico del servidor proxy local a través deltun0La interfaz optimiza la privacidad y la segmentación de la red. Revise periódicamente sus iptables y reglas de enrutamiento para mantener un funcionamiento seguro y consistente.















