简介:
基于IPv6
将Namesilo域名解析到Cloudflare
给软路由网页绑定域名配置DDNS
使用uHTTPd给域名颁发自签证书
为域名申请正规证书(ACME)并在uHTTPd上配置
解析
前提
- 域名
1. Cloudflare添加域名
- 进入Cloudflare仪表盘添加域名
- 现有域:<域名>
- 选择Free
- 复制 已分配的 Cloudflare 名称服务器
2. Namesilo修改域名服务器
- 进namesilo域名管理点最右边的塔 / Change Nameservers
- 将原有域名服务器记录删除
- ns1.dnsowl.com
- ns2.dnsowl.com
- ns3.dnsowl.com
- 将 已分配的 Cloudflare 名称服务器 粘贴进去并提交
3. Cloudflare
- 继续
- 等2-3分钟刷新一下便完成
DDNS&Webhook
前提
- wan已获得IPv6地址
luci-app-ddns-go
1.DDNS(Dynamic DNS)
启用DDNS-GO进Web-UI
DNS服务商:Cloudflare
创建API令牌(注意泄露)
- 创建令牌 -> 编辑区域 DNS (使用模板)
- 区域资源 -> Select选择域名 其他保持默认
- 继续 创建令牌
将令牌复制到Web-UI的Token处
关闭IPv4 启用IPv6
IPv6 -> 通过网卡获取 -> wan
IPv6 -> Domains:<域名>
(多级域名缓解被扫描 开放必要端口 密码设置复杂些)
保存
验证
- Cloudflare-> 账户主页 -> 域名 -> DNS记录
- DNS查询:
nslookup <域名>
- 等待DNS解析生效 使用IPv6(5G流量)访问域名
2. Webhook
- 打开并启用 @DDNSGoBot
- 发送
/gethook
命令 - 复制 Webhook URL 并粘贴到Web-UI Webhook -> URL
- 复制 RequestBody(下面的代码) 并粘贴
注:未启用 IPv4 或 IPv6 可删除对应 Object
1 | { |
申请证书(自签&正规证书)
http:明文传输
https:加密传输
前提
luci-i18n-uhttpd-zh-cn
luci-ssl-openssl
luci-app-acme
(自签不用)acme-acmesh-dnsapi
(自签不用)
自签证书
进uHTTPd插件
删除旧证书和密钥 鼠标点地址栏并回车
uHTTPd自签名证书参数 -> 密钥长度:1024
保存并应用
端口转发(DNAT)
防火墙相关:可查阅
iptables nftables netfilter
- 网络 -> 防火墙 -> 端口转发 -> 添加
- 地址族限制:仅IPv6
- 协议:TCP
- 源区域:wan
- 目标端口:<要开放的端口>
- 目标区域:未指定
- 内部端口:443
正规证书
- 进入ACME插件
- ACME 全局配置 -> 电子邮件账户:<邮箱>
- 删除示例配置
- 添加
- 常规设置 -> 启用[√]
- 常规设置 -> 域名:<域名>
- 质询验证 -> 验证方式:DNS
- 质询验证 -> DNS API:
dns_cf
- DNS API 凭证:CF_Key=”
“ - DNS API 凭证:CF_Zone_ID=”<区域 ID>”
- Cloudflare 账户主页 -> <域名> -> 概述 -> 右下角API -> 区域 ID
- 保存并应用
- 等待3-5分钟
- 进入uHTTPd插件
- 修改证书路径
- HTTPS 证书 (DER 或 PEM 格式):/etc/acme/域名/fullchain.cet
- HTTPS 私钥 (DER 或 PEM 格式):/etc/acme/域名/域名.key
- 保存并应用
问题
问题1:证书没有生成
解决:ssh
/etc/init.d/acme
查看相关指令
/etc/init.d/acme restart
重新申请查看错误日志排错
问题2:作死点了删除旧证书和密钥变回自签证书
解决:
- 前提:开启SSH
- 把现在的证书和密钥拷到/etc(改名为uhttpd.cer和uhttpd.key好认点)
- 删除/etc/acme/域名文件夹
rm -r
或rm -rf
(强制) - 重启acme
/etc/init.d/acme restart