当前位置: 首页 > news >正文

【群晖NAS】在openwrt上实现内网穿透,并配置外网IP映射(Debian/Ubuntu)

【群晖NAS】在openwrt上实现内网穿透,并配置外网IP映射(Debian/Ubuntu)

文章目录

  • 【群晖NAS】在`openwrt`上实现内网穿透,并配置外网IP映射(Debian/Ubuntu)
    • 一、`frp`项目介绍
    • 二、`frp`功能介绍
    • 三、安装frps服务端(docker部署)
      • (一)安装docker
      • (二)配置安装frps
      • (三)启动frps容器
      • (四)frps安装完毕,检查测试
    • 三、安装frpc客户端(openwrt安装)
      • (一)更新openrt软件源列表
      • (二)输入luci-app-frpc ,安装 luci-i18n-frpc-zh-cn 中文界面软件包,同时会自动安装所需的其他依赖包
      • (三)包安装成功后,刷新页面,在服务中即可找的frpc客户端
      • (四)配置frpc客户端(openwrt配置)
      • (五)添加端口映射
      • (六)检查映射的端口是否成功

一、frp项目介绍

frp 是一款高性能的反向代理应用,专注于内网穿透。它支持多种协议,包括 TCP、UDP、HTTP、HTTPS 等,并且具备 P2P 通信功能。使用 frp,您可以安全、便捷地将内网服务暴露到公网,通过拥有公网 IP 的节点进行中转。

github项目地址

二、frp功能介绍

通过在具有公网 IP 的节点上部署 frp 服务端,您可以轻松地将内网服务穿透到公网,并享受以下专业特性:

  • 多种协议支持:客户端服务端通信支持 TCP、QUIC、KCP 和 Websocket 等多种协议。

  • TCP 连接流式复用:在单个连接上承载多个请求,减少连接建立时间,降低请求延迟。

  • 代理组间的负载均衡

  • 端口复用:多个服务可以通过同一个服务端端口暴露。

  • P2P 通信:流量不必经过服务器中转,充分利用带宽资源。

  • 客户端插件:提供多个原生支持的客户端插件,如静态文件查看、HTTPS/HTTP 协议转换、HTTP、SOCKS5 代理等,以便满足各种需求。

  • 服务端插件系统:高度可扩展的服务端插件系统,便于根据自身需求进行功能扩展。

  • 用户友好的 UI 页面:提供服务端和客户端的用户界面,使配置和监控变得更加方便。

三、安装frps服务端(docker部署)

(一)安装docker

apt-get update
apt-get -y install docker.io
检查docker安装是否正常
docker -v

(二)配置安装frps

为避免因 frps.ini 文件的挂载,格式或者配置的错误导致容器无法正常运行并循环重启.请确保先配置好 frps.ini 后在执行启动.

配置 frps.ini 文件.

mkdir /root/frps
# 新建frps目录
vi /root/frps/frps.ini
# 配置 frps.ini 文件

frps.ini配置示例

[common]
bind_addr = 0.0.0.0
bind_port = 7000
bind_udp_port = 7001
kcp_bind_port = 7000
#7000/70001/7000为穿透流量传输端口,以下没有特殊需求保持默认即可
vhost_http_port = 80
#http协议配置为80端口,根据实际需求更改
vhost_https_port = 443
#https协议配置为80端口,根据实际需求更改
dashboard_addr = 0.0.0.0
dashboard_port = 7500
#web管理后台端口7500,客户端需要和此对应
dashboard_user = admin
#web管理后台用户名配置
dashboard_pwd = 123456
#web管理后台密码配置
log_file = ./frps.log
#日志路径
log_level = info
#日志保存级别
log_max_days = 3
#日志保存最大天数
disable_log_color = false
#日志文字颜色
token = 123456
#认证密钥,请自行更改,客户端需要和此对应
max_pool_count = 5000
# 最大连接数
max_ports_per_client = 5000
subdomain_host = xx.xx.com
#服务端绑定域名,客户端需要和此对应
tcp_mux = true
#TCP 端口的多路复用

(三)启动frps容器

docker run -d --name=frps --restart=always \--network host \-v /root/frps/frps.ini:/frp/frps.ini  \stilleshan/frps:0.51.3

服务运行中修改 frps.ini 配置后需重启 frps 服务.

vi /root/frps/frps.ini
# 修改 frps.ini 配置
docker restart frps
# 重启 frps 容器即可生效

(四)frps安装完毕,检查测试

浏览器打开web后台地址,默认端口7500

http://ip:7500/

输入配置的用户名和密码,看到以下页面,说明frp服务端安装成功
在这里插入图片描述

三、安装frpc客户端(openwrt安装)

(一)更新openrt软件源列表

在这里插入图片描述

(二)输入luci-app-frpc ,安装 luci-i18n-frpc-zh-cn 中文界面软件包,同时会自动安装所需的其他依赖包

在这里插入图片描述

(三)包安装成功后,刷新页面,在服务中即可找的frpc客户端

在这里插入图片描述

(四)配置frpc客户端(openwrt配置)

输入服务端设置的相应参数配置

  • 基本设置
    在这里插入图片描述
  • 其他设置
    在这里插入图片描述
  • 配置好后记得点 保存并应用

(五)添加端口映射

  • 点击新增,添加端口映射
    在这里插入图片描述
    示例将内网 10.0.0.1的80端口映射至服务端IP的8880端口,设置好后点击 保存并应用,即可完成一个端口的映射
    在这里插入图片描述

(六)检查映射的端口是否成功

打开frps服务端的后台web面板

http://ip:7500

如果配置正确,web面板上即可看到你添加的端口映射显示出来,此时检查测试服务端IP的8880端口是否成功映射

在这里插入图片描述

http://www.lryc.cn/news/625501.html

相关文章:

  • 使用 Resilience4j 实现 Spring Boot 服务限流:轻量级容错的最佳实践
  • 基于单片机身体健康监测/身体参数测量/心率血氧血压
  • Linux 进程间通信(IPC):信号、共享内存
  • 基于Java(SSM框架)+MySQL实现(Web)的超市管理系统
  • 2025.8.19总结
  • Python 函数进阶:深入理解参数、装饰器与函数式编程
  • 服务器Linux防火墙怎样实现访问控制
  • AAA服务器技术
  • 【实时Linux实战系列】基于实时Linux的智能工业机器人开发
  • 通过分布式系统的视角看Kafka
  • Lua学习记录 - 自定义模块管理器
  • 机械设备制造行业物联网智能化升级改造方案
  • 【habitat学习一】Habitat-Lab 配置键文档详解(CONFIG_KEYS.md)
  • 前端多环境变量配置全攻略:开发 / 测试 / 生产自动切换实战
  • APM32芯得 EP.29 | 基于APM32F103的USB键盘与虚拟串口复合设备配置详解
  • 清空 github 仓库的历史提交记录(创建新分支)
  • HUD抬头显示器太阳光模拟器设备用于杂散光测试介绍
  • 第4章 React状态管理基础
  • 【SpringBoot】Dubbo、Zookeeper
  • QT之QWaitCondition降低cpu占用率,从忙等待到高效同步
  • Qt——文件操作
  • Qt原对象系统工作机制
  • 基于 PyTorch 模型训练优化、FastAPI 跨域配置与 Vue 响应式交互的手写数字识别
  • SpreadJS 协同服务器 MongoDB 数据库适配支持
  • JavaSSM框架从入门到精通!第二天(MyBatis(一))!
  • EasyExcel 合并单元格最佳实践:基于注解的自动合并与样式控制
  • AI硬件英伟达选购的建议。
  • SSH 使用密钥登录服务器
  • 服务器无公网ip如何对外提供服务?本地网络只有内网IP,如何能被外网访问?
  • Netty内存池中ChunkList详解