主要观点:作者即将前往欧洲,为确保依赖的关键应用(如银行门户)在国外仍能工作,设置了 Tailscale 出口节点。部署了 DigitalOcean droplet 并按步骤设置,可通过tailscale status
确认节点已作为出口节点,客户端配置后可通过出口节点发送流量,遇到工作需用 Netbird VPN 导致内部流量路由改变的问题,深入研究 Tailscale 路由传播机制,通过添加更高优先级的 IP 规则(如sudo ip rule add to 10.0.0.0/16 pref 5000 lookup main
)使内部流量经由 Netbird VPN ,还创建了 shell 脚本自动化添加/删除规则。
关键信息:
- 在
BLR
区域部署 DigitalOcean droplet 并设置 Tailscale 出口节点,步骤可参考这里。 tailscale status
可确认出口节点状态,如100.108.220.87
为出口节点且活跃。- 连接 Tailscale 出口节点后内部流量路由改变,需添加更高优先级规则。
- 可通过
ip route show table 52
查看 Tailscale 的路由表,default dev tailscale0
为默认路由,throw 127.0.0.0/8
特殊路由丢弃本地主机地址流量。 - 通过
ip rule show
查看路由规则优先级,默认 Linux 有本地(优先级 0)、主(优先级 32766)、默认(优先级 32767)三个主要路由表,添加的规则优先级为 5000 。 - 创建 shell 脚本
add
函数添加 IP 规则,remove
函数删除指定优先级的规则。
重要细节:
- 部署 DigitalOcean droplet 时执行的命令(
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
等)。 - 客户端连接出口节点的命令(
sudo tailscale up --exit-node=100.108.220.87
)。 - 验证流量路由的命令(
ip route get 10.0.1.100
等)。 - shell 脚本中添加和删除规则的具体实现细节。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。