当前位置: 首页 > news >正文

阿里云服务器搭建FRP实现内网穿透-P2P

前言

  • 在了解frp - p2p之前,请先了解阿里云服务器搭建FRP实现内网穿透-转发: 文章地址

1、什么是frp - p2p

   frp(Fast Reverse Proxy)是一个开源的反向代理工具,它提供了多种功能,包括端口映射、流量转发和内网穿透等。在frp中,P2P(Peer-to-Peer)功能允许直接将数据从一个客户端传输到另一个客户端,而无需经过服务器中转。

2 、演示环境

在这里插入图片描述

一、各端文件配置

1、阿里云frps服务端配置

frps.ini

# 配置项的分类,通常使用 [common] 表示
[common]
# 指定frps服务端绑定的网口IP地址。如有网口1和网口2,一般使用 0.0.0.0 表示绑定所有可用的网络接口
bind_addr = 0.0.0.0
# 指定frps服务端监听的端口号(该端口需要防火墙或安全组放行),用于接收来自外部客户端的连接,可修改
bind_port = 7000# 用于验证客户端连接的令牌。客户端需要使用相同的令牌来与服务端建立连接,可修改
token = your_token# 其余配置可自行增加

启动命令:./frps -c frps.ini

2、B电脑frpc客户端配置

frpc.ini

[common]
# 自己的frps服务器,阿里云服务器绑定的域名(国内服务器绑定的域名需要备案)或公网IP地址
server_addr = X.X.X.X
# frps服务端监听的端口号
server_port = 7000# 令牌,和服务端一致
token = your_token# p2p点对点连接失败时,改用转发访问(转发)
[web_1]
# 使用TCP协议进行转发
type = tcp
# 应用程序本地的IP,默认即可
local_ip = 127.0.0.1
# 应用程序本地的访问端口号
local_port = 3030
# 应用程序外网的访问端口号
remote_port = 9000# 配置节点名称,可修改,在frps中名称需要唯一(p2p点对点连接)
[p2p_web]
# 节点类型为 xtcp 协议,用于点对点通信
type = xtcp
# 密钥,用于加密和解密通信内容,确保通信的安全性,可修改
sk = 123456789
# 本地 IP 地址,指定了节点所在的网络地址(可以填写局域网内其他服务器地址[local_port端口保持一致],这台设备用于frpc和frps建立连接)
local_ip = 127.0.0.1
# 本地端口号,指定了节点监听的网络端口
local_port = 3030
# 是否使用加密,在通信过程中对数据进行加密保护
use_encryption = true

启动命令:./frpc -c frpc.ini

3、A电脑frpc客户端配置

frpc.ini

[common]
# 自己的frps服务器,阿里云服务器绑定的域名(国内服务器绑定的域名需要备案)或公网IP地址
server_addr = X.X.X.X
# frps服务端监听的端口号
server_port = 7000# 令牌,和服务端一致
token = your_token[p2p_web_visitor]
# 使用 xtcp 协议进行通信
type = xtcp
# 定义当前角色为访问端
role = visitor
# 指定B客户端的节点名称
server_name = p2p_web
# 设置与B客户端进行通信的密钥
sk = 123456789
# 绑定地址为本地回环地址 127.0.0.1,即只监听来自本机的连接, 可修改
bind_addr = 127.0.0.1# 绑定端口号为 9000,用于接收来自服务器的连接请求, 可修改
bind_port = 9000
# 当需要自动隧道持久性时,将其设置为true
keep_tunnel_open = false
# 启用加密功能,确保与服务器之间的通信数据得到保护
use_encryption = true

启动命令:./frpc -c frpc.ini

三、阿里云端口开放

  • 7000(frps服务端监听端口)、9000(网站端口)

以上部署完成后,用户在A电脑浏览器中使用127.0.0.1:9000就能访问到B服务器了(穿透成功才能访问,不成功者需要走转发:X.X.X.X:9000)

http://www.lryc.cn/news/144939.html

相关文章:

  • Vue3 Element-plus Upload 上传图片
  • PCL | Ubuntu18安装CloudCompare
  • 【LeetCode-中等题】138. 复制带随机指针的链表
  • C++--动态规划背包问题(1)
  • 【Android-Flutter】我的Flutter开发之旅
  • 【Linux】深入理解文件操作
  • 异地使用PLSQL远程连接访问Oracle数据库【内网穿透】
  • 【方案】基于AI边缘计算的智慧工地解决方案
  • 华为各型号交换机开启SNMP v3
  • CocosCreator3.8研究笔记(一)windows环境安装配置
  • 【JavaWeb 专题】15个最经典的JavaWeb面试题
  • 力扣:75. 颜色分类(Python3)
  • JVM 内存大对象监控和优化实践
  • vue indexedDB 取指定数据库指定表 全部key用request.onsuccess
  • Java 数据结构使用学习
  • monorepo更新组件报错,提示“无法加载文件 C:\Program Files\nodejs\pnpm.ps1,因为在此系统上禁止运行脚本”
  • vue中html引入使用<%= BASE_URL %>变量
  • Android全面屏下,默认不会全屏显示,屏幕底部会留黑问题
  • 5.Redis-string
  • docker高级(redis集群三主三从)
  • linux 设置与命令基础(二)
  • ubuntu20.04中ros2安装rosbridge及启动方式
  • TCP之超时重传、流量控制和拥塞控制
  • git clone 报SSL证书问题
  • Spring Boot 排除配置类的引用的方法
  • 代码随想录打卡—day46—【DP】— 8.29 背包END
  • lua学习-3 循环和流程控制
  • 3、监测数据采集物联网应用开发步骤(3)
  • MySQL用户管理及用户权限
  • Yolov8-pose关键点检测:模型轻量化创新 | PConv结合c2f | CVPR2023 FasterNet