FRP通过公网IP实现内网穿透

FRP通过公网IP实现内网穿透

  • 一、简介
  • 二、安装服务端
    • 1、下载
    • 2、安装FRP
    • 3、使用 systemd 命令管理 frps 服务
    • 4、设置 frps 开机自启动
  • 三、安装客户端
    • 1、下载
    • 2、安装FRP
    • 3、使用 systemd 命令管理 frpc 服务
    • 4、设置 frpc 开机自启动
  • 四、访问仪表盘

一、简介

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

二、安装服务端

在具有公网IP的服务器上执行如下操作:

1、下载

FRP下载地址
使用和服务端相同的安装包即可
在这里插入图片描述

2、安装FRP

安装 systemd

yum install systemd
或
apt install systemd

创建 frps.service 文件

vim /etc/systemd/system/frps.service

写入内容

[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /wz_software/frp_0.61.1_linux_amd64/frps -c /wz_software/frp_0.61.1_linux_amd64/frps.toml[Install]
WantedBy = multi-user.target

frps.toml文件内容如下

bindPort = 7000
# 接收http请求
vhostHTTPPort = 7001
# 客户端需要配置对应的token才允许映射,这里自己修改
auth.token = "**********"#仅允许服务器上的指定端口/端口范围 避免滥用端口
allowPorts = [# 范围指定{ start = 5000, end = 5500},# 单独指定# { single = 5501},
]# 仪表盘配置
# 默认值为127.0.0.1。当您想从公共网络访问它时,将其更改为0.0.0.0
webServer.addr = "0.0.0.0"
webServer.port = 7002
# 仪表板的用户名和密码
webServer.user = "admin"
webServer.password = "**********"

3、使用 systemd 命令管理 frps 服务

# 启动frp
sudo systemctl start frps
# 停止frp
sudo systemctl stop frps
# 重启frp
sudo systemctl restart frps
# 查看frp状态
sudo systemctl status frps

4、设置 frps 开机自启动

sudo systemctl enable frps

三、安装客户端

在局域网服务器中执行如下操作
客户端与服务端的安装基本类似,这里也是使用systemd进行配置。

1、下载

FRP下载地址
这里我下载的v0.61.1版本
在这里插入图片描述

2、安装FRP

安装 systemd

yum install systemd
或
apt install systemd

创建 frpc.service 文件

vim /etc/systemd/system/frpc.service

写入内容,注意和服务端的执行文件和配置文件不同

[Unit]
# 服务名称,可自定义
Description = frp client
After = network.target syslog.target
Wants = network.target[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /wz_software/frp_0.61.1_linux_amd64/frpc -c /wz_software/frp_0.61.1_linux_amd64/frpc.toml[Install]
WantedBy = multi-user.target

frpc.toml文件内容如下

# 公网服务IP
serverAddr = "***********"
serverPort = 7000
# 需要与服务端保持一致
auth.token = "*******"[[proxies]]
name = "ssh端口"
type = "tcp"
localIP = "0.0.0.0"
#本机需要映射的端口
localPort = 22
#映射到云服务器的哪个端口
remotePort = 5000[[proxies]]
name = "测试服务端口"
type = "tcp"
localIP = "0.0.0.0"
#本机需要映射的端口
localPort = 8080
#映射到云服务器的哪个端口
remotePort = 5001

3、使用 systemd 命令管理 frpc 服务

# 启动frp
sudo systemctl start frpc
# 停止frp
sudo systemctl stop frpc
# 重启frp
sudo systemctl restart frpc
# 查看frp状态
sudo systemctl status frpc

4、设置 frpc 开机自启动

sudo systemctl enable frpc

四、访问仪表盘

http://公网ip:7002
在这里插入图片描述
到这里就可以通过自己的公网ip访问对应的内网服务了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/69135.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

K8S学习笔记-------1.安装部署K8S集群环境

1.修改为root权限 #sudo su 2.修改主机名 #hostnamectl set-hostname k8s-master01 3.查看网络地址 sudo nano /etc/netplan/01-netcfg.yaml4.使网络配置修改生效 sudo netplan apply5.修改UUID(某些虚拟机系统,需要设置才能生成UUID)#…

go运算符

内置运算符 算术运算符关系运算符逻辑运算符位运算符赋值运算符 算术运算符 注意: (自增)和–(自减)在 Go 语言中是单独的语句,并不是运算符 package mainimport "fmt"func main() {fmt.Printl…

【贪心算法篇】:“贪心”之旅--算法练习题中的智慧与策略(一)

✨感谢您阅读本篇文章,文章内容是个人学习笔记的整理,如果哪里有误的话还请您指正噢✨ ✨ 个人主页:余辉zmh–CSDN博客 ✨ 文章所属专栏:贪心算法篇–CSDN博客 文章目录 一.贪心算法1.什么是贪心算法2.贪心算法的特点 二.例题1.柠…

ARM TEE

在ARM的语境中,TEE是Trusted Execution Environment(可信执行环境)的缩写。ARM TEE就是基于ARM架构实现的可信执行环境,以下是具体介绍: 定义与原理 定义:ARM TEE是基于独立硬件,和主操作系统…

双亲委派(jvm)

1.双亲委派 在 Java 中,双薪委派通常是指双亲委派模型,它是 Java 类加载器的一种工作模式,用于确保类加载的安全性和一致性。以下是其相关介绍: 定义与作用 定义:双亲委派模型要求除了顶层的启动类加载器外&#xf…

阿里云 ubuntu22.04 中国区节点安装 Docker

下面是一份在 Ubuntu 22.04 (Jammy) 上,通过阿里云镜像源来安装并配置 Docker 的详细步骤示例,可在中国区阿里云节点使用: 一、卸载旧版本 (如已安装) 如果系统中已经安装了旧版 Docker (可能是 docker、docker-engine、docker.io、containe…

一款wordpress AI免费插件自动内容生成+前端AI交互+文章批量采集

一款wordpressAI自动内容生成前端AI会话窗口交互文章批量采集免费插件 1. SEO优化文章生成 关键词驱动的内容生成:用户可以输入关键词或长尾关键词,插件会根据这些关键词生成高质量的SEO优化文章。文章结构清晰,语言自然流畅,符合…

MongoDB 聚合

MongoDB 中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果。 有点类似 SQL 语句中的 count(*)。 aggregate() 方法 MongoDB中聚合的方法使用aggregate()。 语法 aggregate() 方法的基本语法格式如下所示&#xff1…

Linux03——常见的操作命令

root用户以及权限 Linux系统的超级管理员用户是:root用户 su命令 可以切换用户,语法:su [-] [用户名]- 表示切换后加载环境变量,建议带上用户可以省略,省略默认切换到root su命令是用于账户切换的系统命令&#xff…

使用 Ollama 在 Windows 环境部署 DeepSeek 大模型实战指南

文章目录 前言Ollama核心特性 实战步骤安装 Ollama验证安装结果部署 DeepSeek 模型拉取模型启动模型 交互体验命令行对话调用 REST API 总结个人简介 前言 近年来,大语言模型(LLM)的应用逐渐成为技术热点,而 DeepSeek 作为国产开…

关于大数据

在大数据背景下存在的问题: 非结构化、半结构化数据:NoSQL数据库只负责存储;程序处理时涉及到数据移动,速度慢 是否存在一套整体解决方案? 可以存储并处理海量结构化、半结构化、非结构化数据 处理海量数据的速…

Safari常用快捷键

一、书签边栏 1、显示或隐藏书签边栏:Control-Command-1 2、选择下一个书签或文件夹:向上头键或向下头键 3、打开所选书签:空格键 4、打开所选文件夹:空格键或右箭头键 5、关闭所选文件夹:空格键或左箭头键 6、更…

通过docker安装部署deepseek以及python实现

前提条件 Docker 安装:确保你的系统已经安装并正确配置了 Docker。可以通过运行 docker --version 来验证 Docker 是否安装成功。 网络环境:保证设备有稳定的网络连接,以便拉取 Docker 镜像和模型文件。 步骤一:拉取 Ollama Docker 镜像 Ollama 可以帮助我们更方便地管理…

企业四要素如何用PHP进行调用

一、什么是企业四要素? 企业四要素接口是在企业三要素(企业名称、统一社会信用代码、法定代表人姓名)的基础上,增加了一个关键要素,通常是企业注册号或企业银行账户信息。这种接口主要用于更全面的企业信息验证&#x…

Android性能优化系列——卡顿优化

卡顿,就是用户体感界面不流畅。我们知道手机的屏幕画面是按照一定频率来刷新的,理论上讲,24 帧的画面更新就能让人眼感觉是连贯的。但是实际上,这个只是针对普通的视频而言。对于一些强交互或者较为敏感的场景来说,比如…

激光工控机在自动化领域中有哪些作用?

首先是对于高精度加工控制方面:激光工控机能够精确控制激光光束的运动轨迹和输出功率,实现对各种材料的精细切割、雕刻和焊接,保证加工质量和效率。 其次还能实时监控与远程控制激光工控机凭借其强大的网络通信功能,可以实时监控…

陷入闭包:理解 React 状态管理中的怪癖

TLDR 闭包就像函数随身携带的背包,包含它们创建时的数据React 组件使用闭包来记住它们的状态和属性过时的闭包可能导致状态更新不如预期时的错误函数式更新提供了一个可靠的方式来处理最新状态 简介 你是否曾经疑惑过,为什么有时你的 React 状态更新不…

Cloud Computing-HCIA

FusionAccess 快速封装虚拟机特点 拥有独立的存储空间系统盘。方便统一更新和还原。同一模板分发的话 SID 会相同。 在虚拟机桌面发放流程中,创建虚拟机时,HDC 组件会检查指定的计算机组和桌面组。 KVM Kernel-based Virtual Machine,即基于…

LeetCode 3442.奇偶频次间的最大差值 I

给你一个由小写英文字母组成的字符串 s 。请你找出字符串中两个字符的出现频次之间的 最大 差值,这两个字符需要满足: 一个字符在字符串中出现 偶数次 。 另一个字符在字符串中出现 奇数次 。 返回 最大 差值,计算方法是出现 奇数次 字符的次…

基于STM32的智能加湿器设计(新版本)

目录 1、设计要求 2、系统功能 3、演示视频和实物 4、系统设计框图 5、软件设计流程图 6、原理图 7、主程序 8、总结 🤞大家好,这里是5132单片机毕设设计项目分享,今天给大家分享的是加湿器。设备的详细功能见网盘中的文章《12、基于…