IPv6 + DDNS + WebDAV 搭建文件访问服务

IPv6 + DDNS + WebDAV 搭建文件访问服务

我需要搭建一个可以从外网访问的文件服务器,当我不在家时,也可以用手机或笔记本电脑远程存取我家台式机上的部分文件。

文件服务器,可以用 Windows 内置的 IIS 搭建 WebDAV 站点来实现。从外网访问,就需要内网穿透,我选择了 IPv6 地址直连,需要 ddns-go 来实现动态 DNS 解析。

以下是操作步骤。

一、找电信运营商开通 IPv6

二、在光猫中将连接方式改为桥接

三、需要支持 IPv6 的路由器

我的路由器是小米 AX1800 路由器,打开了 SSH,并且用 iptables 命令控制 IPv6 防火墙。(该路由器无法用图形界面控制 IPv6 防火墙)。

四、购买域名,注册 Cloudflare 账号

将域名添加到 Cloudflare。

五、安装并配置 ddns-go

下载DDNS-GO到本地并解压,使用管理员权限运行 Windows 终端,cd 到 DDNS-GO 所在文件夹,执行以下命令安装:

1
.\ddns-go.exe -s install

在服务中将 DDNS-GO 设置为自启动。

在浏览器中打开 127.0.0.1:9876 ,配置 DDNS-GO。

  1. DNS 服务商设置为 Cloudflare.

  2. 在 Cloudflare 中创建一个 Token(令牌),模板为“编辑区域 DNS”,在“区域资源”中选择“所有区域”,然后创建。把创建的令牌复制到 DDNS-GO 中,点击“保存”。

  3. 取消勾选“IPv4”。

  4. 保持勾选“IPv6”,把“获取 IP 方式”设置为“通过网卡获取”,“Domains”输入域名,此处假设为 fileserver.kukmoon.com

  5. DDNS-GO 会在 Cloudflare 中自动新建一条 DNS 解析记录,域名为 fileserver.kukmoon.com,IP 地址为“通过网卡获取”的 IP 地址。

六、安装 WebDAV

按照参考文献[1]操作,此处以 Windows 10 为例。

右击“开始”,选择“运行”,输入 appwiz.cpl,在弹出的窗口的左侧导航窗格中,点击“打开或关闭 Windows 功能”。

在弹出的“Windows 功能”窗口中,展开“Internet Information Services”,勾选下列几项:

  • IIS 管理控制台
  • Windows 身份验证
  • 基本身份验证
  • 请求筛选
  • WebDAV 发布
  • 静态内容
  • 默认文档
  • 目录浏览

安装 IIS

勾选所需的功能后,点击“确定”开始安装,安装完成后,可能需要重启电脑。

七、新建并配置站点

IIS 安装完成后,通过搜索或在控制面板中找到“IIS 管理器”,启动。

1. 添加网站。在左侧导航栏中,展开“KM-Computer”(我电脑的名称),右击“网站”,选择“添加网站”。在弹出的对话框中设置网站的属性。“网站名称”设为“WebDAV”;新建 C:\inetpub\webdav 文件夹作为物理路径;由于电信运营商不允许使用 80 和 443 端口,因此将端口改成 60021,设置主机名为 fileserver.kukmoon.com;点击“确定”。

2. 启用 WebDAV。在左侧导航栏中,选中新建的 WebDAV 网站。在中部的窗格中,双击“WebDAV 创作规则”(旧版 Windows 翻译成“WebDAV 授权规则”),在右侧的操作面板中,点击“启用 WebDAV”。

3. 添加创作规则。在右侧的操作面板中点击“添加创作规则”。它们名为“创作规则”,实际上是“访问规则”,规定了用户可以访问什么内容,什么用户可以访问 WebDAV 内容。例如我想让本机用户 Kukmoon 以读取的形式访问全部内容,就可以创建如图所示的一条规则

4. 设置目录浏览。返回 IIS 管理器的中间窗格,双击“目录浏览”,然后在右侧点击“启用”,以便用户可以浏览目录。

5. 配置防火墙。配置 Windows 防火墙和路由器的防火墙,开放 60021 端口。

这样,在浏览器中访问 fileserver.kukmoon.com:60021,就可以看到物理路径下的内容了。

八、高级配置

8.1 配置用户验证

我希望配置用户验证,当用户访问我的 WebDAV 服务器时,会弹出一个对话框要求输入用户和密码。在 AI 的帮助下,配置成功。

在 IIS 的中间窗格中,双击“身份验证”,启用“基本身份验证”,禁用“Windows 身份验证”和“匿名身份验证”。

这样,在浏览器中访问 fileserver.kukmoon.com:60021,浏览器会弹出一个对话框要求输入用户和密码。注意:需要输入本机真实存在的用户名及其密码。例如我在前文配置让用户 Kukmoon 以只读的方式访问全部内容,那么就可以在此处输入用户名 Kukmoon 及其密码。只有输入正确,才能访问 WebDAV 站点的内容。

8.2 用目录链接为 WebDAV 站点添加子文件夹

以管理员身份启动命令提示符,输入以下命令:

1
2
cd c:\inetpub\webdav
mklink /D Videos F:\Videos

然后设置 F:\Videos 文件夹的共享,添加用户 Everyone,权限级别为“读取”。

这样,这样,在浏览器中访问 fileserver.kukmoon.com:60021,就可以看到一个名为 Videos 的子文件夹,点击它就可以访问里面的内容(实际上是本机 F:\Videos 文件夹中的内容)。

8.3 配置 SSL 加密

Certify The Web 为站点 fileserver.kukmoon.com 获取 Let’s Encrypt 的证书,并且自动部署到 IIS。

然后,在 IIS 管理器的左侧导航窗格中选中“WebDAV”站点,在中间窗格中双击“SSL 设置”,勾选“要求 SSL”。

8.4 配置 IPBan

IPBan 是防御黑客爆破站点的工具,其工作原理是封禁多次输错密码的 IP。按照参考文献[2]手动安装并配置,因为一键安装脚本在我电脑上从 GitHub 下载安装包的速度极慢。

九、图片版权

题图:By Lenharth Systems from Negativespace.co

头图:Photo by urbex clan on StockSnap

十、参考文献


求扫码打赏
“我这么可爱,请给我钱 o(*^ω^*)o”

IPv6 + DDNS + WebDAV 搭建文件访问服务
https://blog.kukmoon.com/a7d96a12ed08/
作者
Kukmoon谷月
发布于
2025年10月12日
许可协议