frp 内网穿透

ops/2024/12/27 9:43:20/

frp 在目前理解是一个提供端口转发的工具。不管是 windows 版本还是 linux 版本都同时提供了 frps 服务端与 frpc 客户端两个应用,分别对应 frps.toml 与 frpc.toml 两个配置文件。
下载地址

服务端

服务端需要有公网ip,接收请求转发到对应的客户端服务上。

启动 frps 后会在默认 7000 端口监听请求,当客户端启动 frpc 时会先连接服务端,连接成功后会注册端口 proxies 到服务端,可以在服务端的 dashboard 上查看(默认7500端口)。

这就是服务端的全部配置,具体的端口对应关系在客户端配置。

frpstoml_13">服务端配置 frps.toml

# 全部配置文档
# https://github.com/fatedier/frp/blob/dev/conf/frps_full_example.toml
[common]
# 监听端口
bind_port = 7000
# 面板端口
dashboard_port = 7500
# 登录面板的账号密码(修改成自己的)
dashboard_user = admin
dashboard_pwd = admin
# 与客户端认证的key,两端保持一致即可
token = 123456
# 允许客户端使用的端口,默认为全部放开
# allowPorts = [
#  { start = 2000, end = 3000 },
#  { single = 3001 },
#  { single = 3003 },
#  { start = 4000, end = 50000 }
# ]

启动命令

# 直接启动进行测试
./frps -c frps.toml
# 后台启动
./frps -c frps.toml > frps.log 2>&1 &

配置自启动

  1. 新建service文件
    vim /etc/systemd/system/frps.service

  2. 添加配置

[Unit]
#服务描述
Description=frpc service 
After=network.target syslog.target
Wants=network.target[Service]
Type=simple
#日志
StandardOutput=file:/data/frp/frps.log
StandardError=file:/data/frp/frps.log
#执行命令 
ExecStart=/data/frp/frps -c /data/frp/frps.toml[Install]
WantedBy=multi-user.target
  1. 重载服务
    systemctl daemon-reload

  2. 启动服务测试
    systemctl start frps

  3. 查看服务状态
    systemctl status frps

  4. 设置服务为自启动
    systemctl enable frps

客户端

frpctoml_85">客户端配置 frpc.toml

# 全部配置文档,支持配置心跳,加密压缩等,文档提供了多种协议的配置样例
# https://github.com/fatedier/frp/blob/dev/conf/frpc_full_example.toml
# 服务端地址
serverAddr = "127.0.0.1"
# 服务端端口
serverPort = 7000
# 与服务端认证的key,两端保持一致即可
auth.token = "123456"# 代理配置
[[proxies]]
# 配置名称
name = "test-tcp"
# 类型
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000

如果使用云服务器作为服务端,记得放开云服务器 6000 端口安全策略。

启动客户端

打开 CMD 命令行,移动到文件路径,执行命令

frpc.exe -c frpc.toml

启动成功后,会看到日志

login to server success, get run id[xxxxxxx]
proxy added: [test-tcp]
start proxy success

配置客户端自启动

在 windows 平台,使用 nssm 工具进行服务注册,将 fprc.exe 注册成服务。工具下载地址

工具支持命令行的方式进行配置,也支持图形化的配置方式。

命令行方式

使用 CMD 命令行,执行以下命令,将文件目录替换为自己的目录。

nssm install frpc "D:\frp\frpc.exe" "-c D:\frp\frpc.toml"
nssm set frpc DisplayName "frp client"
nssm set frpc AppStdout "D:\frp\frpc.log"
nssm set frpc AppStderr "D:\frp\frpc.err.log"
nssm start frpc

图形化方式

图形化方式也很简单明了,选择应用,选择启动目录,添加配置,设置服务名称后 Install Service 即可。

查看效果

在任务管理器,服务一栏可以看到名称为 frpc 的服务。


http://www.ppmy.cn/ops/145063.html

相关文章

C语言结构体学习笔记

C语言结构体学习笔记 1、什么是结构体 结构体是一种用户自定义的数据类型,用于将不同类型的数据组合成一个有机整体。 例如,一个学生可以包含以下属性: int num; char name[20]; char sex; int age; char addr[30];这些属性可以通过结构体统…

重温设计模式--代理、中介者、适配器模式的异同

文章目录 1、相同点2、不同点 1、相同点 目的都是为了更好地处理对象之间的关系:这三种模式都是在软件设计中用于处理对象之间的关联和交互,以达到优化系统结构、增强可维护性等目的。它们都在一定程度上隐藏了对象之间的某些细节或者复杂性&#xff0c…

网络安全 | 云计算中的数据加密与访问控制

网络安全 | 云计算中的数据加密与访问控制 一、前言二、云计算概述2.1 云计算的定义与特点2.2 云计算的服务模式2.3 云计算的数据安全挑战 三、数据加密技术在云计算中的应用3.1 对称加密算法3.2 非对称加密算法3.3 混合加密算法 四、云计算中的访问控制模型4.1 基于角色的访问…

K8s DaemonSet的介绍

1. 什么是 DaemonSet? DaemonSet 是 Kubernetes 中的一种控制器,用于确保每个(或某些指定的)节点上运行一个 Pod 副本。它是为部署守护进程设计的,例如需要在每个节点上运行的任务或工具。 特点: Pod 会随…

Python tkinter写的《电脑装配单》和 Html版 可打印 可导出 excel 文件

Python版 样图: 说明书: markdown # 电脑配置单使用说明书 ## 一、软件简介 电脑配置单是一个用于创建和比较两套电脑配置方案的工具软件。用户可以选择各种电脑配件,输入数量和价格,软件会自动计算总金额,并支持导出和打印配置单。 ## 二、主要功能 1. …

mac 使用 launchctl 实现每次登录系统时 frpc 就会自动启动

测试 测试正常是否可以启动 /Users/zhangbaoxing/SoftWare/frp_0.61.0_darwin_arm64/frpc -c /Users/zhangbaoxing/SoftWare/frp_0.61.0_darwin_arm64/frpc.toml步骤 launchctl 是根据plist文件的信息来启动任务的,所以我们要加一个frp的plist mac系统一般提供两…

轻量级安全云存储方案Hoodik

什么是 Hoodik ? Hoodik 是一款轻量级、安全且自托管的云存储解决方案。它采用 Rust 和 Vue 设计和构建,专注于端到端加密,保护您的数据免受窥探和黑客的侵害。Hoodik 支持文件上传和下载,让您可以轻松地与其他用户共享文件。简单…

光谱相机在农业中的具体应用案例

作物生长监测与产量预测 美国爱荷华州玉米种植园:农场主使用无人机搭载高光谱相机,定期对玉米田进行拍摄。通过分析光谱数据,获取玉米的叶面积指数、叶绿素含量等生长参数。在玉米生长关键期,依据这些参数及时调整施肥和灌溉方案…