Frp
Frp(Fast e Reverse ) Proxy) 是一款简单,好用,稳固的隧道工具。Frp 使用 Go语言开辟,支持跨平台,仅需下载对应平台的二进制文件即可实验,没有额外依赖。它是一款高性能的反向署理应用,可以轻松地举行内网穿透,对外网提供服务。Frp 支持 TCP、UDP、KCP、HTTP、HTTPS 等协议范例,而且支持 Web服务根据域名举行路由转发。在举行内网排泄中,FRP 是常用的一款隧道工具。
下载地点:https://github.com/fatedier/frp/releases
Frp 的上风?
- 客户端服务端通讯支持 TCP、UDP、KCP、HTTP、HTTPS 以及Websocket 等多种协议。
- 接纳 TCP 毗连流式复用,在单个毗连间承载更多哀求,节流毗连创建时间。
- 署理组间的负载均衡。
- 端口复用,多个服务通过同一个服务端端口袒露。
- 多个原生支持的客户端插件(静态文件检察,HTTP、SOCK5 署理等),便于独立使用 frp 客户端完成某些工作。
- 高度扩展性的服务端插件体系,方便联合自身需求举行功能扩展。
- 服务端和客户端 UI 页面。
Frp 的署理范例
frp 支持多种署理范例来适配差异的使用场景。
范例形貌tcp单纯的 TCP 端口映射,服务端会根据差异的端口路由到差异的内网服务。udp单纯的 UDP 端口映射,服务端会根据差异的端口路由到差异的内网服务。http针对 HTTP 应用定制了一些额外的功能,比方修改 Host Header,增长鉴权。https针对 HTTPS 应用定制了一些额外的功能。stcp安全的 TCP 内网署理,必要在被访问者和访问者的呆板上都摆设frpc,不必要在服务端袒露端口。sudp安全的 UDP 内网署理,必要在被访问者和访问者的呆板上都摆设frpc,不必要在服务端袒露端口。xtcp点对点内网穿透署理,功能同 stcp,但是流量不必要颠末服务器中转。tcpmux支持服务端 TCP 端口的多路复用,通过同一个端口访问差异的内网服务。Frp 的设置文件
服务端设置(根本设置)
参数阐明默认值备注[common]是不可或缺的部分bind_addr服务端监听地点0.0.0.0bind_port服务端监听端口7000接办frpc的毗连bind_udp_port服务端监听UDP端口0用于辅助创建P2P毗连kcp_bind_port服务端监听KCP协议端口0用于汲取接纳KCP毗连的proxy_bind_addr署理监听地点同bind_addr可以使署理监听在差异的网卡地点log_file日志 文件地点./frps.log假如设置为console,会将日志 打印在尺度输出中log_level日志 品级info可选值:trace,debug,info,warn,error权限验证
参数阐明默认值备注authentication_method鉴权方式token可选值:token,oidcautnenticate_neartbeats开启心跳消息鉴权falseauthenticate_new_work_conns开启创建工作毗连的鉴权falsetoken鉴权使用的 token 值客户端必要设置一样的值才气鉴权通过oidc_issueroidc_audienceoidc_skip_expiry_checkbooloidc_skip issuer_checkboolDashboard(仪表板),监控
参数阐明默认值备注dashboard addr启用 Dashboard 监听的当地地点0.0.0.0dashboard port启用 Dashboard 监听的当地端口0dashboard userHTTP BasicAuth 用户名dashboard pwdHTTP BasicAuth暗码enable_prometheus是否提供Prometheus 监控 接口false必要同时启用了 Dashboard 才访问效asserts dir静态资源目次Dashboard 使用的资源默认打包在二进制文件中,通过指定此参数使用自界说的静态资源客户端公共设置(根本设置)
参数阐明默认值备注[common]
必须serverAddr毗连服务端的地点0.0.0.0serverPort毗连服务端的端口7000http_proxy毗连服务端使用的署理地点格式为
{protocol}://user:passwd@192.168.5.138:8080<br />protocol现在支持http、socks5、ntlm log_file日志文件地点./frpc.log假如设置为 console,会将日志打印在尺度输出中log_level日志品级info可选值:trace,debug, info,warn, errorpool_count毗连池巨细0权限验证
参数阐明默认值备注authentication_method鉴权方式token可选值:token,oidc;必要和服务端同等autnenticate_neartbeats开启心跳消息鉴权false必要和服务端同等authenticate_new_work_conns开启创建工作毗连的鉴权false必要和服务端同等token鉴权使用的 token 值必要和服务端设置一样的值才气鉴权通过oidc_client_idoidc_client secretoidc_audiencebooloidc_token_endpoint_urlbool客户端署理设置
根本设置
参数阐明是否必须备注type署理范例是可选值:tcp, udp, http,https, stcp,sudp,xtcp,tcpmuxuse_encryption是否启用加密功能否启用后该署理和服务端之间的通讯内容都会被加密传输use_compression是否启用压缩功能否启用后该署理和服务端之间的通讯内容都会被压缩传输proxy_protocol_version启用 proxyprotocol 协议的版本否假如启用,则 frpc 和当地服务创建毗连后会发送 proxy protocol 的协议,包罗了原哀求的 IP 地点和端口等内容;可选值:v1,v2当地服务设置
参数阐明是否必须备注local_ip当地服务IP是必要被署理的当地服务的IP 地点,可以为地点frpc 能访问到的恣意IP 地点;默认值:127.0.0.1local_port当地服务端口是共同local_ipplugin客户端插件名称否用于扩展 frpc的本事,可以或许提供一些简单的当地服务,假如设置了plugin,则local_ip 和local_port无效,两者只能设置一个plugin _params客户端插件参数(map范例)否map 布局,key必要都以“plugin“开头,每一个 plugin 必要的参数也不一样,具体见客户端插件参数中的内容负载均衡和康健查抄
参数阐明是否必须备注group负载均衡分组名称否用户哀求会以轮询的方式发送给同一个group 中的署理group_key负载均衡分组密钥否用于对负载均衡分组举行鉴权,group_key类似的署理才会被参加到同一个分组中health_check_type康健查抄范例否设置后启用康健查抄功能,tcp 是毗连乐成则以为服务康健,http 要求接口返回 2xx的状态码则以为服务康健可选值:tcp,httphealth_check_timeout_s康健查抄超时时间(秒)否实验查抄使命的超时时间.默认值:3health_check_max_failed康健查抄连续错误次数否连续查抄错误多少次以为服务不康健;默认值:1health_check_interval_s康健查抄周期(秒)否每隔多长时间举行一次康健查抄;默认值:10Frp的使用(0.51.3)
服务端设置
- [common]
- bind_addr = 0.0.0.0
- bind_port = 7000
- dashboard_addr = 0.0.0.0
- dashboard_port = 7001
- dashboard_user = root
- dashboard_pwd = 123456
- token = wx65b3e977e62f120b
复制代码 客户端设置
- [common]
- server_addr = 125.217.52.215
- server_port = 7000
- token = wx65b3e977e62f120b
- pool_count = 5
- health_check_type = tcp
- health_check_interval_s = 100
- [test]
- remote_port = 12345
- plugin = socks5
- use_encryption = true
- use_compression = true
- plugin_user = admin
- plugin_passwd = 123456
复制代码 在使用之前可以实验以下下令来检察设置文件中的语法是否精确
- frpc.exe verify -c frpc.ini #客户端
- frps.exe verify -c frps.ini #服务端
复制代码
使用frp创建隧道(反向sock5署理)
现在有这么一个场景,我们得到了一个位于内网的通过 NAT 方式对外提供服务的主机的权限,现在我们必要对其地点的内网继承举行排泄。于是,我们就必要通过FRP 创建一个隧道,让我们的主机可以通过隧道访问其内网。
开启服务端。
客户端实验
检察 dashboard,访问http://125.217.52.215:7001,账号:root 暗码:123456
毗连乐成。
我们本机设置署理: socks5 ip:125.217.52.215 端口:12345 账号:admin 暗码:123456
tcp隧道搭建乐成。
使用 Frp 映射 Web 服务
现在有这么一个场景,位于内网的主机必要对外提供 Web 服务,于是将内网主机的 80 端口映射到公网主机的 80 端口上。
客户端设置
- [common]
- server_addr = 125.217.52.215
- server_port = 7000
- token = wx65b3e977e62f120b
- [http]
- type = tcp
- local_ip = 127.0.0.1
- local_port = 80
- remote_port = 80
- custom_domains= www.test.com
复制代码 实验下令:frpc.exe -c frpc.ini
现在我们在内网服务器web服务看到的页面是下面如许的
来实验一下内网服务器的80端口是否有映射到我们的服务器上。
乐成映射到我们的服务器上。
使用 Frp 映射 RDP 服务
现在有这么一个场景,我们得到了位于内网的一台主机的权限,而且知道了他的登任命户名和暗码。他的 3389 端口只对内网开放,现在我们必要将该主机的3389 端口映射到公网我们的 VPS 的 3389 端口,那样,我们毗连我们 VPS 的3389 端口就相称于毗连内网主机的 3389 端口了。
客户端设置
- [common]
- server_addr = 125.217.52.215
- server_port = 7000
- token = wx65b3e977e62f120b
- [RDP]
- local_ip = 127.0.0.1
- local_port = 3389
- remote_port = 3389
复制代码 实验下令运行
接下来我们来长途桌面毗连一下当地的3389端口,看能不能连到内网的服务器。
OK了,内网服务器的3389端口乐成映射到我们本机的3389端口,毗连乐成。
使用 Frp 映射 SSH 服务
现在有这么一个场景,我们得到了位于内网的一台主机的权限,而且知道了他的登任命户名和暗码。他的 22 SSH 端口只对内网开放,现在我们必要将该主机的22 端口映射到公网我们的 VPS 的 2222 端口,那样,我们毗连我们 VPS 的 2222端口就相称于毗连内网主机的 22 端口了。
客户端设置
- [common]
- server_addr = 125.217.52.215
- server_port = 7000
- token = wx65b3e977e62f120b
- [SSH]
- local_ip = 127.0.0.1
- local_port = 22
- remote_port = 2222
复制代码 实验客户端毗连下令
看看ssh毗连能不能通过毗连当地的2222端口直接毗连上内网服务器的ssh端口。
125.217.52.215是当地的地点,不是内网服务器的地点。
OK了,毗连乐成。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金 |