返回文章归档

2023-01-28 · Yean

如何搭建 Windows 远程服务器

如何搭建 Windows 远程服务器

如果你的团队并没有购买、搭建专业的内网服务,有没有一种办法能够将异地同事的计算机或者内网服务器等设备组建成一个「虚拟局域网」,让身处各地的同事依然可以像在同一办公室网络环境内协作呢?

智能组网:把办公室搬到云上

通过「智能组网」这种形式,我们就可以将家中的电脑和办公室的电脑/服务器连接起来。具体而言,智能组网通过类似虚拟局域网的形式组成一个内网,这个内网中的计算机并不再局限于是否处于同一地理位置或者处于同一交换机下,它可以实现和办公室内网互相访问基本相同的效果——所以即便我们离开了办公室,也可以借助智能组网继续访问内网文件服务器或者是直接访问内网的 ERP 等关键业务。

从原理上来看,智能组网通过一个软件层的管理端对设备进行管理,管理端负责设置虚拟的内网网段并提供虚拟路由和交换,同时管理局域网内的设备,设备端则通过专用的客户端通过「虚拟软网卡」和管理端连接,管理端通过对设备端网络情况进行判断来为其提供不同的连接形式。

例如设备处于一个没有公网 IP 的内网环境中,则这台设备和虚拟内网其他设备的连接就必须通过中继服务器进行,形式上和我们此前普遍使用的 内网穿透 类似,访问速度也受限于中继服务器的网络速度;而如果设备拥有公网 IP,则可以通过类似 P2P 连接形式和虚拟内网中其他有公网 IP 的设备进行连接,访问速度则和设备当前网络环境的上传带宽速度有关。

不难看出,智能组网只是基于软件层面的虚拟路由器和交换机,来实现设备管理和虚拟网络地址再分配。这也在一定程度上更适合当前的远程办公场景——毕竟相比物理组网上,软件层的虚拟组网要更简单也更容易进行操作。

下面简单介绍两款主流的「智能组网」服务,希望可以在春节期间帮助到需要远程办公的你。

方案一:量大质优的 ZeroTier

首先是这个名为 ZeroTier 的智能组网服务,一句话评价就是设置简单,上手容易,限制也很少且免费版本就可以满足大多数需求,设备支持上也几乎覆盖了我们可能遇到了所有设备(包括各种 NAS)。

想要使用 ZeroTier 来组建虚拟内网网络其实主要分为两步,注册管理账号并创建虚拟网 ID,然后安装客户端并将设备加入到虚拟网络中。

首先登录 ZeroTier 并注册账号,也可以通过授权登录的形式来注册 ZeroTier 账号。

登录完成之后点击 「Create A Network」来创建你的虚拟网络,然后在这个 Network 网络中进行设置,比如名称、设备的加入方式以及内网网段等。

之后我们下载 App 并将其加入到这个新创建的虚拟网络中。首先我先将我在办公室的 Windows 电脑加入到网络中。

下载并安装对应的客户端,运行后在系统托盘处找到 ZeroTier one 并右击选择「Join network」,然后在弹出的输入框中输入前面在网页管理端创建的 16 位字符的 Network ID。

如果输入正确,系统会自动生成一个虚拟网络并提示你是否加入,点击加入之后就算是正式加入到这个虚拟局域网中了。

当然你也可以通过 在 Windows 终端中输入 ipconfig 来检查你加入的这个虚拟网络下对应的内网 IP 地址。

以此类推,这里我还为家中的 NAS 也安装了对应的客户端。虽然 ZeroTier 针对不同的 NAS 提供了专门的客户端,但考虑到通用性我直接通过 Docker 镜像来安装。

首先打开群晖的 Docker 套件,在注册表栏中输入「ZeroTier」来搜索相关的镜像,然后选择「henrist/zerotier-one」这个镜像并下载。

打开「映像」找到刚才下载的 zerotier-one 镜像,双击后在创建容器中勾选「使用高权限执行容器」,然后在「高级设置」中勾选上「启动自动重新启动」,在「网络」选项卡中勾选「使用与 Docker Host 相同的网络」。

切回到「卷」中,点击「添加文件夹」来保存数据,在「文件/文件夹」中定位到存储数据的文件夹(比如 docker/zerotier-one),然后右侧「转载路径」输入 /var/lib/zerotier-one,然后点击应用使得容器生效。

容器运行后,在「容器」中选中 「zerotier-one」并点击详情,我们接下来需要输入 Network ID 来将 NAS 加入到虚拟内网中,这里在 zerotier-one 中找到「终端机」选项卡,然后点击「新增」-「通过命令启动」,然后输入一个 ash 并点击确定。

紧接着在 ash 这个选项卡的后面输入加入网络 ID 的终端命令:

zerotier-cli join [你的虚拟内网 ID]

看到终端显示 200 OK 则表示加入成功了。

这时候在回到 控制 zerotier 管理端并刷新,应该可以看到 NAS 设备也已经顺利加入到虚拟内网中并顺利被分配了一个内网 IP 地址。

此时可以通过 ping 地址的方式来测试连通情况,在 Windows 上打开终端然后输入:ping [对应设备的 虚拟内网 IP]

如果两个设备都有对应的公网 IP,那么从 ping 的延迟就能看到其实是非常小的,这样设备之间的连接可以不通过服务器桥接的形式,所以访问上也会更加顺畅。

至此虚拟内网就已经顺利搭建完成了,你可以像访问内网文件服务器那样,通过 SMB 协议来访问这个千里之外的服务器。如果访问内网服务器中关键业务,则可以直接通过内网 IP 的方式进行访问,再也不需要通过端口映射的方式来进行访问了。

展开评论