Ciertos casos de uso requieren que proxy de tráfico en los programas que no soportan de forma nativa proxies. En el blog anterior se explicaba cómo hacerlo en Windows, pero también hay muchos casos de uso de proxies en Linux o incluso en contenedores Docker para una mayor flexibilidad.
En esta entrada del blog, vamos a discutir cómo utilizar proxies para contenedores Docker utilizando el contenedor Docker xjasonlyu/tun2socks.
tun2socks es una herramienta de túnel de red ligera y portátil que le permite enrutar el tráfico a través de un servidor proxy. Está escrito en Go y está disponible como un ejecutable independiente o como un contenedor Docker.
En esta guía, me centraré en cómo usarlo con Docker, para que luego puedas conectar cualquier otro contenedor Docker a él y hacer que use proxies.
En primer lugar, tenemos que hacer un contenedor Docker inicial que hará el proxy.
docker run -d --name tun2socks \
-e EXTRA_COMMANDS='echo "nameserver 1.1.1.1" > /etc/resolv.conf;ip rule add iif lo ipproto udp dport 53 lookup main;' \
-e PROXY=http://<user>:<pass>@rp.proxyscrape.com:6060 \
-v '/dev/net/tun:/dev/net/tun' --cap-add=NET_ADMIN \
xjasonlyu/tun2socks
En este ejemplo, estoy usando proxies residenciales Proxyscrape , pero también puedes usar proxies premium o cualquier otro proxy.
Ahora que hemos creado el contenedor que hace el proxying, podemos usar cualquier contenedor que queramos para usar la red de este contenedor simplemente añadiendo la bandera --network=container:tun2socks.
Para probar si todo funciona correctamente, puedes utilizar un contenedor de prueba que he construido para devolver datos de localización IPinfo.
docker run --rm --network=contenedor:tun2socks hibenji/checkip
Como se puede ver, ahora somos capaces de proxy casi cualquier cosa a través de proxies, incluso cuando no está soportado de forma nativa.
Por supuesto, puede utilizar proxies de rotación al crear el contenedor inicial, pero también puede hacer múltiples contenedores tun2socks, todos con sesiones pegajosas si eso es necesario también.
Este enfoque del proxy en Docker abre un mundo de posibilidades. Ahora puede utilizar proxies junto con prácticamente cualquier contenedor Docker, incluso aquellos sin soporte de proxy integrado. Esto puede mejorar las capacidades de tus aplicaciones en contenedores, permitiéndote realizar tareas que podrían haber sido difíciles o imposibles sin este nivel de control de red.
Gracias por leer, ¡y espero que haya aprendido algo!
Este artículo ha sido escrito por Benji, usuario de ProxyScrape .