栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Frp的简单使用总结

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Frp的简单使用总结

一、简介

frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, udp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。简单来说frp就是用来转发的,它可以将对某个公网上的访问转发到对内网(局域网)内某台正在运行的服务上的访问。

二、为什么使用frp

1.1 简介中简单介绍了一下frp是什么,以及作用。那我们为什么要使用frp呢?作为开发或者运维人员,当我们需要在外网也能访问项目时,一般会有如下两种方式:
(1) 在云服务器提供商处购买服务器,搭建项目运行环境;
(2) 使用一些公司提供的内网穿透服务,比如:花生壳、nat123、ngrok等,映射到自己电脑上的对应对口上。

1.2 上述两种方式的缺点:
(1)购买服务器,那我们需要购买什么配置的呢?配置低了项目运行缓慢卡顿,配置高了费钱。有时候只是一两个小的项目,对性能并没有很高的要求,但是在价钱上要想两全,很难。
(2)我只使用过花生壳的内网穿透功能,这里暂时以花生壳为例,虽然项目在本机运行,性能肯定可以保证,但它是有流量限制的,而且只能使用指定的访问地址,除非加钱,哈哈哈。

1.3 Frp:
对于Frp,我也是最近才听朋友第一次提起,不知道这个之前,一直很烦恼上面提到的问题。后来了解并使用了frp后,真香,谁用谁知道。使用Frp的前提条件:
(1) 、一台具有公网IP的服务器,可以购买一台云服务器【服务器的配置不用很高,我使用的是1核CPU、1G内存、1MB带宽(按流量计算费用)的配置,完全没有问题】
(2)、内网服务器若干,本次以一台为例
(3)、frp软件,server端和client端

三、Frp下载配置使用 3.1 下载地址

frp也是托管在Github上的开源项目,直接到Release页面下载即可,链接如下:https://github.com/fatedier/frp/releases
在写本文时,frp的版本是 v0.35.1,末尾附有这两个版本的安装包,可正常使用。

3.2 安装包结构

以frp_0.35.1_windows_amd64.zip解压后为例(Windows版本):

3.2.1服务端相关文件

(1):frps.exe、frps.ini、frps_full.ini
(2):frps.exe服务端运行程序;frps.ini:服务端配置文件(简化版);frps_full.ini:服务端配置文件(完整版)

2.2.2 客户端相关文件

(1):frpc.exe、frpc.ini、frpc_full.ini
(2):frpc.exe客户端运行程序;frpc.ini:客户端配置文件(简化版);frpc_full.ini:客户端配置文件(完整版)

3.3:Frp配置 3.3.1:frp服务端配置

frp的服务端配置比较简单

[common]
#bind_port是服务端与客户端之间通信使用的端口号
bind_port = 7000
#与客户端的token必须设置成一致,token用于验证连接,只有服务端和客户端token相同的时候才能正常访问。如果不使用token,那么所有人都可以直接连接上
token = 123456
#转发web服务
vhost_http_port = 6555
#开启仪表板
dashboard_port = 6556
dashboard_user = admin
dashboard_pwd = admin

tcp_mux = true
max_pool_count = 10
3.3.2:frp客户端配置
[common]
#服务器ip
server_addr = 121.89.160.28
#服务端与客户端之间通信使用的端口号
server_port = 7000
#与服务端的token必须设置成一致
token = 123456

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

#MySQL数据库
[mysql]
type = tcp
local_ip = 192.168.1.1
local_port = 3306
remote_port = 3306
custom_domains = 121.89.160.28 #你的frp的server的ip

#Redis数据库
[redis]
type = tcp
local_ip = 192.168.1.1
local_port = 6379
remote_port = 6379
custom_domains = 121.89.160.28 #你的frp的server的ip或域名

#本地服务1
[web1]
type = http
#本地端口 1
local_port = 9090
custom_domains = aa.bb.cn

#本地服务2
[web2]
type = http
#本地端口 1
local_port = 9090
custom_domains = web2.xx.xx

#本地服务3
[web3]
type = http
#本地端口 1
local_port = 9000
custom_domains = web3.xx.xx

这里特别说明下frp下web服务的配置,以web1为例:假设frp服务器所在的ip为121.89.160.28,绑定的域名为 aa.bb.cn,使用Nginx代理转发到121.89.160.28:6555上,则frpc在配置web1时custom_domains必须设置成 aa.bb.cn【要和访问的域名完全一致,不含端口】,否则在输入aa.bb.cn访问时,会报frp给出的404错误。

3.4 启动运行

Linux下启动frps服务端,在frp目录下执行:

nohup ./frps -c ./frps.ini > file.log 2>&1 &

启动后会将日志记录到file.log文件中

windows下启动frpc客户端:

start /b frpc.exe -c D:LocalServerfrpfrpc.ini

服务端和客户端都启动成功后即可正常使用frp服务了。

附:
Linux下查看正在使用的端口情况:

netstat -tunlp
四、参考文章: 4.1 frp使用不同子域名映射本地的多个服务 4.2 使用FRP作为内网穿透服务 五、本文对应的FRP安装包

请到我的个人博客网站下载 :Frp的简单使用总结

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/871229.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号