IT评测·应用市场-qidao123.com
标题:
内网穿透工具(二)-- FRP 简介(开源)
[打印本页]
作者:
石小疯
时间:
2025-1-20 04:24
标题:
内网穿透工具(二)-- FRP 简介(开源)
一、FRP 简介
FRP(Fast Reverse Proxy)是一款开源的内网穿透工具,它可以资助用户将内网服务袒露到公网上。以下是FRP的GitHub所在和一些根本信息介绍:
FRP GitHub所在
FRP的GitHub堆栈所在是:https://github.com/fatedier/frp
FRP 安装包下载所在:https://github.com/fatedier/frp/releases
架构分类:
amd64 :一般指X86-64处置惩罚器,intel及amd产品根本上均为该架构
386:早起X86架构,现在根本上看不到了
arm及arm64:均为使用arm指令集的CPU
mips及mips64:均为RISC处置惩罚器
体系分类:
drawin:为mac使用的包
freebsd:为一种类unix体系,freebsd体系专用
linux:linux体系均可使用该包
windows:windows体系使用的包
FRP功能特点
多协议支持:FRP支持TCP、UDP、HTTP、HTTPS等多种协议,满足差别应用场景的需求。
P2P通信:FRP支持P2P模式,提高特殊情况下连接的机动性。
TLS加密:FRP提供TLS加密功能,确保数据传输的安全性。
动态DNS:FRP支持动态DNS,便于动态IP情况中的稳固访问。
Web界面:FRP提供Web界面,简化管理和监控。
反向署理:FRP作为反向署理,使得内部服务可以通过外部服务器被访问。
架构与工作原理
frp 主要由两个组件组成:客户端(frpc) 和 服务端(frps)。通常情况下,服务端摆设在具有公网 IP 所在的呆板上,而客户端摆设在必要穿透的内网服务所在的呆板上。
由于内网服务缺乏公网 IP 所在,因此无法直接被非局域网内的用户访问。用户通过访问服务端的 frps,frp 负责根据请求的端口或其他信息将请求路由到相应的内网呆板,从而实现通信。
二、FRP Windows 版本安装摆设
1. 下载相应的安装包资源
Windows 版本下载:https://github.com/fatedier/frp/releases/download/v0.61.0/frp_0.61.0_windows_amd64.zip
2. 服务端配置
直接解压安装包;
修改 frps.toml 文件
# 服务端与客户端通信端口
bindPort = 7000
# 服务端将只接受 TLS 链接
transport.tls.force = true
# 身份验证令牌,frpc 要与 frps 一致
auth.token = "public"
# 后台管理地址
webServer.addr = "0.0.0.0"
# 后台管理端口
webServer.port = 7500
# 后台登录用户名
webServer.user = "admin"
# 后台登录密码
webServer.password = "admin"
复制代码
打开命令行(管理员模式)或 PowerShell,在命令行中运行`frps.exe(服务端),并指定配置文件,启动FRP服务。
.\frps.exe -c .\frps.toml
复制代码
访问 控制台 http://localhost:7500/
3. 客户端配置
客户端文件同服务端;
修改客户端配置文件 frpc.toml;
#服务端公网ip
serverAddr = "202.100.100.22"
# frps与frpc客户端通信的端口
serverPort = 7000
#此处和服务端统一
auth.token = "public"
[[proxies]]
#此处名称可自定义
name = "test-tcp"
#此处为协议,还有tcp、udp、http、https、stcp
type = "tcp"
localIP = "127.0.0.1"
#此处为本地开放的SSH端口
localPort = 22
#此处为公网地址转换的端口,此端口可任意调换
remotePort = 6000
复制代码
启动客户端
.\frpc.exe -c .\frpc.toml
复制代码
访问服务端控制台,可以看到客户端信息
测试服务内网穿透
找一台可以上网的windows呆板,使用telnet命令
telnet 202.100.100.22 6000
复制代码
假如可以连通,那就说明可以穿透通过。
三、FRP 实战摆设访问 WEB 应用
修改服务端 frps.toml 文件,增加 HTTP 捏造主机的端口 vhostHTTPPort 配置
# 服务端与客户端通信端口
bindPort = 7000
# 服务端将只接受 TLS 链接
#transport.tls.force = true
# 身份验证令牌,frpc 要与 frps 一致
auth.token = "public"
# 后台管理地址
webServer.addr = "0.0.0.0"
# 后台管理端口
webServer.port = 7500
# 后台登录用户名
webServer.user = "admin"
# 后台登录密码
webServer.password = "admin"
# 配置域名
#subdomainHost = "dazhong.online"
# 用于HTTP虚拟主机的端口
vhostHTTPPort = 8088
复制代码
修改客户端文件 frpc.toml ,增加 http 服务配置参数
serverAddr = "139.155.142.114"
serverPort = 7000
auth.method = "token"
auth.token = "public"
[[proxies]]
name = "test-tcp"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000
# http 服务配置参数
[[proxies]]
name = "web-8080"
type = "http"
localPort = 8080 #本地服务端口
customDomains = ["202.100.100.22"] # 域名配置,如果没有域名则使用服务端IP
复制代码
访问本地服务:http://+服务器IP+端口
http://202.100.100.22:8088
配置域名访问
通过添加域名分析记录,将公网IP和域名举行绑定
此处以阿里云域名为例,添加分析记录
方式一:通过客户端文件 frpc.toml 添加 customDomains 参数添加完整域名
# 主域名为 mydomain.com
customDomains = ["test8080.mydomain.com"]
复制代码
访问 http://test8080.mydomain.com:8088/
方式二:通过服务端和客户端文件都配置subdomainHost 子域名:
服务端文件 frps.toml 新增主域名
subdomainHost = "dazhong.online"
复制代码
客户端文件 frpc.toml 新增子域名 test8080
subdomainHost = "test8080"
复制代码
访问 http://test8080.mydomain.com:8088/
注意 subdomainHost 和 customDomains 参数不可以同时使用:
subdomain_host(服务端配置)
subdomain_host 是在frp服务端(frps)配置文件中使用的参数。它指定了一个域名,该域名下的全部子域名都将用于frp的捏造主机(vhost)HTTP署理。这意味着,当你在客户端(frpc)配置了subdomain参数时,客户端的HTTP服务将被映射到这个subdomain_host指定的域名下的子域名。
custom_domains(客户端配置)
custom_domains 是在frp客户端(frpc)配置文件中使用的参数。它允许你指定一个或多个自定义域名,这些域名将被用于客户端的HTTP或HTTPS服务。这个参数通常用于静态域名的场景,而不是动态子域名。
参数文档:
1.frp内网穿透之(反向署理nginx)
https://zhuanlan.zhihu.com/p/9565100806
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/)
Powered by Discuz! X3.4