内网穿透—使用 frp 实现内外网互通
内网穿透,又叫 NET 穿透,是计算机用语。用通俗的说法就是你家里的个人电脑,内网穿透可以直接被外网的人访问。例如你在公司,不通过远程工具,直接也可以访问到家里的电脑(本文章特指 web 应用程序)。正常来说我们的个人电脑是无法被别人访问到的(有固定 ip 除外!),而且现在固定 ip 资源稀缺,运营商也不会随便给你分配了,个人申请也挺难。
为什么需要内网穿透?
就我个人而已,需要用到内网穿透的原因:
一是方便访问公司的内网环境,不喜欢使用远程工具,挺麻烦的。二是方便把个人电脑上的应用开放到外网进行访问。
资源准备
能上网的个人电脑一台;
环境搭建
frp 工作原理
frp 的应用程序是分服务端和客户端的,服务器端的运行在有公网 ip 的服务器上,客户端就运行在需要穿透的内网机器上就行。
两端的程序运行起来之后,就会建立好通信的隧道,当我们访问公网 ip+端口 时,就会映射到我们内网的机器上了。
服务端搭建
把下载好的 frp 程序,上传到我们云服务器上解压出来即可:
tar -xvzf frp_0.38.0_linux_amd64 #解压mv frp_0.38.0_linux_amd64 frp #重命名一下
进入到 frp 目录下
我们看到 frp 目录下的一些文件,很明显分为两部分:
frpc 开头的代表着客户端使用;
frps 开头的代表服务端使用;
.ini 结尾的文件是 frp 的配置文件,也是需要我们进行修改的文件。
我们打开 frps.ini 配置文件查看
里面就只有一个配置项,表示监听服务器的 7000 端口,作为客户端通信的入口;
在这里有一个注意的点,如果我们云服务器没开放这个端口的话,我们客户端是无法和服务器进行通信的,这个时候我们需要在控制台的安全组规则中开放 7000 端口;
一切准备就绪,我们启动一下服务端的 frp 程序
看到服务端就正常启动起来了,正在监听 7000 端口;
这个时候我们继续往下配置客户端即可;
客户端搭建
有了服务端的配置说明,配置客户端也就是照猫画虎,我们只需要关注 frpc 开头的文件即可;
windows 和 Linux 的文件都一样,只是运行的平台不同而已。
下面演示在我个人电脑虚拟机中的 Linux 系统,作为客户端,frp 怎么配置;
同样的步骤,解压下 Linux 版本的 frp ,然后打开 frpc.ini 文件:
server_addr : 需要填写上你个人云服务器的公网 ip 地址,这个一定要填写正确,不然无法和服务器进行通信;
server_port :就是服务器监听的端口,默认可以不用修改;
这两部分就是用来和我们服务器进行通信的配置。
这部分就是创建隧道,也就映射对应的应用,这里映射的是 ssh;
我们只需要关注 remote_port 这个配置就行,这里需要填写你服务器上开放的端口,未开放的话,通过云服务器控制台,安全组策略进行配置。
这里的意思就是把服务器的 6000 端口映射到内网机器的 22 端口上。
当我们访问公网 ip + 6000 端口时,就会访问到我们内网电脑 22 端口的应用,这里就是 ssh;
配置好之后,接下来我们运行 frp 的客户端程序
页:
[1]