前言: |
之前的贴文分享了ZeroTier 实现远端访问局域网 ,最近发现一款软件
TailScale
感觉设定上更简单一点,仅仅透过帐号登入就可以接入TailScale
网络内。
TailScale
是以Wireguard的协议加密,所以安全性更高,而且是P2P连线,流量不经伺服器,延迟更低、私密性更高。
目录内容: |
TailScale
网络TailScale
的装置为网关「Subnet Router」,可以访问整个内网网段1. 安装及加入到「TailScale」网络 |
如果是Windows用户可以到官网下载安装Tailscale,或者透过Chocolatey软件包安装。
choco install tailscale -y
双击桌面右下角的图示
使用谷歌或者微软账号进行登录
成功授权后可以查看分配到的IP地址
Linux用户可以到Download · Tailscale找到相对应的CPU平台及架构安装.
我以Ubuntu 20.04为范例
Tailscale
的金钥和软件仓库地址curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/focal.gpg | sudo apt-key add -
curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/focal.list | sudo tee /etc/apt/sources.list.d/tailscale.list
Tailscale
sudo apt update
sudo apt install tailscale
Tailscale
及透过网址验证登入到Tailscale
网络sudo tailscale up
此页面显示成功授权
返回到Linux 终端查看分配到的IP地址
tailscale ip
Tailscale
网络内的装置可以互通
2. 透过设定其中1部「TailScale」的装置为网关「Subnet Router」,可以访问整个内网网段 |
因为不是每一部设备都可以安装到
Tailscale
, 所以这样设定「Subnet Route」的好处是家里内网只要1部Linux
装置接入到Tailscale
网络,其他所有的外网的Tailscale
装置都可以透过这部Linux
装置作为网关访问家里内网所有的设备,如: 印表机,路由器,伺服器等等。
因为「Subnet Route」的设定需要用到 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
Tailscale
Tailscale
不需要防火墙配置,会自动管理规则,以允许转发。设定过程也没涉及到iptable
,一条指令可以完成。
sudo tailscale up --advertise-routes=20.13.3.0/24
20.13.3.0/24
替换为自己的网段,可以是IPV4或者IPV6。
Machines
Enable All
允许转发所有
基于安全特性,Tailscale
每隔6个月需要重新授权装置,作为「Subnet Router」(子网路由网关),建议停用。
Tailscale
装置线路测试可以看到是经节点「Subnet Router」IP 100.101.41.50
接入到内网 20.13.3.1
,延迟也很理想。
以下是使用内网IP连入家里的各服务及装置
测速
结语: |
TailSale
和ZeroTier
的使用场景上非常相近,没有那个占优,根据自身网络环境的连线质量较佳去选取。透过ZeroTier 实现远端访问局域网的设定不是对所有自定网段有效,如今次的
20.13.3.0/24
的网段失效,Zerotier
误判为外网网段而不能访问。而使用TailSale
的设定可以实现远端访问网段为20.13.3.0/24
的局域网。
参考资料: |