首页 > 其他分享 >Frp内网穿透

Frp内网穿透

时间:2024-06-18 16:11:27浏览次数:26  
标签:string int frp 默认 穿透 0.58 WebServer Frp 内网

Frp内网穿透

1.Frp简介

frp 是一款高性能的反向代理应用,专注于内网穿透。它支持多种协议,包括 TCP、UDP、HTTP、HTTPS 等,并且具备 P2P 通信功能。使用 frp,您可以安全、便捷地将内网服务暴露到公网,通过拥有公网 IP 的节点进行中转。

学习Frp最好的文档还是官方文档!

官方文档链接:https://gofrp.org/zh-cn/docs

2.下载

注:本文示例的版本为v0.58.1

官方下载链接:https://github.com/fatedier/frp/releases/tag/v0.58.1

若打不开可以从本页面下载:

frp_0.58.1_android_arm64.tar.gz
frp_0.58.1_darwin_amd64.tar.gz
frp_0.58.1_darwin_arm64.tar.gz
frp_0.58.1_freebsd_amd64.tar.gz
frp_0.58.1_linux_amd64.tar.gz
frp_0.58.1_linux_arm.tar.gz
frp_0.58.1_linux_arm64.tar.gz
frp_0.58.1_linux_arm_hf.tar.gz
frp_0.58.1_linux_mips.tar.gz
frp_0.58.1_linux_mips64.tar.gz
frp_0.58.1_linux_mips64le.tar.gz
frp_0.58.1_linux_mipsle.tar.gz
frp_0.58.1_linux_riscv64.tar.gz
frp_0.58.1_windows_amd64.zip
frp_0.58.1_windows_arm64.zip

3.安装

  1. 编写配置文件,目前支持的文件格式包括 TOML/YAML/JSON,旧的 INI 格式仍然支持,但已经不再推荐。
  2. 使用以下命令启动服务器:./frps -c ./frps.toml
  3. 使用以下命令启动客户端:./frpc -c ./frpc.toml
  4. 如果需要在后台长期运行,建议结合其他工具,如 systemdsupervisor

4.配置文件

(1)服务器配置文件

bindPort = #设置Frp服务的端口(可选,默认为7000)[int]
bindAddr = #设置监听的地址(可选,默认0.0.0.0)[string]
kcpBindPort = #服务端监听 KCP 协议端口(可选)[int]
quicBindPort = #服务端监听 QUIC 协议端口(可选)[int]
proxyBindAddr = #设置代理监听地址(可选,默认和bindAddr相同)[string]
vhostHTTPPort = #HTTP类型代理监听的端口(可选)[int]
vhostHTTPTimeout = #HTTP类型代理在服务端的ResponseHeader超时时间,单位s(可选,默认60)[int]
vhostHTTPSPort = #HTTPS类型代理监听的端口(可选)[int]
tcpmuxHTTPConnectPort = #tcpmux类型代理监听的端口(可选)[int]
tcpmuxPassthrough = #对于tcpmux类型的代理是否透传CONNECT请求(可选,默认false)[bool]
custom404Page = #自定义 404 错误页面地址(可选)[string]
subdomainHost = #指定二级域名(可选)[string]
maxPortsPerClient = #限制单个客户端最大同时存在的代理数(可选,默认无限制)[int]
userConnTimeout = #用户建立连接后等待客户端响应的超时时间,单位s(可选,默认10)[int]
udpPacketSize = #代理 UDP 服务时支持的最大包长度,服务端和客户端的值需要一致(可选,默认1500)[int]
#鉴权配置(可选)
auth.method= #鉴权方式,可选值为 token 或 oidc(可选,默认为token)[String]
auth.additionalScopes= #鉴权信息附加范围,可选值为 HeartBeats 和 NewWorkConns(可选)[string[]]
auth.token= #设置token(可选)[String]
auth.oidc = #oidc 鉴权配置(可选)[AuthOIDCServerConfig](AuthOIDCServerConfig这里不做阐述,具体可以查看官方文档)
#ssh 隧道网关配置(可选)
SSHTunnelGateway.bindPort= #SSH 服务器监听端口(必选)[int]
SSHTunnelGateway.privateKeyFile= #SSH 服务器私钥文件路径(可选,默认读取autoGenPrivateKeyPath路径下的私钥文件)[string]
SSHTunnelGateway.autoGenPrivateKeyPath = #私钥文件自动生成路径(可选,默认为./.autogen_ssh_key)[string]
SSHTunnelGateway.authorizedKeysFile = #SSH 客户端授权密钥文件路径(可选,默认不进行SSH客户端鉴权认证)[string]
#WebServer配置(可选)
WebServer.addr = #监听地址(可选,默认127.0.0.1)[string]
WebServer.port = #监听端口(必选)[int]
WebServer.user = #设置用户名(可选)[string]
WebServer.password = #设置密码(可选)[string]
WebServer.assetsDir = #静态资源目录静态资源目录

#webServer.tls配置(可选)
WebServer.tls.certFile = #TLS 证书文件路径(必选)[string]
WebServer.tls.keyFile = #TLS 密钥文件路径(必选)[string]
WebServer.tls.trustedCaFile = #CA 证书文件路径(可选)[string]
WebServer.tls.serverName = #TLS Server 名称(可选)[string]
#日志配置(可选)
log.to = #日志输出文件路径,如果为 console则会输出到控制台(可选)[string]
log.level = #日志级别(可选,可选值为 trace, debug, info, warn, error,默认为info)[string]
log.maxDays = #日志文件最多保留天数(可选,默认为3)[int]
log.disablePrintColor = #禁用标准输出中的日志颜色(可选)[bool]
#允许代理绑定的端口配置(可选)
[[allowPorts]]
start = # 起始端口[int]
end = # 截止端口[int]
[[allowPorts]]
single = #端口[int]

(2)客户端配置文件

serverAddr = #服务器的IP(可选)[string]
serverPort = #服务端Frp的端口(可选,默认7000)[int]
dnsServer = #使用 DNS 服务器地址(可选,默认为系统设定的dns)[string]
loginFailExit = #第一次登陆失败后是否退出(可选,默认为true)[bool]
udpPacketSize = #代理 UDP 服务时支持的最大包长度(可选,默认为1500)[int]
transport.protocol = #和frps之间的通信协议,可选值为 tcp, kcp, quic, websocket, wss(可选,默认tcp)[string]
dialServerTimeout = #连接服务端的超时时间,单位s(可选,默认10)[int]
dialServerKeepalive = #和服务端底层 TCP 连接的 keepalive 间隔时间,单位s(可选,默认10)[int]
transport.poolCount = #连接池大小(可选)[int]
transport.tcpMux = #TCP 多路复用(可选,默认true)[bool]

#鉴权配置
auth.method= #鉴权方式,可选值为 token 或 oidc(可选,默认为token)[String]
auth.additionalScopes= #鉴权信息附加范围,可选值为 HeartBeats 和 NewWorkConns(可选)[string[]]
auth.token= #设置token(可选)[String]
auth.oidc = #oidc 鉴权配置(可选)[AuthOIDCServerConfig](AuthOIDCServerConfig这里不做阐述,具体可以查看官方文档)
#WebServer配置(可选)
WebServer.addr = #监听地址(可选,默认127.0.0.1)[string]
WebServer.port = #监听端口(必选)[int]
WebServer.user = #设置用户名(可选)[string]
WebServer.password = #设置密码(可选)[string]
WebServer.assetsDir = #静态资源目录静态资源目录
WebServer.pprofEnable = #启动 Go HTTP pprof,用于应用调试(可选)[bool]
#webServer.tls配置(可选)
WebServer.tls.certFile = #TLS 证书文件路径(必选)[string]
WebServer.tls.keyFile = #TLS 密钥文件路径(必选)[string]
WebServer.tls.trustedCaFile = #CA 证书文件路径(可选)[string]
WebServer.tls.serverName = #TLS Server 名称(可选)[string]
#日志配置(可选)
log.to = #日志输出文件路径,如果为 console则会输出到控制台(可选)[string]
log.level = #日志级别(可选,可选值为 trace, debug, info, warn, error,默认为info)[string]
log.maxDays = #日志文件最多保留天数(可选,默认为3)[int]
log.disablePrintColor = #禁用标准输出中的日志颜色(可选)[bool]
#Tcp & Udp 配置
[[proxies]]
name = #隧道名字[string]
type = "tcp"
localIP = #代理的IP[string]
localPort = #代理的端口[int]
remotePort = #映射的远程端口[int]
transport.useEncryption = true #frpc 与 frps 之间的通信内容加密传输
transport.useCompression = true #对传输内容进行压缩,可以有效减小 frpc 与 frps 之间的网络流量
#负载均衡
loadBalancer.group = #分组名称[string]
loadBalancer.groupKey = #分组key[string]
transport.bandwidthLimit = "1MB" #代理限速,目前仅支持 MB 和 KB 单位

#Http & Https 配置
[[proxies]]
name = "web"
type = "http"
localPort = 80
customDomains = ["域名"]
transport.proxyProtocolVersion = "v2" #获得代理的请求的真实 IP
transport.bandwidthLimit = "1MB" #代理限速,目前仅支持 MB 和 KB 单位
subdomain = #代理的二级域名[string]
#仅限Http请求
hostHeaderRewrite = #修改请求头Host字段[string]
requestHeaders.set.字段 = 值[string]
# 设置 BasicAuth 鉴权
httpUser = #用户名[string]
httpPassword = #密码[string]
#配置证书
[proxies.plugin]
type = "https2https"
localAddr = "127.0.0.1:443"
crtPath = #证书文件路径[string]
keyPath = #密钥文件路径[string]

5.附录

(1)HeartBeats 和 NewWorkConns

(2)透传

指的是代理服务器接收到CONNECT请求后,不对其进行处理,直接将这个请求转发给目标服务器。这样,代理服务器就像是一个透明的中介,不对传递通过它的数据做任何修改。

标签:string,int,frp,默认,穿透,0.58,WebServer,Frp,内网
From: https://www.cnblogs.com/hanstary/p/18254556

相关文章

  • 企业内网是如何禁用U盘的?电脑禁用U盘有哪些方法?
    在当今企业环境中,数据安全和信息保护至关重要。为了防止数据泄露和恶意软件传播,很多企业选择在内网中禁用U盘,以控制数据的物理传输。小编这就来给大家总结一份详细指南!!关于企业内网如何禁用U盘的指南!!企业内网如何禁用U盘1.使用域智盾软件通过管理端下发策略至终端,终端......
  • 内网编译安装tesseract用于OCR识别
     需求:使用unstructured模块进行pdf内容识别及分块,需要本地安装了tesseract-ocr,以支持pytesseract*在Windows,可以直接安装tesseract-ocr;在Ubuntu,可以用aptinstalltesseract-ocr安装相关环境及依赖 当安装源里没有tesseract时,由于tesseract有很多依赖包,直接用deb包或者rpm......
  • Docker搭建FRP+OPENVPN+Prometheus+Grafana 实现内网穿透以及流量监控
    Docker搭建FRP+OPENVPN+Prometheus+Grafana实现内网穿透以及流量监控文章目录Docker搭建FRP+OPENVPN+Prometheus+Grafana实现内网穿透以及流量监控一、搭建Docker基础环境二、配置FRP,实现端口映射2.1使用Docker部署FRPFrps服务端(拥有公网IP)Frpc客户端(内网IP)三、搭建......
  • redis常用5种数据类型及其常见问题(缓存穿透,缓存击穿,缓存雪崩)
    1.字符串(String)2.哈希(hash):redishash是一个string类型的字段和value的映射表,hash特别适合存储对象3.列表(List):字符串列表,按照插入的顺序。可以添加一个元素到列表的头部或尾部4.集合(set):String类型的无序集合。集合成员不可重复,redis中集合通过哈希表实现的,添加,删除,查找复杂度......
  • 内网不能访问网站怎么办?
    内网不能访问网站是在网络使用过程中常见的问题之一。当我们使用局域网连接时,有时候会遇到无法访问特定网站的情况。这可能是因为网络环境复杂,或者受到了某些限制。本篇文章将介绍一种解决内网不能访问网站问题的产品——天联组网。天联组网是一款由北京金万维科技有限公司自......
  • 外网访问公司内网服务器?
    【天联】组网天联可以解决不同地区电脑与电脑、设备与设备、电脑与设备之间的信息远程通信问题。在全国各主要节点部署加速服务器,实现在低带宽、跨运营商的网络环境下高速访问;这为公司内网服务器提供了一个可行的外网访问解决方案。在现代办公环境中,越来越多的公司建设了内部......
  • 生产环境Nginx服务器双机热备部署以及配置内网域名转发
    10.0.0.8和10.0.0.9部署nginx:第一步:上传安装包第二步:安装编译依赖(使用普通用户需要家sudo)yuminstallgccgcc-c++yuminstallzlibzlib-develyuminstallpcrepcre-develyuminstallopenssllibssl-dev第三步:解压,编译安装:解压命令:sudotar-zxvfnginx-1.24.0.tar.g......
  • 信息打点-协议应用_内网资产_CDN_WAF_负载均衡_防火墙
    服务信息获取-协议应用&内网资产常见端口默认对应的服务:特殊服务端口:端口扫描工具:旁注查询旁注查询,又称为旁站查询或同服务器网站查询,是一种信息安全和网络侦查技术,主要用于发现与目标网站托管在同一服务器上的其他网站。这种查询的目的通常与网络安全测试、情报收集......
  • Gateway内网关的详细使用说明,包含由于版本问题、依赖问题引起的动态路由转发问题的详
    资料的连接官方文档https://spring-cloud-alibaba-group.github.io/github-pages/hoxton/en-us/index.html基本的概念相关属性Route:一个Route由路由ID(用来绑定哪一个微服务),转发URI(转移的目标URL),多个Predicates以及多个Filters构成。Gateway上可以配置多个Rou......
  • Serveo.net 内网穿透设置域名
    要使用Serveo.net设置自定义域名,首先你需要了解如何配置域名的DNS记录。以下是一个详细的步骤指南,假设你已经有一个域名并且可以访问它的DNS设置页面。1.获取Serveo的CNAME和TXT记录信息首先,确保你已经在Serveo.net上创建了一个隧道。例如:ssh-Ryoursubdomain.......