目录
ftp介绍
frp 是一个开源、简洁易用、高性能的内网穿透和反向代理软件,支持 tcp, udp, http, https等协议。本文章中用的是frp_0.50.0_windows_amd64版本大家根据需求版本下载。
原理:服务端运行,监听一个主端口,等待客户端的连接;客户端连接到服务端的主端口,同时告诉服务端要监听的端口和转发类型;- 服务端fork新的进程监听客户端指定的端口;外网用户连接到客户端指定的端口,服务端通过和客户端的连接将数据转发到客户端;- 客户端进程再将数据转发到本地服务,从而实现内网对外暴露服务的能力。
通俗来说:就是打通互联网和局域网之间的访问
准备工作
- 一台可以访问互联网的服务器,什么配置的云服务器都行,作为服务端
- 一台本地部署服务的局域网服务器,什么系统的都行,作为客户端
frp下载 https://github.com/fatedier/frp(下载的时候尽量开个外网VPN不然可能有点卡)点击Releases找到需要版本下载
服务器端(frps)
删除掉frp文件包中的关于frpc的文件保留如图
配置服务端文件(frps.ini)
vhost_ssh_port = 80 表示为打通服务端80端口作为介质映射出去如果想多映射端口需要写成vhost_tcp_port01格式以此类推,bind_addr = 0.0.0.0 ,bind_port = 7000、dashboard_port = 7500为frp服务端口建议不修改。dashboard_user = admin、dashboard_pwd = admin 是登录frp管理平台的账号密码。
运行服务端(frps)文件在frp文件目录下cmd输入执行代码启动frps
./frps -c frps.ini
启动之后打开浏览器输入127.0.0.1:7500进入frp管理平台可以查看端口穿透的状态
客户端(frpc)
删除掉frp文件包中的关于frps的文件保留如图
配置客户端文件(frpc.ini) 如图所示
[ssh] //端口穿透的名字
type = tcp //传输协议
local_ip = 192.168.0.107 //该客户端的IP
local_port = 3389 //客户端穿透给公网上的端口
remote_port = 8080 //客户端与服务端相连接的服务端口要与在服务端定义的端口相对应才能生效
运行客户端(frpc)文件在frp文件目录下cmd输入执行代码启动frpc
./frpc -c frpc.ini