NAS内网穿透超详细原理及操作介绍(基于frp)
本文会从“是什么、为什么、怎么做”这三方面来介绍“内网穿透”。
是什么
内网穿透是可以在你有网络的任何时间、任何地点都可以访问家中的设备。
但其实,互联网的作用就是这个,那为什么还要用内网穿透。这就是接下来讨论的:
首先搞明白,互联网怎么做到可以连接每个设备后,使每个设备可以互相通讯的。通讯的基础是我能找到你,我怎么找到你的,是因为你有一个独一无二的地址,也就是ipv4地址。但ipv4地址只有42亿个,不够每个设备分的,所以没分到的设备就通讯不了了,解决这个问题就出现了ipv6、NAT技术和动态分配这3种方法。
ipv6有接近无数个地址,解决了。
NAT技术就是好多个设备用一个ipv4地址,比如家里的路由器就可以用一个ipv4去让好多个设备共同上网。原理是在你发出请求数据包时,**路由器会记住这个数据包是你这台设备发出的(也就是记住设备的内网ip)并且把请求数据包数据改一下(可以让请求数据包回来的时候从某个特定端口进入内网),同时会把端口号和设备的内网ip绑定**,之后在有回答你的请求的数据包通过你路由器的ipv4地址回来时,路由器就会查询这个数据包是哪个端口收到的,并查看这个端口和哪个内网ip绑定了,就发送出去。这样所有内网设备都可以用一个ipv4地址上网了。
动态分配,因为动态分配所有有了动态公网ip,也就是变化的ipv4地址,它的机制就是让有联网需求的设备分配到公网ip,没有需求的暂时不给公网ip。
接下来这3种方法怎么连接家里的设备
既然ipv6使每个设备都有地址,那么可以直接连接到你家里的设备。
动态分配,就代表你有公网ip,所以也简单:在路由器上做一个端口转发就可以。
(就是事先让路由器知道从某个端口进来的数据,发送到哪体设备上,不需要内网设备发送数据后才绑定)。
最后NAT则是咱们今天的主题,如果没有公网,那大概率就是NAT了2层或更多层,那样你没办法去最外层的设备上做端口转发,所以就需要一台有公网ip的云服务器,去阿里云或者腾讯云那么租一台,让家里的设备联系上云服务器,而你也能联系上云服务器,就可以把流量通过云服务器中转后,你和家里的设备连接上。
为什么
你为什么需要内网穿透,也就是为什么需要随时随地访问家里的设备。
那这个问题我也不知道为什么了,可能是移动办公方便,可能是你手机存不下太多的数据,文件、照片,可能是长时间不在家。
怎么做
本文基于frp去实现(附frp中文文档https://gofrp.org/docs ),前文咱们说了,需要云服务(用frps)和家里面的电脑(用frpc)通讯,那么就需要配置2台电脑。
首先配置云服务器
去中文文档里的‘安装’下载frp,页面里有好多文件,常用的有:
linux系统——linux
windows系统——windows
32位——86或不写
64位——64一定会写
arm架构 ——arm一定会写
x86架构——amd或不写(这个我有点疑惑,为啥是amd不是intel🥲)
接下来你要会一点操作ssh工具的能力
![]()
按照自己带有公网ip的电脑(云服务器)去下载文件后,放到云服务器里
用SFTP页面进入刚刚解压后出现的文件夹,更改frps.ini文件,示例:
cd命令进入解压后出现的文件夹
按i键进入编辑,输入下方内容
输入后按esc键退出编辑,直接输入:wq保存并退出文件,云服务器布置完了。
配置客户端(家里的电脑)
推荐用docker,卸载容易,还能隔离原来的环境。咱们下载docker这个app后,应该会自动增加一个共享文件夹,在里面添加一个文件夹,就叫frp了。
在这个frp文件夹中放入名为frpc.ini文件,可以用txt文件改后缀名达成。
(建议去买一个域名后dns解析到云服务器的公网ip地址,再免费申请一个ssl证书,不用区分是什么nginx还是其他的,随便
)
文件内容:
去docker注册表里搜索frpc,选星星✨最多的那个,群晖的这里是snowdreamtech的frpc,下载好后,去docker映像里面,双击刚下载的frpc(检查一下是不是frpc),开始设置容器。
应用后,统计一下你要用哪个端口号访问云服务器的域名,去云服务器里面把端口号防火墙打开,最后用域名+端口号,就可以访问内网了。
刚才是ssl证书没有用,如果访问内网的时候出现网站不安全的话,就把ssl证书导入到群晖的证书里,就可以了。
附:如果大家对于ssl证书操作或其他的操作不明白的话,评论区告诉我,我大概一个星期就可以更新文章去解决这类问题。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~















十袋长老
校验提示文案
刻舟不为剑
校验提示文案
Erebus
校验提示文案
vxlinjie
校验提示文案
润溪耕夫
问题是自己就是没有公网IP啊。。。哪来带有公网ip的电脑(云服务器)?
校验提示文案
润溪耕夫
问题是自己就是没有公网IP啊。。。哪来带有公网ip的电脑(云服务器)?
校验提示文案
Erebus
校验提示文案
vxlinjie
校验提示文案
刻舟不为剑
校验提示文案
十袋长老
校验提示文案