frps穿透服务器有什么用(FRP——简单而强大的内网穿透软件工具)

在工作中,我们常常需要实现内网穿透功能,例如:在公网临时访问公司内部的web系统,在公网登录公司内部的服务器。

以前,为了实现这样的需求,部分公司会购买VPN(虚拟专用网),甚至自行开发内网穿透的软件;对于个人,则常常借助于花生壳来实现这样的需求。

如今,我们可以使用开源软件frp,轻松地实现穿透内网的功能。

1、frp介绍

frp,是Fast Reverse Proxy的缩写,即“快速反向代理”。

通过使用frp,我们可以将内网某个服务器的端口,转换为公网上某台服务器上的某个端口来公开。

frp的架构如下所示:

通过这个架构图,我们可以看到,frp包括服务器(frps)和客户端(frpc);通过frp,借助一台公网的机器,我们可以将内网的多个服务对外公开。

2、frp软件的获取

frp软件,可以通过github来获取。在github中输入frp,第一项就是我们寻找的软件:

点击这个项目,我们即可获得frp的源代码,点击code,下载得到的文件frp-dev.zip即为frp的源代码。

如果希望直接下载软件,可以点击该页面中的“Release”链接:

服务器有什么用

点击链接后,可以看到如下的软件版本:

这里根据实际情况,我下载了64位Linux版本,得到frp_0.37.0_linux_amd64.tar.gz。

3、frp的安装

frp的安装比较简单,将frp_0.37.0_linux_amd64.tar.gz发送到要安装的机器,解开即可:

解开后,我们将得到frp_0.37.0_linux_amd64目录,目录中的文件,我们直接使用的,也就6个:

frpc——客户机运行的程序

frpc_full.ini——客户机上的最全配置文件样例

frpc.ini——客户机上的配置文件

frps——服务器运行的程序

frps_full.ini——服务器上的最全配置文件样例

frps.ini——服务器上的配置文件

4、frp的使用

使用frp,我们可以将TCP或UDP端口开放出去,使得原来只能在内网可以使用的服务,在外网也能使用。

为了试验frp的功能,我在家找了一台破旧电脑,安装了Ubuntu操作系统,然后想办法通过腾讯云上的一台服务器,将家用电脑上22号TCP端口公开出去,看能不能在外网使用ssh登录家用电脑的Ubuntu系统。

这是我本次操作的完整过程:

第1步:将frp_0.37.0_linux_amd64.tar.gz分别发送到腾讯云服务器和家用电脑上,然后解开;

第2步:在腾讯云服务器上修改frps.ini文件,将内容修改为:

[common] bind_port = 7000 log_file = ./frps.log log_level = info token = ABC1234567890

这些配置项的含义是:

(1)frps启动时,监听7000端口;

(2)运行日志写入到frps.log文件,日志的记录级别是info级别;

(3)frpc连接时,需要提供的token信息为ABC1234567890。

第3步:在腾讯云服务器上启动frps,执行的命令是:

./frps -c frps.ini

这是执行时frps.log文件的内容:

第4步:在家用电脑上修改frpc.ini文件,将内容修改为:

[common] server_addr = 10.88.8.88 server_port = 7000 token = ABC1234567890 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000

这些配置项的含义是:

(1)frpc连接的frps的IP地址是10.88.8.88,端口是7000;

(2)frpc链接frps时,需要提供的token是ABC1234567890;

(3)ssh服务在本地的端口是22,映射到服务器的端口是6000;

第5步:在家用电脑上启动frpc,执行的命令是:

./frpc -c frpc.ini

这是执行时的打印信息:

第6步:尝试用PUTTY或其他登录ssh服务的工具,登录家用电脑。这里使用腾讯云服务器的IP地址,端口为frpc上设置的6000:

这时,我发现可以登录到家用电脑了:

感觉太美好了!

5、后记

frp软件用起来确实非常简单,而功能却极为强大,唯一的缺点,就是我们需要拥有一台外网的服务器。

当然,我们只需要一台服务器作为frps就可以了,这台服务器同时为多个frpc提供服务。

您可以还会对下面的文章感兴趣

最新评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

使用微信扫描二维码后

点击右上角发送给好友