内网穿透 篇二:通过 ZeroTier 异地组网 实现远程访问局域网

2024-04-14 15:26:11 26点赞 238收藏 15评论

本文首发于只抄博客,欢迎点击原文链接了解更多内容。

前言

ZeroTier 是一款与 Tailscale 类似的异地组网工具,它可以将不同网络环境的设备组成一个虚拟局域网,使其可以互相访问。我们只需要在路由器或者 Nas 上安装 ZeroTier 进行组网,就可以实现以下效果:

  • 连接到 ZeroTier 的设备,可以直接使用内网 IP 访问家庭局域网

  • 内网设备可以直接使用 ZeroTier 分配的 IP 来访问连接到 ZeroTier 的设备

  • 支持多个局域网互相访问,每个局域网只需一台设备安装 ZeroTier (每个局域网的网段不能相同)

与 Tailscale 相比,在使用上 ZeroTier 主要有以下几点不同:

  • ZeroTier 只需网络号 (Network ID) 即可完成组网,无需登录账号,方便邀请朋友加入

  • ZeroTier 可以自定义虚拟网络的网段与每个设备的 IP

  • ZeroTier 设置访问整个局域网需要配置 iptables,比起 Tailscale 较为繁琐

安装步骤

  1. 打开 ZeroTier 官网,点击右上角的 Login,可以直接选择 Google 或者 Microsoft 授权登录

  2. 根据提示下载对应平台的客户端

    • Android (国区 Google Play 无法直接下载,可以在 APKMirror 下载)

    • Linux 一键安装脚本 curl -s https://install.zerotier.com | sudo bash

    • 卸载dpkg -P zerotier-one rm -rf /var/lib/zerotier-one/

  3. 登录成功后,点击最上方的 Create A Network 创建一个网络

  4. 创建成功,进入该网络的设置,将 Access Control 设置为 Private,name 可以随意填写,同时记下 Network ID

通过 ZeroTier 异地组网 实现远程访问局域网
  1. 下面来到网段的设置,没有特殊需求的话,在下方任意选择一个即可

通过 ZeroTier 异地组网 实现远程访问局域网
  1. 如果需要自定义的话则需要点击 Advanced 后,将其中自带的网段进行删除,然后在上方填写想要的网段,下方填写地址池 (类似DHCP地址池)

zerotier3zerotier3
  1. 有图形化界面的平台,直接填入刚刚记下的 Network ID 即可;而在无图形化界面的平台上,需要输入 zerotier-cli join

  2. 返回到 ZeroTier 控制面板,在下方设备列表中,勾选加入网络的设备;同时记下设备的 IP

通过 ZeroTier 异地组网 实现远程访问局域网
  1. 完成以上步骤后,启动客户端,即使用列表中的 IP 进行直接访问

访问局域网

此时,只有连接到 ZeroTier 的设备可以互相访问,并不能直接使用内网 IP 来访问整个局域网,我们还需要进行以下配置

开启 IP 转发

  1. 编辑 sysctl.conf 文件 vim /etc/sysctl.conf

  2. 将以下代码取消注释

net.ipv4.ip_forward=1 net.ipv6.conf.all.forwarding=1

  1. 加载内核参数 sysctl -p

配置客户端路由

  1. 输入 ifconfig ,记录下物理网卡以及 ZeroTier 的虚拟网卡

  2. 将网卡名字导出为环境变量

PHYSICAL_IFACE=<物理网卡> ZEROTIER_IFACE=

  1. 新路由

iptables -t nat -A POSTROUTING -o $PHYSICAL_IFACE -j MASQUERADE iptables -A FORWARD -i $PHYSICAL_IFACE -o $ZEROTIER_IFACE -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -i $ZEROTIER_IFACE -o $PHYSICAL_IFACE -j ACCEPT iptables-save

  1. 持久化路由表

mkdir -p /etc/sysconfig/ sh -c "iptables-save > /etc/sysconfig/iptables"

  1. /etc/rc.local 文件的末尾添加一行

/sbin/iptables-restore < /etc/sysconfig/iptables

配置 ZeroTier 路由规则

  • 例如我的路由器地址为 10.0.0.1,光猫地址为 192.168.1.1,则需要配置的网段为 10.0.0.0/24 与 192.168.1.0/24

  • 在 ZeroTier 控制面板中,Destination 填写网段,Via 填写内网客户端的 IP 地址

通过 ZeroTier 异地组网 实现远程访问局域网

经过以上设置,即可在连接 ZeroTier 后,直接使用局域网 IP 对整个局域网的设备进行访问

访问 ZeroTier 设备

通过上面的设置,已经实现了连接到 ZeroTier 的设备使用内网 IP 访问局域网,但是局域网内的设备仍然无法使用 ZeroTier 分配的 IP 来访问那些连接到 ZeroTier 的设备,我们还需要在路由器中配置静态路由

  • 网络 / 主机 IP: 与 ZeroTier 网段保持一致

  • 网络掩码: 与 ZeroTier 掩码保持一致 (/24 为 255.255.255.0)

  • 网关: 安装 ZeroTier 设备的内网 IP

通过 ZeroTier 异地组网 实现远程访问局域网


展开 收起

Xiaomi 小米 AX3000T 双频3000M 家用千兆Mesh路由器 Wi-Fi 6 白色 单个装

Xiaomi 小米 AX3000T 双频3000M 家用千兆Mesh路由器 Wi-Fi 6 白色 单个装

99元起

Xiaomi 小米 BE6500 Pro 双频6500M 家用千兆Mesh无线路由器 Wi-Fi 7

Xiaomi 小米 BE6500 Pro 双频6500M 家用千兆Mesh无线路由器 Wi-Fi 7

535元起

Ruijie 锐捷 雪豹 X30E 双频3000M 家用千兆Mesh无线路由器 Wi-Fi 6 白色 单个装

Ruijie 锐捷 雪豹 X30E 双频3000M 家用千兆Mesh无线路由器 Wi-Fi 6 白色 单个装

159元起

ZTE 中兴 AX3000 巡天版 双频3000M 家用千兆Mesh无线路由器 Wi-Fi 6 单个装 白色

ZTE 中兴 AX3000 巡天版 双频3000M 家用千兆Mesh无线路由器 Wi-Fi 6 单个装 白色

146元起

ASUS 华硕 RT-BE88U 双频7200M 家用Mesh无线路由器 Wi-Fi 7 黑色 单个装

ASUS 华硕 RT-BE88U 双频7200M 家用Mesh无线路由器 Wi-Fi 7 黑色 单个装

1999元起

Xiaomi 小米 BE3600 2.5G版 3600M 双频千兆家用无线路由器 Wi-Fi 7 白色

Xiaomi 小米 BE3600 2.5G版 3600M 双频千兆家用无线路由器 Wi-Fi 7 白色

209元起

Xiaomi 小米 AX6000 双频6000M 家用千兆Mesh无线路由器 Wi-Fi 6 单个装 黑色

Xiaomi 小米 AX6000 双频6000M 家用千兆Mesh无线路由器 Wi-Fi 6 单个装 黑色

299元起

Redmi 红米 AX6000 双频5952M 家用千兆Mesh无线路由器 Wi-Fi 6 单个装黑色

Redmi 红米 AX6000 双频5952M 家用千兆Mesh无线路由器 Wi-Fi 6 单个装黑色

319元起

HUAWEI 华为 BE3 Pro 双频3000M 千兆家用路由器 Wi-Fi 7 黑色

HUAWEI 华为 BE3 Pro 双频3000M 千兆家用路由器 Wi-Fi 7 黑色

249元起

Xiaomi 小米 BE7000 三频千兆Mesh无线路由器 Wi-Fi 7

Xiaomi 小米 BE7000 三频千兆Mesh无线路由器 Wi-Fi 7

406元起

ZTE 中兴 问天BE7200Pro+ 双频7200M 家用千兆Mesh无线路由器 WiFi 7 黑色

ZTE 中兴 问天BE7200Pro+ 双频7200M 家用千兆Mesh无线路由器 WiFi 7 黑色

556.01元起

京东云 BE6500 千兆无线路由器 WiFi7

京东云 BE6500 千兆无线路由器 WiFi7

576.01元起

TP-LINK 普联 BE5100 双频5100M 家用千兆Mesh无线路由器 Wi-Fi 7 黑色 单个装

TP-LINK 普联 BE5100 双频5100M 家用千兆Mesh无线路由器 Wi-Fi 7 黑色 单个装

269元起

HUAWEI 华为 Q6 网线版 双频3000M 千兆Mes无线分布式路由器 Wi-Fi 6 一母三子装 白色

HUAWEI 华为 Q6 网线版 双频3000M 千兆Mes无线分布式路由器 Wi-Fi 6 一母三子装 白色

397元起

ZTE 中兴 巡天AX3000Pro+ 双频3000M 家用千兆Mesh无线路由器 Wi-Fi 6 白色 单个装

ZTE 中兴 巡天AX3000Pro+ 双频3000M 家用千兆Mesh无线路由器 Wi-Fi 6 白色 单个装

257.61元起

TP-LINK 普联 飞流系列 TL-XDR5480 易展Turbo版 双频5400M 家用千兆Mesh无线路由器 WiFi 6 单个装 灰色

TP-LINK 普联 飞流系列 TL-XDR5480 易展Turbo版 双频5400M 家用千兆Mesh无线路由器 WiFi 6 单个装 灰色

369元起
15评论

  • 精彩
  • 最新
  • 请教一下,两边路由器中配置静态路由,路由器下的电脑不用安装zerotier,输入异地电脑的局域网IP就能访问异地的电脑吗?

    校验提示文案

    提交
    是的 每个局域网只要有一个设备安装了ZeroTier 配置好静态路由 就可以直接访问了

    校验提示文案

    提交
    牛🐮,谢谢

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 之前用这个速度很慢,后来自己搭建了planet,仍然很慢。不知道为啥

    校验提示文案

    提交
    自己看一下路由能不能沟通之后直连,只有直连才能提速

    校验提示文案

    提交
    不能打洞呗,我这边也有这种情况,速度很慢,换wg了,当然主要方案还是反代,zerotier和wireguard是备用方案。

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 不是设置iptables,是简单的路由表

    校验提示文案

    提交
  • 俺还在用pptp,

    校验提示文案

    提交
  • 一直用这个很方便,有公网速度很快

    校验提示文案

    提交
  • 移动不好用

    校验提示文案

    提交
  • 我用openvpn

    校验提示文案

    提交
  • 这个很好用,搭配op就更好用,手机,pad都能使用,特别是op之间互联,让应用场景更丰富。

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
相关好价
最新文章 热门文章
238
扫一下,分享更方便,购买更轻松