哈喽,大家好,我是行走的ID 今天给大家带来Frp的使用
一、 Frp
FRP是Fast Reverse Proxy的缩写,它是一款开源、高性能、跨平台的内网穿透工具。 FRP允许您通过安全地穿透NAT和防火墙来访问您的本地服务器,以便您可以从任何地方访问您的应用程序和服务。它的工作方式是将来自互联网的请求转发给本地网络中的应用程序,从而使应用程序看起来好像直接在互联网上运行。
原文链接: frp内网穿透
二、基本环境
可以有公网IP的实体机(比如vps等)
目标设备(就是你内网中的机器)
三、服务端部署
1下载frp安装包 登录公网服务(vps) 查看相应的架构型号,按照不同型号下载不同把版本 下载地址 版本链接 源码链接:源码地址
arch
如果是“X86_64“即可选择”amd64” 可以通过命令直接下载,也可以下载压缩包再上传到服务器,这里我用的是0.22版本你可以选择最新版本
wget https://github.com/fatedier/frp/releases/download/v0.22.0/frp_0.22.0_linux_amd64.tar.gz
解压 tar -zxvf frp_0.22.0_linux_amd64.tar.gz
2修改配置 将解压后的文件目录frp_0.22.0_linux_amd64 改名为 frp cd 进入frp, ls 查看会出现下图中的文件
关注下面几个文件
-
frps -
frps.ini -
frpc -
frpc.ini 前两文件,s结尾代表server,分别是服务端程序和服务端配置文件,后两个文件,c结尾代表client。分别是客户端程序和客户端配置文件。
我们当前操作的是服务端(也就说,公网服务作为部署frp的服务端)
编辑 服务端配置文件frps.ini
[common]
bind_port = 7000 #于客户端和服务端连接的端口
authentication_timeout = 0
dashboard_port = 7500 #服务端web页面的端口,如7500端口,在配置完成服务启动后可以通过浏览器访问 x.x.x.x:7500 (其中x.x.x.x为公网服务的IP)查看frp服务运行信息
token = 12121212 # 服务端加了 客户端必须添加,也可以都不设置
dashboard_user = admin
dashboard_pwd = admin_1122
vhost_http_port = 10080 #代理HTTP主机
vhost_https_port = 10443 #代理HTTPs主机
#subdomain_host = frp.com # 子域名
#custom_404_page = /frp/404.html # 自定义404 页面,绝对路径
保存推出 ,启动服务端命令
./frps -c frps.ini
登录服务web页面(应户名dashboard_user, 密码dashboard_pwd)
自此服务端配置完成 可以借助screen ,nohup 等进行后台运行
后台启动
nohup ./frps -c frps.ini > log 2>&1 &
查看任务
jobs -l
启动成功打印
四、客户端部署
客户端是目标设备 也就是你本地内网的机器
1下载frp安装包
与服务操作是相同,就是修改frp客户端文件(frpc.ini文件),下载安装版上传到本地服务,解压等步骤不在过多描述
2 修改配置 我们当前操作的是客户端(也就说,内网服务作为部署frp的客户端)
编辑 服务端配置文件frpc.ini 代理http/https 页面篇日志
1 #没有域名情况下
[common]
server_addr = #公网ip地址,vps
server_port = 7000 服务的bind_port
token = 12121212
[httpname]
type = tcp # 没有域名情况下使用 tcp
local_ip = 127.0.0.1
local_port = 8000 #本地服务端口
remote_port = 8080 # 远程访问端口,x.x.x.x:8080 x.x.x.x(vps等公网ip)
2 #有域名配置
[httpname]
type = http
local_port = 80
local_ip = 127.0.0.1
custom_domains = www.demo1.com
[httpsname]
type = https
local_port = 443
local_ip = 127.0.0.1
custom_domains = www.demo2.com
配置完成启动
./frpc -c frpc.ini
![](https://files.mdnice.com/user/43998/41293b08-67b5-449d-b212-16ad223b7c80.png)
自此客户端配置完成 可以借助screen ,nohup 等进行后台运行
五、效果
在客户端可以检测代理端口的情况可以看到已经成功代理一个 访问端口为8080
访问x.x.x.x:8080 效果 x.x.x.x为vps等公网ip
![](https://files.mdnice.com/user/43998/7fd3c765-55f2-4037-90bc-fd55046275a9.png)
六、拓展
其他协议配置代理案列
[common]
server_addr = x.x.x.x
server_port = 7000
token = 8**
[rdp]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 8081
[smb]
type = tcp
local_ip = 127.0.0.1
local_port = 445
remote_port = 8082
几个重要的参数
“[xxx]”表示一个规则名称,自定义,见名知意。
“type”表示转发的协议类型,有TCP和UDP等选项可以选择,如有需要请自行查询frp手册。
“local_port”是本地应用的端口号,按照实际应用工作在本机的端口号填写即可。
“remote_port”是该条规则在服务端开放的端口号,用于远程访问。
七、可能出现的问题
1 防火墙端口开放状态 2 web代理占用比如nginx
一站式导航初版
导航为初版希望得到您的反馈,也可以通过邮箱提供站点内容