利用FRP 和 Nginx-Proxy-Manager 为内网设备提供内外穿透服务 | 秋澪的博客
标签
·
2023-03-18
·
via 秋澪的博客
此内容根据文章生成,并经过人工审核,仅用于文章内容的解释与总结
基于Docker的FRP内网穿透部署
服务器搭建(FRPS)
- 创建配置文件
创建存放目录
1
| sudo mkdir /etc/data/docker/frp
|
创建frps.ini文件
1
| nano /etc/data/docker/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 = admin23 # 设置http及https协议下代理端口(非重要) vhost_http_port = 7080 vhost_https_port = 7081
# 身份验证 token = 12345678
|
- 配置Docker
- 服务器镜像:snowdreamtech/frps
- 重启策略:always
- 网络模式:host
- 文件映射:/etc/data/docker/frp/frps.ini:/etc/frp/frps.ini
1
| docker run --restart=always --network host -d -v /etc/data/docker/frp/frps.ini:/etc/frp/frps.ini --name frps snowdreamtech/frps
|
- 配置VPS防火墙策略
服务端开放端口:
- WebUI:7500
- Sever: 7000
- Other: 7080,7081
中转客户端配置(FRPC)
- 配置Docekr
- 服务器镜像:snowdreamtech/frpc
- 重启:always
- 网络模式:host
- 文件映射:/路径/frp/:/etc/frp/
配置文件示例:
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
| [common] # server_addr为FRPS服务器IP地址 server_addr = x.x.x.x # server_port为服务端监听端口,bind_port server_port = 7000 # 身份验证 token = 12345678
[ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 2288
# [ssh] 为服务名称,下方此处设置为,访问frp服务段的2288端口时,等同于通过中转服务器访问127.0.0.1的22端口。 # type 为连接的类型,此处为tcp # local_ip 为中转客户端实际访问的IP # local_port 为目标端口 # remote_port 为远程端口
[ssh] type = tcp local_ip = 192.168.1.229 local_port = 80 remote_port = 18022
[unRAID web] type = tcp local_ip = 192.168.1.229 local_port = 80 remote_port = 18088
|
- 如果监听服务可以有IP限制的设置,需要允许的访问IP为中转内网设备的内网IP;
- FRP由于端口会暴露在互联网上,虽然说使用方便但安全性较差;
vps客户端配置
- 创建挂载目录
创建配置文件存放目录
1
| sudo mkdir /etc/data/docker/npm/data
|
创建证书存放目录
1
| sudo mkdir /etc/data/docker/npm/letsencrypt
|
- 配置docker
- 服务器镜像:chishin/nginx-proxy-manager-zh(中文汉化版本镜像),jc21/nginx-proxy-manager(英文原版镜像)
- 容器名:npm
- 重启策略:always
- 网络模式:host
- 文件映射:数据data&ssl证书
1 2
| docker run --restart=always --network host -d -v /etc/data/docker/npm/data:/data -v /etc/data/docker/npm/letsencrypt:/etc/letsencrypt --name npm chishin/nginx-proxy-manager-zh
|
- 服务端开放端口:
- WebUI:81 (后面可以配置反向代理,可以关闭防火墙)
- Http: 80
- Https: 443

秋澪的博客
Akimio Blog
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。