阿里云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,但是云服务器对外依然需要一个或者多个端口进行访问,这里的端口数量取决于你有多少个内网服务器。

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

阿里云FRP内网穿透挂载多台服务器_第1张图片

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

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

阿里云FRP内网穿透挂载多台服务器_第2张图片

启动

# 前台启动
./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 [email protected]

你可能感兴趣的:(阿里云,FRP,内网穿透)