Files
Obsidian/Cards/Computer Science/OpenWrt部署.md

323 lines
11 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
aliases:
atlas: "[[Atlas/Card|Card]]"
created: 2023-07-27 14:59:53
modified: 2024-03-12 02:19:47
tags:
- OpenWrt
Title: OpenWrt部署
---
# 系统安装
安装准备如下:
- [Ventoy](https://www.ventoy.net/cn/index.html)
- [优启通PE](https://www.uqitong.top/)
- [Roadkil写盘工具](https://www.roadkil.net/program.php?ProgramID=12)
- [iStoreOS 固件下载](https://fw.koolcenter.com/iStoreOS/x86_64_efi/)
首先进入主板 BIOS 修改启动顺序,通过 U 盘进入优启通 PE 中,使用 DG 分区工具将安装系统的盘所有分区和数据都清空后,打开写盘工具将 iStoreOS 固件刷入后重启即可
# 系统设置
## 管理面板 IP 修改
在控制台输入 `vi /etc/config/network` 修改 LAN 口 IP
## 拨号并启用IPv6
在【网络向导】中可以快捷完成拨号配置,我的宽带账号为 `059602181575` ,密码为 `123456` ,拨号成功后会生成 WAN 和 WAN_6 两个接口,此时再新建一个名为 WAN6 的接口,协议选择 DHCPv6 客户端,请求 IPv6 地址选择 try委托 IPv6 前缀保持勾选IPv6 前缀过滤器选择 WAN_6然后配置 LAN 接口,同样委托 IPv6 前缀保持勾选IPv6 前缀过滤器选择 WAN_6DHCP 服务器设置中 RA 服务和 DHCPv6 服务均选择服务器模式,启用 SLAAC 保持勾选RA 标记设置为受管模式和其他配置,最后在 【网络-DHCP/DNS】 中取消勾选过滤 IPv6 AAAA 地址即可
## 主机名、默认密码与管理端口修改
在【系统-系统】中修改主机名,然后在【系统-管理权】中修改密码,并将默认的 22 端口改为其他高位端口
## 磁盘扩容与 Docker 迁移
由于 iStoreOS 的一键挂载似乎有点问题,因此固态硬盘中的剩余空间我采用手动格式化分区并挂载,具体操作为到【系统-磁盘管理】处点击编辑,手动新建空闲分区,其会自动格式化为 EXT4 格式并挂载上去,最后到【主页】下方的 Docker 处点击迁移,我的挂载与迁移路径为 `/mnt/sata1-4/docker`
# 服务设置
## OpenClash
- [安装包下载](https://github.com/vernesong/OpenClash/releases)
- [机场](https://ssr.wtf/)
- [规则集](https://github.com/Loyalsoldier/clash-rules)
- [订阅文件](https://op.kfdr.top/docs/%E8%96%AF%E6%9D%A1.yaml)
### 插件设置
#### 模式设置
- 首先切换为 Fake-IP 模式
- 使用 Meta 内核 ✅
- 运行模式Fake-IP TUN-混合)模式
#### 流量控制
- 路由本机代理 ✅
- 禁用 QUIC ✅
#### DNS 设置
- 本地 DNS 劫持:使用 Dnsmasq 转发
- 禁止 Dnsmasq 缓存 DNS ✅
#### 外部控制
- 管理页面端口9898
- 管理页面登录密钥LYKHxnV4us@3cBxP
- 管理页面公网域名clash.kfdr.top
- 管理页面映射端口7013
#### IPv6 设置
- IPv6 流量代理 ✅
- IPv6 代理模式TUN 模式
- 允许 IPv 6 类型 DNS 解析 ✅
### 覆写设置
#### DNS 设置
- 自定义上游 DNS 服务器 ✅
- Fake-IP 持久化 ✅
- Fallback-Filter ✅
- Fake-IP-Filter ✅
#### Meta 设置
- 启用 TCP 并发 ✅
- 启用统一延迟 ✅
- TCP Keep-alive 间隔3600s
- Geodata 数据加载方式:标准模式
- 启用 GeoIP Dat 版数据库 ✅
- 启用流量(域名)探测 ✅
- 探测(嗅探)纯 IP 连接 ✅
#### NameServer
- doh.apad.pro/dns-query
- doh.pub/dns-query
- dns.alidns.com/dns-query
- doh.360.cn/dns-query
- 223.5.5.5/dns-query#h3=true
#### FallBack
- cloudflare-dns.com/dns-query
- dns.google/dns-query
- dns.quad9.net/dns-query
- doh.opendns.com/dns-query
- sg-sin.doh.sb/dns-query
- dns.adguard.com/dns-query
- public.dns.iij.jp/dns-query
- 8.8.8.8/dns-query
- 1.1.1.1/dns-query
## Alist
- 在【iStore】中安装 ipk 和 luci 界面
- 挂载 OneDrive、夸克云盘、阿里云盘和百度网盘
- 通过 SFTP 挂载 OpenWrt将 Alist 作为文件管理器
- 每次系统重启后要手动在终端输入 `nohup alist server &` 来后台运行
## ServerChan
- 在【iStore】中安装 ipk 和 luci 界面
### 基本设置
- 精简模式:精简当前设备列表 ✅
- 推送模式Telegram
- TG_token5108952241:AAG6pZsHMdAZN2_OXZ5ELQ_ef6TaXZCtAiY
- TG_chatid1061900965
- 本设备名称:未来道具研究所
- MAC 设备信息数据库:完整版
### 推送内容
- IPv4 变动通知和 IPv6 变动通知:通过 pppoe-wan 接口获取
- 设备上下线通知 ✅
- CPU 温度报警 ✅
- web 登录提醒 ✅
- ssh 登录提醒 ✅
- web 错误尝试提醒 ✅
- ssh 错误尝试提醒 ✅
- 错误尝试次数3
- 自动拉黑 ✅
### 设备别名
- 7a:5a:03:aa:a0:3d-iPhone13mini
- d6:87:eb:17:43:c4-iPadPro12.9
- fa:32:88:3e:48:ac-iPhoneSE2
- 04:d9:f5:1d:d1:a6-台式机
- 70:85:c2:7b:72:5c-NAS
- 2a:01:1f:44:1a:78-红米K20Pro
- 2a:41:b8:78:d6:b2-红米Note10
- 42:55:85:19:50:c4-荣耀X30
- b4:60:ed:7f:57:7f-Yeelight屏幕挂灯
- 7c:49:eb:35:05:ff-NAS插座
- 7c:49:eb:74:8e:b9-小爱音响mini
- a8:40:7d:6f:0b:ce-华凌热水器
- 04:cf:8c:c0:3b:90-Aqara空调伴侣
- 5c:e5:0c:48:7f:31-Yeelight吸顶灯
- 5c:e5:0c:0e:21:1f-次路由插座
- 64:90:c1:71:c8:b5-小爱智能闹钟
- 7c:49:eb:35:03:c9-次卧笔记本插座
- 7c:49:eb:38:88:cc-阅读灯插座
- 7c:49:eb:35:08:82-台式机插座
- 80:ea:07:d3:0d:46-次路由
- cc:08:fb:7f:0f:87-主路由
- 7c:49:eb:49:94:31-小米台灯
- 98:8c:b3:49:72:02-光猫
## Lucky
在【系统-软件包】中安装 ipk 和 luci 界面
### 动态 DNS
- DNS 服务商Cloudflare
- 域名: 19980426.xyz \*.19980426.xyz
- 获取公网 IP 方式使用网卡获取IPv4 和 IPv6 的网卡分别为 pppoe-wan 和 br-lan
- 密码:oLUnvj7cnWaZxO-qSTtT7QoWAXhryh3TGzfvl_HS
- kfdr. top 区域 DNS 令牌e1wNKMSt87x5nJBy8szH2xfLO0gsY0PdnwrB5jrL
### Web 服务
#### 重定向
- 监听类型tcp4 和 tcp6
- 监听端口8888
- Web 服务类型:重定向
- 默认目标地址https://{host}:{port}
#### 反向代理
- 监听类型tcp4 和 tcp6
- 监听端口8888
- TLS 必须开启
##### OpenWrt
- Web 服务类型:反向代理
- 前端域名op.19980426.xyz
- 后端地址http://192.168.1.100:80
## Frp 内网穿透
在【系统-软件包】中安装 ipk 和 luci 界面
### 基本设置
- 服务器kfdr.top
- 端口5443
- 令牌ouctykEweJ1EbJ8U
### 服务设置
|服务备注名|Frp 协议类型|域名/子域名|远程主机端口|内网主机地址|内网主机端口|开启数据加密|使用压缩||
|---|---|---|---|---|---|---|---|
|OpenWrt|tcp|kfdr.top|7000|192.168.1.100|80|ON|ON|
|qBittorrent|tcp|kfdr.top|7001|192.168.1.100|8081|ON|ON|
|Immich|tcp|kfdr.top|7002|192.168.1.100|2283|ON|ON|
|Portainer|tcp|kfdr.top|7003|192.168.1.100|9000|ON|ON|
|Emby|tcp|kfdr.top|7004|192.168.1.128|8096|ON|ON|
|Cloudreve|tcp|kfdr.top|7005|192.168.1.128|5212|ON|ON|
|Gitea|tcp|kfdr.top|7006|192.168.1.100|3333|ON|ON|
|ArchiSteamFarm|tcp|kfdr.top|7007|192.168.1.128|1242|ON|ON|
|Bitwardenrs|tcp|kfdr.top|7008|192.168.1.100|6666|ON|ON|
|SunPanel|tcp|kfdr.top|7009|192.168.1.100|3002|ON|ON|
|Alist|tcp|kfdr.top|7010|192.168.1.100|5244|ON|ON|
|UptimeKuma|tcp|kfdr.top|7011|192.168.1.100|3001|ON|ON|
|Navidrome|tcp|kfdr.top|7012|192.168.1.100|4533|ON|ON|
|OpenClash|tcp|kfdr.top|7013|192.168.1.100|9898|ON|ON|
|Lsky|tcp|kfdr.top|7014|192.168.1.100|8089|ON|ON|
|FressRSS|tcp|kfdr.top|7015|192.168.1.100|8686|ON|ON|
|RSSHub|tcp|kfdr.top|7016|192.168.1.100|1200|ON|ON|
|Lucky|tcp|kfdr.top|7017|192.168.1.100|16601|ON|ON|
|Reader|tcp|kfdr.top|7018|192.168.1.100|4567|ON|ON|
## 网络 UPS 工具
暂未配置
## uHTTPd
iStoreOS 中已默认开启,目前我用于存放 tvbox 的订阅文件,文件的本地路径为 `/www/doc/TVBOX.txt` 订阅链接为 `192.168.1.100/doc/TVBOX.txt`
## Rclone
在【系统-软件包】中安装 ipk 和 luci 界面
去[官网](https://rclone.org/downloads/) 下载 Windows 版本的进行配置,因为配置过程中有一步需要调用 GUI 网页来鉴权,直接在 OpenWrt 命令行中无法完成这一步,因此在 Windows 上操作后再将配置文件导入 OpenWrt 中,配置文件路径为 `/root/.config/rclone`
### Windows 配置流程(以 OneDrive 为例)
- 输入 `rclone config` 开始配置
- 输入 `n` 创建一个新配置
- 根据要挂载的内容输入编号
- client_id 和 client_secret 留空
- 输入 `1` 选择全球区
- 输入 `n` 不编辑高级配置
- 输入 `y` 进行自动配置
- 输入 `1` 选择连接类型
- 输入 `y` 确认生成
- 输入 `q` 退出配置
- 资源管理器打开 `C:\Users\Administrator\AppData\Roaming\rclone` 将配置文件上传到 OpenWrt
### 挂载 OneDrive 并设置开机自动挂载
- 输入 `mkdir /mnt/OneDrive` 来创建用于挂载的文件夹
- 输入 `rclone mount onedrive:/ /mnt/onedrive --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000` 完成挂载
- 将 [[Rclone开机自动挂载]] 中的代码保存为 `rcloned` 并上传到 OpenWrt
- 在【系统-启动项-本地启动脚本】中将 `bash /etc/init.d/rcloned start` 这行代码添加进去
## 挂载网络共享
|服务器 IP|共享文件夹|挂载路径|SMB 版本|挂载参数|字符集|用户|密码||
|---|---|---|---|---|---|---|---|
|192.168.1.128|Data1|/mnt/Data1|SMB v3|可读/写|UTF8|Administrator|Saligia7|
|192.168.1.128|Data2|/mnt/Data2|SMB v3|可读/写|UTF8|Administrator|Saligia7|
|192.168.1.128|Data3|/mnt/Data3|SMB v3|可读/写|UTF8|Administrator|Saligia7|
## IP/MAC 绑定
在 iStore 里一键安装后,将 NAS 的局域网 IP `192.168.1.128` 与其 MAC 地址 `70:85:c2:7b:72:5c` 绑定
## 访问AP/光猫
在 iStore 里一键安装后,在 WAN 口配置一个与光猫同网段的 IP`192.168.0.100` 即可实现跨网段访问光猫后台
# 系统备份
## 官方备份
在【系统-备份与升级】中生成备份,这样生成的备份只包含 `/etc` 目录下修改过的文件
## DD
每月一号零点将系统打包备份: `0 0 1 * * dd if=/dev/sda bs=512 count=4981248 status=progress | gzip >/mnt/sata3-1/backup/images/openwrt_backup_$(date +%Y-%m-%d).img.gz`
## 脚本
每月一号一点将系统打包备份: `0 1 1 * * sh /root/backup.run /mnt/sata3-1/backup/images`
## Rclone
每月一号两点将系统备份上传至 OneDrive `0 2 1 * * rclone copy /mnt/sata3-1/backup/images OneDrive:/Backup/OpenWrt/images`
## Rsync
每小时的零分同步一次本地相册:`10 * * * * rsync -av --delete /mnt/sata3-1/immich /mnt/Data1/Backup`
每小时的十分同步一次 Docker 数据:`20 * * * * rsync -av --delete /mnt/usb3-1 /mnt/sata3-1/backup/docker`
每小时的二十分同步一次 Docker 数据:`30 * * * * rsync -av --delete /mnt/usb2_7_3-1 /mnt/sata3-1/backup/docker`
## 贴吧
BDUSS:1VGaTN4bXl3OUU3NWNTdC1HbEVsSC1uUjRGN2tkOU8teHFXOEdJakZPUWdKNjlqSVFBQUFBJCQAAAAAAAAAAAEAAACZUe8fs6TG2rXE1tCy3dKpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACCah2MgmodjZ
STOKEN:314cebd96281a05af2f761a107be56cf68c240eeda1ad7e0390a4b312b52e856