在IPv6还没全面普及的当下,国内大部分的网络设备都还是通过NAT方式接入互联网,如何共享or访问局域网对于大多数人说是一个痛点。虽然校园网大多都已经提供IPv6地址,但由于各种众所周知的原因,大部分常用端口都是屏蔽状态(例如Windows用于文件共享的445)。而且对于偶尔有外部访问需求的我来说,每次都只能通过手机热点来获取IPv6地址太麻烦了(也很费电)。校园网内部并不支持ARP绑定,RVPN服务不支持UDP协议等等(电脑关机后不能远程唤醒,即使是在校园网内部)。

  经过一系列的探索和测试之后,有了现在这篇文章。针对本校而言,按照层次给出以下三个方案。(花生壳、TeamViewer等第三方服务不在本文讨论范围内,花钱省心还是很舒服的🕶)

方案一(静态IP)

适用对象:可以获得静态IP,或者知道怎么动态获取WAN IP地址(一般是DDNS)

现在对于大部分人来说获取一个内部静态IPv4和IPv6地址应该都是很容易的(一般是非宿舍网络),如果是宿舍区可能还需要DDNS(实测宿舍有线每次获取的IP也是一致的)这里不做讨论。

基本操作:

如果有了一个静态IPv4地址(本校是10.X.X.X),那么已经可以基本实现远程办公了。🎉你只需要在被控电脑设置电脑密码,打开远程桌面(Windows专业版才行)就可以快乐远程冲浪了。具体操作建议百度,比较简单。

进阶操作: 当你人在外地,又想远程怎么办?

  1. 使用RVPN服务,开启反代服务后,就像你在内网环境一样开启远程桌面就可以了。(实际使用体验一般)
  2. 如果你还有一个IPv6地址(被控端),并且在外也能访问IPv6服务(控制端)。那么你只需要将上面的IPv4地址换成对应的IPv6地址,就可以在非内网环境下快乐冲浪🏄‍♂️了。

更进阶操作: 想要随时随地访问一些内网文件,而不是只能远程?

  1. Windows文件共享。很遗憾,内网已经屏蔽了445端口。至于一些端口映射转发的操作比较麻烦也不实用,想了解可以自行百度。
  2. Web文件共享。推荐Caddy的WebDav插件或者用FileBrowser实现小型私人网盘。这两个软件后台内存占用大概都在几兆,并且WebDav和FileBrowser的多端支持也都很不错。

应该要意识到,

  1. 电脑没有密码保护是很危险的事情,最好是使用微软账户作为管理员。(关于在内网发现各种公开NAS的事情就不提了…)
  2. 随意暴露任何端口于公网都是很危险的事情,尤其是IPv6直接访问。
  3. 根据中国法律,任何人和组织都不得私自架设网络服务器或者提供网络服务。

方案二(ZeroTier组网)

适用对象:不能获取静态IP(例如是通过路由器上网等),想要通过SMB共享文件等

上面提到大部分内网都已经屏蔽445端口,而且也不是所有设备都能获取静态IP(例如通过路由器上网等,当然也能用端口映射解决)。

基本操作
ZeroTier官网下载安装对应客户端,进入控制台新建一个私有网络,然后在客户端上加入网络并授权,就可以快乐冲浪了。详细教程建议百度,也比较简单。

ZeroTier组网的优点是,1. 相对安全(当然你要保护好账号密码);2. 操作比较简单,任意网络适用;3. 使用简单无限制(就像你在局域网内部一样)。
我实际使用感觉在内网环境下,连接稳定性和延时表现都非常不错,流畅视频串流、延时10ms左右。

进阶操作

因为ZeroTier是由国外服务器提供的穿透服务,所以在不能建立直连的环境下中继表现非常差。官方提供的解决方案是使用自建的Moon服务器或者直接替换Planet服务器,关于Moon和Planet服务器,请自行了解。

自建Moon服务器需要有稳定的公网IP,所以还是有一定门槛。(如果你是我的好朋友,可以直接找我要。)

方案三(路由器+组网服务)

适用对象:不想对每一台客户端都进行配置,想要解锁更多玩法用途

ZeroTier虽然配置比较简单,但是如果对于每一台设备都进行配置也还是挺麻烦,后期的修改也不够方便。而且想要将Windows客户端作为网关的配置也很麻烦。

假设你已经有了一台路由器并且可以安装ZeroTier,那直接在路由器上完成安装并加入网络。为了访问路由器下的二级设备,你需要在ZeroTier控制中心设置路由表(假设路由器内网段是192.168.1.X,ZeroTier分配给路由器的地址是172.27.27.1)

作如下配置之后,

192.168.1.0/24 via 172.27.27.1 

你就可以在任何一台安装了ZeroTier-One并加入对应网络的设备中直接通过192.168.1.X访问对应设备!✨并且在设置好对应的路由表,你还可以实现自建反向代理(类似于RVPN),以后出门在外也可以无感知的快乐R回内网冲浪!