码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【调试笔记-20240602-Linux-在 OpenWRT-23.05 上配置 frps 与 frpc 之间使用 TLS 进行传输】


    调试笔记-系列文章目录

    调试笔记-20240602-Linux-在 OpenWRT-23.05 上配置 frps 与 frpc 之间使用 TLS 进行传输


    文章目录

    • 调试笔记-系列文章目录
      • 调试笔记-20240602-Linux-在 OpenWRT-23.05 上配置 frps 与 frpc 之间使用 TLS 进行传输
    • 前言
    • 一、调试环境
      • 操作系统:OpenWrt 23.05.3
      • 调试环境
      • 调试目标
    • 二、调试步骤
      • 安装 frpc 服务
      • 安装 frpc 的 LuCI 界面
      • 配置 frpc
      • 在 LuCI 上设定网站 SSL 证书
      • 生成 SSL 证书
      • 配置 HTTPS 服务
        • 重启 nginx 服务,测试 HTTPS
        • 补充信息
    • 三、应用场景
      • 构建 公网可访问的 SSH 服务器
      • 内网远程开发测试环境
    • 四、参考资料
    • 总结


    前言

    本文记录在 OpenWRT-23.05 上配置 frps 与 frpc 之间使用 TLS 进行传输的步骤。

    实验使用的电脑如下:

    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
    

    三、应用场景

    构建 公网可访问的 SSH 服务器

    内网远程开发测试环境


    四、参考资料

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

    2、acme.sh 中文说明


    总结

    本文介绍了在 OpenWRT-23.05 上配置 frps 与 frpc 之间使用 TLS 进行传输的步骤,并给出了解决所遇问题的方法。

  • 相关阅读:
    CentOS8服务器时间同步
    博客系统(SSM)
    云服务器-从零搭建前后端服务
    Vue3 项目中使用 jsx 详细教程
    vision transformer 详解
    LeetCode 第12题:整数转罗马数字(Python3解法)
    Git下载,安装与环境配置
    工作【当van-tab不满足固定在顶部】
    【JAVA进阶篇】字符串的详细介绍
    学习笔记-Upload
  • 原文地址:https://blog.csdn.net/dvd37784302/article/details/139399932
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号