首页 > 其他分享 >frp内网穿透安装及配置

frp内网穿透安装及配置

时间:2025-01-22 23:31:55浏览次数:1  
标签:Web 22 frps 0.0 端口 穿透 webServer frp 内网

frp内网穿透安装及配置

下载安装包

frp-release

本次的演示环境为:

服务端:Alibaba Cloud Linux

客户端:Windows 11 x86_64

配置

服务端 frps.toml

# frps.toml
bindAddr = "0.0.0.0"  # 服务端绑定的 IP 地址,0.0.0.0 表示监听所有网络接口
bindPort = 7000       # 服务端监听的 TCP 端口,客户端通过此端口连接
kcpBindPort = 7000    # 服务端监听的 KCP 端口,用于加速连接
vhostHTTPPort = 8080  # 服务端监听的 HTTP 端口,用于支持虚拟主机功能
subdomainHost = "baizesz.com"  # 虚拟主机的域名后缀,客户端可以通过子域名访问服务
userConnTimeout = 60  # 用户连接超时时间(单位:秒),客户端在指定时间内未完成连接则会被断开

auth.method = "token"  # 鉴权方法,此处使用 token 方式进行身份验证
auth.token = "123456"  # 鉴权 token,客户端需要使用此 token 才能连接到服务端

webServer.addr = "0.0.0.0"  # Web 服务器的绑定地址,0.0.0.0 表示监听所有网络接口
webServer.port = 7500       # Web 服务器的监听端口,用于访问 Web 管理界面
webServer.user = "admin"    # Web 管理界面的用户名
webServer.password = "12UnTBTKENTYTBuL"  # Web 管理界面的密码

#log.to="./frps.log"  # 日志输出路径,注释掉表示不启用文件日志输出
log.level = "trace"   # 日志级别,trace 表示记录所有日志信息,包括调试信息
log.maxDays = 3       # 日志文件保留的最大天数

#allowPorts = [  # 允许客户端使用的端口范围,注释掉表示不限制端口
#    { start = 6000, end = 7000 },
#]

客户端 frpc.toml

serverAddr = "120.24.191.53"  # 服务端的 IP 地址,客户端连接的目标地址
serverPort = 7000             # 服务端的监听端口,客户端通过此端口连接服务端
loginFailExit = true          # 登录失败时是否退出客户端,true 表示登录失败则退出

#log.to = "./frpc.log"        # 日志输出路径,注释掉表示不启用文件日志输出
log.level = "trace"           # 日志级别,trace 表示记录所有日志信息,包括调试信息
log.maxDays = 3               # 日志文件保留的最大天数

auth.method = "token"         # 鉴权方法,此处使用 token 方式进行身份验证
auth.token = "9944b09199c62bcf9418ad846dd0e4bbdfc6ee4b"  # 鉴权 token,客户端需要使用此 token 才能连接到服务端

transport.dialServerTimeout = 60  # 连接服务端的超时时间(单位:秒)

webServer.addr = "127.0.0.1"  # Web 服务器的绑定地址,仅监听本地访问
webServer.port = 7400          # Web 服务器的监听端口,用于访问 Web 管理界面
webServer.user = "admin"       # Web 管理界面的用户名
webServer.password = "admin"   # Web 管理界面的密码

# 定义代理服务,用于将本地服务暴露到公网
[[proxies]]
name = "django"               # 代理服务的名称
type = "http"                 # 代理类型,此处为 HTTP 代理
localIP = "127.0.0.1"         # 本地服务的 IP 地址
localPort = 8000              # 本地服务的端口
subdomain = "api"             # 子域名,通过 <subdomain>.<subdomainHost> 访问服务

[[proxies]]
name = "webui"                # 另一个代理服务的名称
type = "http"                 # 代理类型,此处为 HTTP 代理
localIP = "127.0.0.1"         # 本地服务的 IP 地址
localPort = 7860              # 本地服务的端口
subdomain = "webui"           # 子域名,通过 <subdomain>.<subdomainHost> 访问服务

防火墙设置

云服务器端口授权

在阿里云服务器控制台 >> 安全组 >> 入方向 >> 添加对应的规则 》协议类型 tcp, 端口填上上面frps.toml配置文件中所有的商品号,源选择所有IPv4(0.0.0.0/0)

系统防火墙设置

若在云服务器端口授权后,使用下面命令无法连通,则需要设置云服务系统的防火墙端口放行

测试端口连通性:

# 改成云服务器的 ip 以及端口号
telnet 120.24.191.53 8080
# 或者用下面这个命令
Test-NetConnection -ComputerName 120.24.191.53 -Port 7500

如果能连通,则不需要设置,否则按下面命令在服务器端进行设置

# 查看所有允许的端口
sudo firewall-cmd --list-all
# 添加一个7400端口
sudo firewall-cmd --add-port=7400/tcp --permanent
# 刷新防火墙配置
sudo firewall-cmd --reload

启动

服务端

cd xxx/frps_path/ # 进入 frps 的目录
./frps -c ./frps.toml # 用frps.toml 文件配置启动 frps

启动成功就可以看到下信息(根据你映射的端口不一样,信息会有差别)

# ./frps -c ./frps.toml
2025-01-22 21:22:37.390 [I] [frps/root.go:105] frps uses config file: ./frps.toml
2025-01-22 21:22:37.646 [I] [server/service.go:237] frps tcp listen on 0.0.0.0:7000
2025-01-22 21:22:37.646 [I] [server/service.go:246] frps kcp listen on udp 0.0.0.0:7000
2025-01-22 21:22:37.646 [I] [server/service.go:305] http service listen on 0.0.0.0:8080
2025-01-22 21:22:37.646 [I] [frps/root.go:114] frps started successfully
2025-01-22 21:22:37.646 [I] [server/service.go:351] dashboard listen on 0.0.0.0:7500

客户端

cd xxx/frpc_path/ # 进入 frps 的目录
./frpc -c ./frpc.toml # 用frps.toml 文件配置启动 frps

启动成功就可以看到下信息(根据你映射的端口不一样,信息会有差别)

# .\frpc.exe -c .\frpc.toml
2025-01-22 21:25:30.085 [I] [sub/root.go:142] start frpc service for config file [.\frpc.toml]
2025-01-22 21:25:30.089 [I] [client/service.go:295] try to connect to server...
2025-01-22 21:25:30.089 [I] [client/service.go:174] admin server listen on 127.0.0.1:7400
2025-01-22 21:25:30.121 [I] [client/service.go:287] [9adf4570a2ac6630] login to server success, get run id [9adf4570a2ac6630]
2025-01-22 21:25:30.121 [I] [proxy/proxy_manager.go:173] [9adf4570a2ac6630] proxy added: [django webui]
2025-01-22 21:25:30.121 [T] [proxy/proxy_wrapper.go:200] [9adf4570a2ac6630] [webui] change status from [new] to [wait start]
2025-01-22 21:25:30.121 [T] [proxy/proxy_wrapper.go:200] [9adf4570a2ac6630] [django] change status from [new] to [wait start]
2025-01-22 21:25:30.131 [I] [client/control.go:168] [9adf4570a2ac6630] [webui] start proxy success
2025-01-22 21:25:30.131 [I] [client/control.go:168] [9adf4570a2ac6630] [django] start proxy success

查看连接状态

刚才已经配置了 frp 的web 服务,打开下页链接就可以查看连接状态

http://120.24.191.53:7500

验证连接

在网页中打开刚才我拉映射的两个 http 端口

没有配出的话是能正常访问的,更多属性配置查看官网,另外配置文件的写法,其实有两种,下面以 webServer 举例:

写法一:

webServer.addr = "127.0.0.1"   # Web 服务器的绑定地址,仅监听本地访问
webServer.port = 7400          # Web 服务器的监听端口,用于访问 Web 管理界面
webServer.user = "admin"       # Web 管理界面的用户名
webServer.password = "admin"   # Web 管理界面的密码

写法二:

[webServer]
addr = "127.0.0.1"   # Web 服务器的绑定地址,仅监听本地访问
port = 7400          # Web 服务器的监听端口,用于访问 Web 管理界面
user = "admin"       # Web 管理界面的用户名
password = "admin"   # Web 管理界面的密码

上面两种写法是等价的,但是如果两种写法混合使用的话,不建议这样做,因为从[]开始它会一直找往下,直到到下一组[],不然它都会认为是当前组的,例如:

[webServer]
addr = "127.0.0.1"   # Web 服务器的绑定地址,仅监听本地访问
port = 7400          # Web 服务器的监听端口,用于访问 Web 管理界面
user = "admin"       # Web 管理界面的用户名
password = "admin"   # Web 管理界面的密码
auth.token = "9944b09199c62bcf9418ad846dd0e4bbdfc6ee4b" # 这里就会报错,它会被认为是webServer的子配置

标签:Web,22,frps,0.0,端口,穿透,webServer,frp,内网
From: https://www.cnblogs.com/nenhall/p/18686946

相关文章

  • 06、Redis相关概念:缓存击穿、雪崩、穿透、预热、降级、一致性等
    Redis相关概念:缓存击穿、雪崩、穿透、预热、降级、一致性等Redis缓存雪崩、缓存击穿、缓存预热热点key、缓存降级、短链接、分布式锁秒杀、预减库存、堆外缓存+Redis架构设计、Redis动态刷新、Redis和DB双写一致性、过期删除策略、集群数据倾斜等一、缓存雪崩缓存......
  • JavaFX + Maven实战:可内网联机的多人在线五子棋游戏开发全解析(附Socket通信与EXE打包)
    目录1.项目背景与需求分析1.1为何选择内网联机五子棋?1.2内网联机方案的附加价值2.技术选型与开发环境2.1GUI框架选型:JavaFXvsSwing深度对比2.1.1渲染性能与现代化特性2.1.2渲染性能与现代化特性2.2构建工具:Maven3.8.8核心优势2.2.1依赖管理自动化2.2.2EXE......
  • SharpScan: 内网资产扫描工具
    免责声明本系列工具仅供安全专业人员进行已授权环境使用,此工具所提供的功能只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用工具中的功能对任何计算机系统进行入侵操作。利用此工具所提供的信息而造成的直接或间接后果和......
  • unity ui穿透点击
    unityui穿透点击usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;usingUnityEngine.EventSystems;//Encoding:UTF-8publicclassUIPointerEventPenetrate:MonoBehaviour,IPointerClickHandler{List<RaycastResult>resul......
  • frp http转发
    FRP(FastReverseProxy)是一款高性能的反向代理应用,用于内网穿透。它可以将内网服务暴露到外网,使得外网用户能够访问内网服务。本文将详细介绍如何使用FRP进行HTTP转发。安装FRP首先需要下载并安装FRP。可以从FRP的GitHub页面获取最新的发布版本。下载FRP前往FRP的发布页面下......
  • easyipx内网穿透部署docker版
    内网穿透easyipx部署官方部署方式请参考easyipx官方文档获取更多信息。Docker镜像启动方式使用现有镜像其中/path/ssl/为证书存放路径version为使用的版本号dockerrun-d\--nameeasyipx\--restartalways\--networkhost\-v/path/ssl/:/opt/easy......
  • 【内网攻防】WMI的利用
    #红队#红蓝对抗#内网攻防WMI简介WMI,全称WindowsManagementInstrumentation,是微软开发的一种用于管理Windows系统的工具。你可以把它想象成一个数据库工具,它存储了关于你的电脑的各种信息,比如系统、应用程序、网络和设备等。WMI使用了一种特殊的方式来表示这些信息,叫做通......
  • 什么是缓存穿透、缓存击穿、缓存雪崩与其解决方案
    目录​缓存穿透缓存击穿缓存雪崩缓存穿透:无效请求绕过缓存访问数据库。缓存击穿:某个热点数据缓存失效,导致并发请求直接访问数据库。缓存雪崩:大量缓存同时失效,导致请求集中访问数据库,数据库压力骤增缓存穿透定义:缓存穿透指的是查询一个根本不存在的数据,这种查询会绕......
  • 【原创】【亲测有效】如何实现内网穿透 反向代理工具实操 超级实用 遗憾没早学会
    高价值使用场景FRP(FastReverseProxy)是一个功能强大的工具,适用于多种网络场景。以下是几个常见、鲜明且有价值的使用案例:远程访问内部服务器:场景:远程工作者需要访问公司内部的数据库或Web服务。解决方案:通过FRP,远程用户可以穿透公司防火墙,访问内部服务,如同在公司内部......
  • 【内网穿透】概念、原理与实现方法
    一、内网穿透简介内网穿透是一种网络技术,它允许外部网络(如互联网)上的设备访问位于内部网络(例如公司或家庭局域网LAN)中没有直接公网IP地址的设备。这对于远程办公、云服务接入以及物联网设备管理等场景至关重要。二、工作原理内网穿透主要依赖于NAT(网络地址转换)穿越技术。通常情......