利用Tailscale远程组网
Tailscale是基于WireGuard的远程组网程序,并且可以通过ACL设置内网设备访问权限。
免费的授权可以接入100个设备
一. 创建Tailscale账号
可以访问 Tailscale
的官网进行一个账号的创建,这里可以使用 Github
进行授权
推荐创建Github组织并用组织进行授权,这样的免费额度会是3个用户和100台设备
二. 在设备上安装Tailscale
1. Linux安装Tailscale
登录上目标设备的终端,输入 Tailscale
官方的安装指令即可完成安装
curl -fsSL https://tailscale.com/install.sh | sh
安装过程如图
安装完成之后,输入 tailscale up
,会弹出一条链接,复制到浏览器打开
网页会提示你登录,按照之前注册的账户去授权登录即可
授权通过后,还需要从Tailscale的管理面板中同意设备,这样就完成了Linux设备的添加
2. Windows/Mac安装Tailscale
首先,打开Tailscale官方的下载页面,选择 Windows
/Mac
,下载安装,运行即可
登录:
程序运行之后,可以右键任务栏上的 Tailscale
图标,选择 Log in...
之后会弹出一条通知,单击即可跳转登录页面,使用注册账户授权即可
也可以打开终端,输入 tailscale up
,此时终端会输出登录链接,并自动打开浏览器,授权登录即可
3. Android安装Tailscale
若能访问Google Play,则直接搜索安装即可
若不能访问访问,可以使用以下链接的apk安装包进行安装登录
tips:该包为F-Droid进行构建
三. 使用方法
1.修改设备名称
在管理面板,单击设备后面的···,选择 Edit machine name
,在弹出窗口中取消选择 Auto-generate from OS hostname
,在下方输入框中输入新的设备名称即可
设备名称只能用小写字母,数字和
-
构成设备名称影响的是MagicDNS,也就是Tailscale内网访问设备的方式之一
2.更改设备内网IP
选择 Edit machine ip
,随后在弹出输入框中输入要更改IP即可
Tailscale的内网可用IP范围为100.64.0.0/10,也就是100.64.0.0-100.127.255.255
3.分享设备
选择 share...
可以将设备分享到别的Tailscale组织
4.禁用密钥过期
选择 Disable key expiry
即可禁用密钥过期
Tailscale默认的密钥过期时间为六个月,不禁用过期的话需要每六个月重新授权一次
5.查看设备最近的活动
单击 view recent activity
即可
6.子网路由
a.为设备启用IP转发
cat /proc/sys/net/ipv4/ip_forward
cat /proc/sys/net/ipv6/conf/all/forwarding
可以使用以上命令查看是否启用转发,输出为1则启用,可以直接看c,0则未启用,请按以下步骤开启转发
b.开启IP转发
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
c.设置Tailscale转发内网
tailscale set --advertise-routes 192.168.1.0/24 # 将网段换成自己的内网网段
d.设置网页端
在弹出的窗口勾选设置的网段,同意即可
参考官方文档,子网路由可以实现转发内网,内网只要有一台设备安装了tailscale即可访问整个内网
7.退出节点
a.设置Tailscale作为退出节点
在终端执行以下命令
tailscale set --advertise-exit-node
b.设置管理面板
选择
勾选复选框保存即可