ftp简介

  • frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https协议。
  • 利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。
  • 对于 http, https服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。
  • 利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。

实验环境(主机系统为centos7)

此实验为学习搭建环境,将防火墙和增强型安全功能已关闭,若需开防火墙,则可以配置防火墙规则

软件包下载地址

https://github.com/fatedier/frp/releases

服务端安装示例

tar xzvf frp_0.21.0_linux_amd64.tar.gz -C /usr/local/     //解压软件包
cd /usr/local/    
mv frp_0.21.0_linux_amd64/ frp   //重命名
cd frp
cat frps.ini

[common]
bind_port = 7000     

/usr/local/frp/frps -c /usr/local/frp/frps.ini  //直接启动

客户端安装示例

tar xzvf frp_0.21.0_linux_amd64.tar.gz -C /usr/local/     //解压软件包
cd /usr/local/    
mv frp_0.21.0_linux_amd64/ frp   //重命名
cd frp
vim frpc.ini

[common]
server_addr = 12.0.0.10     //服务端IP地址
server_port = 7000

[ssh]            //模块名随便起
type = tcp
local_ip = 127.0.0.1         
local_port = 22
remote_port = 6000    //通过此端口连接此主机

/usr/local/frp/frpc -c /usr/local/frp/frpc.ini      //启动

此时服务端有回应提示

在服务端连接内网主机

搭建完成

内网一般不止一台主机,不用在每台主机上安装frp客户端,客户端配置文件配置如下

cd /usr/local/frp    
vim frpc.ini

[common]
server_addr = 12.0.0.10     //服务端IP地址
server_port = 7000

[ssh1]           //模块名不可重复
type = tcp
local_ip = 192.168.1.10       //不可再写127.0.0.1,需写具体地址
local_port = 22
remote_port = 6000    

[ssh2]           
type = tcp
local_ip = 192.168.1.20       
local_port = 22
remote_port = 6001

/usr/local/frp/frpc -c /usr/local/frp/frpc.ini      //启动

之后连接参上