新闻资讯

如何在外网访问内网共享文件?

2019-05-20

如何在Windows局域网内设置共享?

随着网络技术的成熟,文件共享也变得越来越普遍,我们的目标是在外网访问内网共享文件,但是我们首先要在同一个公司内部,在同一个学校内部实现文件的共享。在windows上设置共享文件夹,其实windows底层系统是通过smb协议实现这一功能的。SMB(Server Message Block)通信协议是微软(Microsoft)和英特尔(Intel)在1987年制定的协议,主要是作为Microsoft网络的通讯协议。SMB 是在会话层(session layer)和表示层(presentation layer)以及小部分应用层(application layer)的协议。SMB使用了NetBIOS的应用程序接口 (Application Program Interface,简称API)。另外,它是一个开放性的协议,允许了协议扩展——使得它变得更大而且复杂;大约有65个最上层的作业,而每个作业都超过120个函数,甚至Windows NT也没有全部支持到,最近微软又把 SMB 改名为 CIFS(Common Internet File System),并且加入了许多新的特色。

在windows系统上,从用户层面来讲,设置共享是非常方便的。只需要在装好windows系统的机器上,按照以下图操作,即可设置好共享文件夹。

1.打开你想要设置成共享的文件夹,在文件夹上面点击右键-属性-共享。然后点击共享,出现以下图片:

2.键入一个名字,然后点击共享。这样此文件夹就已经在局域网内部可以访问了。

由于我本地的计算机信息如下:

共享服务器的计算机名字叫MarsZhang,所以我们可以直接在局域网内部计算机的cmd框口通过键入\MarsZhang来访问这个共享文件夹。以下是访问的结果,从该图的结果来看,在局域网内部已经可以访问共享的文件了。


但是我们的目前是外网访问内网共享文件,所以我们还需要进行下面的一些步骤才能够实现这一目标。

外网如何访问以上的共享文件夹呢?

其实要想在外网访问以上的共享文件夹,只需要解决内网的路由问题即可。我们知道,我们共享文件夹的机器是内网的机器,所用IP地址是内网的IP地址,在互联网上是不可访问的。这样我们就必须通过访问共享文件夹的机器的上行联网路由器的WAN口,进而让路由器将我们的包转发至内网的文件共享服务器上,这样来达到外网访问内网共享文件之目的。路由器的端口映射设置是很简单的,我们知道SMB协议所用的传输层协议是TCP的,所用到的端口是137,138,445,将这些端口的映射在路由器上打开。但是还有一个问题,我们的路由器的WAN口地址,作为普通用户的话,这个IP其实一般是会动态变化的,每次重启路由器后这个IP一般都会变。

那么我们不可能每次都用一个变化的IP去访问,再说这个IP地址我们也不是随时都能够及时知道的。所以我们就想到了动态域名解析服务。花生壳就提供了这项服务,我们可以在花生壳上注册一个账号,并且通过实名认证之后,然后再购买一个域名,这样我们的花生壳账号就和我们的固定域名绑定在一起了。我们只需要在我们想设置为文件共享服务器的机器上登录花生壳客户端即可,这样我们的路由器的出口WAN IP地址,即公网IP就实时的能够被我们的花生壳软件上报至公网DNS服务器上,和我们的固定域名形成实时映射关系。这样我们在外面访问我们机器上的共享文件的时候,就能够用域名访问了。但是需要注意的是,这种方式的访问其实并不安全,应为smb协议所用到的端口数目太多,这就意味着我们要在路由器上面设置太多的端口映射。所以我们可以采用安全性比较好的ftps协议来搭建我们的服务器。但是不管怎样,我们需要固定的域名来访问动态改变的IP(路由器WAN口),这样的话花生壳是必不可少的工具。

所以,要想外网访问内网共享文件,必须进行的几个步骤总结一下(1)路由器端口映射设置;(2)注册花生壳账号,申请固定域名;(3)将花生壳客户端登录在想要成为共享文件服务器的机器上。这样我们就可以在全球的任何地方,实现外网访问内网共享文件了。