docker进行内网穿透

frp是内网穿透工具,客户端和服务端分别为frpc和frps,==frpc安装在本地机器==、==frps安装在拥有公网IP的机器中==。

本文主要介绍如何使用docker分别运行frpc和frps。
优点:配置文件(包含密码和公网IP等重要信息)可保留在本机,docker容器可推送至任意镜像仓库,当更换服务器或者新增一个客户端时可以复用镜像,较为简洁。

frps 安装

frps 是装在具有公网ip的服务器上

1
docker run --restart=always --network host -d -v /etc/frp/frps.toml:/etc/frp/frps.toml --name frps snowdreamtech/frps

frps.toml配置 (==新版本frp配置文件采用的是 .toml , 而不是 .ini==)

1
2
3
4
5
6
7
8
9
10
[common]
# 指定frps监听的端口号,用于接收来自frpc的请求。
bind_port = 7000
# 指定frps的仪表盘服务监听的端口号,用于通过Web界面管理frps服务
dashboard_port = 11230
dashboard_user = lycheeKing
dashboard_pwd = lymfrps
# 自定义frps与frpc之间通信的安全令牌,用于验证请求的合法性
[auth]
token = lycheeKing

frpc 安装

安装在内网机器上

1
docker run --restart=always --network host -d -v /etc/frp/frpc.toml:/etc/frp/frpc.toml --name frpc snowdreamtech/frpc

frpc.toml配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[common]
# 填服务端IP地址,或者填能解析到服务端IP的域名
server_addr = 175.178.249.112
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
# 本地端口号
local_port = 57291
# 映射到服务端的端口号,最后通过该端口即远程访问本地端口
remote_port = 6000

[auth]
# 对应上面服务端的自定义frps与frpc之间通信的安全令牌
token = lycheeKing