什么是异地组网?
异地组网是指将位于不同地理位置的多个局域网(LAN)通过互联网或其他广域网(WAN)连接起来,形成一个统一的虚拟网络。通过异地组网,不同地点的设备可以像在同一个局域网内一样进行通信和资源共享。
异地组网通常使用虚拟专用网络(VPN)、软件定义广域网(SD-WAN)等技术来实现。这些技术可以在公共互联网上创建一个安全的、加密的通道,使得不同地点的网络能够安全地互联。
为什么要用异地组网而不用内网穿透?
异地组网不用将服务暴露在公网上,通过加密隧道进行连接,确保数据在传输过程中的安全性。
异地组网后,所有设备就像在同一个局域网内,访问资源更加方便
内网穿透通常用于单点访问,不适合多节点互联的场景
目前我在用的,也是我感觉最好用的异地组网工具就是Easytier。不仅仅支持自建,而且打洞成功后支持P2P连接,最关键是支持子网路由(Subnet Routing,有的也叫子网代理)。
什么是子网路由?
关于子网路由其实一开始并没有一个准确的叫法,但是tailscale将其命名为子网路由,我这里也引用这个名称。
两个设备异地组网后并配置子网路由后,无需将对应的子网设备加入到组网中,也可进行访问。举个例子:假设家中的设备在子网 192.168.1.0/24 网段中,想在公司访问家中的任意设备,则可在家中启动一个 EasyTier 节点,新增子网代理 192.168.1.0/24。公司的设备中无需任何额外配置,只需与家中节点成功组网,即可访问家中任意属于192.168.1.0/24 网段的设备。
自建Easytier的web控制台(可选)
可以使用官方的https://config-server.easytier.cn
easytier的控制台是非常推荐使用的一个东西,它将每个组网的设置的配置从本地配置移植到了web配置,可以实现一个管理端来配置所有设备的组网。以下所有配置是在debian12环境下,其它的系统都差不多,这里就不详细展开了。
下载Easytier:
配置easytier-web的开机自启动
vim /etc/systemd/system/easytier-web.service
[Unit]
Description=easytier-web
After=network.target
[Service]
Type=simple
WorkingDirectory=/opt/easytier #软件所在目录
ExecStart=/opt/easytier/easytier-web #可执行文件的路径,需要先赋予可执行权限
Restart=on-failure
[Install]
WantedBy=multi-user.target
systemctl enable easytier-web.service #设置开机启动
systemctl start easytier-web.service #启动服务
配置反向代理(可选),如下所示,我用的是caddy配置的反向代理,访问https://easytier.cn/web,右键另存网页,将网页放到/etc/caddy/easytier下面(没有目录就新建一个),命名为index.html,编辑caddy配置
vim /etc/caddy/Caddyfile
easytier.xxxx.com {
root * /etc/caddy/easytier
file_server
tls xxxxxxx@qq.com
}
config-easytier.xxxx.com {
reverse_proxy 127.0.0.1:11211
tls xxxxxxx@qq.com
}
访问你的配置的地址,如果出现下面的网页,就代表你的web控制台配置好了
注册一个用户,登录进去就可以看到控制台,我这里有3个设备是因为我将3台设备注册到了这个web控制台了。
注册easytier-core为系统服务,并加入web控制台
由于我们选择了使用web控制台来进行统一的配置管理,那么我们可以将你需要组网的设备将easytier-core注册成系统服务,这样的话就可以开机自动启动服务了,并且通过web来控制是否需要进行组网。以及如何组网。
Linux注册easytier系统服务
vim /etc/systemd/system/easytier.service
[Unit]
Description=EasyTier Service
Wants=network.target
After=network.target network.service
StartLimitIntervalSec=0
[Service]
Type=simple
WorkingDirectory=/opt/easytier
ExecStart=/opt/easytier/easytier-core --config-server udp://easytier.xxxx.com:22020/username #将域名和用户名替换成你在web控制台的地址和用户名
Restart=always
RestartSec=1s
[Install]
WantedBy=multi-user.target
systemctl enable easytier.service #设置开机启动
systemctl start easytier.service #启动服务
这个时候你就能够在web控制台看到你的设备了。
Windows上注册easytier系统服务
windows注册easytier-core为系统服务需要使用nssm工具,具体可以看我写windows注册系统服务那一篇文章,这里主要讲如何配置
只需要输入easytier-core.exe的所在路径,以及启动参数:--config-server udp://easytier.xxxx.com:22020/username(将域名和用户名替换成你在web控制台的地址和用户名) 即可
组网配置
注册好服务后,就不用再去管设置的配置了,因为所有的配置都是通过web控制台来加载的,如下所示
我们点击需要进行配置的设置,至于怎么组网就不详写了,非常的简单
高级配置里面可以配置子网路由(子网代理):
配置好组网后,可以看到如下所示:
评论区