【技术方案分享】一文搞定内网穿透 (2)
编辑
41
2025-02-24
本设置教程参考帖子地址:【Nas】无公网v4/v6, 一键回到家庭局域网 - Cane's Blog(自己模仿,配通后,发出来做个笔记,方便以后查阅,也方便小白抄作业。)
本教程完全参照大佬帖子内容和其想法配置,并会贴出部分大佬所使用的图片。
上次我们聊了如何使用 Frp 实现内网穿透,访问家里的设备。如果你还没看过那篇文章,强烈推荐你先读一下:
今天,我们要更进一步,教你如何一键回到家庭局域网,访问整个家庭网络,而不是像之前那样一个服务一个服务地映射。听起来是不是很方便?那就跟着我一起往下看吧!
整体架构
这次的方案和上次有点不同。我们不仅要用到 Frp,还要加上一个叫 Nginx Proxy Manager 的工具。它可以帮助我们更方便地管理端口转发和 HTTPS 证书。
方案部署
服务器端
1. 安装 Frp 服务端 + NPM
我们可以用 Docker 来快速部署这两个服务。下面是 docker-compose.yml
的配置:
version: "3.5"
services:
frp:
image: snowdreamtech/frps
ports:
- "7000:7000"
- '443:443' # HTTPS 端口
- '80:80' # HTTP 端口
volumes:
- ./frps.toml:/etc/frp/frps.toml # 配置文件挂载
restart: always
container_name: frp
networks:
- nginx
nginx:
image: 'jc21/nginx-proxy-manager:latest'
container_name: nginx
ports:
- "81:81"
- "8888:8888"
restart: always
volumes:
- /home/nginx/data:/data
environment:
- TZ=Asia/Shanghai
networks:
- nginx
networks:
nginx:
name: nginx
2. 配置 Frp 服务端
和上次一样,我们需要配置 Frp 服务端。创建一个 frps.toml
文件,内容如下:
bindAddr = "0.0.0.0"
bindPort = 7000
vhostHTTPPort = 80
vhostHTTPSPort = 443
subdomainHost = "yourdomain.com" # 这里换成你的域名
webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "admin" # 管理界面用户名
webServer.password = "admin" # 管理界面密码
auth.method = "token"
auth.token = "123456" # 这里换成复杂度高的 token
maxPortsPerClient = 100 # 每个客户端允许的端口数量
客户端
1. 配置 Frp 客户端
Frp 客户端的配置文件 frpc.toml
如下:
serverAddr = "xxx.xxx.xxx.xxx" # 你的服务器 IP 地址
serverPort = 7000
auth.method = "token"
auth.token = "123456" # 和服务端的 token 保持一致
[[proxies]]
name = "tinyproxy"
type = "tcp"
localIP = "127.0.0.1"
localPort = 8888
remotePort = 8888
使用方法及注意事项
重要的事情说三遍:
不用的时候一定要在 NPM 里面把转发关掉!
不用的时候一定要在 NPM 里面把转发关掉!
不用的时候一定要在 NPM 里面把转发关掉!
配置通过 浏览器 控制 NPM
如果你用的是 Chrome 系浏览器,推荐使用 SwitchyOmega 插件。新建一个情景模式,配置好后,你就可以一键回家了!
参考资料
- 0
- 0
-
分享