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 设置为自启动。
在浏览器中打开 127.0.0.1:9876
,配置 DDNS-GO。
-
DNS 服务商设置为 Cloudflare.
-
在 Cloudflare 中创建一个 Token(令牌),模板为“编辑区域 DNS”,在“区域资源”中选择“所有区域”,然后创建。把创建的令牌复制到 DDNS-GO 中,点击“保存”。
-
取消勾选“IPv4”。
-
保持勾选“IPv6”,把“获取 IP 方式”设置为“通过网卡获取”,“Domains”输入域名,此处假设为
fileserver.kukmoon.com
。 -
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 管理器”,启动。
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 |
|
然后设置 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
十、参考文献

