win10跨网段文件共享
- 问题描述
- 问题分析
- 网络可达性
- 防火墙
- 权限问题
- 操作
- 网络拓扑示意图
- 操作步骤
问题描述
平常,我们经常用的是同一局域网下的网络共享,这在windows上很容易操作。现在,两台PC主机不在同一子网,该如何共享?
问题分析
要实现文件共享,主要解决3个子问题:
- 网络可达性
- 防火墙
- 权限问题
网络可达性
一般情况下,家庭网络中可能使用了二级路由,导致局域网划分成了2个子网,由于二级路由的NAT,导致一级路由的网络不能主动访问二级路由下的子网。当然,还有其他情况导致只能是不同的子网。
因此,首先得解决这个问题,最推荐的方案是关闭二级路由的NAT,然后在一级路由下添加静态路由。但是,好多家用路由没有关闭NAT选项以及添加静态路由功能。这样只能被迫使用端口映射功能,开启二级路由的端口映射,主要是开放445端口,这样在使用时还需要变换一下IP,非常别扭。
防火墙
windows好多防火墙默认策略,都是仅允许本地子网 通过,所以,需要在windows高级防火墙中,本地计算机 -> 入站策略,找到“打印机和文件共享” 相关的项目,在作用域中把 远程IP 改为任意。
权限问题
windows的文件共享,推荐开启密码访问,如果你的电脑本来就没有开机密码,那密码就为空。共享某文件夹时,需要注意权限问题。还有windows登陆凭证建议提前设置好。
操作
网络拓扑示意图
操作步骤
-
现在,我演示关闭路由器B的NAT的操作,我这里的路由器B刷了openwrt,因此很容易操作:登陆luci web界面,系统-防火墙-常规设置-Zones,把关于wan口的 Masquerading 的勾取消掉,并把 wan -> lan 的 Input、Output、Forward 全部设为 accept, 保存并应用。
-
接下来,为主路由添加静态路由,这里我的是TP-Link路由器:
目的地址填二级路由的子网,下一跳(或者叫网关)填路由器B的wan口地址(强烈建议路由器B的wan口地址设为静态地址),出接口选 LAN
-
设置windows防火墙
开始菜单 -> windows 管理工具 -> 高级安全 windows defender 防火墙 -> 本地计算机上的 高级安全 windows defender 防火墙 -> 入站规则
找到 文件和打印机共享(SMB-In), 双击 -> 作用域 -> 远程IP地址,改为任何IP。
建议把 其他的诸如 文件和打印机共享(回显请求-ICMPv4-in)的规则也同样设置一遍。 -
设置高级共享
打开 控制面板\所有控制面板项\网络和共享中心\高级共享设置
注意,这里选择有密码保护的共享。 -
设置文件共享权限
对需要共享的文件夹或者磁盘,右键->属性->共享->高级共享
勾选共享此文件夹,设置共享名。
然后点击下方权限,在“组和用户名”中 删除everyone(如果有的话),然后添加自己电脑本地用户名,点击添加,直接输入用户名,确定。注意:用户名是指 C:\Users 文件夹下的用户名
下方的权限 读写 、写入 全部勾选。确定。
-
设置windows登陆凭据
在其他需要访问此文件夹的电脑上,控制面板-用户账户-管理windows凭据-添加windows凭据:
输入另一台电脑IP、用户名、登录密码(不是PIN码)
-
访问测试
打开资源管理器,在地址栏输入\\192.168.1.10
回车,就能访问了。