AIO 03 备份与配置opwrt应用(passwall,kms,dufs,ntp,nginx,dns,dhcp,aria2)

废话

书接上回,我们已经初步配置了openWrt,但仍然不完善,接下来,则是主要配置openWrt的应用,以达到好用的程度。

备份

建议在进行重大更改前进行快照备份
拍摄快照时,内存可以不保存

即使你保存了内存,重启至快照时会出现时钟不同步问题,仍需重新启动

定时备份

你可以选择合适的备份位置,这里我选择外部磁盘作为备份存储

挂载磁盘

# 查看磁盘
lsblk

# 分区磁盘(如果磁盘未分区)
# 按 n 创建一个新分区,然后按照提示完成分区设置
# 使用 w 保存并退出
fdisk /dev/sda

# 格式化磁盘(假设分区为/dev/sda)
# ext4 是一个常用的Linux文件系统类型
mkfs.ext4 /dev/sda

# 创建一个挂载点目录
mkdir /mnt/backup

# 挂载外部磁盘到该目录
mount /dev/sda /mnt/backup

# 确保自动挂载
# 编辑/etc/fstab文件以添加一行,确保系统重启后自动挂载
nano /etc/fstab
/dev/sda /mnt/backup ext4 defaults 0 2


image

将外部磁盘添加到Proxmox VE作为存储

  1. 在Proxmox VE Web界面中,导航到Datacenter
  2. 点击Storage选项卡并选择AddDirectory
  3. 配置存储设置:
  • ID: 给你的存储一个标识名称(例如backup-disk)。
  • Directory: 输入你刚才创建的挂载点路径(如/mnt/backup)。
  • Content: 选择VZDump backup file(表示将用于备份)。
  • Max Backups: 设置要保留的备份数量。
  1. 点击Add以保存存储配置

    image

创建备份计划

  1. 导航到Datacenter:
  • 在Proxmox VE Web界面左侧选择Datacenter
  1. 选择Backup选项:
  • 点击上方的Backup选项卡。
  1. 添加新的备份任务:
  • 点击Add按钮,打开备份任务配置窗口。
  1. 配置备份任务:
  • Storage: 选择要将备份保存到的存储设备。
  • Schedule: 设置备份的计划(选择时间和频率)。
  • Selection Mode: 选择备份的范围(如所有VM/CT或指定的ID)。
  • Compression: 选择压缩方式(如ZSTD、GZIP等)。
  • Mode: 选择备份模式(如Snapshot、Stop或Suspend)。
    • Snapshot: 在虚拟机运行时备份(推荐使用ZFS或LVM存储时)。
    • Stop: 停止虚拟机后进行备份,然后重启虚拟机。
    • Suspend: 暂停虚拟机后备份,然后恢复运行。
  • Email Notification: 可选择在备份完成后发送邮件通知。
  1. 保存任务:

这里我设置保留最近7天

PassWall

这是梯子,配置梯子可以让服务器内部进行无障碍联网
1.添加订阅,拉取订阅节点
2.配置Socks,进行节点异常切换
3.启动梯子和Soclks,检查是否正常运行
4.配置直连,添加需要直连的域名






KMS

kms 参考资料
常用密钥一览

Operating system edition KMS Client Product Key
Windows 11 Pro
Windows 10 Pro W269N-WFGWX-YVC9B-4J6C9-T83GX
Windows 11 Pro N
Windows 10 Pro N MH37W-N47XK-V7XM9-C7227-GCQG9
Windows 11 Pro for Workstations
Windows 10 Pro for Workstations NRG8B-VKK3Q-CXVCJ-9G2XF-6Q84J
Windows 11 Pro for Workstations N
Windows 10 Pro for Workstations N 9FNHH-K3HBT-3W4TD-6383H-6XYWF
Windows 11 Pro Education
Windows 10 Pro Education 6TP4R-GNPTD-KYYHQ-7B7DP-J447Y
Windows 11 Pro Education N
Windows 10 Pro Education N YVWGF-BXNMC-HTQYQ-CPQ99-66QFC
Windows 11 Education
Windows 10 Education NW6C2-QMPVW-D7KKK-3GKT6-VCFB2
Windows 11 Education N
Windows 10 Education N 2WH4N-8QGBV-H22JP-CT43Q-MDWWJ
Windows 11 Enterprise
Windows 10 Enterprise NPPR9-FWDCX-D2C8J-H872K-2YT43
Windows 11 Enterprise N
Windows 10 Enterprise N DPH2V-TTNVB-4X9Q3-TJR4H-KHJW4
Windows 11 Enterprise G
Windows 10 Enterprise G YYVX9-NTFWV-6MDM3-9PT4T-4M68B
Windows 11 Enterprise G N
Windows 10 Enterprise G N 44RPN-FTY23-9VTTB-MP9BX-T84FV

添加密钥到KMS,kms服务默认端口为1688,可以使用 tcping 检查是否正常运行


使用KMS激活,Windows 以管理员启动 PowerShell

slmgr.vbs -upk

#注意!!不同系统版本这里的激活码不一样,请寻找表格!
slmgr.vbs -ipk W269N-WFGWX-YVC9B-4J6C9-T83GX

#这是我的kms域名,如果你自己的已搭建好,可以输入你的域名或者ip)
slmgr.vbs -skms kms.ialdagorth.com           

slmgr.vbs -ato

slmgr.vbs -dlv

Dufs

这是一个微型文件共享服务
根据自己的需求进行配置,主要需要配置存储位置

如果遇到应用一直未运行,检查应用是否需要更新,以及查看日志查找原因

# 检查日志
logread | grep dufs

# 查看全部端口和服务
netstat -tulnp


image

NTP

NTP即时间同步服务,主要作为vm的本地授时,保存并执行下面脚本

#!/bin/sh

echo "===== OpenWrt NTP服务器一键配置开始 ====="

# 1. 更新软件包列表并安装 ntpd
echo "更新软件包列表..."
opkg update

echo "安装 ntpd 服务..."
opkg install ntpd

# 2. 配置 NTP 服务器,包含 NTP.org、Google、Cloudflare 和国家授时中心 NTP 服务器
echo "配置 NTP 服务器..."

uci set system.ntp.server="0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org 3.pool.ntp.org time.google.com time.cloudflare.com ntp.ntsc.ac.cn"
uci set system.ntp.enabled='1'
uci set system.ntp.enable_server='1'
uci commit system

# 3. 停止并禁用 sysntpd 服务(如果存在)
echo "停止并禁用 sysntpd 服务..."
/etc/init.d/sysntpd stop
/etc/init.d/sysntpd disable

echo "NTP 服务器配置完成..."

# 4. 配置防火墙规则以允许 NTP 流量
echo "配置防火墙规则允许 UDP 123端口..."

# 删除现有的 NTP 规则(如果有)
uci delete firewall.@rule[-1]

# 添加新的 NTP 规则
uci add firewall rule
uci set firewall.@rule[-1].name='Allow-NTP'
uci set firewall.@rule[-1].src='lan'
uci set firewall.@rule[-1].dest='wan'
uci set firewall.@rule[-1].dest_port='123'
uci set firewall.@rule[-1].proto='udp'
uci set firewall.@rule[-1].target='ACCEPT'
uci commit firewall

# 重新启动防火墙服务
/etc/init.d/firewall restart

# 5. 修改 /etc/ntp.conf 文件,确保 NTP 配置正确
echo "生成 /etc/ntp.conf 配置文件..."
cat <<EOL > /etc/ntp.conf
restrict default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1
EOL

# 6. 启动 ntpd 服务
echo "启动 ntpd 服务..."
/etc/init.d/ntpd start

# 7. 检查 NTP 服务状态
/etc/init.d/ntpd status

echo "===== NTP 服务器配置完成,防火墙规则已启用 ====="
echo "添加ntp域名解析到hosts文件"

DHCP

作为vm的动态ip分配服务



nginx

如果发现openwrt后台无法访问,
或者反向代理不生效,即本该代理的端口总是指向openwrt后台
赶紧检查 80、443 端口是不是nginx应用

# 检查端口占用
netstat -tulnp

uhttpd会占用80,443,与nginx冲突

本地DNS

如果没有则需要自行安装 luci-app-nginx-manager


1.添加额外的hosts文件,方便管理
2.额外的hosts文件添加hosts解析
3.nginx添加一个新的配置文件,然后添加反向代理


image

每次添加hosts记录和反向代理建议重启应用

# 重启dnsmasq
/etc/init.d/dnsmasq restart

# 重启nginx 
/etc/init.d/nginx restart

检查DNS解析是否正常

nslookup sh-repo.ialdagorth.com

以上步骤完成后,可以断开互联网连接,测试本地dns解析

现在试试为openWrt后台配置一个域名吧

静态IP

建议为最基础的设施 openWrt 和 pve 分配主机名和静态ip

acme.sh 获取CF证书

acme.sh 参考资料
获取 CF Token

从 域名概要页面 获取CF_Zone_ID

# 获取acme.sh
curl https://get.acme.sh | sh -s [email protected]

# 配置 CF
export CF_Token="Y_jpG9AnfQmuX5Ss9M_qaNab6SQwme3HWXNDzRWs"
export CF_Zone_ID="763eac4f1bcebd8b5c95e9fc50d010b4"

# 颁发证书
./acme.sh --issue --dns dns_cf -d example.com -d '*.example.com'

为 openwrt 配置证书

nano /etc/nginx/nginx.conf

# 在 nginx._lan 配置
        server { #see uci show 'nginx._lan'
                ......
                ssl_certificate /root/.acme.sh/ialdagorth.com_ecc/ialdagorth.com.cer;
                ssl_certificate_key /root/.acme.sh/ialdagorth.com_ecc/ialdagorth.com.key;
                ssl_session_cache shared:SSL:32k;
                ssl_session_timeout 64m;

为 pve 配置证书

将上面得到的证书粘贴到这里

aria2

1.创建下载目录
2.不要选择rpc加密,使用nginx配置证书即可,其他的默认
3.配置反代


# nginx 反代
server {
    listen 443 ssl;
    server_name aria2.ialdagorth.com;

    include /etc/nginx/conf.d/ssl.conf;

    location / {
        proxy_pass http://127.0.0.1:6666;
    }
}

# /etc/nginx/conf.d/ssl.conf
ssl_certificate /root/.acme.sh/ialdagorth.com_ecc/ialdagorth.com.cer;
ssl_certificate_key /root/.acme.sh/ialdagorth.com_ecc/ialdagorth.com.key;

ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers off;
ssl_session_cache shared:SSL:32k;
ssl_session_timeout 64m;

问题

我还不清楚 UPnP IGD 和 PCP/NAT-PMP 服务 的作用和配置方法,如果有佬友已经研究,希望可以讲解一下

2 个赞

#软路由添加 #爱快 这样的标签应该没有问题吧

感谢大佬教程

1 个赞

你是真闲啊 :star_struck:,阅读量这么少的帖子都被发现了