type
status
date
category
tags
slug
summary
password
AI summary
icon
💡
本人长期使用 Clash 或 Quantumult X 等软件,在通过 Tailscale 搭建好内网服务后,每次需要访问内网服务时都需要切换软件(Tailscale 客户端与 上述代理软件同一时间只能运行一个),很不方便。故考虑添加内网代理节点到代理软件并配置分流规则使得不再需要频繁切换软件。

部署 tailscale 容器

参考 Userspace networking mode (for containers) ,部署 tilscale 容器并暴露 socks5 端口。
检查是否监听 :1055 端口:
启动 tailscale 并完成登录:
登录成功后,测试 tilscale 容器暴露的 socks5 端口是否能正常使用:
 
但是这个 socks5 不带鉴权(用户名密码),为了稍显安全地暴露到公网,可以考虑部署一个带用户名/密码鉴权的 SOCKS5 代理,其 出站流量 转发给 tailscale 的不带鉴权 SOCKS5 服务。
 

部署 kechangdev/s2s 容器

 
以下示例会启动本容器,监听本机 45675 端口,用户名/密码均设置为 username / password,将流量转发给本机的无鉴权 SOCKS5 代理 127.0.0.1:1055 ,并限制目标网段为 100.64.0.0/10 (Tailscale内网网段)
变量名
默认值
说明
SOCKS5_USERNAME
username
入站 SOCKS5 鉴权使用的用户名
SOCKS5_PASSWORD
password
入站 SOCKS5 鉴权使用的密码
T_SOCKS5_HOST
127.0.0.1
出站 SOCKS5 的地址(例如 Tailscale 提供的 socks5)
T_SOCKS5_PORT
1055
出站 SOCKS5 的端口
INBOUND_PORT
45675
本容器对外暴露的 SOCKS5 端口(带用户名/密码鉴权)
VALID_CIDR
0.0.0.0/0
允许代理的目标网段
说明:
  • -network host 通常用于让容器与宿主机共享网络命名空间,方便连接到本机的 Tailscale SOCKS5。也可根据需要使用其他网络模式,只要容器能访问 T_SOCKS5_HOST:T_SOCKS5_PORT 即可。
  • 如果想修改监听端口,只需在启动时更改 INBOUND_PORT 并相应映射端口。
 
测试:
若能正确返回目标页面内容,则说明整个代理链路正常。
 

软件配置

以 Quantumult X 为例:
  • 配置 Socks5 节点:
    • 配置策略组:
      • 配置分流规则:
         
        好啦,你可以无感访问你的 tailscale 内网了:
        notion image
        notion image
        notion image

        提醒

        强烈建议使用 TLS/SSH 隧道 或其他方式加固安全。仅使用 SOCKS5 + 用户名/密码在公网暴露仍存在潜在风险(暴力穷举、抓包等)。
        一个自动化站点部署、管理与备份方案OpenWrt 上通过 Tailscale 实现内网穿透
        Loading...