新睿云

> 知识库 > frp是什么?frp服务端安装,内网穿透干货分享!

frp是什么?frp服务端安装,内网穿透干货分享!

作者/来源:新睿云小编 发布时间:2020-03-27

因为我们带宽资源紧缺,我们的网络的家用带宽是没有固定公网IP的。这就造成我们无法从外网往家中设备访问。

我们自己搭建的私人云盘、自己PC设备、远程摄像头等均是处于在路由器后面,要是想访问家中设备(远程桌面、远程文件、SSH)则需要转发或者P2P这些组网设备进行协助。

这些相似组网软件我们并不是没有,但其均是收费软件!

远程桌面TeamViewer:虽然有免费版,但需要服务端与客户端均安装!

蒲公英VPN:免费版:跟百度网盘一个尿性,限速限死你!

花生壳DDNS解析:我们不限速嘛!限制带宽,想正常使用?不掏钱是不可能的。

于是开源frp出现在江湖之中,用其进行搭建理论上可以开放任何端口,功能不限于远程桌面或者远程文件共享等。

一、frp是什么

Frp说白了就是做反向代理,即使你家中电脑无公网IP也是可以给外界提供服务器,其支持HTTP、TCP、UDP等协议,本次我们仅仅讨论TCP与UDP这两个协议的内容。

1.搭建前准备:

ECS一台(云服务器)

目标设备(本文以家中电脑为例)

Linu基础(不会就按照本文操作,主要应用cp命令)

2.获取云服务器ECS

因为frp的原理是利用服务端(所准备的ECS)进行转发,因而ECS的速度直接决定了之后连接的质量,请根据自己的需要选择相应主机配置。

反正主要免费,我们干脆彻底点,去新睿云撸一台。这家现在有活动,服务器免费!锚文本点不开复制地址:https://activity.xinruiyun.cn/

 云服务器免费用

云服务器免费用

本人使用这家2核4G2M带宽,已经用了一个多月现在还不错!

系统使用Ubuntu 16.04.5 x64,frp客户端和服务端本身同时均支持Linux和Windows,且配置方法一样,请根据实际环境自行测试,如果你是新建的ECS,那选择Ubuntu 16.04.5 x64就可以了。

本文分享干货,不用它家也行,自行去撸一台服务器!反正服务器是必须的,要是没有也不用往下看了!

二、frp服务端设置

SSH连接到ECS之后运行如下命令查看处理器架构,根据架构下载不同版本的frp

1.frp服务端安装

arch
查看结果,如果是“X86_64“即可选择”amd64”,运行如下命令,根据架构不同,选择相应版本并进行下载
安装代码

然后解压
tar -zxvf frp_0.22.0_linux_amd64.tar.gz
文件夹改个名,方便使用
cp -r frp_0.22.0_linux_amd64 frp
把解压出来的文件夹复制到你想要的目录下,为了方便我直接放在用户目录下了,进入该目录
cd frp
查看一下文件
ls -a
我们只需要关注如下几个文件

frps

frps.ini

frpc

frpc.ini
刚才的两个文件,以s为结尾的是sever的意思,其中一个是服务端程序,领一个是服务端配置文件。后面以c结尾的表示client表示的是客户端程序与客户端配置文件。

咱们现在配置是服务端,所以客户端不重要,直接干掉它!
rm frpc
rm frpc.ini
然后修改frps.ini文件
vim frps.ini
这个文件应有如下格式

[common]

bind_port = 7000

dashboard_port = 7500

token = 12345678

dashboard_user = admin

dashboard_pwd = admin

vhost_http_port = 10080

vhost_https_port = 10443

如果没有必要,端口均可使用默认值,token、user和password项请自行设置。

这里使用的vim编辑器,如果你不会用,自行搜索vim教程!(vim使用不是本文重点,默认你会了。)

“bind_port”表示用于客户端和服务端连接的端口,这个端口号我们之后在配置客户端的时候要用到。

“dashboard_port”是服务端仪表板的端口,若使用7500端口,在配置完成服务启动后可以通过浏览器访问 x.x.x.x:7500 (其中x.x.x.x为ECSIP)查看frp服务运行信息。

“token”是用于客户端和服务端连接的口令,请自行设置并记录,稍后会用到。

“dashboard_user”和“dashboard_pwd”表示打开仪表板页面登录的用户名和密码,自行设置即可。

“vhost_http_port”和“vhost_https_port”用于反向代理HTTP主机时使用,本文不涉及HTTP协议,因而照抄或者删除这两条均可。

编辑完成后保存
之后我们就可以运行frps的服务端了
./frps -c frps.ini
如果看到屏幕输出这样一段内容,即表示运行正常,如果出现错误提示,请检查上面的步骤。

2020/01/12 15:22:39 [I] [service.go:130] frps tcp listen on 0.0.0.0:7000

2020/01/12 15:22:39 [I] [service.go:172] http service listen on 0.0.0.0:10080

2020/01/12 15:22:39 [I] [service.go:193] https service listen on 0.0.0.0:10443

2020/01/12 15:22:39 [I] [service.go:216] Dashboard listen on 0.0.0.0:7500

2020/01/12 15:22:39 [I] [root.go:210] Start frps success

访问  http://服务器ip:7500

上面配置的7500端口,使用上面配置的用户名和密码 admin/admin

登陆可以看到如下界面

frp服务端仪表板界面 

frp服务端仪表板界面

2.服务端后台运行

至此,我们的服务端仅运行在前台,如果Ctrl+C停止或者关闭SSH窗口后,frps均会停止运行,因而我们使用 nohup命令将其运行在后台。

nohup后台程序管理或关闭相关命令可自行查询资料,上面这个连接中也有所提及。

nohup ./frps -c frps.ini &
输出如下内容即表示正常运行

nohup: ignoring input and appending output to 'nohup.out'

此时可先使用Ctrl+C关闭nohup,frps依然会在后台运行,使用jobs命令查看后台运行的程序
jobs
在结果中我们可以看到frps正在后台正常运行

[1]+  Running                 nohup ./frps -c frps.ini &

此时访问 x.x.x.x:7500 依然可以打开仪表板界面,至此,服务端即设置完成,你可以关闭SSH窗口了。

此时服务器上的安装已经完毕,如果您按照以上操作应该不会出问题。

下一步便是配置客户端,请继续看『』来进行配置。如锚文本打不开请复制链接:『』到浏览器。

3.如果出现一些异常解决办法:

3.1检查配置项是否没有按照本文配置

3.2云服务器防火墙配置项中是否把只开放了80、443等常用端口,其余被拦截?

新睿云服务器可以通过控制台配置来放行端口,具体放行可以参考『新睿云服务器打开所有端口应该怎么操作?』来进行操作,锚文本打不开请复制链接:『https://www.xinruiyun.cn/ecs/3913.html』到浏览器中查看。

热门标签
new year
在线咨询
咨询热线 400-1515-720
投诉与建议
{{item.description}}

—您的烦恼我们已经收到—

我们会将处理结果发送至您的手机

请耐心等待