使用Windows的IIS搭建WebDAV服务器,免费实现通过IPV6进行无域名的文件分享
如果我们想分享一个大文件给身边的朋友或同事时,我们会怎么做呢?常用的我们会借助在线聊天工具或者是网盘进行传输。但是我们总是不可避免的受到或多或少的限制,比如不能直接传超大文件,或者传输速度较慢,并且也有可能需要一些花费才能获取满意的体验。
本文将利用Windows自带的 Internet Information Service (IIS)
服务搭建 WebDAV
服务器,通过 IPV6
的通信方式,避免了去申请域名或者公网IP的流程,直接使用 IPV6
地址实现远程文件传输
IMPORTANT!!!本文是基于IPV6实现,在实际使用的网络环境中需要同时有IPV6
文章目录
- 一、技术背景
- 1. IPV4 与 IPV6
- 2. WebDAV
- 3. Internet Information Service (IIS) 服务
- 二、启用 IIS 服务
- 三、IIS 服务新增 WebDAV 规则
- 四、IIS 服务绑定IPV6地址并启动
- 五、IIS 服务其他配置
- 1. 启用目录浏览
- 2. 编辑错误页
- 3. 重定向网站到webdav地址
- 4. 添加通用MIME类型支持所有文件的下载
- 六、添加防火墙规则
- 七、配置路由器的防火墙(可选)
- 八、其他说明
一、技术背景
1. IPV4 与 IPV6
IPV4
与 IPV6
指的是 TCP/IP
协议簇寻址系统的两个版本。IP地址
相当于现实世界的住址,可以精确的寻找到某个地方的详细地址。在网络通信领域中,其是可以准确的将数据传送到指定客户端的寻址方式。
由于 IPV4
使用 的是 32 位地址格式,可容纳超过 40 亿个地址空间,但这些地址是远远不够表示所有设备信息的,因此衍生了 NAT
技术,可以在同一网段下继续划分IP地址
,这样在不同网段下会出现相同的IP
地址,以表示更多的设备。但这个时候是没有公网的IP
地址(如同当前的家庭网络),其他设备也不能依靠IP地址
的方式直接与设备通信。这个时候需要借助DDNS
服务,去申请一个动态域名
,其他设备通过此域名才能与这台设备进行通信。
IPV4
的地址格式如下:xxx.xxx.xxx.xxx
,每一段可以取值范围是1 ~ 255,例如:192.168.1.100
, 1.1.1.1
而 IPV6
使用 128 位地址格式,可以容纳超过
1
0
36
10^{36}
1036 个地址。曾经看到一句话说,即使给世界上每一粒沙子都是用一个IPV6地址,也是绰绰有余的。因此对于拥有 IPV6
的两个设备来说,他们是可以直接通信,而无需借助于其他服务或技术。并且如今随着 IPV6
的普及,家庭网络已经开始开放IPV6
,只要使用支持 IPV6
的路由器即可实现每台设备IPV6
的需求
在 IPv6
中,地址名称由八个十六进制数字表示,这些数字由数字(0-9)和字母(A-F)组成,每个数字代表四位,用冒号分隔,一个组中的多个零可以压缩成一个空冒号块。例如:2600:1400:d:5a3::3bd4
2. WebDAV
WebDAV
是 基于Web的分布式编写和版本控制
( Web-based Distributed Authoring and Versioning
) 的缩写,其是 HTTP
上的一个拓展协议,它像是一个远程工具,定义了如何对存储内容进行读取,写入操作。因此,当一台设备部署了WebDAV,其他设备就可以通过像访问HTTP一样,直接读取或写入设备上的内容。
3. Internet Information Service (IIS) 服务
互联网信息服务
(Internet Information Services
)是由微软公司提供的基于运行Microsoft Windows的互联网基本服务。其支持搭建配置目前常见的网络服务,如:FTP/FTPS
、NNTP
、和HTTP/HTTPS
、SMTP
等服务。本文将使用 IIS
的 HTTP
服务中的 WebDAV
。
IIS
默认是没有被开启的,需要手动去 程序和功能
- 启用或关闭 Windows 功能
菜单中开启此服务。
二、启用 IIS 服务
打开 控制面板
- 程序
- 程序和功能
- 启用或关闭 Windows功能
菜单
在 启用或关闭 Windows功能
菜单中,首选勾选 Internet Informatio Service
,之后保证 IIS 管理平台
,安全性
下的所有,常见的HTTP功能
下的所有 都已被勾选。之后点击确定,等待 启用Windows功能
完成。
至此已经完成开启
IIS 服务
,在 开始
菜单 - Windows 管理工具
中将会出现 Internet Information Services (IIS)管理器
三、IIS 服务新增 WebDAV 规则
点击 开始
菜单 - Windows 管理工具
- Internet Information Services (IIS)管理器
打开 IIS管理器
,选择默认的 Default Web Service
或者新建一个网站
,选择 WebDAV 创作规则
,进行添加WebDAV。
点击 添加创作规则
,在打开窗口中,根据需要填写该表单。
指定的内容
是WebDAV
需要共享的文件夹,一般是以网站的相对地址(C:inetpubwwwroot
),如下填写webdav
,则对应的地址是C:inetpubwwwrootwebdav
允许访问此内容
指的是权限的配置,一般是选择所有用户权限
即对文件的可读可写权限的配置,一般只授予读取
即可
四、IIS 服务绑定IPV6地址并启动
首先,先在网络详细中去获取设备的IPV6地址
,并记录下来,如果有多个,请使用GUA
公网的IPV6
地址
在网站
主页的右边 编辑网站
点击绑定...
,在新窗口中点击添加
。
根据需要,选择http
或者https
协议,IP地址
输入刚刚记录的IPV6
,修改 端口
为所需要的,并记录下端口。
保存了此条目之后,同时添加一个本地IPV6地址
([::1]
),用于检查配置是否正常。
点击 网站
主页的右边 管理网站
点击启动
,即可启动服务,此时点击本地的IPV6的网站,已经是可以正常访问了。
此时访问 [::1]:端口
将会展示如下页面
五、IIS 服务其他配置
1. 启用目录浏览
点击 网站
主页中的目录浏览
,点击启用。这样就支持了目录浏览,在URL中可以访问目录,并呈现目录下的文件
2. 编辑错误页
默认的错误页会将错误的信息详细展示出来,为了避免泄露太多个人的信息,可以编辑错误信息页面。
点击 网站
主页中的错误页
,编辑功能设置
,选择自定义错误页,这样只会输出错误的代码
3. 重定向网站到webdav地址
由于WebDAV
是下一级目录,主目录有HTTP
的配置信息,为了避免信息泄露,需要将所有地址都重定向到WebDAV
的目录。
点击 网站
主页中的HTTP重定向
,按如下勾选和配置文件夹相对位置
4. 添加通用MIME类型支持所有文件的下载
WebDAV
的服务仅支持默认定义的MIME类型
的文件格式,为了使其支持所有文件的下载,添加通用的MIME类型
点击 网站
主页中的MIME类型
,点击添加
,在文件拓展名输入.*
,在MIME类型
中输入 application/octet-stream
按如上配置之后,此时在浏览本地网页,则会显示WenDAV
下的文件了
六、添加防火墙规则
为了实现外网可以访问到此WebDAV
服务器,需要添加防火墙规则,放开刚刚设置的端口
在 网络和Internet
设置的主页中,点击 Windows防火墙
,再点击 高级设置
, 打开 Windows防火墙
设置
右键 入站规则
,点击 新建规则
在新打开的窗口中,规则类型
选择 端口
协议和端口
中选择TCP
,特定本地端口输入刚刚在绑定中设置的端口
然后操作
中选择允许连接
,以及选择合适的网络允许其通过(一般是专用网络,保证其安全)
配置到这一步,其他设备登录到http://[IPV6地址]:端口/
,即可访问到WebDAV
七、配置路由器的防火墙(可选)
如果使用的路由器是带有防火墙的路由器,比如说OpenWrt等系统,则需要配置路由器的防火墙,允许设置的端口通过。
这里特别的是要指定lan口
的端口,而不指定wan口
的地址
八、其他说明
由于是直接将WebDAV暴露到公网了,一定要保证端口和地址的安全,需要打开防火墙。最好仅在需要的时候,才打开WebDAV
具体传输速度取决于宽带的上传速度,当前家庭宽带,一般来说上行和下行是不对等的,传输速度可能只有4m/s