使用tailscale内网穿透回家及异地组网

通过部署tailscale,可内网穿透到家中,使用家里的mosdns分流。国内流量走客户端直连,国外流量(fakeip)通过tailscale回家后再通过家里的singbox走代理。适用于无公网ip无法使用hy2回家的小朋友~

pve中使用vm虚拟机(推荐debian12)部署tailscale

1
curl -fsSL https://tailscale.com/install.sh | sh

开启流量转发

  • 使用nano编辑/etc/sysctl.conf文件
1
sudo nano /etc/sysctl.conf
  • 找到net.ipv4.ip_forward=1去掉#注释,修改为
1
net.ipv4.ip_forward=1
  • 使修改生效
1
sysctl --system

先关闭tailscale

1
tailscale down

加参数启动tailscale

自行修改示例中的内网ip段和fakeip段,添加后tailscale将允许上述流量通过

1
tailscale up --advertise-routes=dc00::/64,10.0.0.0/24,f2b0::/18,28.0.0.0/8,100.100.200.0/24,91.108.56.0/22,91.108.4.0/22,91.108.8.0/22,91.108.16.0/22,91.108.12.0/22,149.154.160.0/20,91.105.192.0/23,91.108.20.0/22,185.76.151.0/24,2001:67c:4e8::/48,2001:b28:f23f::/48,2a0a:f280::/32,2001:b28:f23c::/48,2001:b28:f23d::/48 --advertise-exit-node --accept-routes

点击登录链接登录ts账号

登录tailscale官网,编辑刚才新建的节点点击“Edit route settings…”,点击“Approve all”选中所有路由的IP,勾选“Use as exit node”,点击“Save保存

官网地址:https://login.tailscale.com/admin/machines

添加mosdns为DNS服务器

  • 修改Global nameservers为mosdns的内网ip

手机等设备登录tailscale后,勾选刚才新建的tailscale服务为“exit node”,并打开 “Allow Local Network Access”


按需开启Enbale选项(开启后ts将路由所有流量,分流失效,图示为未开启状态)

通过在vps中部署tailscale,使得vps通过tailscale直接通过局域网IP访问家中服务,配合vps中部署的反代使用效果极佳

  • 可以通过在tailscale up时候添加key的方式加入新的设备,无需点击登录连接
  • 先如图添加一个key,保存下来
    tailscale-1-8.png

由于需要在vps中部署ts,不能配置Global nameservers,所以上述分流回家方案与这个方案不可兼得

停止刚才的tailscale并重新启动

1
tailscale down
  • 重新启动,仅代理局域网IP段,可以加入认证key
1
tailscale up --auth-key=你的key --advertise-routes=10.0.0.0/24,192.168.2.0/24 --advertise-exit-node --accept-routes
  • 在ts网页中,将ts回家时添加的Global nameservers删除,同时点击 DISABLE MagicDNS,禁用 MagicDNS

在vps中安装tailscale

1
curl -fsSL https://tailscale.com/install.sh | sh

开启流量转发

  • 使用nano编辑/etc/sysctl.conf文件
1
sudo nano /etc/sysctl.conf
  • 找到net.ipv4.ip_forward=1去掉#注释,修改为
1
net.ipv4.ip_forward=1
  • 使修改生效
1
sysctl --system

启动tailscale,仅路由局域网IP段

tailscale up –auth-key=你的key –accept-routes –advertise-routes=192.168.2.0/24,10.0.0.0/24

  • ping 局域网设备10.0.0.1测试,理论上已通