利用FRP实现内网穿透

基于Docker的FRP内网穿透部署

服务器搭建(FRPS)

创建配置文件

1
2
3
4
# 创建存放目录
sudo mkdir /etc/frp
# 创建frps.ini文件
nano /etc/frp/frps.ini

frps.ini内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[common]
# 监听端口
bind_port = 7000
# 面板端口
dashboard_port = 7500
# 登录面板账号设置
dashboard_user = admin
dashboard_pwd = password
# 设置http及https协议下代理端口(非重要)
vhost_http_port = 7080
vhost_https_port = 7081


# 身份验证
token = 12345678
1
2
3
4
#服务器镜像:snowdreamtech/frps
#重启:always
#网络模式:host
#文件映射:/etc/frp/frps.ini:/etc/frp/frps.ini
1
docker run --restart=always --network host -d -v /etc/frp/frps.ini:/etc/frp/frps.ini --name frps snowdreamtech/frps

内网中转客户端配置(FRPC)

群晖安装docker

1
2
3
4
服务器镜像:snowdreamtech/frpc
重启:always
网络模式:host
文件映射:/路径/frp/:/etc/frp/

创建配置文件frpc.ini示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
[common]
# server_addr为FRPS服务器IP地址
server_addr = XX.XX.XX.XX
# server_port为服务端监听端口,bind_port
server_port = 7000
# 身份验证
token = 12345678

[DSM ssh]
type = tcp
local_ip = 192.168.5.201
local_port = 22
remote_port = 2288

[DSM]
type = tcp
local_ip = 192.168.5.201
local_port = 5000
remote_port = 18180

[OpenWRT]
type = tcp
local_ip = 192.168.5.1
local_port = 80
remote_port = 18181

[RDP]
type = tcp
local_ip = 192.168.5.113
local_port = 3389
remote_port = 18182

[PVE]
type = tcp
local_ip = 192.168.5.8
local_port = 8006
remote_port = 18188

[chatgpt]
type = tcp
local_ip = 192.168.5.189
local_port = 8899
remote_port = 18189

[minecraft]
type = tcp
local_ip = 192.168.5.189
local_port = 25565
remote_port = 17178

上传到docker文件夹下的frp目录下

网络选择host模式