【调试笔记-20240601-Linux-在 OpenWRT-23.05 上配置 frpc 实现内网穿透】

调试笔记-系列文章目录

调试笔记-20240601-Linux-在 OpenWRT-23.05 上配置 frpc 实现内网穿透



前言

本文记录在 OpenWRT-23.05 上配置 frpc 实现内网穿透的步骤。

实验使用的电脑如下:

CPU:

Intel Core Processor (Broadwell, no TSX, IBRS)

操作系统:

OpenWrt 23.05.3 r23809-234f1a2efa

一、调试环境


操作系统:OpenWrt 23.05.3


调试环境

  • QEMU 虚拟主机,已安装 OpenWrt

参考【安装笔记-20240520-Windows-在 QEMU 中尝试运行 OpenWRT


调试目标

  • 配置好内网 OpenWrt 主机,通过 frpc 连接到云服务器的 frps ,实现内网的 SSH 穿透,为无公网 IP 的内网主机提供外网访问服务。

二、调试步骤

安装 frpc 服务

opkg update
opkg install frpc

安装 frpc 的 LuCI 界面

opkg update
opkg install luci-app-frpc

配置 frpc

1、在 Windows 主机浏览器中打开 OpenWrt 的 LuCI 界面

在这里插入图片描述

2、依次填入 frps 服务器的 IP 地址、token

在这里插入图片描述

3、添加 Proxy 设置

在这里插入图片描述

/etc/nginx/conf.d/www.tanghui.fun.locations

location / {
        root  /www/root/www.tanghui.fun;
        index  index.html;
}

在 LuCI 上设定网站 SSL 证书

1、登录 LuCI 控制页面,选择 “Services” -> “ACME certs”

在这里插入图片描述

2、输入配置名称后,选择 “Add”,进入配置的编辑页面

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3、配置完成后,通过命令行控制台查看,是否建立新的 SSL 密钥生成目录

在这里插入图片描述

生成 SSL 证书

1、在命令行控制台执行以下命令:

service acme restart

在这里插入图片描述

出现以上画面,表示 SSL 证书生成成功,输入以下命令验证:

ls -lia /etc/acme/www.tanghui.fun/

ls -lia /etc/ssl/acme/

在这里插入图片描述

配置 HTTPS 服务

1、配置 nginx 服务器,开启 SSL 连接

uci add_list nginx.www_tanghui_fun.listen='443 ssl'
uci add_list nginx.www_tanghui_fun.listen='[::]:443 ssl'
uci set nginx.www_tanghui_fun.ssl_certificate='/etc/nginx/conf.d/www.tanghui.fun.crt'
uci set nginx.www_tanghui_fun.ssl_certificate_key='/etc/nginx/conf.d/www.tanghui.fun.key'
uci set nginx.www_tanghui_fun.ssl_session_cache='shared:SSL:32k'
uci set nginx.www_tanghui_fun.ssl_session_timeout='64m'
uci commit nginx

2、建立 HTTPS 服务的证书文件的软连接

ln -sf /etc/ssl/acme/www.tanghui.fun.key /etc/nginx/conf.d/www.tanghui.fun.key
ln -sf /etc/ssl/acme/www.tanghui.fun.fullchain.crt /etc/nginx/conf.d/www.tanghui.fun.crt
ln -sf /etc/ssl/acme/www.tanghui.fun.fullchain.crt /etc/nginx/conf.d/www.tanghui.fun.ca.crt

重启 nginx 服务,测试 HTTPS

1、重启 nginx 服务,输入以下命令:

service nginx restart

2、在 Windows 主机浏览器中输入以下网址:

https://[服务器域名]/

补充信息

1、如果没有设置 Webroot 路径,默认 acme.sh 在 /var/run/acme/challenge/ 中创建验证信息,可以在当前服务器根目录中建立符号连接,完成验证。执行以下命令:

mkdir -p /www/root/www.tanghui.fun/.well-known
mkdir -p /var/run/acme/challenge/.well-known/acme-challenge
ln -sf /var/run/acme/challenge/.well-known/acme-challenge /www/root/www.tanghui.fun/.well-known/acme-challenge

再运行 acme 服务,执行以下命令:

service acme restart

三、应用场景

构建 HTTPS 服务器

网站开发测试环境


四、参考资料

1、Get a free HTTPS certificate from LetsEncrypt for OpenWrt with ACME.sh

2、acme.sh 中文说明


总结

本文介绍了在 OpenWRT-23.05 上配置 frpc 实现内网穿透的步骤,并给出了解决所遇问题的方法。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-08 05:46:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-08 05:46:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-08 05:46:02       82 阅读
  4. Python语言-面向对象

    2024-06-08 05:46:02       91 阅读

热门阅读

  1. nginx-变量

    2024-06-08 05:46:02       28 阅读
  2. GPT-4o能力评价与个人感受

    2024-06-08 05:46:02       41 阅读
  3. Flutter 中的 TableCell 小部件:全面指南

    2024-06-08 05:46:02       31 阅读
  4. Python | R 潜在混合模型

    2024-06-08 05:46:02       29 阅读
  5. HTML label 标签的作用和应用场景

    2024-06-08 05:46:02       24 阅读
  6. docker 启动

    2024-06-08 05:46:02       32 阅读
  7. STM32F103借助ESP8266连接网络

    2024-06-08 05:46:02       28 阅读
  8. shardingsphere5 自定义分片(sharding-algorithm)算法

    2024-06-08 05:46:02       31 阅读