目录
1.FRP介绍
frp是一个开源、简洁易用、高性能的内网穿透和反向代理软件,支持tcp,udp,http,https等协议。
2.FRP工作原理
服务端运⾏,监听⼀个主端⼝,等待客户端的连接;
客户端连接到服务端的主端⼝,同时告诉服务端要监听的端⼝和转发类型;
服务端fork新的进程监听客户端指定的端⼝;
外⽹⽤户连接到客户端指定的端⼝,服务端通过和客户端的连接将数据转发到客户端;
客户端进程再将数据转发到本地服务,从⽽实现内⽹对外暴露服务的能⼒。
3.FRP服务的安装使用
1.下载安装FTP
准备两台主机,主机a和主机b,要求如下:
主机a:内网主机 不可以被网络访问
主机b:外网主机 可以被外网通过ip或者域名访问
使用b主机代理a主机,通过访问b主机管理a主机;访问b主机的特定端⼝,管理a主机的22端⼝
设定主机b为服务端,提供代理服务,主机a主机是客户端,被代理
两台主机都下载安装FRP服务(提前下载好安装包)
tar -zxvf frp_0.33.0_linux_amd64.tar.gz #解压软件包
cp -r frp_0.33.0_linux_amd64/ frp/ #为了方便,将frp配置文件复制到frp目录下
2.配置FTP服务
1.服务端配置(主机b)
第一步:开启端口
打开控制台面板端口
[root@localhost ~]# firewall-cmd --zone=public --add-port=7500/tcp --permanent
打开frp服务端口
[root@localhost ~]# firewall-cmd --zone=public --add-port=7000/tcp --permanent
打开一组客户端口
[root@localhost ~]# firewall-cmd --zone=public --add-port=6000-6100/tcp --permanent
防火墙更新
[root@localhost ~]# firewall-cmd --reload
第二步:修改配置文件
[root@localhost ~]# vim ~/frp_0.33.0_linux_amd64/frps.ini
配置文件内容解释:
[common] 服务器名称
bind_port=7000 服务端口
dashboard_user=aaa 控制台面板账号
dashboard_pwd=aaa 控制台密码
dashboard_port=7500 控制台端口
#token=xxxxxxx 代理表示,可以不用设置
2.客户端配置(主机a)
[root@localhost ~]# vim ~/frp_0.33.0_linux_amd64/frps.ini
配置文件解释:
[common]
server_addr = x.x.x.x 服务器ip
server_port = 7000 服务器端⼝
token=xxxxxxx 代理标识
# 被代理的主机名称,不允许和其他重复
[被代理主机名称xxx]
type = tcp 代理服务类型
local_ip = 127.0.0.1 本地ip
local_port = 22 本地被代理的端⼝
remote_port = ⾃选端⼝xxxxxxx60000 选择代理后的端⼝
3.启动
服务端:
[root@localhost ~]# ./frp_0.33.0_linux_amd64/frps -c ./frp_0.33.0_linux_amd64/frps.ini
浏览器查看:这时候没有提供代理服务
客户端:
[root@localhost frp]# ./frpc -c frpc.ini