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

【Linux】【网络】frp 如何准确将 客户端B 请求转发给 服务器A 的

【Linux】【网络】frp 如何准确将 客户端B 请求转发给 服务器A 的

先来看一下上个文章的配置

1配置部分

1.1frp 配置

frp一直在监听7000这个端口上是否有请求到达

[common]
bind_port = 7000  # 云服务器监听的端口

1.2 服务器A配置

[common]
server_addr = frp_ip;  # 云服务器的公网 IP
server_port = 7000     # FRP 服务器端口

[ssh1]
type = tcp
local_ip = local_A_ip    # 客户端 A 的内网 IP
local_port = 23              # 客户端 A 的 Telnet 服务端口
remote_port = 6001           # 云服务器上暴露的端口

大概解释一下这几个数据代表什么 :

  • server_addr = frp_ip -->云服务器的公网 IP
  • server_port = 7000 --> FRP 服务器端口
  • local_ip = local_A_ip -->客户端 A 的内网 IP
  • local_port = 23 -->frp代理能够访问的A的端口
  • remote_port = 6001–>A在云服务器上暴露的端口

local_ip 和local_port 能够定位A以及对应的程序
remote_port,这个相当于A通过frp公开的端口 在外部连接时连接到这个端口 frp能够识别这是转发给 A再通过local_ip 和local_port 发送给A

1.3客户端B配置

[common]
server_addr = frp_ip  # 云服务器的公网 IP
server_port = 7000           # FRP 服务器端口

[ssh]
type = tcp
local_ip = local_B_ip      # 客户端 B 的内网 IP
local_port = 22              # 客户端 B 的 SSH 服务端口
remote_port = 6000           # 云服务器上暴露的端口

B也是同理

下面来看一下测试代码

2测试代码

2.1服务器A

const char* host_ip = local_A_ip;  // A 局域网服务器的内网 IP 地址
int host_port = 23;  // 局域网服务端口

2.2客户端B

const char* server_ip = frp_ip;  // 云服务器的公网 IP
int server_port = 6001;  // FRP 映射的端口

因此在连接的时候

  • 客户端B–>云服务器的公网 IP (frp_ip)+配置文件中**FRP 服务器端口(7000)**连接
  • frp服务器收到连接后 知道客户端B 要连接的FRP映射端口(6001)
  • 此时根据服务器A 在云服务器上暴露的端口(6001)–>知道要转发给A了 //remote_port = 6000
  • A的local_ip 和local_port 定位到A 发送给A

注意 在FRP 服务器端口(7000)确定时,remote_port 是唯一的(连接FRP不同客户端/服务器) 用来标识彼此
这也就解释了我之前认为remote_port可以一样的问题 实际上必须不一致

相关文章:

  • 高性能内存对象缓存Memcached详细实验操作
  • 搭建Kubernetes (K8s) 集群----Centos系统
  • RK3588配置成为路由器
  • 京东广告基于 Apache Doris 的冷热数据分层实践
  • 如何清理cache-loader生成的缓存目录?
  • 命令执行漏洞 Command Execute
  • 数据结构——字符串匹配KMP
  • Linux(ubuntu) GPU CUDA 构建Docker镜像
  • 【PyQt5】python可视化开发:PyQt5介绍,开发环境搭建快速入门
  • Linux-C/C++《C/8、系统信息与系统资源》
  • 抓包工具是什么?
  • 深入解析浏览器渲染全流程:从URL输入到页面渲染的底层原理与性能优化(附实战代码)
  • Memcached和redis对比了解
  • Python—requests模块
  • excel导入Mysql中时间格式异常
  • 深度学习笔记—— GRU(Gated Recurrent Unit)
  • 【设计模式精讲】创建型模式之单例模式(饿汉式、懒汉式、双重校验、静态内部类、枚举)
  • Node IO操作
  • 【阮一峰】2.数组
  • vue3 input type=“file” 修改样式
  • 新疆建设职业技术学院校园网站/上海网站制作公司
  • 新手写作网站/推广方式营销方案
  • 室内设计师收入高吗/在线优化seo
  • 只做水果的网站/百度关键词排名推广工具
  • 做国际网站需要多少钱/关键词排名优化公司地址
  • 企业网站报价方案下载/广州最新疫情