一、通过部署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去掉#注释,修改为
先关闭tailscale
加参数启动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
点击ssh界面中的登录链接登录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将路由所有流量,分流失效,图示为未开启状态)
二、通过tailscale异地组网
可实现vps通过tailscale隧道访问家中服务,配合vps中部署的反代使用效果极佳
可以通过在tailscale up时候添加key的方式加入新的设备,无需点击登录连接
先如图添加一个key,保存下来
异地组网不能配置Global nameservers,所以上述分流回家方案与这个方案不可兼得。手机需要科学的话只能开启路由所有流量。 如果从上述方案迁移到这个方案,先在A家里停止刚才的tailscale并重新启动
重新启动,通告A家庭中的局域网IP段,可使用key登录
1 tailscale up --auth-key=你的key --advertise-routes=10.0.0.0/24 --advertise-exit-node --accept-routes
在ts网页中,将ts回家时添加的Global nameservers删除,同时点击 DISABLE MagicDNS,禁用 MagicDNS
在B家中任意vm中安装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去掉#注释,修改为
启动tailscale,通告B家庭中的局域网IP段 1 tailscale up --auth-key=你的key --advertise-routes=192.168.2.0/24 --advertise-exit-node --accept-routes
注意,两地局域网段不可相同!!
此时在部署tailscale的vm虚拟机中已组网完成,ping A家里的局域网设备(如 ping 10.0.0.1测试),理论上已通
通过在主路由中设置静态路由的方式,可实现局域网内所有设备互联。如在B家中的主路由,设置目标IP为A家内网网段的网关(下一跳)为B家部署tailscale的vm虚拟机的IP即可。A家操作同理。