介绍:
FRP 全名:Fast Reverse Proxy。FRP 是一个使用 Go 语言开发的高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务。FRP 支持 TCP、UDP、HTTP、HTTPS等协议类型,并且支持 Web 服务根据域名进行路由转发。
一、frp的作用
- 利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。
- 对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名 可以共用一个80端口。
- 利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。
二、配置说明
1、实现功能
(1)外网通过ssh访问内网机器
(2)自定义绑定域名访问内网web服务
2、配置前准备
(1)公网服务器1台
(2)内网服务器1台(我这里演示的是linux环境,win10上面vmware安装的centos7)
(3)公网服务器绑定域名1个(实现二1中(1)功能不需要公网服务器绑定域名,二1中(2)功能必须需要公网服务器绑定域名)
(4)内网服务器部署一个web服务,可以用tomcat模拟,这里就不演示了
三、安装frp
1、公网服务器与内网服务器都需要下载frp进行安装,公网服务器(服务端)配置关注步骤6,内网服务器(客户端)关注步骤7
2、下载地址是https://github.com/fatedier/frp/releases,下载linux版本frp_0.13.0_linux_amd64.tar.gz,个人感觉下载速度有点慢,
也可以这样选择下载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,前者两个文件是客户端所关注文件,后者两个文件是服务端所关注两个文件。
frps.ini: 服务端配置文件
frps: 服务端软件
frpc.ini: 客户端配置文件
frpc: 客户端软件
6、配置服务端(公网服务器),首先删掉frpc、frpc.ini两个文件,然后再进行配置,vi ./frps.ini,
[common]
bind_port = 7000 #与客户端绑定的进行通信的端口
vhost_http_port = 6081 #访问客户端web服务自定义的端口号
保存然后启动服务./frps -c ./frps.ini,这是前台启动,后台启动命令为nohup ./frps -c ./frps.ini &
7、配置客户端(内网Linux服务器),首先删掉frps、frps.ini两个文件,然后再进行配置,vi ./frpc.ini
[common]
server_addr = 120.56.37.48 #公网服务器ip
server_port = 7000 #与服务端bind_port一致
#公网通过ssh访问内部服务器
[ssh]
type = tcp #连接协议
local_ip = 192.168.3.48 #内网服务器ip
local_port = 22 #ssh默认端口号
remote_port = 6000 #自定义的访问内部ssh端口号
#公网访问内部web服务器以http方式
[web]
type = http #访问协议
local_port = 8081 #内网web服务的端口号
custom_domains = www.IChen.com #所绑定的公网服务器域名,一级、二级域名都可以
保存然后执行./frpc -c ./frpc.ini启动,这是前台启动,后台启动命令为nohup ./frpc -c ./frpc.ini &
8、访问方式
(1)外网ssh访问内网服务器(直接使用配置里面数据演示)
格式:
ip:120.56.37.48 port:6000 用户名:linux服务器的用户 密码:linux服务器的密码
例如:
ssh -P6000 root@192.168.3.48
格式:
ip:www.IChen.com port:6000 用户名:linux服务器的用户 密码:linux服务器的密码
例如:
ssh -P6000 root@www.IChen.com
(2)自定义绑定域名访问内网web服务(直接使用配置里面数据演示)
www.IChen.com:6081
扩展:
PS:有兴趣可以编写一下服务控制脚本
vim /usr/lib/systemd/system/frps.service
[Unit]
Description=frps Daemon
After=syslog.target network.target
Wants=network.target
[Service]
Type=simple
ExecStart=/usr/local/frp/frps -c /etc/frps.ini
Restart=always
RestartSec=1min
ExecStop=/usr/bin/killall frps
[Install]
WantedBy=multi-user.target
windows系统
#frpc.ini
[common]
server_addr = x.x.x.x 公网服务器IP地址
server_port = 7000 frps端口
[desktop]
type = tcp
local_ip = 127.0.0.1 内网本地回环
local_port = 3389 win远程端口
remote_port = 6000 win 内网映射端口
命令行启动: ./frpc -c ./frpc.ini
连接:远程桌面
win + r 输入mstsc
本文详细介绍FRP的安装配置及应用,FRP是一个高性能的反向代理应用,支持TCP、UDP、HTTP、HTTPS等协议,能帮助用户轻松实现内网穿透,对外提供服务。文章演示了如何配置FRP来实现外网SSH访问内网服务器及自定义域名访问内网Web服务。
1650

被折叠的 条评论
为什么被折叠?



