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

阿里云FRP内网穿透挂载多台服务器

1. FRP介绍

FRP (Fast Reverse Proxy) 是比较流行的一款。FRP 是一个免费开源的用于内网穿透的反向代理应用,它支持 TCP、UDP 协议, 也为 http 和 https 协议提供了额外的支持。你可以粗略理解它是一个中转站, 帮你实现 公网 ←→ FRP(服务器) ←→ 内网 的连接,让内网里的设备也可以被公网访问到。

2. 工具准备

内网服务器 Ubuntu系统

阿里云服务器 Ubuntu系统 (带有公网IP的云服务器都是可以的)

3. 部署

3.1 云服务器端

下载FRP工具

wget https://github.com/fatedier/frp/releases/download/v0.36.2/frp_0.36.2_linux_amd64.tar.gz

解压

tar -xvf frp_0.36.2_linux_amd64.tar.gz

进入安装目录

cd frp_0.36.2_linux_amd64

编辑frps.ini文件

[common]
bind_port = 8000 #与客户端绑定的进行通信的端口

这里我们将云服务器端的bind_port设定为8000,但是云服务器对外依然需要一个或者多个端口进行访问,这里的端口数量取决于你有多少个内网服务器。

然后,需要在阿里云服务器上设置一下开放的端口

 首先进入云服务器 ESC中找到安全组-->管理规则-->入方向-->手动添加

 按照需要的端口进行设置,在目的中输入你想要的端口,这边我们申请三个8000,8812,8813,保存即可。

启动

# 前台启动
./frps -c ./frps.ini   # 后台启动(正常使用后推荐后台启动)
nohup ./frps -c ./frps.ini &

 

 3.2 内网服务器端

下载-->解压-->进入安装目录和云服务器端一样

编辑frpc.ini文件 注意文件名称(云服务器那边是frps.ini文件)

服务器1

 
[common]
server_addr = xx.xx.xx.xx   # 公网服务器ip
server_port = 8000          # 与服务端bind_port一致[ssh_1]
type = tcp               # 连接协议
local_ip = 127.0.0.1     # 内网服务器ip
local_port = 22          # ssh默认端口号
remote_port = 8812       # 自定义的访问内部ssh端口号

服务器2

 
[common]
server_addr = xx.xx.xx.xx   # 公网服务器ip
server_port = 8000          # 与服务端bind_port一致[ssh_2]
type = tcp               # 连接协议
local_ip = 127.0.0.1     # 内网服务器ip
local_port = 22          # ssh默认端口号
remote_port = 8813       # 自定义的访问内部ssh端口号

需要注意的问题:

  • [common]部分两个服务器是一致的;
  • 一定要区别[ssh_1]和[ssh_2]如果都是[ssh]的话,另外一个启动时会报占用;
  • local_port是你在内网访问自己服务器用的端口,一般都是默认22,但是有特殊情况需要修改;
  • remote_port是刚才我们在云服务器上开放的端口,也是我们在外网访问时用的端口;

 启动

# 前台启动
./frpc -c ./frpc.ini   # 后台启动(正常使用后推荐后台启动)
nohup ./frpc -c ./frpc.ini &

启动之后出现 frpc permission denied 这个是权限不足 chmod 777 frpc 可以解决

4. 访问

ssh -p remote_port username@公网ip# 举例
ssh -p 8812 user@106.15.333.9

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

相关文章:

  • 多店铺功能
  • mysql主从复制搭建(一主一从)
  • 什么是Liquid UI?
  • 非常详细的相机标定(六)(2维坐标点转为3维坐标点)
  • 云计算虚拟仿真实训平台
  • 计算机网络:网络字节序
  • 2023国赛数学建模A题思路分析
  • 【Java】常见面试题:网络
  • TTS | VocGAN声码器训练自己的数据集
  • nuxt3--prisma配置
  • 学习ts(一)数据类型(基础类型和任意类型)
  • Qt 之 QPushButton,信号与槽机制
  • MySQL面试题一
  • 【Java】2021 RoboCom 机器人开发者大赛-高职组(复赛)题解
  • 使用electron-vue获取文件夹的路径
  • 剑指Offer14-II.剪绳子II C++
  • 2023企业微信0day漏洞复现以及处理意见
  • 【IMX6ULL驱动开发学习】04.应用程序和驱动程序数据传输和交互的4种方式:非阻塞、阻塞、POLL、异步通知
  • day-21 代码随想录算法训练营(19)二叉树part07
  • 【Vue3】依赖注入
  • Vue 引入 Element-UI 组件库
  • 照耀国产的星火,再度上新!
  • 大语言模型LLM的一些点
  • leetcode810. 黑板异或游戏(博弈论 - java)
  • 算法练习Day48|198.打家劫舍 ● 213.打家劫舍II ● 337.打家劫舍III
  • 什么是设计模式?常用的设计有哪些?
  • clickHouse部署
  • Flutter实现倒计时功能,秒数转时分秒,然后倒计时
  • 【hadoop】windows上hadoop环境的搭建步骤
  • 一周在榜9本计算机专业新书