Ejecute un servidor proxy local que envíe tráfico a la interfaz tun0

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 privoxy

Este 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:8118

Este 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 privoxy

Paso 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 addr

Paso 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 1

Esta 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 100

Estos 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 socat

Paso 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=1080

Reemplazardestinationyportcon 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 redsocks

Paso 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 redsocks

Paso 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 12345

Este 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.

Related Posts