目录
在日常运维和个人使用中,异地内网互联是一个高频的需求——比如公司要访问家里NAS设备,或者家里访问公司PVE,又或者需要实现跨网段无缝互通。传统方案要么依赖公网IP做端口映射,要么配置复杂的VPN。如果使用frp等内网穿透也需要有公网IP。但是Tailscale可以完美解决这些痛点。
本文将从「需求场景→Tailscale核心解析→基础安装→高阶实战(双PVE跨网段)→适用场景→总结」,结合我自己的实际环境(家里+公司双PVE、不同网段),手把手教你用Tailscale实现异地内网自由,全程无公网IP、配置简单,新手也能快速上手。
一、我们为什么需要Tailscale?
Tailscale能解决很多异地组网的痛点,总结下来核心痛点有3个:
-
无公网IP无法穿透:现在家庭宽带和部分公司网络,运营商都会隐藏公网IP,常规端口映射无法实现两端互联,只能通过第三方穿透工具。
-
配置复杂,上手门槛高:传统IPsec、Open等虚拟专用网方案,需要手动配置网关、路由、加密参数,还要解决NAT穿透问题,对非专业运维来说极其繁琐,且容易出错。
-
安全隐患大+灵活性差:端口映射需要暴露设备到公网,容易被扫描攻击;且一旦设备新增、网段变更,需要重新配置所有路由和规则,维护成本高。
我的网络环境是:家里有一台PVE(网段192.168.3.0/24),公司有一台PVE(网段172.16.13.0/24),希望实现:① 家里的PVE及PVE内的虚拟机和公司PVE及其下的所有虚拟机能互访;② 两端的虚拟机不需要安装Tailscale,只需要在PVE中安装;③ 两端PVE重启后自动重连,无需手动操作。
二、Tailscale 是什么?
Tailscale 是一款基于 WireGuard 协议开发的异地组网工具,核心作用是「把分散在不同地方的设备(电脑、服务器、虚拟机),虚拟成一个统一的内网」,无需公网IP、无需复杂配置,就能实现设备间的无缝互通。
简单类比:你可以把Tailscale想象成一个「虚拟的网线」,不管家里、公司、出差的电脑,只要安装了Tailscale,就相当于用网线直接连在了同一个路由器上,访问对方就像访问本地局域网设备一样简单。
核心优势:
-
无需公网IP:支持CGNAT穿透,家庭/公司网络都能直接使用;
-
配置极简:全程可视化操作,安装后一键登录,无需手动配置路由、加密;
-
安全可靠:基于WireGuard协议端到端加密,数据传输不经过第三方服务器(仅密钥分发经过官方服务器);
-
自动重连:设备重启后自动启动、自动连接,无需手动干预;
-
跨平台兼容:支持Linux(PVE、Ubuntu)、Windows、Mac、手机,甚至路由器、NAS,全平台覆盖。
三、Tailscale 是怎么解决异地互联问题的?
很多人会好奇,没有公网IP,Tailscale是怎么实现穿透的?核心原理其实很简单,分为3步,不用深究技术细节,理解逻辑即可:
-
设备注册与密钥分发:所有安装Tailscale的设备,登录同一个Tailscale账号后,会被分配一个唯一的虚拟IP(通常是100.x.x.x网段),官方服务器仅负责分发设备密钥和IP,不中转数据。
-
NAT穿透与连接建立:Tailscale会自动检测两端设备的网络环境,优先尝试P2P直连(速度最快、延迟最低);如果遇到严格NAT(无法直连),会通过官方DERP中继服务器转发数据(保底方案,确保连通性),且中继过程也是加密的。
-
子网路由与流量转发:如果某台设备(比如PVE)开启了「子网路由」,就可以把它所在的内网网段(比如192.168.3.0/24)“共享”给其他Tailscale设备,其他设备就能通过这台设备,访问整个内网的所有设备——这也是我实现双PVE跨网段互联的核心。
补充一个关键逻辑:被访问的设备无需安装Tailscale,只要它所在的网段有一台Tailscale设备开启了子网路由,就能被其他Tailscale设备访问;且被访问设备无需配置任何路由,靠子网路由设备的NAT伪装就能实现回包。
四、基础安装:PVE 上安装 Tailscale
我的环境:两端都是PVE,操作完全一致,全程复制命令即可,无需额外配置。
4.1 一键安装Tailscale
登录PVE的SSH,执行以下命令,一键安装并启动Tailscale服务:
一键安装脚本(官方推荐,适配所有Debian/Ubuntu系统)
curl -fsSL https://tailscale.com/install.sh | sh
启动Tailscale服务,并设置开机自启(关键,重启PVE后自动连)
systemctl enable --now tailscaled
登录Tailscale(生成登录链接,复制到浏览器打开)
tailscale up
执行 tailscale up 后,会输出一个URL链接,复制链接到浏览器,用谷歌、微软或邮箱登录Tailscale账号(首次注册免费,个人使用完全足够),登录后,PVE就会自动加入Tailscale虚拟网络,分配虚拟IP。
4.2 验证安装是否成功
执行以下命令,查看Tailscale状态:
tailscale status
如果输出中显示「100.x.x.x 设备名 online」,说明安装成功,且已正常连接到Tailscale网络。
4.3 基础测试:两端PVE互通
在一端PVE执行 ping 命令,ping 另一端PVE的Tailscale虚拟IP(100.x.x.x),能ping通,说明基础连接已建立。2台PVE可以互访。
ping 100.123.45.67
五、高阶实战:双PVE跨网段互联
这是我自己正在使用的方案——两端都有PVE,不同网段,实现两端的其他节点互访。
5.1 环境拓扑

安利一下这个网站:https://drawio.min2k.com/
在线画图,我这个拓扑就是这样划的,图标挺丰富。我好久没有打开我自己的visio软件了。
5.2 步骤1:两端PVE开启子网路由
子网路由的作用:让Tailscale网络中的设备,能访问当前PVE所在的整个内网网段。两端PVE都要执行,替换成自己的网段即可。
① 家里PVE(网段192.168.3.0/24)
开启子网路由,宣告家里网段,并允许接收其他网段的路由
tailscale up --advertise-routes=192.168.3.0/24 --accept-routes
② 公司PVE(网段172.16.13.0/24)
开启子网路由,宣告公司网段,并允许接收其他网段的路由
tailscale up --advertise-routes=172.16.13.0/24 --accept-routes
如果存在多个网段也可以添加多个。
5.3 步骤2:Tailscale后台批准子网路由
如果不批准,Tailscale会提示「This machine is misconfigured and cannot relay traffic」,无法转发流量,操作如下:
-
打开Tailscale官方后台:https://login.tailscale.com/admin/machines(登录你之前注册的账号);
-
找到「家里PVE」设备,点击右侧「⋮」→「Edit route settings」;
-
在「Subnet routes」中,勾选「192.168.3.0/24」,同时勾选「IP forwarding」(允许流量转发),点击Save;
-
对「公司PVE」做同样操作,勾选「172.16.13.0/24」和「IP forwarding」,保存后,报错会自动消失。
5.4 步骤3:网关添加静态路由
家里普通电脑(192.168.3.200)、虚拟机(192.168.3.110),无需装Tailscale,只要家里网关添加静态路由,就能访问公司网段(172.16.13.0/24)。
登录家里路由器(网关192.168.3.1),找到「静态路由」设置(不同品牌路由器位置不同,一般在「高级设置」→「路由设置」中),添加一条路由规则:
-
目标网段:172.16.13.0/24(公司网段)
-
下一跳IP:192.168.3.90(家里PVE的内网IP)
-
子网掩码:255.255.255.0
-
保存生效,无需重启路由器。
5.5 步骤4:公司虚拟机添加永久路由(实现公司访问家里)
公司的网关同样添加静态路由:
-
目标网段:192.168.3.0/24(家里网段)
-
下一跳IP:172.16.13.90(公司PVE的内网IP)
-
子网掩码:255.255.255.0
如果公司网关无权限添加静态路由,那么就在虚拟机或其他主机上手动添加永久路由(重启虚拟机不丢失)。
以Windows虚拟机为例,执行以下命令(管理员身份运行CMD):
格式:route add 目标网段 mask 子网掩码 下一跳IP -p(-p表示永久路由)
route add 192.168.3.0 mask 255.255.255.0 172.16.13.90 -p
5.6 步骤5:验证互通
完成以上4步,就能实现双向互通,测试如下:
-
家里普通电脑(192.168.3.200)ping 公司虚拟机(172.16.13.100),能ping通;
-
家里虚拟机(192.168.3.110)访问公司PVE(172.16.13.90)的管理界面,能正常访问;
-
公司主机(172.16.13.200)ping 家里普通电脑(192.168.3.200),能ping通;
-
重启两端PVE,等待1-2分钟,再次测试,依然能互通(自动重连生效)。
5.7 避坑提醒
-
坑1:同时在PVE中开启内核IP转发(命令如下):
echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
echo 'net.ipv6.conf.all.forwarding=1' >> /etc/sysctl.conf
sysctl -p
执行后发现重启还是失效,官方是这么说的:

意思就是说存在上面的目录用上面的,不存在的话用下面的,PVE存在上面的目录应该用上面的。下面的不生效。
-
坑2:开启子网路由后还需要登录web页面进行设置;
-
坑3:关于静态路由,其实不需要两端都设置。比如你想要A端访问B端,只要在A端的网关添加对应路由或者在主机上添加静态路由即可。两端都添加的情况是实现两端互访。
-
扩展阅读:其实可以把过程简单化,没有PVE或者不需要PVE,要实现两地组网,只需要两端找2台主机安装Tailscale,开启IP转发,然后设置相关路由就可以实现。
六、Tailscale 适用于哪些场景?
除了我这种双PVE跨网段互联的场景,Tailscale还有很多实用场景,覆盖个人和小型团队:
-
异地办公/远程运维:在家远程访问公司内网服务器、PVE虚拟机,无需公网IP,速度快且安全,比TeamViewer、向日葵更稳定(无被控端限制);
-
个人NAS远程访问:家里的NAS(群晖、威联通)安装Tailscale,出差时用手机、电脑就能直接访问NAS里的文件,无需端口映射,避免被攻击;
-
多家庭/多办公点组网:比如有两个家、多个办公点,每个点都有内网设备,用Tailscale就能实现所有设备无缝互通,比如家里的监控、打印机,在公司也能访问;
-
游戏联机/文件共享:和异地朋友联机玩局域网游戏,或共享文件,无需搭建专用服务器,Tailscale虚拟内网直接实现;
-
小型团队协作:团队成员分散在不同地方,需要访问同一台服务器或设备,用Tailscale组网,无需专业运维,一键部署。
补充:个人使用完全免费,最多支持20台设备,足够日常使用;小型团队可升级付费版,支持更多设备和高级功能(如访问控制、自定义DERP中继)。
七、总结:Tailscale 到底香在哪?
用Tailscale快半年了,一直稳定运行,最大的感受就是「简单、稳定、安全」,彻底解决了异地内网互联的痛点。还有一个亮点就是快,我以为这种方式组网后速度会很慢,我实测PVE传虚拟机镜像速度20M/s以上。
总结一下核心优势和适用人群:
-
核心优势:无公网IP也能穿透、配置极简(新手友好)、自动重连、端到端加密、跨平台兼容,且能实现「子网共享」,让普通设备免装客户端就能互通;
-
适用人群:个人用户(NAS、PVE、远程办公)、小型团队(异地协作、远程运维)、需要跨网段互联的场景,不适合大型企业(大型企业建议用Tailscale企业版或专业VPN);
-
我的使用体验:双PVE跨网段互联,延迟低(日常10-20ms),稳定性拉满,重启PVE自动重连,家里普通电脑无需任何配置就能访问公司设备,彻底告别了端口映射和复杂VPN的烦恼。
如果你也有异地内网互联的需求,不管是PVE、NAS,还是普通电脑,Tailscale绝对是首选——不用懂复杂的网络知识,跟着本文的步骤,10分钟就能搭建好,省心又高效。
&spm=1001.2101.3001.5002&articleId=160911253&d=1&t=3&u=b317fb12bb1a40f1a3ee5d85c1fdefa3)
2万+

被折叠的 条评论
为什么被折叠?



