软件应用背景与需求
把家用网络,办公网络设置vps,手机进行联合组网和内网映射,统一管理,同意调度,甚至可以通过vps实现流量出口服务,以上需求一个实用的app就可以实现——taisacle,先上效果图
Tailscale的安装与使用
软件安装
- 下载:首先访问https://tailscale.com/download 按照操作系统来下载相应的应用程序。
- 以Linux安装为例,SSH登录到Linux之后,一句话安装脚本为:curl -fsSL https://tailscale.com/install.sh | sh
- 脚本执行完毕之后会出现“
Installation complete! Log in to start using Tailscale by running:
tailscale up 运行tailscale up 之后会print一个链接,例如https://login.tailscale.com/admin 复制这个链接在浏览器打开
此时会要求你用注册的账户登录,如果没有需要注册一个用户。登陆之后对于新设备状态会显示Needs approval。此时点击Approve,即可将设备接入网络。
Windows和Android的安装大同小异。
Tailscale的使用
- 更改名称和IP:设备接入到Tailscale的网络之后,第一步需要修改设备的IP,免费组网最多支持100台设备的管理,对于个人用户已经是足够。登录后台后可以看到Machine Settings,点击进去修改机器的名称和IP,所有的设备需要改在一个网段里。
- 设备之间传送文件:以Windows为例,找到所需要传输的文件,右键点击send with tailscale即可传送文件到同一虚拟网络的设备。如接收方也是windows系统,则会发送到
C:\Users\(username)\Downloads
目录下。如果是安卓手机,则在选中文件后选择分享到taiscale。 - taiscale还可以设置子路由,在NAS上部署等具体参看https://login.tailscale.com/admin/get-started
- 最后介绍一个非常使用的功能,流量出口。如果有一台海外的vps主机,可以把它作为流量出口。具体操作如下:以Ubuntu为例,在scale的控制面板中选择Edit Routing Settings点击Exitmode,当然如果此时选中按钮为灰色时候需要在登录vps后执行如下命令:echo ‘net.ipv4.ip_forward = 1’ | sudo tee -a /etc/sysctl.d/99-tailscale.conf
echo ‘net.ipv6.conf.all.forwarding = 1’ | sudo tee -a /etc/sysctl.d/99-tailscale.conf
sudo sysctl -p /etc/sysctl.d/99-tailscale.conf再执行echo ‘net.ipv4.ip_forward = 1’ | sudo tee -a /etc/sysctl.d/99-tailscale.conf
echo ‘net.ipv6.conf.all.forwarding = 1’ | sudo tee -a /etc/sysctl.d/99-tailscale.conf
sudo sysctl -p /etc/sysctl.d/99-tailscale.conf。服务端配置好之后即可使用vps流量。 - 在客户端点击Exitnodes即可食用。
- 现在家里的Android TV就可以直接浏览YouTube啦
搭建derp服务器
tailsclale默认使用公网服务,可以搭建自己的derp提高访问速度,一下来自知乎:
- 安装Derp服务器:
docker run -d \ --name derper \ --restart always \ -p 34567:443 \ -p 34568:3478/udp \ -d hausen1012/ip_derper
- 将以下内容写入 /etc/systemd/system/derp.service 文件中:
cat > /etc/systemd/system/derp.service <<EOF [Unit] Description=TS Derper After=network.target Wants=network.target [Service] User=root Restart=always ExecStart=/etc/derp/derper -hostname ao.chenfengyun.com -a :34567 -http-port 34568 -certmode manual -certdir /etc/derp --verify-clients RestartPreventExitStatus=1 [Install] WantedBy=multi-user.target EOF
- 设置Derp开机启动:
systemctl enable derp
-
启动derp:systemctl start derp
- 放行需要打开的端口。