TailScale 实现「出口节点」“Exit Node”(导向所有流量经这出口节点)
前言: |
当你使用公共网络时,如在咖啡廰的WI-FI、酒店的网络、或者钓鱼WI-FI(不信任的网络)等地方访问家里的设备、银行服务或者公司的伺服器,很可能内容会给中间人截听。
然而
TailScale
实现「出口节点」"Exit Node"功能,在加密(基于WireGuard)的TailScale
网络内导向所有流量经「出口节点」访问,从而避免敏感资料给有心人收获取。
目录内容: |
- 部署「出口节点」
Exit Node
- 客户端使用「出口节点」
Windows
客户端Android
客户端Linux
客户端
1. 部署「出口节点」"Exit Node" |
「出口节点」
Exit Node
暂时只支持在Linux系统的设备,这范例中以CentOS7
平台部署「出口节点」。
- 安装仓库管理软件
<span style="color:#000000"><span style="background-color:#fafafa"><code class="language-ruby">sudo yum install yum<span style="color:#a67f59">-</span>utils
</code></span></span>
- 1
- 添加
Tailscale
仓库地址
<span style="color:#000000"><span style="background-color:#fafafa"><code class="language-ruby">sudo yum<span style="color:#a67f59">-</span>config<span style="color:#a67f59">-</span>manager <span style="color:#a67f59">--</span>add<span style="color:#a67f59">-</span>repo https<span style="color:#999999">:</span><span style="color:#a67f59">/</span><span style="color:#a67f59">/</span>pkgs<span style="color:#999999">.</span>tailscale<span style="color:#999999">.</span>com<span style="color:#a67f59">/</span>stable<span style="color:#a67f59">/</span>centos<span style="color:#a67f59">/</span><span style="color:#986801">7</span><span style="color:#a67f59">/</span>tailscale<span style="color:#999999">.</span>repo
</code></span></span>
- 1
- 安装
Tailscale
<span style="color:#000000"><span style="background-color:#fafafa"><code class="language-ruby">sudo yum install tailscale <span style="color:#a67f59">-</span>y
</code></span></span>
- 1
- 启用
Tailscale
服务
<span style="color:#000000"><span style="background-color:#fafafa"><code class="language-ruby">sudo systemctl enable <span style="color:#a67f59">--</span>now tailscaled
</code></span></span>
- 1
- 验证及接入到
Tailscale
网络
<span style="color:#000000"><span style="background-color:#fafafa"><code class="language-ruby">sudo tailscale up
</code></span></span>
- 1
此页面显示成功授权
- 返回
CentOS7
终端查看分配到的IP地址
<span style="color:#000000"><span style="background-color:#fafafa"><code class="language-ruby">tailscale ip
</code></span></span>
- 1
- 启用
CentOS7
上的 IP 转发(IP Forwarding)
「出口节点」的设定需要用到 IP 转发(IP Forwarding)特性

<span style="color:#000000"><span style="background-color:#fafafa"><code class="language-ruby">echo <span style="color:#50a14f">'net.ipv4.ip_forward = 1'</span> <span style="color:#a67f59">|</span> sudo tee <span style="color:#a67f59">-</span>a <span style="color:#a67f59">/</span>etc<span style="color:#a67f59">/</span>sysctl<span style="color:#999999">.</span>conf
echo <span style="color:#50a14f">'net.ipv6.conf.all.forwarding = 1'</span> <span style="color:#a67f59">|</span> sudo tee <span style="color:#a67f59">-</span>a <span style="color:#a67f59">/</span>etc<span style="color:#a67f59">/</span>sysctl<span style="color:#999999">.</span>conf
sudo sysctl <span style="color:#a67f59">-</span>p <span style="color:#a67f59">/</span>etc<span style="color:#a67f59">/</span>sysctl<span style="color:#999999">.</span>conf
</code></span></span>
- 1
- 2
- 3
- 发布此装置为「出口节点」
Exit Node
<span style="color:#000000"><span style="background-color:#fafafa"><code class="language-ruby">sudo tailscale up <span style="color:#a67f59">--</span>advertise<span style="color:#a67f59">-</span>exit<span style="color:#a67f59">-</span>node
</code></span></span>
- 1
- 网页控制台管理节点
需要允许将此设备为「出口节点」
Exit Node
。登入到网页控制台管理页面的 >
Machines
图示为未允许将此设备为「出口节点」Exit Node


启用Use as Exit node
图示已经允许将此设备为「出口节点」Exit Node
- 停用「密钥过期」功能
基于安全特性,
Tailscale
每隔6个月需要重新授权装置,作为「出口节点」Exit Node
,建议停用,以防止定期重新验证。

2. 客户端使用「出口节点」 |
使用这个功能,
TailScale
的软件版本不能低于1.6。
Windows
客户端使用「出口节点」

未使用「出口节点」的公网IP地址为221.126.xxx.xxx
使用「出口节点」的公网IP地址为146.56.xxx.xxx
出口的网速
Android
客户端使用「出口节点」
未使用「出口节点」的公网IP地址为221.126.xxx.xxx
使用「出口节点」的公网IP地址为146.56.xxx.xxx
Linux
客户端使用「出口节点」
<span style="color:#000000"><span style="background-color:#fafafa"><code class="language-ruby">sudo tailscale up <span style="color:#a67f59">--</span>exit<span style="color:#a67f59">-</span>node<span style="color:#a67f59">=</span><span style="color:#986801">100.100</span><span style="color:#986801">.57</span><span style="color:#986801">.95</span>
</code></span></span>
- 1
其中
100.100.57.95
为「出口节点」的TailScale
IP 地址`
测速
结语: |
如果内网的网络限制而不能访问某404区,基于
导向所有流量经出口节点
特性,应该可以跨越。(前提是「出口节点」Exit Node
的地理位置要适中)
参考资料: |