内网穿透理解--基于frp

背景

同学最近搞了个NAS(Network Attached Storage:网络附属存储),简单地来说就是个小服务器。小白入门NAS—快速搭建私有云教程系列(一) - 知乎

大致组网图如下:

内网穿透理解--基于frp_第1张图片

这样地话,我们利用路由器组了个局域网,将家里地终端设备都可以将数据备份到NAS服务器上。

但是如果你在外面,想要获取备份在NAS服务器上地数据怎么办?了解到地解决方案有两种:

1- 购买公有IP,将NAS服务器IP设置为公有IP

2- 进行内网穿透。

1- 什么是内网穿透

我们在家办理了宽带,接上光猫就可以访问到csdn等外网网站,但是这并不等于我们家电脑的IP使用了公网IP,我们只是连接到了运行商公网服务器上,我们自己的电脑IP仍然是小网IP。

当我们要访问CSDN网站,我们将请求发到了运营商的服务器上,它会帮我们把请求发到CSDN公网的服务器上。CSDN响应后,会把获得的数据返回给运行商服务器,服务器然后将结果返回给我们自己的电脑。

我们的电脑始终处在小网内,通过运营商公网服务器将请求转发出去,所以我们可以访问外网。但是由于我们的电脑是小网IP,对除运营商外的公网服务器不可见,所以CSDN公网的服务器无法主动访问到我们的电脑。

那如果我们想要自己的电脑被外网访问怎么办?就得借助于内网穿透,简单的来说就是端口转发。

就是将访问公网的xxx端口内容转发到内网机器上。

具体工作原理:

1- 租赁一个公网服务器。比如腾讯云、阿里云服务器。在上面部署服务端程序并运行。

2- 自己小网电脑里部署客户端程序,并运行。

3- 客户端程序运行后,会给租赁的公网服务器发送报文,尝试和其上运行的服务端程序建立连接。小网电脑和租赁的公网服务器建立socket链接后,租赁的公网服务器就保存了小网电脑的句柄fd。我们接下来就是利用这个fd,将访问租赁的公网服务器指定端口的报文转发给这个fd。

4- 手机端访问租赁服务器的xxx端口。租赁的公网服务器监听到有人访问xxx端口,将对应的报文直接转发给fd句柄所在的机器。经过运营商服务器转发后到达我们的电脑。我们电脑上的客户端程序接收对应的报文结果。

这样就借助租赁的公网服务器,从外网访问到了我们的小网电脑。这就是端口转发。

内网穿透理解--基于frp_第2张图片

端口转发的核心是,需要在小网电脑上和租赁的公网服务器上运行对应的服务端、客户端程序,如果没有服务端这个程序就不会进行报文的转发;如果没有客户端程序,我们电脑也不会接收外网的数据。

所以平时上网不要随便下载不明的软件,万一恶意软件中携带了类似的客户端程序,就会窃取我们电脑上的个人数据,造成隐私泄露。

所以在将私有云做内网穿透时候,需要做好端口管理和其他的安全处理,否则很容易把数据泄露出去。。。

2- 具体实现

可以使用开源的解决方案:frp,自行百度如何部署frp

3- 参考文献

绿联网络私有云存储,家用NAS存储

内网穿透 - 知乎

FRP搭建内网穿透(亲测有效)_Jane_jian的博客-CSDN博客_frp内网穿透

自己动手部署内网穿透:frp - 知乎

Frp原理分析_RivenDong的博客-CSDN博客_frp的原理

远程公司内网服务器【内网穿透】_Cpolar Lisa的博客-CSDN博客_远程使用公司内网

你可能感兴趣的:(工具,TCP/IP,服务器,运维)