一、frp简介
frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。
二、环境搭建
1、环境准备
外网可访问域名一个,
外网服务器一台(以centos7为例,配置不做太大要求,带宽配置根据具体需求),
内网服务器一台或多台(以centos7为例,具体配置根据具体需求),
frp软件(本文以v0.20.0为例),软件地址:https://github.com/fatedier/frp/releases
2、服务端安装与配置(外网服务器)
进入/usr/local 目录 , cd /usr/local
下载安装包,https://github.com/fatedier/frp/releases/download/v0.20.0/frp_0.20.0_linux_amd64.tar.gz
解压安装包,tar -zxvf frp_0.20.0_linux_amd64
进入安装目录, cd frp_0.20.0_linux_amd64, 出现如下文件列表:
frpc开头为客户端需要的文件, frps开头为服务端需要的文件
删除frpc文件: rm -rf frpc*
编辑服务端配置文件 vi frps.ini
服务端详细配置参数,参考:frp/frps_full.ini at master · fatedier/frp · GitHub
我的配置如下:
bind_port是为了与客户端通信,
vhost_http_port是对外端口,终端访问使用,需要对外开放(加到防火墙,或阿里云加入入站规则)
subdomain_host是绑定的域名,如果最终访问域名为abc.xxx.com,那么此处配置xxx.com, 客户端配置abc即可
启动服务端(推荐后台启动):
前台启动 ./frps -c ./frps.ini
后台启动 nohup ./frps -c ./frps.ini &
3、客户端配置(内网服务器)
进入/usr/local 目录 , cd /usr/local
下载安装包,https://github.com/fatedier/frp/releases/download/v0.20.0/frp_0.20.0_linux_amd64.tar.gz
解压安装包,tar -zxvf frp_0.20.0_linux_amd64
进入安装目录, cd frp_0.20.0_linux_amd64, 出现如下文件列表:
frpc开头为客户端需要的文件, frps开头为服务端需要的文件
删除frps文件: rm -rf frps*
编辑客户端配置文件: vi frpc.ini
客户端详细配置参数,参考:frp/frpc_full.ini at master · fatedier/frp · GitHub
启动客户端(推荐后台启动):
前台启动 ./frpc -c ./frpc.ini
后台启动 nohup ./frpc -c ./frpc.ini &
http访问格式:
http://客户端subdomain.服务端subdomain:vhost_http_port
例如: http://testcms.xxx.com:18001
ssh访问 ip:服务端ip port:客户端remote_port 用户名、密码均为客户端服务器的用户密码
官方文档:https://github.com/fatedier/frp/blob/master/README_zh.md