宝塔面板使用acme.sh的记录

安装

apt-get install socat

curl https://get.acme.sh | sh -s email=my@example.com

使用基于CloudFlare的DNS验证,需要申请CF的api token,过程略

export CF_Token="API Tokens With Edit zone DNS"
export CF_Account_ID="Account ID, NOT zone ID"

申请证书

acme.sh --issue --dns dns_cf -d domain.com -d www.domain.com

安装证书,基于宝塔+Apache环境

acme.sh --install-cert -d domain.com -d www.domain.com \
--cert-file      /www/server/panel/vhost/cert/domain.com/cert.pem  \
--key-file       /www/server/panel/vhost/cert/domain.com/privkey.pem  \
--fullchain-file /www/server/panel/vhost/cert/domain.com/fullchain.pem \
--reloadcmd     "/etc/init.d/httpd reload"

安装完成之后,应看到“Reload success”

查看已安装证书

acme.sh --info -d example.com

开启acme.sh的自动更新

acme.sh --upgrade --auto-upgrade

查看全部cronjob,验证是否有acme.sh相关任务

crontab  -l

 

MacOS 终端代理加速设置(Clash)

起因

在Mac上,使用brew install安装组件时,经常超时或下载速度很慢。查看代理控制面板,发现没有相关请求,怀疑终端里相关请求并未经过代理(本例为Clash)。

测试

localhost:~ jacob$ curl --connect-timeout 5 -I https://www.google.com
curl: (28) Failed to connect to www.google.com port 80 after 5005 ms: Timeout was reached

确实无法连通,确认终端没有走代理。

解决方案

通过如下设置,可以实现自主开启/关闭终端代理设置。 继续阅读MacOS 终端代理加速设置(Clash)

解决OpenWrt环境中公司VPN无法访问内网域名的问题

当使用OpenWrt作为路由时,无论是主路由还是旁路由,可能会出现连接了公司VPN但无法访问内网域名的问题。这篇文章将帮助你解决这个问题。

首先,我们可以优先检查是否启用了OpenWrt的”重绑定保护”功能,因为启用它可能导致无法通过VPN访问内网域名。

以下是关闭”重绑定保护”的步骤: 继续阅读解决OpenWrt环境中公司VPN无法访问内网域名的问题

OpenWrt 22.03 安装并配置Tailscale 解决无法启动问题

OpenWrt 22.03及以上版本,安装Tailscale后,无法启动初始化,提示“iptables: executable file not found”错误。该如何解决呢?

error: creating router: exec: “iptables”: executable file not found in $PATH

Tailscale介绍:

Tailscale是一种虚拟私人网络(VPN)解决方案,旨在简化安全网络连接。它利用现代加密技术,通过互联网连接不同设备、服务器和网络,形成一个安全的私人网络,使用户能够安全地访问远程资源和设备。Tailscale不同于传统的VPN,它使用了一种名为“WireGuard”的高性能加密协议,提供了更快的连接速度和更好的性能,同时也更易于设置和管理。用户可以轻松地在各种平台上安装和配置Tailscale,实现安全、简便的远程访问和网络连接。 继续阅读OpenWrt 22.03 安装并配置Tailscale 解决无法启动问题

如何重置OpenWrt防火墙配置

当OpenWrt的防火墙配置被搞乱之后,如何快速重置防火墙配置,恢复防火墙初始设置?

重置OpenWrt防火墙配置的方法:

OpenWrt的默认配置文件统一保存在系统的 /rom 目录下。

因此,只需将防火墙默认的配置文件复制到对应目录下,即可完成配置重置。

以SSH登录OpenWrt为例,使用root执行如下命令:

cp /rom/etc/config/firewall /etc/config/firewall

注:以上方法仅支持“rom + overlay”分区的OpenWrt,不支持X86形式的。

OpenWRT下ssh提示Exited: String too long的解决办法

一、背景

计划在OpenWRT上,定时通过SSH登录到另一台Unix并执行一些命令。在本地电脑上生成了密钥,并将公钥添加到了远程主机。在本地电脑上可直接使用密钥访问远程主机,无需验证密码。

二、问题

将本地生成的密钥复制到OpenWRT,执行同样SSH命令访问远程主机,提示:

Exited: String too long

三、解决方法

首先我们需要了解下产生问题的原因: 继续阅读OpenWRT下ssh提示Exited: String too long的解决办法

PVE软路由网络连通性测试脚本,自动重启虚拟机

最近软路由中的爱快或openwrt偶尔有崩溃情况,导致网络中断,需要手动恢复。为了之后遇到类似问题PVE可以一定程度上自修复,我编写了如下脚本,用于监控PVE的网络连通性,如果网络不通则硬重启某个/些虚拟机。

将一下代码上传至PVE环境,并添加至cron自动执行即可。 继续阅读PVE软路由网络连通性测试脚本,自动重启虚拟机

OpenWRT路由器下,PLEX提示“no server found”的解决方式

如果你的Plex服务器和客户端(App,非Web)在OpenWRT路由器搭建的网络下,无法正常使用,App提示“no server found”。那大概是因为如下问题引起的。

检查路由器日志,发现在打开Plex app时,会出现提示“possible DNS-rebind attack detected”。下方紧接着是以“plex.direct”域名为结尾的domain。猜测是plex在为内网服务器增加本地domain。

解决办法也非常简单,进入OpenWRT后台,在“网络”-“DHCP/DNS”中,将“重绑定保护”勾掉。或在下方域名白名单中,加入“plex.direct”。

之后重启DHCP服务器,并重新进入Plex app,会发现可以正常使用了。

将OpenWRT设为同网段子路由(交换机模式)

背景

家里的两台极路由B70越来越慢,进入后台管理页面都要等很久。怀疑是固件出现了问题,或遭到了入侵。为了能彻底解决问题,我直接将两台路由器的固件都更换为了自己编译的OpenWRT。(教程后续写)

问题描述

但在设置子路由时出现问题,OpenWRT不像Padavan直接提供了AP的模式可选,需要自己设置。我的需求是:

  1. 子路由使用同网段接入主路由。即一台设备在不重新设置ip的情况下,同时进入两台路由器的管理后台。
  2. 子路由与主路由通过网线连接。
  3. 通过子路由lan和wifi连接的设备,由主路由统一分配IP、管理。
  4. 子路由Wan口作为Lan口使用。B70的Lan只有3个,不够用。

解决方式

继续阅读将OpenWRT设为同网段子路由(交换机模式)