通过WireGuard异地组网实现文件远程访问
需求介绍:通过腾讯云轻量应用服务器搭建SMB文件共享服务。SMB文件共享协议工作在TCP 445端口,但由于安全原因,国内运营商以及云厂商封禁了该端口,此需求将依赖WireGuard异地组网实现,WireGuard组网后通过Tunnel口通信,即不受限于国内运营商和云厂商端口限制,又增加了云服务器以及共享文件的数据安全性。
SMB(Server Message Block)网络文件共享与资源访问协议,它采用 C/S 通信模型与精细化权限认证机制,依托 TCP/IP 传输,支持文件读写、目录遍历、并发访问与连接持久化,可有效保障共享资源的访问可控性、传输完整性与数据一致性。SMB 广泛适用于家庭局域网、企业办公网、文件服务器等场景,具备低开销、高兼容、易部署的特性,兼容Windows、Linux和macOS等多种操作系统。
WireGuard是一种现代的VPN协议,提供高效、快速和安全的点对点连接。它采用简单的配置和高强度的加密算法,能够有效地保障数据的机密性和完整性。WireGuard适合各种网络环境,具有较低的延迟和较高的性能,兼容Android、IOS、Windows、Linux常用客户端。
搭建过程:
1.部署SMB服务端,打开服务器管理器,添加角色和功能,下一步,找到文件和存储服务,将 文件 开头的角色打√。

2.下一步,把 SMB1.0/CIFS 文件共享支持 打√,点击下一步,点击安装,完成后重启服务器。

3.打开服务器管理器,点击 文件和存储服务,点击共享,新建共享。

4.创建共享文件夹,选中后点击下一步,默认 允许共享缓存 打√。

5.点击 自定义权限。

6.点击 共享选项卡,双击 Everyone,给予Everyone完全控制权限,点击应用,确定。

7.点击下一步,创建。

8.SMB部署完成,点击关闭。

9.按Windows键+R打开 运行窗口,尝试本地访问,

10.可以访问到,服务正常。

11.部署WireGuard服务端,将需要的服务端文件上传至服务器。(安装时需要科学上网环境,需提前安装上网工具,此文档不再赘述)

12.运行WireGuard服务端依赖程序,右键,以管理员身份运行dotnet-sdk-3.1.426-win-x64,安装完成后,点击关闭。

13.以管理员身份运行,WS4WSetup-2.1.5.exe,安装WireGuard服务端,点击Next,点击Install安装。

14.这里提示安装依赖再安装一次也无妨。

15.点击Finish后,WireGuard服务端会自动启动,退出服务端软件,运行准备好的服务端。

16.以管理员身份运行wireguard-installer.exe,安装,必须要科学上网环境,提前打开。

17.打开Wg Server for Windows,这时候,WireGuard服务端选项会变绿,直接点下一项,Edit Server Configuration 配置服务端。

18.Name=服务端名称,英文随便起,Listen Port=WireGuard工作端口默认即可,Allowd IPs=允许哪些网段通过,10.0.16.0/24是服务器网段、10.1.10.0/24是Tunnel口的网段,Endpoint=直接填写服务器公网:端口,Address=给服务器的Tunnel口分配IP 必须和Tunnel口是同网段 按图为例,下面两个 Private Key 和 Public Key 是公钥和私钥,点击Generate会自动生成。

19.点击Save保存后,WireGuard服务端配置也会自动变绿。下面开始配置客户端,点击Configure client,点击Add Client新建客户端。

20.Name=客户端名称 随便起,Address=点击Generate From Server按钮,会自动生成,这里生成的是10.1.10.2,因为10.1.10.1给WireGuard服务端用了,Allowed IPs=不用管,和服务端一样的配置,DNS=填阿里云的223.5.5.5、223.6.6.6就可以,下面的私钥和公钥点击Generate自动生成,Persistent Keepalive=25 这个是生存时间25秒。点击Save保存。

21.保存变绿后,点击Export Configuratioin File,导出PC1的配置文件。

22.点击Install Tunnel Service自动配置Tunnel接口。

23.点击Make private,设置为私有网络。

24.将pc1.conf配置文件导入到WireGuard客户端,连接测试。这时会发现可以连接上服务器,但是ping不通。不要慌,返回服务器。

25.打开服务器管理器,添加角色和功能,下一步,滑到下面,找到远程访问打√,下一步。

26.角色服务全打√,下一步,安装。

27.安装完成后,点击工具,找到 路由和远程访问。

28.服务器名称右键点击配置并启用路由和远程访问。下一步。

29.点击 自定义配置,下一步。

30.全选自定义配置,下一步,点击完成。

31.点击启动服务。

32.等待服务启动完成,关闭即可。

33.WireGuard客户端重连一下,再ping就通了。

34.测试下文件共享。

35.服务正常,可以访问。

【用windows做wireguard服务端 wireguard for windows 异地组网新妙招~】 https://www.bilibili.com/video/BV1zW4y1t7VX/?share_source=copy_web&vd_source=26e8bd91d3e7872a5f2c0c8d51697aab
软件github项目地址:https://github.com/micahmo/WgServerforWindows
wireguard下载地址:https://www.wireguard.com/install/
wg for windows下载地址https://github.com/micahmo/WgServerforWindows/releases
net core文件(理论上安装wg for windows的时候会帮你安装,但是有的时候不会自动安装)
下载地址:https://dotnet.microsoft.com/en-us/download/dotnet/3.1 (下载windows的x64版本的)
