使用docker容器镜像,三步快速部署frp内网穿透

前置:1.需要一台拥有公网ip的服务器且正确安装了docker

目标:假设我在本地4000端口部署了网站想让公网上别人访问到,或者玩游戏我的世界想与不在局域网内的小伙伴联机,而正好你有一台公网ip的服务器,那么本篇文章很适合你

开始

第一步:

按下面编写服务端的frps.ini和客户端的frps.ini(无需下载,自己创建,然后用文本编辑器编辑)

1
2
3
4
5
6
7
8
9
10
11
12
# 服务端frps.ini
[common]
# 监听端口
bind_port = 7000
# 面板端口
dashboard_port = 7500
# 登录面板账号设置
dashboard_user = admin # 可以自行设置账号密码
dashboard_pwd = 123456

# 身份验证
token = 12345678 # 随便,但是必须和frpc.ini中的一致
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 客户端frpc.ini
[common]
server_addr = 123.123.123.123 # < - - - 这里替换成你的服务器的公网ip
# 服务端监听端口
server_port = 7000
# 身份验证
token = 12345678 # 与frps.ini一致,可自行修改

# 编写端口规则,下面以4000端口为例
[hexo] # 名称,随便写
type = tcp
local_ip = 192.168.110.247 # 由于docker的特殊性,不可以写本机127.0.0.1,但可以写局域网内设备的ip
local_port = 4000 # 本地需要映射的端口
remote_port = 4001 # 本地映射到公网的端口

将上述两个ini文件保存到你能找到的路径,下一步有用

第二步:

服务端执行

1
docker run --restart=always --network host -d -v %你的frps.ini的路径%/frps.ini:/etc/frp/frps.ini --name frps snowdreamtech/frps

客户端执行

1
docker run --restart=always --network host -d -v %你的frpc.ini的路径%/frpc.ini:/etc/frp/frpc.ini --name frpc snowdreamtech/frpc

第三步:

设置防火墙

服务端防火墙开放端口:7000,7500,本地映射到公网的端口

客户端防火墙开放端口:7000,你想要本地映射出去的端口

如果这一步嫌麻烦且不在乎安全的话,可以直接关闭防火墙(haha)
访问frp后台面板(可选)

http://服务器ip:7500/

进去后登录frps.ini里设置的账号密码,这里可以监控流量等

大功告成

访问 服务器ip:4001, 进入了本地4000端口部署的页面

tip:如果不行一定多检查防火墙,确保开放了对应端口