通过外网访问局域网内某台电脑的共享文件夹(Win10/11)
用cpolar做内网穿透将文件映射到公网上,会生成相应的公网地址,访问该公网地址就可以访问到内网的文件。
- 在本地安装cpolar
需要先注册个账号,然后直接下载安装就可以了。主页如下:
- 创建隧道
选择tcp,本地地址可以设为8090,端口选择随即临时
创建成功后可以看见其状态:
点击左侧仪表盘的状态——在线隧道列表,可以查看到公网地址
但是需要注意的是,windows客户端没有办法访问非445端口的smb服务,建议搭建webdav服务,来实现公网访问内网共享文件。windows系统自带有IIS服务,可以搭建webdav服务。本地webdav服务搭建成功后,再用cpolar内网穿透来映射webdav服务即可,详细可以参考以下教程: - 安装IIS必要WebDav组件
打开控制面板,搜索“启用或关闭Windows功能”
在Internet Information Services(IIS)中勾选“IIS管理控制台”、“Windows身份验证”、“WebDAV发布”和“目录浏览”,然后确定安装。
# 这里,win11可能会遇到windows身份验证这个选项不存在的情况,我一开始也遇到这个问题。解决方法:以管理员身份运行cmd,在命令行输入:dism /online /norestart /add-package:%SystemRoot%\servicing\Packages\Microsoft-Windows-IIS-WebServer-AddOn-2-Package~31bf3856ad364e35~amd64~~10.0.19041.964.mum,安装windows身份验证,显示操作成功完成,完成安装
完成安装后再按刚才的步骤启用即可。
- 在“Windows管理工具”中找到“IIS管理器”并打开
右键网站,添加网站
为网站起个名子,并且选择一个本地路径,这里,我起名称为webdav,路径选择:D:\WebDav,端口号设置为8090
- 选中webdav站点,并进入它的"WebDAV创作规则”
启用WebDAV:
添加创建规则
- 选择webdav站点,进入“身份验证”
启用"Windows身份验证",禁用"匿名身份验证"
这里如果Win11按照我的提示安装了相应功能,还是没显示Windows身份认证,可以启用基本身份认证,也可以实现后续功能(亲测有效)。
- 选中“webdav”,进入“目录浏览”
启用:
- 重启webdav站点
- 客户端测试
在浏览器中,输入http://127.0.0.1:8090/ ,输入windows用户名以及密码,就可以访问WebDav服务中的文件内容了
- 内网穿透将WebDAV服务暴露在公网
浏览器访问测试(cpolar)
浏览器访问刚才cpolar创建好的隧道公网地址,记得把前面tcp://去掉。
因为是从外网访问,会提示账号及密码进行身份验证。我们使用windows账号及密码登录。
- 安装Raidrive客户端
使用WebDav客户端,将远程服务器虚拟机本地盘符。
Raidrive客户端下载链接:https://www.raidrive.com/download
连接WebDav服务器:
输入上述信息后点击连接,就可以访问我们的共享文件夹了。
目前测试使用的是随机TCP隧道创建的链接,24小时内会变化,仅用于测试。如果需要长期访问,建议配置使用固定的TCP隧道来访问,登录cpolar官网后,点击左侧的预留,保留一个TCP端口地址,并将其配置到webdav隧道中就可以了。