frp内网穿透的配置与设置

FRP(Fast Reverse Proxy)是一个高性能的反向代理应用,可以实现内网穿透功能。它帮助你将内网的服务暴露到公网,无需公网IP和端口映射,非常适合需要穿透防火墙、NAT的场景。以下是 FRP 内网穿透的配置和设置方法。bf86c223feb745c2bd7076dc5a80597e.png

### 环境准备

- **FRP 服务端(frps)**:运行在公网服务器上,负责接收内网客户端的请求并转发。
- **FRP 客户端(frpc)**:运行在内网机器上,负责将内网的服务暴露到公网。

你需要一台公网服务器(VPS 或其他有公网 IP 的服务器)来部署 `frps`,以及你想要穿透的内网机器来运行 `frpc`。

### 步骤 1:下载 FRP

首先,去 [FRP GitHub 页面](https://github.com/fatedier/frp)下载适合你操作系统的 FRP 版本。

你可以在 FRP 官网或者 GitHub 页面上找到最新的版本,下载后解压。

### 步骤 2:配置 FRP 服务端(frps)

1. **编辑服务端配置**:在公网服务器上创建 `frps.ini` 文件,配置 FRP 服务端的参数。

```ini
# frps.ini (服务端配置)

[common]
bind_port = 7000  # FRP 服务端监听的端口
bind_udp_port = 7001  # UDP 端口(可选)
vhost_http_port = 8080  # HTTP 协议的虚拟主机端口
vhost_https_port = 443  # HTTPS 协议的虚拟主机端口(可选)
dashboard_port = 7500  # Web Dashboard 的端口(可选)
dashboard_user = admin  # Dashboard 用户名
dashboard_pwd = admin   # Dashboard 密码


```

- `bind_port`: 服务端监听的端口,客户端通过此端口与服务端通信。
- `vhost_http_port`: FRP 服务端暴露 HTTP 服务的端口。
- `dashboard_port`: 可选的 Web Dashboard 端口,用于监控 FRP 服务状态。

2. **启动 FRP 服务端**:
   
   使用命令启动 `frps` 服务端:
   
   ```bash

   ./frps -c frps.ini


   ```

   此时 FRP 服务端将开始监听并等待客户端连接。

### 步骤 3:配置 FRP 客户端(frpc)

1. **编辑客户端配置**:在内网机器上创建 `frpc.ini` 文件,配置要暴露的服务。```ini
# frpc.ini (客户端配置)

[common]
server_addr = x.x.x.x  # 公网服务器 IP 地址
server_port = 7000      # 与服务端配置中的端口一致[web]
type = http
local_ip = 127.0.0.1   # 内网服务的 IP
local_port = 80        # 内网服务的端口
remote_port = 8080     # 映射到公网的端口


```

- `server_addr`: 你公网服务器的 IP 地址。
- `server_port`: 服务器端口,通常是 `7000`,与你在服务端配置中的 `bind_port` 一致。
- `[web]` 部分:表示将本地的 HTTP 服务(80端口)暴露到公网的 8080 端口。
  - `local_ip`: 内网服务所在机器的 IP 地址,通常是 `127.0.0.1`。
  - `local_port`: 内网服务监听的端口。
  - `remote_port`: 公网服务器上暴露的端口。

2. **启动 FRP 客户端**:
   
   使用以下命令启动客户端:

   ```bash

   ./frpc -c frpc.ini


   ```

   客户端启动后,将自动连接到 FRP 服务端,并将配置的服务暴露到公网服务器上。

### 步骤 4:访问内网服务

- 通过浏览器访问 `http://<公网IP>:8080`(假设你设置了 8080 端口),就可以访问内网的 HTTP 服务。
  
### 步骤 5:(可选)使用 Web Dashboard

FRP 提供了一个 Web 界面(Dashboard)来监控和管理连接。你可以在服务端配置中启用 Dashboard,然后通过浏览器访问:

```bash

http://<公网IP>:7500


```

登录使用你在 `frps.ini` 配置文件中设置的用户名和密码。

### 示例配置总结

#### 服务端 `frps.ini`:

```ini

[common]
bind_port = 7000
vhost_http_port = 8080
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin


```

#### 客户端 `frpc.ini`:```ini

[common]
server_addr = <公网服务器IP>
server_port = 7000[web]
type = http
local_ip = 127.0.0.1
local_port = 80
remote_port = 8080


```

### 注意事项

1. **防火墙设置**:确保服务端的 `7000`、`8080` 端口以及你希望暴露的其他端口没有被防火墙阻塞。
   
2. **安全性**:可以通过配置 SSL、JWT 或其他认证机制来保护你的 FRP 连接,避免不受信的访问。

3. **持久化运行**:你可以使用 `systemd` 或其他进程管理工具来确保 FRP 客户端和服务端在服务器重启后自动启动。

4. **多端口支持**:FRP 可以暴露多个端口,你可以通过多个 `[section]` 来配置不同的服务。例如,你可以暴露 SSH 服务、数据库服务等。

### 进阶配置

1. **TCP 映射**:

   如果你想通过 FRP 映射一个 TCP 服务(比如数据库),你可以配置如下:

   ```ini

   [mysql]type = tcplocal_ip = 127.0.0.1local_port = 3306remote_port = 6000


   ```

   这样,外部可以通过 `公网IP:6000` 访问内网的 MySQL 服务。

2. **UDP 映射**:

   FRP 也支持 UDP 映射。配置方式和 TCP 类似:

   ```ini

   [game]type = udplocal_ip = 127.0.0.1local_port = 12345remote_port = 12345


   ```

### 总结ae81eb1fc3f74bcc8d1baea44b8cdfc5.png

FRP 是一个非常轻量且功能强大的内网穿透工具,可以帮助你轻松地将内网服务暴露到公网。通过配置服务端和客户端,你可以在几分钟内搭建起一个可靠的内网穿透解决方案。

 

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

图数据库 | 13、图数据库架构设计——高性能计算架构再续

书接上文 图数据库 | 12、图数据库架构设计——高性能计算架构​​​​​​。昨天老夫就图数据库架构设计中的 实时图计算系统架构、图数据库模式与数据模型、核心引擎如何处理不同的数据类型、图计算引擎中的数据结构 这四块内容进行了展开讲解&#xff0c;今儿继续往下、往深…

一、web基础和http协议

前言 https://www.baidu.com/&#xff1a;URL&#xff08;是一种万维网寻址网址&#xff09; https://&#xff1a;协议&#xff0c;加密的http&#xff0c;加密的超文本传输协议&#xff0c;在数据传输之前要通过整数进行身份验证&#xff0c;验证通过才可以进行数据传输。 …

基于java+SpringBoot+Vue的实验室管理系统设计与实现

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; Springboot mybatis Maven mysql5.7或8.0等等组成&#x…

win7 双机调试

32位 CMD&#xff1a;关闭指令(开启10-10-12分页) bcdedit /set pae ForceDisable bcdedit /set nx AlwaysOff 开启指令(开启2-9-9-12分页) bcdedit /set pae forceEnable bcdedit /set nx OptIn一件事情是配置好虚拟机&#xff0c;我这里使用…

Linux进程优先级

1.孤儿进程 父子进程关系中&#xff0c;如果父进程先退出&#xff0c;子进程要被1号进程领养&#xff0c;这个被领养的进程为孤儿进程(1号进程为操作系统)&#xff0c;不领养如果变成僵尸进程就会有弊端&#xff0c;只有父进程和操作系统可以回收子进程&#xff0c;孤儿进程是…

力扣1401. 圆和矩形是否有重叠

用矢量计算&#xff1a; class Solution { public:bool checkOverlap(int radius, int xCenter, int yCenter, int x1, int y1, int x2, int y2) {//矩形中心float Tx(float)(x1x2)/2;float Ty(float)(y1y2)/2;//强行进行对称操作&#xff0c;只考虑第一象限if(xCenter<Tx)…

GESP202303 一级【长方形面积】题解(AC)

》》》点我查看「视频」详解》》》 AC_Code #include <bits/stdc.h> using namespace std;int main() {int n;cin >> n;int cnt 0;for(int i 1; i < n; i )for(int j i; j < n; j )if(i * j n)cnt ;cout << cnt;return 0; }》》》点我查看「视频」…

QT 中 QMessageBox 的简单用法

效果 思路 // 创建一个question弹出对话框&#xff0c;添加两个按钮&#xff1a;Yes和NoQMessageBox *box new QMessageBox(QMessageBox::Question, "提示", "确认删除的信息吗&#xff1f;", QMessageBox::Yes | QMessageBox::No, this);box->button(…

航空美食新升级,光明肉业携手东航食品打造经典辣肉面新篇章

在航空餐饮日益注重品质与创新的大环境下&#xff0c;各大航空公司纷纷在美食领域下功夫&#xff0c;力求为乘客提供更加多元化、高品质的餐饮体验。近日&#xff0c;东航那碗面再次成为行业焦点&#xff0c;其经典辣肉面在光明肉业的助力下实现了“创新”升级&#xff0c;为乘…

Mybatis-Flex的简单入门,Mybatis-Flex和其它框架对比

前言 最近做项目&#xff0c;项目组必须要用Mybatis-Flex&#xff0c;然后自己去学了一下&#xff0c;给大家进行分享。 MyBatis-Flex 是 MyBatis 的一个增强工具&#xff0c;旨在简化 MyBatis 的使用并提高开发效率。它通过提供一系列的便捷方法和特性来减少重复代码的编写&am…

离线安装ollama到服务器

搜了很多教程不满意,弄了半天才弄好&#xff0c;这里记录下&#xff0c;方便以后的人用&#xff0c;那个在线下载太慢&#xff0c;怕不是得下载到明年。 一.从官网下在liunx版的tgz安装包 Releases ollama/ollama (github.com) 查看自己的服务器信息&#xff08;参考 https:/…

六款实用的开发工具的分享

文章目录 开发工具的分享一、nignx playground&#xff1a;模拟生成nginx示例二、Json在线可视化工具三、pycharm技巧四、web页面与服务器交互工具-gotty五、定时任务管理工具六、node版本管理工具 开发工具的分享 一、nignx playground&#xff1a;模拟生成nginx示例 https:…

Docker 安装 Yapi

Docker 安装系列 Docker已安装。 1、场景Yapi使用的MongoDB用户信息 1.1 创建自定义 Docker 网络 首先&#xff0c;创建一个自定义的 Docker 网络&#xff0c;以便 MongoDB 和 YApi 容器可以相互通信 [rootflexusx-328569 data]# docker network create yapi-networ…

【LeetCode】每日一题 2024_12_5 捕获黑皇后需要的最少移动次数(分类讨论)

前言 每天和你一起刷 LeetCode 每日一题~ LeetCode 启动&#xff01; 题目&#xff1a;捕获黑皇后需要的最少移动次数 代码与解题思路 先读题&#xff1a;题目给了三枚棋子&#xff0c;目标就是求出能在几步之内将皇后吃掉 具体的分类讨论见代码注释 核心思路&#xff1a;…

关于数据库连接数突然上升问题,如何进行排查

1、假设您有一个 Java 应用程序 myapp.jar&#xff0c;您可以使用以下命令启动它&#xff0c;并启用 JMX 远程管理&#xff1a; java -Dcom.sun.management.jmxremote \-Dcom.sun.management.jmxremote.port8888 \-Dcom.sun.management.jmxremote.rmi.port8080 \-Dcom.sun.man…

数据结构:顺序表详解

1.顺序表的概念与定义 2.顺序表的初始化与销毁 3.顺序表的头/尾部的插入与删除 4.顺序表指定位置的插入和删除 4.对顺序表中的数据的查找 5.总结 我以过客之名&#xff0c;祝你前程似锦 一.顺序表的概念与定义 1.概念&#xff1a; 顺序表是在计算机内存中以数组的形式保…

【算法】棋盘覆盖问题源代码及精简版

目录 一、题目 二、样例 三、示例代码 四、精简代码 五、总结 对于棋盘覆盖问题的解答和优化。 一、题目 输入格式&#xff1a; 第一行&#xff0c;一个整数n&#xff08;棋盘n*n&#xff0c;n确保是2的幂次&#xff0c;n<64&#xff09; 第二行&#xff0c;两个整数…

摩尔线程 国产显卡 MUSA 并行编程 学习笔记-2024/12/04

Learning Roadmap&#xff1a; Section 1: Intro to Parallel Programming & MUSA Deep Learning Ecosystem&#xff08;摩尔线程 国产显卡 MUSA 并行编程 学习笔记-2024/11/30-CSDN博客&#xff09;UbuntuDriverToolkitcondapytorchtorch_musa环境安装(2024/11/24-Ubunt…

App如何跨线上线下、跨渠道、跨终端归因分析

随着渠道分布多元化、生态割裂加剧、用户时间碎片化等趋势&#xff0c;多渠道投放已经成为不可阻挡的广告投放趋势。 但是App营销推广渠道那么多&#xff0c;既要确保广告效果好&#xff0c;又要避免广告资源浪费&#xff0c;有限的媒体预算应该分配给哪几个渠道&#xff1f;哪…

leetcode 3001. 捕获黑皇后需要的最少移动次数 中等

现有一个下标从 1 开始的 8 x 8 棋盘&#xff0c;上面有 3 枚棋子。 给你 6 个整数 a 、b 、c 、d 、e 和 f &#xff0c;其中&#xff1a; (a, b) 表示白色车的位置。(c, d) 表示白色象的位置。(e, f) 表示黑皇后的位置。 假定你只能移动白色棋子&#xff0c;返回捕获黑皇后…