快速访问无公网ip的内网资源神器-tailscale

 

 

一、简单的安装、启用

1、尽量选择内网一台可以年在线的主机,任何linux发行版或者openwrt都可以。尽量开启ipv6,这将大幅改善连接p2p速率和ping值。软路由可参照iKuai+OpenWrt 给所有设备分配 IPV6和[N1盒子] 【终极教程】N1做旁路由,IPv6设置教程,超详细。尽量打开udp、upnp、NAT-PMP。如连接不上derp或者称作relay, 将在以后文章中介绍。

2、linux机器下,ssh登录,确保可以连接外网,一键安装sudo curl -fsSL https://tailscale.com/install.sh | sh,然后输入sudo tailscale up,顺利的话会看到成功后生成的链接,复制粘贴进入tailscale管理页面,可以进行各项操作,建议重命名方便管理。最后sudo systemctl enable --now tailscaled 生成自启动服务。如无法安装,请到官网download页面,有各发行版的安装方法。

3、openwrt机器下,ssh登录,opkg update,opkg install tailscale,后面操作同linux机器,且已自动启动

二、tailscale的杀器

实现杀器功能:即便内网其它资源无法安装tailscale客户端,也可以访问到!

1、主机启用 IP 转发IP Forwarding

echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf

echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.conf

sudo sysctl -p /etc/sysctl.conf

2、主机作为子网路由网关Subnet Route,连接到tailscale

sudo tailscale up --advertise-routes=10.0.1.0/24

10.0.1.0是需要访问的内网网段

3、登陆到网页端控制台https://login.tailscale.com/,会发现刚刚添加的主机下方出现了子网网段10.0.1.0/24,且为灰色。点击后面三个点,选择edit subnet route settings,将enable打勾。至此,已经开启了子网路由网关Subnet Route转发功能

三、访问

1、windows终端机访问内网资源,首先安装官网客户端,选择connect,在网页端控制台打开,即可以访问内网10.0.1.0/24网段,关闭 subnet route settings也可以通过tailscale自动分配的100.XXX.XXX.XXX访问。

 

 

2、linux主机访问用sudo tailscale up启用,用sudo tailscale up --accept-routes访问内外10.0.1.0/24网段资源,sudo tailscale down下线,sudo tailscale up --reset重置,其他参照tailscale -h。建议设置打开magic dns选项,加入1.1.1.1或者8.8.8.8,不要打开Overide local dns!用sudo tailscale up --exit-node=100.xxx.xxx.xxx --accept-routes 如此可以访问到内网所有节点。exit-node=100.xxx.xxx.xxx详见后面关于建立数据导向节点exit node的描述。

四、结语

因为tailscale基于Wireguard协议加密,去中心化,建立点对点连接。对于普通用户而言,即便有公网地址,将端口暴露在外网也有一定安全患。而tailscale可以解决无公网ip和优化安全性两大痛点。连接速度方面,相比zerotier,国内连接速度更加友好。总结:实乃神器!彩蛋!另外,据官网帮助,sudo tailscale up --advertise-exit-node可以建立数据导向节点exit node,即本机访问互联网皆通过此节点。。。嗯

posted on 2022-10-25 13:57  云淡风轻博客  阅读(3698)  评论(0编辑  收藏  举报