frp的作用
利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。
对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。
利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。
配置说明
-
实现功能
1、外网通过ssh访问内网机器
2、自定义绑定域名访问内网web服务 -
配置前准备
1、公网服务器1台
2、内网服务器1台(我这里演示的是linux环境,win10上面vmware安装的centos7)
3、公网服务器绑定域名1个(实现二1中(1)功能不需要公网服务器绑定域名,二1中(2)功能必须需要公网服务器绑定域名)
4、内网服务器部署一个web服务,可以用tomcat模拟,这里就不演示了
安装frp
1、公网服务器与内网服务器都需要下载frp进行安装,公网服务器(服务端)配置关注步骤6,内网服务器(客户端)关注步骤7
2、下载linux版本frp_0.13.0_linux_amd64.tar.gz 或用wget下载
下载链接地址
wget https://github.com/fatedier/frp/releases/download/v0.13.0/frp_0.13.0_linux_amd64.tar.gz
3、新建目录mkdir -p /usr/local/frp,上传frp_0.13.0_linux_amd64.tar.gz至linux服务器该目录下
4、解压tar -zxvf frp_0.13.0_linux_amd64.tar.gz
5、进入解压目录cd frp_0.13.0_linux_amd64,这里主要关注4个文件,分别是frpc、frpc.ini和frps、frps.ini,前者两个文件是客户端所关注文件,后者两个文件是服务端所关注两个文件
6、配置服务端(公网服务器),首先删掉frpc、frpc.ini两个文件,然后再进行配置,vi ./frps.ini
~~~xml
[common]
bind_port = 7000 #与客户端绑定的进行通信的端口
vhost_http_port = 6081 #访问客户端web服务自定义的端口号
~~~
保存然后启动服务
~~~xml
nohup ./frps -c ./frps.ini &
~~~
7、配置客户端(内网服务器),首先删掉frps、frps.ini两个文件,然后再进行配置,vi ./frpc.ini
~~~xml
[common]
server_addr = 120.X.X.48 #自己公网服务器ip
server_port = 7000 #与服务端bind_port一致
#公网通过ssh访问内部服务器 [ssh] type = tcp #连接协议 local_ip = 192.168.0.1 #自己内网服务器ip local_port = 22 #ssh默认端口号 remote_port = 6000 #自定义的访问内部ssh端口号 #公网访问内部web服务器以http方式 [web] type = http #访问协议 local_port = 8081 #内网web服务的端口号 custom_domains = repo.iwi.com #所绑定的公网服务器域名,一级、二级域名都可以 ~~~ 保存然后执行,后台启动命令为 ~~~xml nohup ./frpc -c ./frpc.ini & ~~~
8、访问方式
直接可以通过外网 + remote_port端口即可实现内外汪穿透访问
举例: 公网IP服务器地址(120.X.X.48) + 端口(6000),即可访问到内网 192.168.0.1 :22 服务器
原文链接:https://www.cnblogs.com/lwdesire/p/15430926.html