Windows防火墙通过VPN服务器阻止networking共享

我有一个在172.16.0.0/24networking前面的VPN服务器。 在我的客户端是一个192.168.1.0/24networking。 我能够成功地从客户端VPN到服务器networking,我试图通过TCP IP(例如,\ 172.16.0.20 \ Folder)装载networking共享。 我在172.16.0.20的networking适配器上启用了NetBios over TCP。

但是,当我尝试装入文件夹时,出现连接失败。 我积极的这是“私人networking”Windows防火墙阻止它。 如果我禁用专用networkingWindows防火墙,我可以挂载文件夹没有任何问题通过VPN(保持公共防火墙启用)。 但是,只要我再次启用专用networking防火墙,安装失败。 请注意,我能够远程桌面到机器(172.16.0.20)没有问题。

我已经尝试手动转发UDP端口137和138,以及TCP端口139.这似乎不工作。 还有什么我需要启用?

我意识到这已经晚了近三年了,但是我今天只是花了同样的时间在打架。 我确实得到了它的工作,所以我想我会分享。 请注意,我正在使用Windows 7 PC作为文件服务器; 其他版本可能需要稍微不同的configuration。

在“具有高级安全性的Windows防火墙”中,有几个“文件和打印机共享”规则:

  • 文件和打印机共享(NB-Datagram-In)
  • 文件和打印机共享(NB-Name-In)
  • 文件和打印机共享(NB-Session-In)
  • 文件和打印机共享(SMB-In)

(还有其他的规则,但是我不关心打印机共享,如果你想要的话,也会有相同的修改。)

文件和打印机共享似乎只能默认为“本地子网”。 您需要添加VPN客户端的子网。

修改这些规则如下:

  1. 打开规则的“属性”对话框。
  2. 导航到“范围”选项卡。
  3. 在“远程IP地址”部分,应select“这些IP地址”单选button。
  4. 点击地址列表旁边的“添加…”。 默认情况下,只有“本地子网”在列表中。
  5. 在“此IP地址或子网:”字段中,input分配给您的VPN客户端的子网(在OP中可能为192.168.1.0/24,如果不是,则是分配给客户端的VPN适配器的子网) ,然后单击确定。
  6. 如果您也在使用IPv6,请添加VPN客户端IPv6子网。

这足以让我通过VPN访问文件共享。

(如果您想手动执行此操作,则需要在文件服务器的防火墙中打开TCP端口139和445以及UDP端口137和138。