Logo Neurocoda

Tailscale expone el puerto SOCKS5 para software de proxy

Neurocoda
Neurocoda

💡 He estado usando software como Clash o Quantumult X durante mucho tiempo. Después de configurar servicios de red interna a través de Tailscale, cada vez que necesito acceder a los servicios de la red interna, tengo que cambiar de software (el cliente de Tailscale y el software proxy mencionado no pueden ejecutarse al mismo tiempo), lo cual es muy incómodo. Por lo tanto, considero agregar un nodo proxy de red interna al software proxy y configurar reglas de división para no tener que cambiar de software con frecuencia.

Implementar el contenedor Tailscale

Consulte **Modo de red en espacio de usuario (para contenedores)** , implemente el contenedor tailscale y exponga el puerto socks5.

Terminal window
docker run -d \\
--name tailscale-socks5 \\
--restart=unless-stopped \\
--cap-add=NET_ADMIN \\
-e TS_USERSPACE=true \\
-e TS_SOCKS5_SERVER=0.0.0.0:1055 \\
-p 127.0.0.1:1055:1055 \\
-v /var/www/tailscale-socks5:/var/lib/tailscale \\
tailscale/tailscale:latest tailscaled --tun=userspace-networking --socks5-server=0.0.0.0:1055

Verifique si está escuchando en el puerto :1055:

Terminal window
docker exec -it tailscale-socks5 ss -tuln

Inicie tailscale y complete el inicio de sesión:

Terminal window
docker exec -it tailscale-socks5 tailscale up --accept-dns=false --accept-routes

Después de iniciar sesión correctamente, pruebe si el puerto socks5 expuesto por el contenedor tailscale funciona correctamente:

Terminal window
curl --socks5 127.0.0.1:1055 <http://tailscale> 内网服务

Pero este socks5 no tiene autenticación (nombre de usuario y contraseña). Para exponerlo de manera algo más segura a la red pública, considere implementar un proxy SOCKS5 con autenticación de nombre de usuario/contraseña, cuyo tráfico saliente se reenvíe al servicio SOCKS5 sin autenticación de tailscale.

Implementar el contenedor kechangdev/s2s

Proyecto: https://github.com/kechangdev/s2s

El siguiente ejemplo iniciará este contenedor, escuchará en el puerto local 45675, el nombre de usuario/contraseña se establecerá en username / password, y reenviará el tráfico al proxy SOCKS5 sin autenticación local 127.0.0.1:1055.

Terminal window
docker run -d --network host \\
--name tailscale-s2s \\
-e SOCKS5_USERNAME="username" \\
-e SOCKS5_PASSWORD="password" \\
-e TS_SOCKS5_HOST="127.0.0.1" \\
-e TS_SOCKS5_PORT="1055" \\
-e INBOUND_PORT="45675" \\
kechangdev/s2s:latest
VariablePredeterminadoDescripción
SOCKS5_USERNAMEusernameNombre de usuario para autenticación SOCKS5 de entrada
SOCKS5_PASSWORDpasswordContraseña para autenticación SOCKS5 de entrada
TS_SOCKS5_HOST127.0.0.1Dirección SOCKS5 de salida (por ejemplo, el socks5 proporcionado por Tailscale)
TS_SOCKS5_PORT1055Puerto SOCKS5 de salida
INBOUND_PORT45675Puerto SOCKS5 expuesto por este contenedor (con autenticación de nombre de usuario/contraseña)

Nota:

  • -network host se usa generalmente para que el contenedor comparta el espacio de nombres de red con el host, facilitando la conexión al Tailscale SOCKS5 local. También se pueden usar otros modos de red según sea necesario, siempre que el contenedor pueda acceder a TS_SOCKS5_HOST:TS_SOCKS5_PORT.
  • Si desea modificar el puerto de escucha, simplemente cambie INBOUND_PORT al iniciar y asigne el puerto correspondientemente.

Prueba:

Terminal window
curl -v --socks5 127.0.0.1:45675 -U username:password <http://tailscale> 内网服务

Si puede devolver correctamente el contenido de la página de destino, significa que toda la cadena de proxy funciona correctamente.

Configuración del software

Con Quantumult X como ejemplo:

  • Configurar el nodo Socks5:
Terminal window
socks5=IP:Port, username=XXX, password=XXX, fast-open=false, udp-relay=false, server_check_url=http://tailscale 内网服务, tag=tailscale
  • Configurar grupo de estrategias:
Terminal window
static=Tailscale, tailscale
  • Configurar reglas de división:
Terminal window
; Tailscale
ip-cidr, 100.64.0.0/10, Tailscale

¡Bien! Ahora puedes acceder a tu red interna de Tailscale sin problemas:

|700

Advertencia

Se recomienda encarecidamente usar túneles TLS/SSH o Fail2Ban u otros métodos para reforzar la seguridad. Exponer solo SOCKS5 + nombre de usuario/contraseña en la red pública todavía conlleva riesgos potenciales (fuerza bruta, captura de paquetes, etc.).

Title: Tailscale expone el puerto SOCKS5 para software de proxy Author: Neurocoda Created at: 2026-07-03 12:52:31 Link: https://neurocoda.com/es/posts/tailscale-expose-socks5-port-for-proxy-software-es/ License: This work is licensed under CC BY-ND 4.0.

Comments