Re-structure
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
---
|
||||
created: "2026-03-08 21:30"
|
||||
type: resource
|
||||
tags: [claude-code, AI-tools, development-workflow, reference]
|
||||
tags: [resource, claude-code, AI-tools, development-workflow, reference]
|
||||
source: "https://github.com/affaan-m/everything-claude-code"
|
||||
---
|
||||
|
||||
@@ -253,11 +253,19 @@ ECC_DISABLED_HOOKS="pre:bash:tmux-reminder,post:edit:typecheck"
|
||||
|
||||
## Related
|
||||
|
||||
### Resources
|
||||
- [[Everything Claude Code 方法论与最佳实践]]
|
||||
- [[Everything Claude Code 用法速查]]
|
||||
- [[Claude Code Memory 日常最佳实践]]
|
||||
|
||||
### Zettelkasten
|
||||
- [[Everything Claude Code 最佳实践]]
|
||||
- [[Everything Claude Code Agent 编排模式]]
|
||||
- [[Everything Claude Code Token 优化]]
|
||||
- [[Everything Claude Code 多服务编排详解]]
|
||||
- [[Claude Code Memory 日常最佳实践]]
|
||||
- [[Hook驱动优于提示词驱动]]
|
||||
- [[MCP数量与上下文窗口的反比关系]]
|
||||
- [[本能学习系统的演化路径]]
|
||||
|
||||
## Source
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
created: "2026-03-19 12:00"
|
||||
type: resource
|
||||
tags: [claude-code, AI-tools, methodology, best-practices, agent-orchestration]
|
||||
tags: [resource, claude-code, AI-tools, methodology, best-practices, agent-orchestration]
|
||||
source: "https://github.com/affaan-m/everything-claude-code"
|
||||
---
|
||||
|
||||
@@ -925,6 +925,18 @@ ECC 自动检测项目使用的包管理器,遵循 6 级优先级:
|
||||
|
||||
## Related
|
||||
|
||||
### Resources
|
||||
- [[Everything Claude Code 完整指南]]
|
||||
- [[Everything Claude Code 用法速查]]
|
||||
- [[GSD 方法论与最佳实践]]
|
||||
|
||||
### Zettelkasten
|
||||
- [[Everything Claude Code 最佳实践]]
|
||||
- [[Everything Claude Code Agent 编排模式]]
|
||||
- [[Everything Claude Code Token 优化]]
|
||||
- [[Everything Claude Code 多服务编排详解]]
|
||||
- [[Claude Code Memory 日常最佳实践]]
|
||||
- [[Hook驱动优于提示词驱动]]
|
||||
- [[MCP数量与上下文窗口的反比关系]]
|
||||
- [[本能学习系统的演化路径]]
|
||||
- [[上下文腐烂与全新窗口隔离]]
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
created: "2026-03-08 22:10"
|
||||
type: resource
|
||||
tags: [claude-code, AI-tools, development-workflow, cheatsheet]
|
||||
tags: [resource, claude-code, AI-tools, development-workflow, cheatsheet]
|
||||
source: "https://github.com/affaan-m/everything-claude-code"
|
||||
---
|
||||
|
||||
@@ -172,12 +172,16 @@ source: "https://github.com/affaan-m/everything-claude-code"
|
||||
|
||||
## Related
|
||||
|
||||
### Resources
|
||||
- [[Everything Claude Code 完整指南]]
|
||||
- [[Everything Claude Code 多服务编排详解]]
|
||||
- [[Claude Code Memory 日常最佳实践]]
|
||||
- [[Everything Claude Code 方法论与最佳实践]]
|
||||
|
||||
### Zettelkasten
|
||||
- [[Everything Claude Code 最佳实践]]
|
||||
- [[Everything Claude Code Agent 编排模式]]
|
||||
- [[Everything Claude Code Token 优化]]
|
||||
- [[Everything Claude Code 多服务编排详解]]
|
||||
- [[Claude Code Memory 日常最佳实践]]
|
||||
|
||||
## Source
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
created: "2026-03-20 10:00"
|
||||
type: resource
|
||||
tags: [claude-code, AI-tools, methodology, best-practices, project-management, gsd]
|
||||
tags: [resource, claude-code, AI-tools, methodology, best-practices, project-management, gsd]
|
||||
source: "https://github.com/gsd-build/get-shit-done"
|
||||
---
|
||||
|
||||
@@ -901,6 +901,12 @@ fix(1-C): apply auth middleware to admin routes
|
||||
|
||||
## Related
|
||||
|
||||
### Resources
|
||||
- [[Everything Claude Code 完整指南]]
|
||||
- [[Everything Claude Code 用法速查]]
|
||||
- [[Everything Claude Code 方法论与最佳实践]]
|
||||
|
||||
### Zettelkasten
|
||||
- [[上下文腐烂与全新窗口隔离]]
|
||||
- [[目标回溯验证vs正向任务检查]]
|
||||
- [[Plans as Prompts设计模式]]
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
created: "2026-03-17"
|
||||
type: resource
|
||||
tags: [engineering, workflow, azure-devops, jira, slack, billo]
|
||||
tags: [resource, engineering, workflow, azure-devops, jira, slack, billo]
|
||||
source: "C:/Users/yaoji/git/Billo/release-workflow/SKILL.md"
|
||||
---
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
created: "2026-03-10"
|
||||
type: resource
|
||||
tags: [infrastructure, homelab, kubernetes, ci-cd, gitops]
|
||||
tags: [resource, infrastructure, homelab, kubernetes, ci-cd, gitops]
|
||||
source: "HomeLab 部署实践"
|
||||
---
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
created: "2026-03-09"
|
||||
type: resource
|
||||
tags: [kubernetes, infrastructure, devops, drone-ci, argocd, docker-registry]
|
||||
tags: [resource, kubernetes, infrastructure, devops, drone-ci, argocd, docker-registry, homelab]
|
||||
source: "openbb-invest-api 项目部署实践"
|
||||
---
|
||||
|
||||
149
4 - Resources/Networking/OpenClash-Config-Review-2026-03-19.md
Normal file
149
4 - Resources/Networking/OpenClash-Config-Review-2026-03-19.md
Normal file
@@ -0,0 +1,149 @@
|
||||
---
|
||||
tags:
|
||||
- resource
|
||||
- openclash
|
||||
- vless-reality
|
||||
- security-audit
|
||||
- networking
|
||||
- router
|
||||
- homelab
|
||||
---
|
||||
|
||||
# OpenClash 配置 Review (2026-03-19)
|
||||
|
||||
> 审计范围:源配置、运行配置、UCI 设置、custom 文件
|
||||
> 审计日期:2026-03-19
|
||||
> 状态:**全部修复完成**(P3 备用节点除外)
|
||||
|
||||
---
|
||||
|
||||
## 1. 安全问题 (CRITICAL)
|
||||
|
||||
### 1.1 敏感信息在 Git 仓库中明文暴露
|
||||
|
||||
以下敏感值出现在 Knowledge vault 的笔记中:
|
||||
|
||||
| 类型 | 值 | 出处 |
|
||||
|------|-----|------|
|
||||
| VLESS UUID | `04a7cfe3-...` | vless-reality.yaml |
|
||||
| REALITY public-key | `RTO_UOk5...` | vless-reality.yaml |
|
||||
| Dashboard Secret | `Dc7jZkmO` | Router-iStoreOS.md |
|
||||
| Proxy Auth | `Clash:O6IlMO6L` | 运行配置 |
|
||||
|
||||
**结论**:仓库 remote 为自建 Gitea (`git@git.colacoder.com`),非公开,风险可接受。
|
||||
|
||||
### 1.2 Dashboard 绑定 0.0.0.0
|
||||
|
||||
```yaml
|
||||
external-controller: 0.0.0.0:9090
|
||||
```
|
||||
|
||||
LuCI 覆写硬编码为 `0.0.0.0`,无法通过源配置修改。
|
||||
|
||||
**结论**:WAN zone 默认 INPUT=REJECT,9090 端口从外网不可达,仅 LAN 可访问,风险可接受。
|
||||
|
||||
### 1.3 mixed-port 绑定 0.0.0.0
|
||||
|
||||
`allow-lan: true` + `bind-address: "*"` 意味着代理端口对全网段开放。
|
||||
|
||||
**结论**:同上,WAN 防火墙已阻止外网访问。
|
||||
|
||||
---
|
||||
|
||||
## 2. 源配置与运行配置不一致 — 已修复
|
||||
|
||||
源配置已清理,去掉了陈旧的 DNS 段(`redir-host`、`192.168.68.111`、`nsniffer` 等),DNS 全部交给 LuCI 覆写管理。
|
||||
|
||||
当前源配置只保留:proxies、proxy-groups、rules、hosts。其余由 LuCI 覆写生成。
|
||||
|
||||
---
|
||||
|
||||
## 3. 规则问题 — 已修复
|
||||
|
||||
### 3.1 规则精简为仅视频/音乐
|
||||
|
||||
之前配置了 60+ 条国内域名 + `GEOSITE,cn` + `GEOIP,CN`,导致所有国内流量走代理。
|
||||
|
||||
**已修复**:移除电商、社交、搜索、银行、`GEOSITE,cn`、`GEOIP,CN`,只保留:
|
||||
- 国内视频:B站、爱奇艺、优酷、芒果TV、搜狐、腾讯视频、抖音、西瓜、小红书
|
||||
- 国内音乐:网易云、酷狗、酷我、QQ音乐
|
||||
- 其余 `MATCH,DIRECT`
|
||||
|
||||
### 3.2 代理服务器 IP 直连规则 — 已修复
|
||||
|
||||
已添加 `IP-CIDR,8.138.1.192/32,DIRECT` 防止环路。
|
||||
|
||||
### 3.3 腾讯视频规则细化
|
||||
|
||||
之前用 `DOMAIN-SUFFIX,qq.com` 会把 QQ 邮箱、QQ 空间等全部代理。
|
||||
|
||||
**已修复**:改为 `v.qq.com` / `video.qq.com` 只匹配腾讯视频;QQ 音乐用 `y.qq.com`。
|
||||
|
||||
---
|
||||
|
||||
## 4. Fake-IP Filter — 已修复
|
||||
|
||||
### 4.1 去重完成
|
||||
|
||||
删除所有 `*.xxx.com` 重复项,只保留 `+.xxx.com`(已是超集)。
|
||||
|
||||
### 4.2 amazonaws 范围缩小
|
||||
|
||||
移除 `+.amazonaws.com`(全量 AWS),只保留 `+.ecr.aws`。
|
||||
|
||||
当前 fake-ip-filter 列表(16 条):
|
||||
|
||||
```
|
||||
+.colacoder.com, +.k8s.home — 内网域名
|
||||
*.lan, *.local, *.localdomain, *.home.arpa — 本地域名
|
||||
+.quay.io, +.ghcr.io, +.docker.io,
|
||||
+.docker.com, +.gcr.io, +.k8s.io,
|
||||
+.registry.k8s.io — 容器仓库
|
||||
+.ecr.aws — AWS ECR
|
||||
+.billo.life — 公司 VPN
|
||||
+.finance.yahoo.com — Yahoo Finance API
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. Sniffer 配置 — 已修复
|
||||
|
||||
清空了 `force-domain` 列表(之前包含 Netflix/Disney+/amazonaws,无实际意义)。
|
||||
|
||||
保留 `skip-domain`:Mijia Cloud、向日葵、蒲公英、Apple Push。
|
||||
|
||||
---
|
||||
|
||||
## 6. 其他注意事项
|
||||
|
||||
| 项目 | 当前值 | 说明 |
|
||||
|------|--------|------|
|
||||
| `bypass_gateway_compatible` | `0`(关闭) | 网络正常,无需开启 |
|
||||
| `disable_udp_quic` | `1`(禁用) | 强制走 TCP,可能降低部分网站速度 |
|
||||
| NTP `write-to-system` | `true` | 路由器上正常 |
|
||||
| 单代理节点 | 只有 CN-Proxy | 无备用,服务器挂了断国内 |
|
||||
| `china_ip_route` | overwrite 开启 | 国内 IP 绕过 TUN 直连 |
|
||||
|
||||
---
|
||||
|
||||
## 7. 修复记录
|
||||
|
||||
| 优先级 | 项目 | 状态 |
|
||||
|--------|------|------|
|
||||
| P0 | Dashboard 绑定 | 无需修复 — WAN REJECT,外网不可达 |
|
||||
| P0 | Knowledge 仓库隐私 | 已确认 — 自建 Gitea,非公开 |
|
||||
| P1 | 代理服务器 IP 加 DIRECT 规则 | 已修复 (2026-03-19) |
|
||||
| P1 | 清理源配置(去掉陈旧 DNS 设置) | 已修复 (2026-03-19) |
|
||||
| P2 | 精简规则(只保留视频/音乐) | 已修复 (2026-03-19) |
|
||||
| P2 | fake-ip-filter 去重 | 已修复 (2026-03-19) |
|
||||
| P2 | 缩小 amazonaws 范围 | 已修复 (2026-03-19) |
|
||||
| P3 | 清理 sniffer force-domain | 已修复 (2026-03-19) |
|
||||
| P3 | 添加备用代理节点 | 可选 — 用户自行决定 |
|
||||
|
||||
---
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [[VLESS-REALITY-Router-iStoreOS]] -- 主配置文档
|
||||
- [[家庭网络基础设施]] -- 网络拓扑总览
|
||||
- [[VLESS-Reality 翻墙回国]] -- 项目概览
|
||||
259
4 - Resources/Networking/OpenClash-Configuration.md
Normal file
259
4 - Resources/Networking/OpenClash-Configuration.md
Normal file
@@ -0,0 +1,259 @@
|
||||
---
|
||||
tags:
|
||||
- resource
|
||||
- openclash
|
||||
- vless-reality
|
||||
- clash-config
|
||||
- networking
|
||||
- router
|
||||
- dns
|
||||
- homelab
|
||||
---
|
||||
|
||||
# OpenClash 配置备份
|
||||
|
||||
> 路由器:`192.168.68.63` (iStoreOS, EasePi Pro)
|
||||
> 最后更新:2026-03-19
|
||||
> 用途:仅国内视频/音乐走代理回国,其余全部直连
|
||||
|
||||
---
|
||||
|
||||
## 1. 源配置
|
||||
|
||||
路径:`/etc/openclash/config/vless-reality.yaml`
|
||||
|
||||
> DNS 段只写了最小声明,其余由 LuCI 覆写生成。
|
||||
|
||||
```yaml
|
||||
# ============================================================
|
||||
# VLESS + XTLS-Vision + REALITY(翻墙回国 - 旁路由)
|
||||
# 用途:仅国内视频/音乐走代理,其余全部直连
|
||||
# 更新:2026-03-19 精简规则 + 安全加固 + sniffer 清理
|
||||
# ============================================================
|
||||
|
||||
mixed-port: 7890
|
||||
redir-port: 7892
|
||||
tproxy-port: 7895
|
||||
allow-lan: true
|
||||
bind-address: "*"
|
||||
mode: rule
|
||||
log-level: warning
|
||||
unified-delay: true
|
||||
external-controller: 192.168.68.63:9090
|
||||
|
||||
dns:
|
||||
enable: true
|
||||
listen: 0.0.0.0:7874
|
||||
|
||||
proxies:
|
||||
- name: "CN-Proxy"
|
||||
type: vless
|
||||
server: 8.138.1.192
|
||||
port: 443
|
||||
uuid: 04a7cfe3-10f6-4e38-8319-22a604e24018
|
||||
network: tcp
|
||||
udp: true
|
||||
tls: true
|
||||
flow: xtls-rprx-vision
|
||||
servername: www.microsoft.com
|
||||
reality-opts:
|
||||
public-key: RTO_UOk5ncr3DAAYR08g08L0fo5ax9pmGFj8c8lXWgk
|
||||
short-id: ""
|
||||
client-fingerprint: chrome
|
||||
|
||||
proxy-groups:
|
||||
- name: "Proxy"
|
||||
type: select
|
||||
proxies:
|
||||
- CN-Proxy
|
||||
- DIRECT
|
||||
|
||||
rules:
|
||||
# K8s 节点直连(绕过 OpenClash)
|
||||
- SRC-IP-CIDR,192.168.68.11/32,DIRECT
|
||||
- SRC-IP-CIDR,192.168.68.21/32,DIRECT
|
||||
- SRC-IP-CIDR,192.168.68.22/32,DIRECT
|
||||
|
||||
# 代理服务器本身必须直连(防环路)
|
||||
- IP-CIDR,8.138.1.192/32,DIRECT
|
||||
|
||||
# 广告拦截
|
||||
- GEOSITE,category-ads-all,REJECT
|
||||
|
||||
# 私有网络直连
|
||||
- IP-CIDR,127.0.0.0/8,DIRECT
|
||||
- IP-CIDR,10.0.0.0/8,DIRECT
|
||||
- IP-CIDR,172.16.0.0/12,DIRECT
|
||||
- IP-CIDR,192.168.0.0/16,DIRECT
|
||||
|
||||
# === 国内视频/流媒体(走代理回国) ===
|
||||
# Bilibili
|
||||
- DOMAIN-SUFFIX,bilibili.com,Proxy
|
||||
- DOMAIN-SUFFIX,bilivideo.com,Proxy
|
||||
- DOMAIN-SUFFIX,bilivideo.cn,Proxy
|
||||
- DOMAIN-SUFFIX,biliapi.net,Proxy
|
||||
- DOMAIN-SUFFIX,hdslb.com,Proxy
|
||||
- DOMAIN-SUFFIX,acgvideo.com,Proxy
|
||||
# 爱奇艺
|
||||
- DOMAIN-SUFFIX,iqiyi.com,Proxy
|
||||
- DOMAIN-SUFFIX,iqiyipic.com,Proxy
|
||||
# 优酷
|
||||
- DOMAIN-SUFFIX,youku.com,Proxy
|
||||
# 芒果TV
|
||||
- DOMAIN-SUFFIX,mgtv.com,Proxy
|
||||
# 搜狐视频
|
||||
- DOMAIN-SUFFIX,sohu.com,Proxy
|
||||
# 腾讯视频
|
||||
- DOMAIN-SUFFIX,v.qq.com,Proxy
|
||||
- DOMAIN-SUFFIX,video.qq.com,Proxy
|
||||
- DOMAIN-SUFFIX,livep.l.qq.com,Proxy
|
||||
- DOMAIN-SUFFIX,vd.l.qq.com,Proxy
|
||||
# 抖音/西瓜/字节
|
||||
- DOMAIN-SUFFIX,douyin.com,Proxy
|
||||
- DOMAIN-SUFFIX,douyinpic.com,Proxy
|
||||
- DOMAIN-SUFFIX,douyincdn.com,Proxy
|
||||
- DOMAIN-SUFFIX,douyinstatic.com,Proxy
|
||||
- DOMAIN-SUFFIX,snssdk.com,Proxy
|
||||
- DOMAIN-SUFFIX,amemv.com,Proxy
|
||||
- DOMAIN-SUFFIX,ixigua.com,Proxy
|
||||
- DOMAIN-SUFFIX,pstatp.com,Proxy
|
||||
- DOMAIN-SUFFIX,bytedance.com,Proxy
|
||||
- DOMAIN-SUFFIX,byteimg.com,Proxy
|
||||
# 小红书
|
||||
- DOMAIN-SUFFIX,xiaohongshu.com,Proxy
|
||||
- DOMAIN-SUFFIX,xhscdn.com,Proxy
|
||||
- DOMAIN-SUFFIX,xhslink.com,Proxy
|
||||
|
||||
# === 国内音乐(走代理回国) ===
|
||||
# 网易云音乐
|
||||
- DOMAIN-SUFFIX,music.163.com,Proxy
|
||||
- DOMAIN-SUFFIX,163yun.com,Proxy
|
||||
- DOMAIN-SUFFIX,126.net,Proxy
|
||||
- DOMAIN-SUFFIX,netease.com,Proxy
|
||||
# 酷狗
|
||||
- DOMAIN-SUFFIX,kugou.com,Proxy
|
||||
# 酷我
|
||||
- DOMAIN-SUFFIX,kuwo.cn,Proxy
|
||||
# QQ音乐
|
||||
- DOMAIN-SUFFIX,y.qq.com,Proxy
|
||||
- DOMAIN-SUFFIX,c.y.qq.com,Proxy
|
||||
- DOMAIN-SUFFIX,streamoc.music.tc.qq.com,Proxy
|
||||
|
||||
# === 其他全部直连 ===
|
||||
- MATCH,DIRECT
|
||||
|
||||
hosts:
|
||||
"nas.colacoder.com": 192.168.68.70
|
||||
"pve.colacoder.com": 192.168.68.70
|
||||
"npm.colacoder.com": 192.168.68.70
|
||||
"router.colacoder.com": 192.168.68.63
|
||||
"adguard.colacoder.com": 192.168.68.63
|
||||
"claw.colacoder.com": 192.168.68.70
|
||||
"openvas.colacoder.com": 192.168.68.70
|
||||
"invest-api.k8s.home": 192.168.68.240
|
||||
"argocd.k8s.home": 192.168.68.240
|
||||
"drone.k8s.home": 192.168.68.240
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 2. 自定义文件
|
||||
|
||||
### 2.1 Fake-IP 排除列表
|
||||
|
||||
路径:`/etc/openclash/custom/openclash_custom_fake_filter.list`
|
||||
|
||||
```
|
||||
+.colacoder.com
|
||||
+.k8s.home
|
||||
*.lan
|
||||
*.local
|
||||
*.localdomain
|
||||
*.home.arpa
|
||||
+.quay.io
|
||||
+.ghcr.io
|
||||
+.docker.io
|
||||
+.docker.com
|
||||
+.gcr.io
|
||||
+.k8s.io
|
||||
+.registry.k8s.io
|
||||
+.ecr.aws
|
||||
+.billo.life
|
||||
+.finance.yahoo.com
|
||||
```
|
||||
|
||||
### 2.2 自定义 Hosts
|
||||
|
||||
路径:`/etc/openclash/custom/openclash_custom_hosts.list`
|
||||
|
||||
```yaml
|
||||
nas.colacoder.com: 192.168.68.70
|
||||
pve.colacoder.com: 192.168.68.70
|
||||
npm.colacoder.com: 192.168.68.70
|
||||
router.colacoder.com: 192.168.68.63
|
||||
adguard.colacoder.com: 192.168.68.63
|
||||
claw.colacoder.com: 192.168.68.70
|
||||
openvas.colacoder.com: 192.168.68.70
|
||||
invest-api.k8s.home: 192.168.68.240
|
||||
argocd.k8s.home: 192.168.68.240
|
||||
drone.k8s.home: 192.168.68.240
|
||||
```
|
||||
|
||||
### 2.3 自定义 Sniffer
|
||||
|
||||
路径:`/etc/openclash/custom/openclash_custom_sniffer.yaml`
|
||||
|
||||
```yaml
|
||||
sniffer:
|
||||
force-dns-mapping: true
|
||||
parse-pure-ip: true
|
||||
override-destination: true
|
||||
sniff:
|
||||
QUIC:
|
||||
ports: [443]
|
||||
TLS:
|
||||
ports: [443, 8443]
|
||||
HTTP:
|
||||
ports: [80, 8080-8880]
|
||||
override-destination: true
|
||||
force-domain: []
|
||||
skip-domain:
|
||||
- Mijia Cloud
|
||||
- dlg.io.mi.com
|
||||
- +.oray.com
|
||||
- +.sunlogin.net
|
||||
- +.push.apple.com
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. LuCI 覆写设置
|
||||
|
||||
以下设置通过 LuCI 后台配置,会覆盖源配置中的对应字段:
|
||||
|
||||
| 设置 | 值 |
|
||||
|------|-----|
|
||||
| 运行模式 | Fake-IP (TUN) |
|
||||
| 代理模式 | Rule 策略代理 |
|
||||
| 区域绕过 | 停用 |
|
||||
| 域名嗅探 | 启用 |
|
||||
| Default-NameServer | `8.8.8.8`, `1.1.1.1` |
|
||||
| NameServer | `8.8.8.8`, `1.1.1.1` |
|
||||
| Fallback | `dns.google`, `cloudflare-dns.com` (DoH) |
|
||||
| store-fake-ip | 启用 |
|
||||
| respect-rules | 启用 |
|
||||
| custom-fakeip-filter | 启用 (blacklist 模式) |
|
||||
| custom-host | 启用 |
|
||||
| custom-fallback-filter | 启用 |
|
||||
| china_ip_route | 启用 |
|
||||
| tcp-concurrent | 启用 |
|
||||
| IPv6 | 关闭 |
|
||||
| QUIC | 禁用 |
|
||||
|
||||
---
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [[VLESS-REALITY-Router-iStoreOS]] -- 主网关配置文档
|
||||
- [[OpenClash-Config-Review-2026-03-19]] -- 配置审计报告
|
||||
- [[家庭网络基础设施]] -- 网络拓扑总览
|
||||
313
4 - Resources/Networking/VLESS-REALITY-Client-macOS.md
Normal file
313
4 - Resources/Networking/VLESS-REALITY-Client-macOS.md
Normal file
@@ -0,0 +1,313 @@
|
||||
---
|
||||
tags:
|
||||
- resource
|
||||
- openclash
|
||||
- vless-reality
|
||||
- proxy
|
||||
- networking
|
||||
- macOS
|
||||
- homelab
|
||||
---
|
||||
|
||||
# VLESS + REALITY macOS 客户端连接指南(翻墙回国)
|
||||
|
||||
> 服务器:`8.138.1.192`(阿里云国内) | 部署日期:2026-03-14
|
||||
> 用途:从海外通过国内代理访问国内资源(B站、抖音、淘宝等)
|
||||
|
||||
---
|
||||
|
||||
## 0. 两种使用方式
|
||||
|
||||
| 方式 | 说明 | 适合场景 |
|
||||
|------|------|---------|
|
||||
| **方式 A:旁路由代理(推荐)** | Mac 网关指向旁路由,无需装客户端 | 在家,旁路由运行中 |
|
||||
| **方式 B:ClashX Meta 客户端** | Mac 上独立运行代理 | 外出,不在家 |
|
||||
|
||||
### 方式 A:旁路由代理
|
||||
|
||||
系统设置 → Wi-Fi → 详细信息 → TCP/IP → 手动:
|
||||
- IP 地址:保持当前
|
||||
- 子网掩码:`255.255.252.0`
|
||||
- 路由器:`192.168.68.63`
|
||||
- DNS 标签页:`192.168.68.63`
|
||||
|
||||
设置后无需装任何客户端,旁路由的 OpenClash 自动处理代理。详见 [旁路由文档](./VLESS-REALITY-Router-iStoreOS.md)。
|
||||
|
||||
### 方式 B:ClashX Meta 客户端(以下章节)
|
||||
|
||||
---
|
||||
|
||||
## 1. 客户端选择
|
||||
|
||||
ClashX Pro **不支持** VLESS + REALITY,需使用基于 mihomo 内核的客户端:
|
||||
|
||||
| 客户端 | 说明 | 下载 |
|
||||
|--------|------|------|
|
||||
| **ClashX.Meta**(推荐) | 界面与 ClashX Pro 一致,切换无感 | https://github.com/MetaCubeX/ClashX.Meta/releases |
|
||||
| Clash Verge Rev | 跨平台,功能更丰富 | https://github.com/clash-verge-rev/clash-verge-rev/releases |
|
||||
|
||||
### 安装 ClashX.Meta
|
||||
|
||||
1. 从 Releases 页面下载最新的 `.dmg` 文件
|
||||
2. 拖入 Applications
|
||||
3. 首次打开:右键 → 打开(绕过 Gatekeeper)
|
||||
4. 可卸载 ClashX Pro(两者不冲突,但不要同时运行)
|
||||
|
||||
---
|
||||
|
||||
## 2. 配置文件
|
||||
|
||||
配置文件路径:`~/.config/clash.meta/config.yaml`(已自动写入)
|
||||
|
||||
**手动修改方法:** 菜单栏点击 ClashX.Meta 图标 → Config → Open config folder → 编辑 `config.yaml`
|
||||
|
||||
```yaml
|
||||
# ============================================================
|
||||
# VLESS + XTLS-Vision + REALITY(翻墙回国)
|
||||
# 服务器: 8.138.1.192(阿里云国内)
|
||||
# 用途: 海外访问国内资源
|
||||
# 生成日期: 2026-03-14
|
||||
# ============================================================
|
||||
|
||||
mixed-port: 7890
|
||||
allow-lan: false
|
||||
mode: rule
|
||||
log-level: warning
|
||||
unified-delay: true
|
||||
|
||||
dns:
|
||||
enable: true
|
||||
listen: 0.0.0.0:53
|
||||
enhanced-mode: fake-ip
|
||||
fake-ip-range: 198.18.0.1/16
|
||||
fake-ip-filter:
|
||||
- "*.lan"
|
||||
- "*.local"
|
||||
- "time.*.com"
|
||||
- "ntp.*.com"
|
||||
default-nameserver:
|
||||
- 8.8.8.8
|
||||
- 1.1.1.1
|
||||
nameserver:
|
||||
- https://dns.google/dns-query
|
||||
- https://cloudflare-dns.com/dns-query
|
||||
fallback:
|
||||
- https://dns.alidns.com/dns-query
|
||||
- https://doh.pub/dns-query
|
||||
fallback-filter:
|
||||
geoip: true
|
||||
geoip-code: CN
|
||||
|
||||
proxies:
|
||||
- name: "CN-Proxy"
|
||||
type: vless
|
||||
server: 8.138.1.192
|
||||
port: 443
|
||||
uuid: 04a7cfe3-10f6-4e38-8319-22a604e24018
|
||||
network: tcp
|
||||
udp: true
|
||||
tls: true
|
||||
flow: xtls-rprx-vision
|
||||
servername: www.microsoft.com
|
||||
reality-opts:
|
||||
public-key: RTO_UOk5ncr3DAAYR08g08L0fo5ax9pmGFj8c8lXWgk
|
||||
short-id: ""
|
||||
client-fingerprint: chrome
|
||||
|
||||
proxy-groups:
|
||||
- name: "Proxy"
|
||||
type: select
|
||||
proxies:
|
||||
- CN-Proxy
|
||||
- DIRECT
|
||||
|
||||
rules:
|
||||
# 私有网络直连
|
||||
- IP-CIDR,127.0.0.0/8,DIRECT
|
||||
- IP-CIDR,10.0.0.0/8,DIRECT
|
||||
- IP-CIDR,172.16.0.0/12,DIRECT
|
||||
- IP-CIDR,192.168.0.0/16,DIRECT
|
||||
|
||||
# 国内视频/流媒体 → 走代理回国
|
||||
- DOMAIN-SUFFIX,bilibili.com,Proxy
|
||||
- DOMAIN-SUFFIX,bilivideo.com,Proxy
|
||||
- DOMAIN-SUFFIX,bilivideo.cn,Proxy
|
||||
- DOMAIN-SUFFIX,biliapi.net,Proxy
|
||||
- DOMAIN-SUFFIX,hdslb.com,Proxy
|
||||
- DOMAIN-SUFFIX,acgvideo.com,Proxy
|
||||
- DOMAIN-SUFFIX,iqiyi.com,Proxy
|
||||
- DOMAIN-SUFFIX,iqiyipic.com,Proxy
|
||||
- DOMAIN-SUFFIX,youku.com,Proxy
|
||||
- DOMAIN-SUFFIX,mgtv.com,Proxy
|
||||
- DOMAIN-SUFFIX,sohu.com,Proxy
|
||||
- DOMAIN-SUFFIX,qq.com,Proxy
|
||||
- DOMAIN-SUFFIX,gtimg.cn,Proxy
|
||||
- DOMAIN-SUFFIX,music.163.com,Proxy
|
||||
- DOMAIN-SUFFIX,163yun.com,Proxy
|
||||
- DOMAIN-SUFFIX,126.net,Proxy
|
||||
- DOMAIN-SUFFIX,netease.com,Proxy
|
||||
- DOMAIN-SUFFIX,kugou.com,Proxy
|
||||
- DOMAIN-SUFFIX,kuwo.cn,Proxy
|
||||
- DOMAIN-SUFFIX,douyin.com,Proxy
|
||||
- DOMAIN-SUFFIX,douyinpic.com,Proxy
|
||||
- DOMAIN-SUFFIX,douyincdn.com,Proxy
|
||||
- DOMAIN-SUFFIX,douyinstatic.com,Proxy
|
||||
- DOMAIN-SUFFIX,snssdk.com,Proxy
|
||||
- DOMAIN-SUFFIX,amemv.com,Proxy
|
||||
- DOMAIN-SUFFIX,ixigua.com,Proxy
|
||||
- DOMAIN-SUFFIX,pstatp.com,Proxy
|
||||
- DOMAIN-SUFFIX,bytedance.com,Proxy
|
||||
- DOMAIN-SUFFIX,byteimg.com,Proxy
|
||||
- DOMAIN-SUFFIX,xiaohongshu.com,Proxy
|
||||
- DOMAIN-SUFFIX,xhscdn.com,Proxy
|
||||
- DOMAIN-SUFFIX,xhslink.com,Proxy
|
||||
|
||||
# 国内常用服务 → 走代理回国
|
||||
- DOMAIN-SUFFIX,taobao.com,Proxy
|
||||
- DOMAIN-SUFFIX,tmall.com,Proxy
|
||||
- DOMAIN-SUFFIX,alicdn.com,Proxy
|
||||
- DOMAIN-SUFFIX,alipay.com,Proxy
|
||||
- DOMAIN-SUFFIX,alipayobjects.com,Proxy
|
||||
- DOMAIN-SUFFIX,alibaba.com,Proxy
|
||||
- DOMAIN-SUFFIX,1688.com,Proxy
|
||||
- DOMAIN-SUFFIX,jd.com,Proxy
|
||||
- DOMAIN-SUFFIX,360buyimg.com,Proxy
|
||||
- DOMAIN-SUFFIX,pinduoduo.com,Proxy
|
||||
- DOMAIN-SUFFIX,yangkeduo.com,Proxy
|
||||
- DOMAIN-SUFFIX,weibo.com,Proxy
|
||||
- DOMAIN-SUFFIX,weibo.cn,Proxy
|
||||
- DOMAIN-SUFFIX,sinaimg.cn,Proxy
|
||||
- DOMAIN-SUFFIX,zhihu.com,Proxy
|
||||
- DOMAIN-SUFFIX,zhimg.com,Proxy
|
||||
- DOMAIN-SUFFIX,baidu.com,Proxy
|
||||
- DOMAIN-SUFFIX,bdstatic.com,Proxy
|
||||
- DOMAIN-SUFFIX,bdimg.com,Proxy
|
||||
- DOMAIN-SUFFIX,douban.com,Proxy
|
||||
- DOMAIN-SUFFIX,doubanio.com,Proxy
|
||||
- DOMAIN-SUFFIX,wechat.com,Proxy
|
||||
- DOMAIN-SUFFIX,weixin.qq.com,Proxy
|
||||
- DOMAIN-SUFFIX,meituan.com,Proxy
|
||||
- DOMAIN-SUFFIX,dianping.com,Proxy
|
||||
- DOMAIN-SUFFIX,ctrip.com,Proxy
|
||||
- DOMAIN-SUFFIX,eleme.cn,Proxy
|
||||
|
||||
# 国内银行/支付 → 走代理回国
|
||||
- DOMAIN-SUFFIX,icbc.com.cn,Proxy
|
||||
- DOMAIN-SUFFIX,ccb.com,Proxy
|
||||
- DOMAIN-SUFFIX,boc.cn,Proxy
|
||||
- DOMAIN-SUFFIX,abchina.com,Proxy
|
||||
- DOMAIN-SUFFIX,cmbchina.com,Proxy
|
||||
- DOMAIN-SUFFIX,unionpay.com,Proxy
|
||||
|
||||
# 国内 GeoIP → 走代理回国
|
||||
- GEOSITE,cn,Proxy
|
||||
- GEOIP,CN,Proxy
|
||||
|
||||
# 其他流量直连(海外网站本地直接访问)
|
||||
- MATCH,DIRECT
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. 使用步骤
|
||||
|
||||
### 3.1 导入配置
|
||||
|
||||
1. 点击菜单栏 ClashX.Meta 图标
|
||||
2. **Config** → **Open config folder**
|
||||
3. 将上面的 `config.yaml` 复制到打开的目录中
|
||||
4. 回到菜单 → **Config** → 选择刚才的配置文件
|
||||
5. 点击 **Set as system proxy** 开启系统代理
|
||||
|
||||
### 3.2 验证连接
|
||||
|
||||
打开终端,运行:
|
||||
|
||||
```bash
|
||||
# 测试代理是否回国(ClashX Meta 实际端口为 7891)
|
||||
curl -x http://127.0.0.1:7891 http://cip.cc
|
||||
```
|
||||
|
||||
预期输出 IP 为 `8.138.1.192`(阿里云广州),说明国内流量在走代理。
|
||||
|
||||
也可以直接打开浏览器访问 https://v.qq.com 或 https://bilibili.com 验证。
|
||||
|
||||
> **注意:** 如果网站显示地区限制,用无痕窗口(`Command + Shift + N`)重试,清除缓存。
|
||||
|
||||
### 3.3 切换模式
|
||||
|
||||
菜单栏点击 ClashX.Meta 图标,可切换:
|
||||
|
||||
| 模式 | 说明 |
|
||||
|------|------|
|
||||
| **Rule** | 按规则分流(推荐日常使用) |
|
||||
| **Global** | 所有流量走代理 |
|
||||
| **Direct** | 所有流量直连(关闭代理) |
|
||||
|
||||
---
|
||||
|
||||
## 4. 分流规则说明
|
||||
|
||||
当前配置采用**翻墙回国**策略(国内走代理、海外直连):
|
||||
|
||||
| 流量类型 | 走向 | 说明 |
|
||||
|----------|------|------|
|
||||
| B站/抖音/爱奇艺/优酷/腾讯视频 | Proxy(回国) | 解除海外地区限制 |
|
||||
| 网易云音乐/QQ音乐/酷狗 | Proxy(回国) | 解除版权地区限制 |
|
||||
| 淘宝/京东/拼多多/美团 | Proxy(回国) | 正常访问国内电商 |
|
||||
| 微博/知乎/百度/豆瓣/小红书 | Proxy(回国) | 正常访问国内社交平台 |
|
||||
| 支付宝/微信/国内银行 | Proxy(回国) | 正常使用支付和银行 |
|
||||
| 所有 GEOIP:CN 的 IP | Proxy(回国) | 兜底匹配国内流量 |
|
||||
| Google/YouTube 等海外网站 | DIRECT(直连) | 本地直接访问,无需代理 |
|
||||
|
||||
如需修改,编辑 `~/.config/clash.meta/config.yaml` 的 `rules` 部分。
|
||||
|
||||
---
|
||||
|
||||
## 5. 常见问题
|
||||
|
||||
### Q: 连不上代理?
|
||||
|
||||
1. 确认 ClashX.Meta 已开启(菜单栏有图标)
|
||||
2. 确认选择了正确的配置文件
|
||||
3. 确认 "Set as system proxy" 已勾选
|
||||
4. 检查 Dashboard(菜单 → Dashboard)中节点是否显示延迟
|
||||
|
||||
### Q: 网速慢?
|
||||
|
||||
- 菜单 → Dashboard → 点击节点测速
|
||||
- 如果延迟 >300ms,可能是服务器线路问题
|
||||
|
||||
### Q: 海外网站变慢了?
|
||||
|
||||
- 确认使用 **Rule** 模式(不要用 Global)
|
||||
- Rule 模式下海外流量直连,不受代理影响
|
||||
|
||||
### Q: 如何与 ClashX Pro 切换?
|
||||
|
||||
- 两个 App 可以共存,但**不要同时运行**
|
||||
- 退出一个再打开另一个即可
|
||||
|
||||
### Q: macOS Gatekeeper 提示无法验证?
|
||||
|
||||
```bash
|
||||
sudo xattr -rd com.apple.quarantine "/Applications/ClashX Meta.app"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 6. 连接参数速查
|
||||
|
||||
| 参数 | 值 |
|
||||
|------|-----|
|
||||
| 协议 | VLESS |
|
||||
| 地址 | `8.138.1.192` |
|
||||
| 端口 | `443` |
|
||||
| UUID | `04a7cfe3-10f6-4e38-8319-22a604e24018` |
|
||||
| Flow | `xtls-rprx-vision` |
|
||||
| 安全 | reality |
|
||||
| SNI | `www.microsoft.com` |
|
||||
| Public Key | `RTO_UOk5ncr3DAAYR08g08L0fo5ax9pmGFj8c8lXWgk` |
|
||||
| ShortId | 留空 |
|
||||
| Fingerprint | `chrome` |
|
||||
| 本地代理端口 | `7890`(HTTP/SOCKS5 混合) |
|
||||
308
4 - Resources/Networking/VLESS-REALITY-Router-iStoreOS.md
Normal file
308
4 - Resources/Networking/VLESS-REALITY-Router-iStoreOS.md
Normal file
@@ -0,0 +1,308 @@
|
||||
---
|
||||
tags:
|
||||
- resource
|
||||
- openclash
|
||||
- vless-reality
|
||||
- networking
|
||||
- iStoreOS
|
||||
- router
|
||||
- dns
|
||||
- homelab
|
||||
---
|
||||
|
||||
# iStoreOS 主网关配置文档
|
||||
|
||||
> 主网关:`192.168.68.63` (iStoreOS 24.10.2, aarch64, EasePi Pro)
|
||||
> WiFi:Deco BE65(AP 模式)
|
||||
> 服务器:`8.138.1.192`(阿里云广州)
|
||||
> 用途:国内视频/音乐翻墙回国 + 广告拦截 + 内网 DNS
|
||||
> 状态:**已完成,正常工作** (2026-03-19 规则精简)
|
||||
|
||||
---
|
||||
|
||||
## 1. 网络拓扑
|
||||
|
||||
```
|
||||
光猫 (拨号, Dynamic IP)
|
||||
│
|
||||
▼ WAN (eth0, DHCP)
|
||||
iStoreOS (192.168.68.63) ← 主网关
|
||||
├── dnsmasq (:53) → 内网 DNS + 转发到 OpenClash
|
||||
├── OpenClash / mihomo (:7874) → fake-ip + TUN → 翻墙回国 + 广告拦截
|
||||
├── 端口映射 (2200, 443, 51888)
|
||||
├── DHCP (网关=.63, DNS=.63)
|
||||
│
|
||||
▼ LAN (eth1/eth2/eth3)
|
||||
├── Deco BE65 (AP) → WiFi → 手机/平板/笔记本
|
||||
└── 交换机 (2楼) → PVE + NAS
|
||||
```
|
||||
|
||||
### DNS 解析链路
|
||||
|
||||
```
|
||||
设备 → dnsmasq (:53)
|
||||
├─ 内网域名 (*.colacoder.com, *.k8s.home) → 直接返回真实 IP
|
||||
└─ 外部域名 → OpenClash (:7874, fake-ip)
|
||||
├─ fake-ip-filter 匹配 → 返回真实 IP
|
||||
├─ 广告域名 → REJECT
|
||||
├─ 国内视频/音乐域名 → fake-ip → VLESS 代理回国
|
||||
└─ 其余所有域名 → fake-ip → 直连
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 2. OpenClash 配置
|
||||
|
||||
### LuCI 后台设置
|
||||
|
||||
| 设置 | 值 |
|
||||
|------|-----|
|
||||
| 运行模式 | Fake-IP (TUN) |
|
||||
| 代理模式 | Rule 策略代理 |
|
||||
| 区域绕过 | **停用** |
|
||||
| 域名嗅探 | 启用 |
|
||||
| DNS 代理 | 停用 |
|
||||
| 本地 DNS 劫持 | 使用 Dnsmasq 转发 |
|
||||
|
||||
### 覆写设置 → DNS
|
||||
|
||||
| 设置 | 值 |
|
||||
|------|-----|
|
||||
| Default-NameServer | `8.8.8.8`, `1.1.1.1` |
|
||||
| NameServer | `8.8.8.8`, `1.1.1.1` |
|
||||
| Fallback | `dns.google`, `cloudflare-dns.com` |
|
||||
|
||||
> **重要:** NameServer 必须用海外 DNS,不能用国内 DNS(114、119、223 等),
|
||||
> 否则会产生 DNS 环路(国内 DNS IP 匹配 GEOIP,CN → 走代理 → 代理需要 DNS → 死循环)。
|
||||
|
||||
### 分流规则(2026-03-19 精简)
|
||||
|
||||
只有国内视频和音乐走代理回国,其余全部直连:
|
||||
|
||||
```yaml
|
||||
rules:
|
||||
# K8s 节点直连
|
||||
- SRC-IP-CIDR,192.168.68.11/32,DIRECT # k8s-cp1
|
||||
- SRC-IP-CIDR,192.168.68.21/32,DIRECT # k8s-w1
|
||||
- SRC-IP-CIDR,192.168.68.22/32,DIRECT # k8s-w2
|
||||
# 代理服务器本身直连(防环路)
|
||||
- IP-CIDR,8.138.1.192/32,DIRECT
|
||||
# 广告拦截
|
||||
- GEOSITE,category-ads-all,REJECT
|
||||
# 私有网络直连
|
||||
- IP-CIDR,192.168.0.0/16,DIRECT
|
||||
# 国内视频(B站/爱奇艺/优酷/芒果TV/搜狐/腾讯视频/抖音/西瓜/小红书)→ Proxy
|
||||
# 国内音乐(网易云/酷狗/酷我/QQ音乐)→ Proxy
|
||||
# 其余全部直连
|
||||
- MATCH,DIRECT
|
||||
```
|
||||
|
||||
> 之前配置了 GEOSITE,cn + GEOIP,CN 导致所有国内流量走代理,
|
||||
> 2026-03-19 精简为只代理视频和音乐。
|
||||
|
||||
K8s 节点 DNS 也改为 `8.8.8.8`(不经过 OpenClash),详见 [[家庭网络基础设施#K8s 节点绕过 OpenClash]]
|
||||
|
||||
### 配置文件
|
||||
|
||||
- 源配置:`/etc/openclash/config/vless-reality.yaml`
|
||||
- 运行配置:`/etc/openclash/vless-reality.yaml`(自动生成,勿手动改)
|
||||
- API Secret:`Dc7jZkmO`
|
||||
- Dashboard:http://192.168.68.63:9090
|
||||
|
||||
### 自定义文件(持久化,不被覆盖)
|
||||
|
||||
| 文件 | 用途 |
|
||||
|------|------|
|
||||
| `/etc/openclash/custom/openclash_custom_hosts.list` | 内网 DNS 映射 |
|
||||
| `/etc/openclash/custom/openclash_custom_fake_filter.list` | fake-ip 排除域名 |
|
||||
|
||||
---
|
||||
|
||||
## 3. 内网 DNS
|
||||
|
||||
双重保障:dnsmasq 和 OpenClash hosts 都配了内网记录。
|
||||
|
||||
### dnsmasq 配置
|
||||
|
||||
文件:`/etc/dnsmasq.d/internal-dns.conf`
|
||||
|
||||
```
|
||||
address=/k8s.home/192.168.68.70
|
||||
address=/nas.colacoder.com/192.168.68.70
|
||||
address=/pve.colacoder.com/192.168.68.70
|
||||
address=/npm.colacoder.com/192.168.68.70
|
||||
address=/router.colacoder.com/192.168.68.63
|
||||
address=/adguard.colacoder.com/192.168.68.63
|
||||
address=/claw.colacoder.com/192.168.68.70
|
||||
address=/openvas.colacoder.com/192.168.68.70
|
||||
address=/invest-api.k8s.home/192.168.68.240
|
||||
```
|
||||
|
||||
### OpenClash 自定义 hosts
|
||||
|
||||
文件:`/etc/openclash/custom/openclash_custom_hosts.list`
|
||||
|
||||
```yaml
|
||||
nas.colacoder.com: 192.168.68.70
|
||||
pve.colacoder.com: 192.168.68.70
|
||||
npm.colacoder.com: 192.168.68.70
|
||||
router.colacoder.com: 192.168.68.63
|
||||
adguard.colacoder.com: 192.168.68.63
|
||||
claw.colacoder.com: 192.168.68.70
|
||||
openvas.colacoder.com: 192.168.68.70
|
||||
invest-api.k8s.home: 192.168.68.240
|
||||
argocd.k8s.home: 192.168.68.240
|
||||
drone.k8s.home: 192.168.68.240
|
||||
```
|
||||
|
||||
### fake-ip 排除列表
|
||||
|
||||
文件:`/etc/openclash/custom/openclash_custom_fake_filter.list`
|
||||
|
||||
```
|
||||
*.colacoder.com
|
||||
+.colacoder.com
|
||||
*.k8s.home
|
||||
+.k8s.home
|
||||
*.lan
|
||||
*.local
|
||||
*.localdomain
|
||||
*.home.arpa
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. 端口映射
|
||||
|
||||
| 规则名 | 外部端口 | 目标 |
|
||||
|--------|---------|------|
|
||||
| NAS-SSH-2200 | 2200 | 192.168.68.70:2200 |
|
||||
| NAS-HTTPS-443 | 443 | 192.168.68.70:443 |
|
||||
| Device-51888 | 51888 | 192.168.68.107:51888 |
|
||||
|
||||
---
|
||||
|
||||
## 5. DHCP 静态绑定(22 台设备)
|
||||
|
||||
DHCP 范围:`.100` ~ `.229`(start=100, limit=130),避开 MetalLB `.240-.242`
|
||||
|
||||
详细分段和完整列表见 [[家庭网络基础设施#DHCP 静态绑定(22 台设备)]]
|
||||
|
||||
### 摘要
|
||||
|
||||
| 名称 | IP | MAC |
|
||||
|------|-----|-----|
|
||||
| pve-docker | 192.168.68.102 | BC:24:11:3B:9C:8A |
|
||||
| wireguard | 192.168.68.107 | BC:24:11:00:4D:D2 |
|
||||
| Yaojia-ipad | 192.168.68.77 | 64:0B:D7:F0:D0:4C |
|
||||
| Yaojias-iPhone | 192.168.68.73 | 68:EF:DC:B7:36:40 |
|
||||
| Yiukai | 192.168.68.89 | 10:FF:E0:CC:1D:00 |
|
||||
| Yiukai-Asus-wifi | 192.168.68.79 | 08:3A:88:59:1F:A6 |
|
||||
| Yiukai-Asus-lan | 192.168.68.60 | 44:E5:17:DD:26:01 |
|
||||
| yiukai-ubuntu | 192.168.68.108 | 1C:79:2D:5C:2C:C4 |
|
||||
| YIUKAINAS | 192.168.68.70 | 24:5E:BE:5F:ED:38 |
|
||||
| Yiukais-MBP | 192.168.68.87 | 5C:E9:1E:B2:56:79 |
|
||||
| android-8fbbfff | 192.168.68.111 | 6C:2D:24:F8:F3:0C |
|
||||
| easepi | 192.168.68.63 | EE:61:98:11:AD:C4 |
|
||||
| homeassistant | 192.168.68.97 | BC:24:11:63:40:1E |
|
||||
| kai-desktop-jetson | 192.168.68.104 | 3C:6D:66:1E:D7:62 |
|
||||
| kuangxideiPhone | 192.168.68.88 | C4:C1:7D:7B:76:CC |
|
||||
| lingke | 192.168.68.69 | 84:47:09:20:70:DA |
|
||||
| network-scanner | 192.168.68.84 | BC:24:11:09:F1:9E |
|
||||
| pc | 192.168.68.176 | 12:D0:5B:A3:8B:4F |
|
||||
| adguard-vm | 192.168.68.112 | BC:24:11:C9:58:CB |
|
||||
|
||||
---
|
||||
|
||||
## 6. 踩坑记录
|
||||
|
||||
### DNS 环路(最关键)
|
||||
|
||||
OpenClash 的 nameserver 不能用国内 DNS(114.114.114.114、119.29.29.29 等),
|
||||
因为这些 IP 匹配 GEOIP,CN 规则 → 走代理 → 代理需要 DNS → 死循环。
|
||||
**必须用海外 DNS(8.8.8.8、1.1.1.1)。**
|
||||
|
||||
### OpenClash 配置覆盖
|
||||
|
||||
OpenClash 每次重启都会从源配置重新生成运行配置。
|
||||
自定义 hosts 和 fake-ip-filter 必须放在 `/etc/openclash/custom/` 目录下的专用文件里。
|
||||
直接改 yaml 文件会被覆盖。
|
||||
DNS 相关设置必须在 LuCI 覆写设置里改,不能改 yaml。
|
||||
|
||||
### 区域绕过必须停用
|
||||
|
||||
翻墙回国场景下,"大陆"和"海外"绕过都不合适,必须选"停用",
|
||||
让配置文件里的分流规则来决定。
|
||||
|
||||
### Redir-Host 模式不可用(已测试)
|
||||
|
||||
测试过从 fake-ip 切换到 redir-host (TUN) 模式,结果:
|
||||
- Google、Bilibili 正常 ✅
|
||||
- **v.qq.com 超时** ❌(国内 CDN 域名无法正确代理)
|
||||
- billo.life VPN 域名正常 ✅
|
||||
|
||||
原因:redir-host 模式下流量分流依赖 sniffer 从 TLS SNI 提取域名,
|
||||
部分国内 CDN 的 SNI 无法正确匹配规则,导致连接失败。
|
||||
**翻墙回国场景必须用 fake-ip 模式。**
|
||||
|
||||
### Fake-IP Filter 维护
|
||||
|
||||
VPN、容器仓库等需要真实 IP 的域名,手动加到 fake-ip-filter:
|
||||
`/etc/openclash/custom/openclash_custom_fake_filter.list`
|
||||
|
||||
当前已加入(2026-03-19 去重精简,只用 `+.` 格式):
|
||||
- `+.colacoder.com` / `+.k8s.home` — 内网域名
|
||||
- `+.quay.io` / `+.ghcr.io` / `+.docker.io` / `+.docker.com` / `+.gcr.io` / `+.k8s.io` / `+.registry.k8s.io` — 容器仓库
|
||||
- `+.ecr.aws` — AWS ECR(不再用 `*.amazonaws.com` 全量排除)
|
||||
- `+.billo.life` — 公司 VPN 域名
|
||||
- `+.finance.yahoo.com` — Yahoo Finance API
|
||||
|
||||
---
|
||||
|
||||
## 7. 安全加固
|
||||
|
||||
已实施的安全措施,详见 [[家庭网络基础设施#安全加固(2026-03-15 审计)]]
|
||||
|
||||
- DNS 只监听 LAN (`listen_address`)
|
||||
- SSH 关闭密码认证,只绑 LAN (`PasswordAuth=off, Interface=lan`)
|
||||
- ttyd 只绑 LAN (`interface=@lan`)
|
||||
- uhttpd 只绑 LAN (`listen_http/https=192.168.68.63`)
|
||||
- IPv6 关闭
|
||||
- WAN ping 关闭
|
||||
- OpenVPN 1194 规则已删除
|
||||
|
||||
---
|
||||
|
||||
## 8. 紧急恢复
|
||||
|
||||
```bash
|
||||
SSH_AUTH_SOCK="$HOME/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock" ssh root@192.168.68.63
|
||||
|
||||
# 停止 OpenClash(恢复直连上网)
|
||||
/etc/init.d/openclash stop
|
||||
|
||||
# 如果 DNS 也断了,临时用 8.8.8.8
|
||||
echo "nameserver 8.8.8.8" > /etc/resolv.conf
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 9. 更新维护
|
||||
|
||||
```bash
|
||||
# 更新 mihomo 内核
|
||||
cd /tmp
|
||||
curl -L -o mihomo.gz "https://github.com/MetaCubeX/mihomo/releases/latest/download/mihomo-linux-arm64.gz"
|
||||
gunzip -f mihomo.gz && chmod +x mihomo
|
||||
mv mihomo /etc/openclash/core/clash_meta
|
||||
/etc/init.d/openclash restart
|
||||
|
||||
# 更新 OpenClash 插件
|
||||
opkg install /tmp/luci-app-openclash_*.ipk
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 10. 配置审计
|
||||
|
||||
- [[OpenClash-Config-Review-2026-03-19]] -- 全面配置 review,含安全、规则、DNS 问题及修复优先级
|
||||
214
4 - Resources/Networking/VLESS-REALITY-Setup-Guide.md
Normal file
214
4 - Resources/Networking/VLESS-REALITY-Setup-Guide.md
Normal file
@@ -0,0 +1,214 @@
|
||||
---
|
||||
tags:
|
||||
- resource
|
||||
- openclash
|
||||
- vless-reality
|
||||
- proxy
|
||||
- networking
|
||||
- setup-guide
|
||||
- homelab
|
||||
---
|
||||
|
||||
# VLESS + XTLS-Vision + REALITY 搭建文档
|
||||
|
||||
> 基于 Xray-core 官方仓库,当前最推荐的代理方案。
|
||||
> 无需域名、无需 TLS 证书,流量伪装为正常 HTTPS 访问。
|
||||
|
||||
**部署状态:已完成** | 初始部署:2026-03-14 | Xray 版本:v26.2.6
|
||||
**用途:翻墙回国** — 从瑞典通过国内代理访问国内资源
|
||||
|
||||
---
|
||||
|
||||
## 当前状态总览
|
||||
|
||||
### 已完成
|
||||
|
||||
- [x] 阿里云服务器 Xray-core 部署
|
||||
- [x] iStoreOS 从旁路由升级为主网关
|
||||
- [x] Deco BE65 切换为 AP 模式
|
||||
- [x] DHCP 静态绑定(19 台设备)
|
||||
- [x] 端口映射迁移(3 条规则)
|
||||
- [x] OpenClash + mihomo 安装配置
|
||||
- [x] 内网 DNS(dnsmasq + OpenClash hosts)
|
||||
- [x] 广告拦截(OpenClash GEOSITE 规则)
|
||||
- [x] 翻墙回国验证(v.qq.com 正常播放)
|
||||
- [x] AdGuard Home 移除(由 OpenClash 接管广告拦截和 DNS)
|
||||
|
||||
### 最终方案
|
||||
|
||||
不使用 AdGuard Home,全部由 OpenClash + dnsmasq 处理:
|
||||
- dnsmasq(:53) 负责内网 DNS + 转发到 OpenClash
|
||||
- OpenClash(:7874) 负责 fake-ip 分流 + 广告拦截 + 翻墙回国
|
||||
- NameServer 必须用海外 DNS(8.8.8.8),不能用国内 DNS(避免环路)
|
||||
|
||||
---
|
||||
|
||||
## 服务器信息
|
||||
|
||||
| 项目 | 值 |
|
||||
|------|-----|
|
||||
| 服务器 | `8.138.1.192` (Ubuntu 24.04 LTS, 阿里云广州) |
|
||||
| 端口 | `443` |
|
||||
| UUID | `04a7cfe3-10f6-4e38-8319-22a604e24018` |
|
||||
| Private Key | `mLQp0G0_yYYBNeviVJ674UmaYLimx9vbixVQhlESTWU` |
|
||||
| Public Key | `RTO_UOk5ncr3DAAYR08g08L0fo5ax9pmGFj8c8lXWgk` |
|
||||
| 伪装目标 | `www.microsoft.com` |
|
||||
|
||||
### 分享链接
|
||||
|
||||
```
|
||||
vless://04a7cfe3-10f6-4e38-8319-22a604e24018@8.138.1.192:443?encryption=none&flow=xtls-rprx-vision&security=reality&sni=www.microsoft.com&fp=chrome&pbk=RTO_UOk5ncr3DAAYR08g08L0fo5ax9pmGFj8c8lXWgk&type=tcp#VLESS-Reality
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 网络拓扑
|
||||
|
||||
### 当前状态
|
||||
|
||||
```
|
||||
光猫 (拨号, 瑞典 ISP)
|
||||
│
|
||||
▼ WAN (eth0, DHCP, 公网 IP)
|
||||
iStoreOS / EasePi (192.168.68.63) ← 主网关
|
||||
├── DHCP 服务器 (网关=.63, DNS=.63)
|
||||
├── AdGuard Home Docker (:53) ← 临时,待迁出
|
||||
├── OpenClash (已安装,未启用,与 AGH 冲突)
|
||||
├── 端口映射 (2200, 443, 51888)
|
||||
│
|
||||
▼ LAN (eth1/eth2/eth3)
|
||||
├── Deco BE65 (AP 模式) → mesh WiFi → 手机/平板/笔记本
|
||||
└── 交换机 (2楼) → PVE + NAS + 其他有线设备
|
||||
```
|
||||
|
||||
### 目标架构
|
||||
|
||||
```
|
||||
光猫 → iStoreOS (192.168.68.63, 主网关)
|
||||
├── DHCP (网关=.63, DNS=AGH的IP)
|
||||
├── OpenClash (:7874, fake-ip + DNS劫持)
|
||||
├── 端口映射
|
||||
│
|
||||
├── Deco BE65 (AP) → WiFi 设备
|
||||
└── 交换机 (2楼)
|
||||
├── PVE (192.168.68.69) → VM 跑 AdGuard Home
|
||||
└── NAS (192.168.68.70)
|
||||
|
||||
DNS 链路:
|
||||
设备 → AdGuard Home (PVE VM:53, 广告过滤+内网重写)
|
||||
└→ 上游: OpenClash (192.168.68.63:7874, fake-ip)
|
||||
├→ 国内域名 → VLESS 代理回国
|
||||
└→ 海外域名 → 直连
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 物理布局
|
||||
|
||||
```
|
||||
1楼: 光猫 → iStoreOS (EasePi) → Deco BE65 主机
|
||||
2楼: 交换机 ← 网线连接 Deco → PVE 服务器 + NAS
|
||||
```
|
||||
|
||||
注意:2楼设备通过 Deco AP 桥接到 iStoreOS,不是直连。
|
||||
|
||||
---
|
||||
|
||||
## 相关文档
|
||||
|
||||
| 文档 | 说明 |
|
||||
|------|------|
|
||||
| [主网关配置](./VLESS-REALITY-Router-iStoreOS.md) | iStoreOS 网络/DHCP/端口映射/OpenClash 配置 |
|
||||
| [macOS 客户端](./VLESS-REALITY-Client-macOS.md) | ClashX Meta 客户端配置(外出时使用) |
|
||||
| [AdGuard Home 备份](./adguardhome-backup-20260315.tar.gz) | 完整备份(配置+数据,89MB) |
|
||||
|
||||
---
|
||||
|
||||
## PVE 虚拟机列表
|
||||
|
||||
| VMID | 名称 | IP | 状态 | 说明 |
|
||||
|------|------|-----|------|------|
|
||||
| 100 | HA (Home Assistant) | - | running | 智能家居 |
|
||||
| 101 | k8s-cp1 | - | running | K8s 控制面 |
|
||||
| 102 | Wireguard | 192.168.68.107 | running | VPN |
|
||||
| 103 | k8s-w1 | - | running | K8s 工作节点 |
|
||||
| 104 | k8s-w2 | - | running | K8s 工作节点 |
|
||||
| 105 | pg-01 | - | running | PostgreSQL |
|
||||
| 106 | network-scanner | 192.168.68.84 | running | 网络扫描 |
|
||||
| 110 | adguard-home (LXC) | 192.168.68.110 | running | AdGuard Home(网络不稳定,待修复) |
|
||||
|
||||
---
|
||||
|
||||
## 踩坑记录
|
||||
|
||||
### 1. OpenClash + AdGuard Home 53 端口冲突
|
||||
|
||||
OpenClash fake-ip 模式需要 DNS 劫持(占 53 端口),与 AdGuard Home 冲突。
|
||||
尝试的方案:
|
||||
- 关闭 DNS 劫持 → fake-ip 不生效,无法代理
|
||||
- 开启防火墙转发 → dnsmasq 不运行,DNS 全断
|
||||
- AdGuard Home 上游指向 OpenClash → 其他设备(旁路由模式下)拿到 fake-ip 断网
|
||||
|
||||
**结论:必须分开部署在不同机器上。**
|
||||
|
||||
### 2. Deco BE65 不支持自定义 DHCP 网关/DNS
|
||||
|
||||
Deco 系列路由器的 DHCP 设置完全封闭,无法自定义下发网关和 DNS。
|
||||
**解决方案:** Deco 切 AP 模式,iStoreOS 接管 DHCP。
|
||||
|
||||
### 3. PVE LXC 容器网络延迟不稳定
|
||||
|
||||
Ubuntu 25.04 LXC 容器 eth0 不能自动启动,需要手动 `ip link set eth0 up`。
|
||||
即使手动配置后,ping 延迟在 9ms~200ms 之间波动。
|
||||
PVE 主机和 NAS 延迟正常(3-7ms),说明是 LXC 网络栈的问题。
|
||||
**待解决:改用完整 VM 或修复 LXC 网络。**
|
||||
|
||||
### 4. 旁路由模式 bypass_gateway_compatible
|
||||
|
||||
OpenClash 旁路由模式下必须开启 `bypass_gateway_compatible=1`,否则转发流量不通。
|
||||
同时必须关闭 `enable_redirect_dns=0`,否则会劫持所有设备 DNS 导致断网。
|
||||
|
||||
### 5. 1Password SSH Agent
|
||||
|
||||
SSH 到新 IP 时需要在 `~/.ssh/config` 中添加 `IdentityAgent` 配置指向 1Password socket。
|
||||
不能用 `IdentitiesOnly=yes`,否则会阻止 1Password agent。
|
||||
|
||||
---
|
||||
|
||||
## 服务器管理
|
||||
|
||||
### 阿里云服务器 (8.138.1.192)
|
||||
|
||||
```bash
|
||||
ssh admin@8.138.1.192
|
||||
|
||||
# Xray 管理
|
||||
systemctl status xray
|
||||
systemctl restart xray
|
||||
journalctl -u xray -f
|
||||
|
||||
# 更新
|
||||
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install
|
||||
```
|
||||
|
||||
### iStoreOS 主网关 (192.168.68.63)
|
||||
|
||||
```bash
|
||||
SSH_AUTH_SOCK="$HOME/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock" ssh root@192.168.68.63
|
||||
|
||||
# 紧急恢复(如果 OpenClash 搞坏了网络)
|
||||
/etc/init.d/openclash stop
|
||||
nft -a list chain inet fw4 dstnat | grep 'DNS Hijack' | grep -o 'handle [0-9]*' | while read h; do nft delete rule inet fw4 dstnat $h; done
|
||||
nft -a list chain inet fw4 nat_output | grep 'DNS Hijack' | grep -o 'handle [0-9]*' | while read h; do nft delete rule inet fw4 nat_output $h; done
|
||||
```
|
||||
|
||||
### PVE (192.168.68.69)
|
||||
|
||||
```bash
|
||||
SSH_AUTH_SOCK="$HOME/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock" ssh root@192.168.68.69
|
||||
|
||||
# LXC 管理
|
||||
pct list
|
||||
pct start/stop/restart 110
|
||||
pct exec 110 -- bash
|
||||
```
|
||||
65
4 - Resources/Networking/VLESS-Reality 翻墙回国.md
Normal file
65
4 - Resources/Networking/VLESS-Reality 翻墙回国.md
Normal file
@@ -0,0 +1,65 @@
|
||||
---
|
||||
created: "2026-03-15"
|
||||
type: resource
|
||||
tags:
|
||||
- resource
|
||||
- openclash
|
||||
- vless-reality
|
||||
- proxy
|
||||
- networking
|
||||
- homelab
|
||||
---
|
||||
|
||||
# VLESS-Reality 翻墙回国
|
||||
|
||||
## 目标
|
||||
|
||||
从瑞典通过阿里云国内服务器代理,访问国内地区限制内容(B站、腾讯视频、抖音、小红书等)。
|
||||
|
||||
## 架构
|
||||
|
||||
```
|
||||
光猫(拨号) → iStoreOS(192.168.68.63, 主网关) → Deco BE65(AP) → 所有设备
|
||||
├── dnsmasq(:53) → 内网DNS + 转发到 OpenClash
|
||||
├── OpenClash(:7874) → fake-ip + TUN → 翻墙回国 + 广告拦截
|
||||
└── 端口映射 (2200, 443, 51888)
|
||||
```
|
||||
|
||||
## 关键组件
|
||||
|
||||
| 组件 | 位置 | 版本 |
|
||||
|------|------|------|
|
||||
| Xray-core | `8.138.1.192` (阿里云广州) | v26.2.6 |
|
||||
| OpenClash | iStoreOS `192.168.68.63` | v0.47.071 |
|
||||
| mihomo | iStoreOS | v1.19.21 |
|
||||
| dnsmasq | iStoreOS | 内置 |
|
||||
|
||||
## 详细文档
|
||||
|
||||
- [[VLESS-REALITY-Setup-Guide|总览文档]]
|
||||
- [[VLESS-REALITY-Router-iStoreOS|主网关配置]]
|
||||
- [[VLESS-REALITY-Client-macOS|macOS 客户端(外出用)]]
|
||||
|
||||
## 核心踩坑
|
||||
|
||||
1. **DNS 环路**:OpenClash nameserver 不能用国内 DNS,否则匹配 GEOIP,CN → 走代理 → 代理需要 DNS → 死循环
|
||||
2. **OpenClash + AdGuard Home 冲突**:fake-ip 模式的 DNS 劫持与 AGH 抢 53 端口,最终去掉 AGH,由 OpenClash + dnsmasq 接管
|
||||
3. **OpenClash 配置覆盖**:自定义 hosts/fake-ip-filter 必须放在 `/etc/openclash/custom/` 专用文件里,直接改 yaml 会被覆盖
|
||||
4. **区域绕过必须停用**:翻墙回国场景下 "大陆" 和 "海外" 都不对,选 "停用"
|
||||
5. **Deco BE65 限制**:不支持自定义 DHCP 网关/DNS,必须切 AP 模式让 iStoreOS 接管
|
||||
|
||||
## 服务器连接信息
|
||||
|
||||
| 参数 | 值 |
|
||||
|------|-----|
|
||||
| 协议 | VLESS |
|
||||
| 地址 | `8.138.1.192` |
|
||||
| 端口 | `443` |
|
||||
| UUID | `04a7cfe3-10f6-4e38-8319-22a604e24018` |
|
||||
| Public Key | `RTO_UOk5ncr3DAAYR08g08L0fo5ax9pmGFj8c8lXWgk` |
|
||||
| 伪装目标 | `www.microsoft.com` |
|
||||
| Flow | `xtls-rprx-vision` |
|
||||
|
||||
## 相关
|
||||
|
||||
- [[PVE Security Scanner]]
|
||||
96
4 - Resources/OpenClaw/OpenClaw Agent 配置详情.md
Normal file
96
4 - Resources/OpenClaw/OpenClaw Agent 配置详情.md
Normal file
@@ -0,0 +1,96 @@
|
||||
---
|
||||
created: "2026-03-19 17:00"
|
||||
type: resource
|
||||
tags: [resource, openclaw, ai-agent, discord, multi-agent, homelab]
|
||||
source: "ssh yiukai@192.168.68.108 ~/.openclaw/openclaw.json"
|
||||
---
|
||||
|
||||
# OpenClaw Agent 配置详情
|
||||
|
||||
## 多 Agent 协作架构
|
||||
|
||||
```
|
||||
┌─────────────┐
|
||||
│ 你 (Owner) │
|
||||
│ 964122...286 │
|
||||
└──────┬──────┘
|
||||
│
|
||||
┌────────────┼────────────┐
|
||||
v v v
|
||||
┌────────────┐ ┌────────────┐ ┌──────────────┐
|
||||
│ 主 Guild │ │ Stock Guild │ │ Telegram │
|
||||
│ ds-* agents │ │ invest-* │ │ (pairing) │
|
||||
└────────────┘ └────────────┘ └──────────────┘
|
||||
```
|
||||
|
||||
## 主 Guild Agent 协作
|
||||
|
||||
5 个 ds-* agent 在同一 Discord guild 中协作:
|
||||
|
||||
```
|
||||
ds-commander (大统领) ──────┐
|
||||
│ │
|
||||
├── ds-strategist (智库) │ agent-to-agent
|
||||
├── ds-builder (牛马) │ 通信已启用
|
||||
├── ds-creator (作家) │
|
||||
└── ds-guardian (大法官) ─┘
|
||||
```
|
||||
|
||||
### 交互方式
|
||||
|
||||
- 所有 agent 在主 guild 的同一频道工作
|
||||
- 通过 `@mention` 触发特定 agent (`requireMention: true`)
|
||||
- 支持的 mention 模式:
|
||||
- Discord mention: `<@!botId>` 或 `<@botId>`
|
||||
- 中文名称: 大统领、智库、牛马、作家、大法官
|
||||
- 纯 ID: bot user ID
|
||||
|
||||
### 各 Agent 定位
|
||||
|
||||
| Agent | 角色定位 | 适用场景 |
|
||||
|-------|---------|---------|
|
||||
| 大统领 | 总指挥,任务分配 | 复杂任务协调、决策 |
|
||||
| 智库 | 战略分析师 | 策略规划、数据分析、方案比较 |
|
||||
| 牛马 | 执行者/开发者 | 编码实现、脚本编写、自动化 |
|
||||
| 作家 | 内容创作者 | 文档编写、报告生成、创意输出 |
|
||||
| 大法官 | 审核者/守护者 | 代码审查、质量把控、合规检查 |
|
||||
|
||||
## 投资分析师 (独立)
|
||||
|
||||
- **Guild**: Stock (`1479926167141355560`)
|
||||
- **频道**: general (`1479926167736942774`)
|
||||
- **触发**: 不需要 mention (`requireMention: false`)
|
||||
- **定时**: 工作日 08:00 自动生成投资简报
|
||||
- **技能**: invest-api
|
||||
|
||||
## 模型配置
|
||||
|
||||
所有 agent 统一使用 `kimi-coding/k2p5`:
|
||||
- 别名: Kimi Code
|
||||
- 提供商: kimi-coding
|
||||
|
||||
备选模型: `google-antigravity/claude-opus-4-6-thinking`
|
||||
- 通过 Google Antigravity OAuth 认证
|
||||
|
||||
## Bindings (路由绑定)
|
||||
|
||||
```json
|
||||
agentId: "ds-commander" → channel: "discord", accountId: "commander"
|
||||
agentId: "ds-strategist" → channel: "discord", accountId: "strategist"
|
||||
agentId: "ds-builder" → channel: "discord", accountId: "builder"
|
||||
agentId: "ds-creator" → channel: "discord", accountId: "creator"
|
||||
agentId: "ds-guardian" → channel: "discord", accountId: "guardian"
|
||||
agentId: "invest-analyst"→ channel: "discord", accountId: "invest-analyst"
|
||||
```
|
||||
|
||||
每个 agent 绑定一个独立的 Discord bot 账户,实现一对一映射。
|
||||
|
||||
## Session 配置
|
||||
|
||||
- **可见性**: all (所有 session 对工具可见)
|
||||
- **压缩模式**: safeguard
|
||||
|
||||
## Related
|
||||
|
||||
- [[OpenClaw 部署配置分析]]
|
||||
- [[OpenClaw-Skill-Reference]]
|
||||
167
4 - Resources/OpenClaw/OpenClaw 部署配置分析.md
Normal file
167
4 - Resources/OpenClaw/OpenClaw 部署配置分析.md
Normal file
@@ -0,0 +1,167 @@
|
||||
---
|
||||
created: "2026-03-19 17:00"
|
||||
type: resource
|
||||
tags: [resource, openclaw, ai-gateway, discord, homelab, deployment]
|
||||
source: "ssh yiukai@192.168.68.108 ~/.openclaw/"
|
||||
---
|
||||
|
||||
# OpenClaw 部署配置分析
|
||||
|
||||
## 服务器信息
|
||||
|
||||
| 项目 | 值 |
|
||||
|------|-----|
|
||||
| 主机 | `192.168.68.108` (yiukai-ubuntu) |
|
||||
| 用户 | `yiukai` |
|
||||
| OpenClaw 版本 | 2026.2.13 |
|
||||
| 最新可用版本 | 2026.3.13 |
|
||||
| Node.js 版本 | v18.19.1 (推荐 v22.16+ 或 v24) |
|
||||
| 运行方式 | systemd user service (`openclaw-gateway.service`) |
|
||||
| 运行时长 | 自 2026-03-15 起 |
|
||||
| 内存占用 | ~633 MB |
|
||||
| Gateway 端口 | 18789 |
|
||||
| 绑定模式 | LAN |
|
||||
| 认证方式 | Token |
|
||||
| 配置文件 | `~/.openclaw/openclaw.json` |
|
||||
|
||||
## Agent 架构
|
||||
|
||||
### 默认配置
|
||||
|
||||
- **主模型**: `kimi-coding/k2p5` (Kimi Code)
|
||||
- **备选模型**: `google-antigravity/claude-opus-4-6-thinking`
|
||||
- **压缩模式**: safeguard
|
||||
- **Agent 间通信**: 已启用 (ds-* 系列)
|
||||
|
||||
### Agent 列表
|
||||
|
||||
| ID | 名称 | 角色 | Discord 账户 | Workspace |
|
||||
|----|------|------|-------------|-----------|
|
||||
| `main` | (默认) | 通用 agent | - | `~/.openclaw/workspace` |
|
||||
| `ds-commander` | 大统领 | 领导/协调 | commander | `workspace-ds-commander` |
|
||||
| `ds-strategist` | 智库 | 策略/分析 | strategist | `workspace-ds-strategist` |
|
||||
| `ds-builder` | 牛马 | 实施/构建 | builder | `workspace-ds-builder` |
|
||||
| `ds-creator` | 作家 | 内容创作 | creator | `workspace-ds-creator` |
|
||||
| `ds-guardian` | 大法官 | 监督/审查 | guardian | `workspace-ds-guardian` |
|
||||
| `invest-analyst` | 投资分析师 | 投资分析 | invest-analyst | `workspace-invest-analyst` |
|
||||
|
||||
### Agent 间通信规则
|
||||
|
||||
`agentToAgent` 允许列表: ds-commander, ds-strategist, ds-builder, ds-creator, ds-guardian
|
||||
|
||||
invest-analyst 不在 agent-to-agent 通信列表中,独立运作。
|
||||
|
||||
## 渠道配置
|
||||
|
||||
### Discord
|
||||
|
||||
6 个 bot 账户,每个绑定一个 agent:
|
||||
|
||||
**主 Guild** (`1475225167423602841`):
|
||||
- 5 个 ds-* bot,全部 `requireMention: true`
|
||||
- 所有 bot 共享同一频道 `1475225168635887776`
|
||||
- 用户白名单: 你的账号 + 6 个 bot 互相可见
|
||||
- streaming: off
|
||||
|
||||
**Stock Guild** (`1479926167141355560`):
|
||||
- invest-analyst bot,`requireMention: false`
|
||||
- 频道 `1479926167736942774` (general)
|
||||
- streaming: off
|
||||
|
||||
### Telegram
|
||||
|
||||
- 已启用
|
||||
- DM 策略: pairing
|
||||
- 群组策略: allowlist
|
||||
- streaming: partial
|
||||
|
||||
## 定时任务 (Cron)
|
||||
|
||||
| 任务 | 调度 | Agent | 投递方式 |
|
||||
|------|------|-------|----------|
|
||||
| daily-invest-briefing | 工作日 08:00 (Stockholm) | invest-analyst | Discord channel:1479926167736942774 |
|
||||
|
||||
**任务内容**: 生成每日投资简报 -- 检查投资组合、分析宏观经济、汇总持仓新闻情绪、标记财报日期、给出买卖建议。
|
||||
|
||||
## Hooks
|
||||
|
||||
内部 hooks 已启用:
|
||||
- `boot-md` -- 启动时加载 markdown
|
||||
- `bootstrap-extra-files` -- 额外启动文件
|
||||
- `command-logger` -- 命令日志
|
||||
- `session-memory` -- 会话记忆
|
||||
|
||||
## Skills
|
||||
|
||||
| 技能 | 路径 |
|
||||
|------|------|
|
||||
| invest-api | `~/.openclaw/skills/invest-api` |
|
||||
| openclaw-operator | `~/.openclaw/skills/openclaw-operator` |
|
||||
|
||||
## Plugins
|
||||
|
||||
| 插件 | 状态 |
|
||||
|------|------|
|
||||
| telegram | 已启用 |
|
||||
| discord | 已启用 |
|
||||
| google-antigravity-auth | 已启用 |
|
||||
|
||||
## Gateway 配置
|
||||
|
||||
- **控制 UI 允许来源**: localhost:18789, 127.0.0.1:18789, claw.colacoder.com
|
||||
- **信任代理**: 192.168.68.70
|
||||
- **Tailscale**: 关闭
|
||||
- **禁用移动节点命令**: camera.snap, camera.clip, screen.record, calendar.add, contacts.add, reminders.add
|
||||
|
||||
## 已知问题
|
||||
|
||||
### 1. 版本过旧
|
||||
- 当前: 2026.2.13
|
||||
- 最新: 2026.3.13
|
||||
- 建议: `openclaw update` 或 `npm install -g openclaw@latest`
|
||||
|
||||
### 2. Node.js 版本过低
|
||||
- 当前: v18.19.1
|
||||
- 推荐: v22.16+ LTS 或 v24
|
||||
- 风险: 可能缺少新功能支持
|
||||
|
||||
### 3. Cron 投递失败
|
||||
- `lastDeliveryStatus: "not-delivered"`
|
||||
- Agent 执行成功 (`lastRunStatus: "ok"`),但消息未投递到 Discord
|
||||
- 需要排查 Discord 频道权限或 bot 连接状态
|
||||
|
||||
### 4. invest-analyst 健康问题
|
||||
- Health monitor 检测到 stuck 并自动重启
|
||||
- 日志: `health-monitor: restarting (reason: stuck)`
|
||||
- 可能原因: 模型响应超时、Discord 连接不稳定
|
||||
|
||||
### 5. 密钥管理
|
||||
- Discord bot tokens 明文存储在 `openclaw.json`
|
||||
- Kimi API key 在 `env` 字段中明文存储
|
||||
- `.env` 文件存在但未完全迁移
|
||||
- 建议: 将所有密钥迁移到环境变量
|
||||
|
||||
### 6. 遗留 Workspace
|
||||
存在不再使用的 workspace 目录:
|
||||
- `workspace-ds-lingce`
|
||||
- `workspace-ds-linggong`
|
||||
- `workspace-ds-linghe`
|
||||
- `workspace-ds-lingwen`
|
||||
- `workspace-ds-lingzong`
|
||||
|
||||
这些 agent 已不在配置中,workspace 可以清理。
|
||||
|
||||
## 待办
|
||||
|
||||
- [ ] 升级 OpenClaw 到 2026.3.13
|
||||
- [ ] 升级 Node.js 到 v22 LTS
|
||||
- [ ] 排查 cron 投递失败问题
|
||||
- [ ] 调查 invest-analyst stuck 原因
|
||||
- [ ] 将密钥迁移到环境变量
|
||||
- [ ] 清理遗留 workspace 目录
|
||||
|
||||
## Related
|
||||
|
||||
- [[OpenClaw-Skill-Reference]]
|
||||
- [[OpenClaw Agent 配置详情]]
|
||||
- [[家庭网络基础设施]]
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
created: "2026-03-10"
|
||||
type: resource
|
||||
tags: [openclaw, ai-gateway, claude-code, skill]
|
||||
tags: [resource, openclaw, ai-gateway, claude-code, skill, homelab]
|
||||
source: "https://docs.openclaw.ai/"
|
||||
---
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
created: "2026-03-08"
|
||||
type: resource
|
||||
tags:
|
||||
- resource
|
||||
- security
|
||||
- openvas
|
||||
- vulnerability-scanning
|
||||
302
4 - Resources/Security/PVE Security Scanner.md
Normal file
302
4 - Resources/Security/PVE Security Scanner.md
Normal file
@@ -0,0 +1,302 @@
|
||||
---
|
||||
created: "2026-03-08"
|
||||
type: resource
|
||||
tags:
|
||||
- resource
|
||||
- homelab
|
||||
- security
|
||||
- proxmox
|
||||
- networking
|
||||
- vulnerability-scanning
|
||||
---
|
||||
|
||||
# PVE Security Scanner
|
||||
|
||||
## Goal
|
||||
|
||||
在 Proxmox VE 上搭建一台专用的内网安全扫描 VM,用于定期进行网络安全评估、漏洞扫描和合规检查。
|
||||
|
||||
## Architecture
|
||||
|
||||
```
|
||||
+------------------+
|
||||
| PVE Host |
|
||||
| +--------------+| PVE Firewall (Layer 1)
|
||||
| | Scanner VM || - IN: only admin IPs -> SSH/9392
|
||||
| | Ubuntu 24.04 || - OUT: internal nets + update_targets IPSET
|
||||
| | 4C / 8G / 80G||
|
||||
| +--------------+|
|
||||
| | |
|
||||
+--------|--------+
|
||||
| vmbr0 (bridge)
|
||||
|
|
||||
======|==================== Internal Network (192.168.68.0/24)
|
||||
| | | |
|
||||
[Host] [Host] [Host] [Switch/Router]
|
||||
```
|
||||
|
||||
## VM Specs
|
||||
|
||||
| Resource | Value |
|
||||
|----------|-------|
|
||||
| Hostname | network-scanner |
|
||||
| IP | 192.168.68.84 |
|
||||
| OS | Ubuntu 24.04 (cloud-init) |
|
||||
| Kernel | 6.8.0-101-generic |
|
||||
| CPU | 4 cores (host type) |
|
||||
| RAM | 8 GB |
|
||||
| Disk | 80 GB |
|
||||
| Network | vmbr0 bridge, 192.168.68.0/24 |
|
||||
| SSH User | kai (1Password managed key) |
|
||||
| Admin User | scanner-admin |
|
||||
|
||||
## Security Architecture (Defense in Depth)
|
||||
|
||||
### Layer 1: PVE Firewall (Hypervisor)
|
||||
|
||||
在 Proxmox 层面限制 VM 网络访问,即使 VM 被攻陷也无法绕过。
|
||||
|
||||
| Direction | Rule | Purpose |
|
||||
|-----------|------|---------|
|
||||
| IN | Admin IPs -> TCP 22 | SSH 管理 |
|
||||
| IN | Admin IPs -> TCP 443, 9392 | OpenVAS Web UI |
|
||||
| IN | Internal nets -> ICMP | Ping |
|
||||
| OUT | -> Internal nets (all) | 扫描内网 |
|
||||
| OUT | -> update_targets IPSET TCP 80/443 | 漏洞库更新、包管理 |
|
||||
| OUT | -> UDP 53/123 | DNS / NTP |
|
||||
| Default | DROP | 其他全部拒绝 |
|
||||
|
||||
Config: `/etc/pve/firewall/200.fw`
|
||||
|
||||
Admin IPs 默认 `192.168.68.0/24`(整个内网段),可通过 `SCANNER_ADMIN_IPS` 环境变量覆盖。
|
||||
|
||||
### Layer 2: nftables (VM Internal)
|
||||
|
||||
VM 内部使用 nftables 做第二层防护,包含动态封禁功能。
|
||||
|
||||
**Key features:**
|
||||
- `blocked_ips` set: 动态 IP 封禁(带超时自动解封)
|
||||
- `ssh_bruteforce` set: SSH 暴力破解自动检测(3次/分钟触发,15分钟封禁)
|
||||
- Output policy DROP: 出站默认拒绝,仅白名单放行
|
||||
- 所有 DROP 事件记录日志
|
||||
- Docker 接口使用 `iifname "docker*"` / `iifname "br-*"` 通配(不要求接口预先存在)
|
||||
|
||||
**管理命令:**
|
||||
|
||||
```bash
|
||||
# 查看规则
|
||||
nft list ruleset
|
||||
|
||||
# 手动封禁 IP(1小时)
|
||||
nft add element inet firewall blocked_ips { 1.2.3.4 timeout 1h }
|
||||
|
||||
# 查看被封禁的 IP
|
||||
nft list set inet firewall blocked_ips
|
||||
|
||||
# 重载规则
|
||||
systemctl restart nftables
|
||||
```
|
||||
|
||||
Config: `/etc/nftables.conf`
|
||||
|
||||
### Layer 3: SSH Hardening
|
||||
|
||||
| Setting | Value |
|
||||
|---------|-------|
|
||||
| Authentication | Public key only (1Password) |
|
||||
| Root login | Disabled |
|
||||
| Max auth tries | 10 |
|
||||
| Ciphers | chacha20-poly1305, aes256-gcm |
|
||||
| KEX | sntrup761x25519, curve25519 |
|
||||
| Fail2ban | 3 failures -> 1h ban (nftables backend) |
|
||||
| AllowUsers | `scanner-admin kai` |
|
||||
| Forwarding | DisableForwarding yes |
|
||||
| Banner | /etc/issue.net |
|
||||
|
||||
Config: `/etc/ssh/sshd_config.d/99-scanner-hardening.conf`
|
||||
|
||||
### Layer 4: System Hardening
|
||||
|
||||
**Kernel (sysctl):**
|
||||
- IP forwarding disabled
|
||||
- ICMP redirects ignored
|
||||
- SYN flood protection (syncookies)
|
||||
- Reverse path filtering (anti-spoofing)
|
||||
- Martian packet logging
|
||||
- ASLR enabled, ptrace restricted
|
||||
|
||||
**Auditing:**
|
||||
- `auditd`: 监控 /etc, auth, sudo, network, cron, scanner config 变更
|
||||
- `AIDE`: 文件完整性检查 (daily 3am)
|
||||
- `Lynis`: 安全审计 (weekly Sunday 2am)
|
||||
- Core dumps disabled
|
||||
|
||||
Config: `/etc/sysctl.d/99-security-scanner.conf`, `/etc/audit/rules.d/scanner-audit.rules`
|
||||
|
||||
## Installed Tools
|
||||
|
||||
| Tool | Purpose | Usage |
|
||||
|------|---------|-------|
|
||||
| **OpenVAS/Greenbone** | 全面漏洞管理平台 | Web UI `https://192.168.68.84` (nginx -> gsad) |
|
||||
| **Nmap** | 网络发现、端口扫描 | `nmap -sV --script=safe <target>` |
|
||||
| **Nuclei** | 快速漏洞扫描 (模板驱动, SHA256 校验) | `nuclei -u <url>` |
|
||||
| **httpx** | HTTP 探测、服务识别 (SHA256 校验) | `httpx -l hosts.txt` |
|
||||
| **Nikto** | Web 服务器扫描 | `nikto -h <url>` |
|
||||
| **testssl.sh** | TLS/SSL 安全检测 | `testssl <host:port>` |
|
||||
| **NetExec** | SMB/RDP/WinRM 评估 | `netexec smb <target>` |
|
||||
|
||||
## Scanning Workflow
|
||||
|
||||
### Quick Scan (Automated)
|
||||
|
||||
```bash
|
||||
/opt/scans/scripts/quick-scan.sh 192.168.68.0/24
|
||||
```
|
||||
|
||||
Steps:
|
||||
1. Host discovery (`nmap -sn`)
|
||||
2. Port scan top 1000 (`nmap -sV --script=safe`)
|
||||
3. HTTP service detection (`httpx`)
|
||||
4. Vulnerability scan (`nuclei` medium/high/critical)
|
||||
|
||||
Results saved to `/opt/scans/results/<timestamp>/`
|
||||
|
||||
### Full Scan (OpenVAS)
|
||||
|
||||
1. Start containers: `cd /opt/greenbone && docker compose up -d`
|
||||
2. Wait for feed sync (first time: 30-60 min)
|
||||
3. Access Web UI: `https://192.168.68.84` (self-signed cert, accept warning)
|
||||
4. Create Target -> Create Task -> Run Scan
|
||||
5. Export report (PDF/CSV)
|
||||
|
||||
### Targeted Scans
|
||||
|
||||
```bash
|
||||
# TLS/SSL audit
|
||||
testssl 192.168.68.10:443
|
||||
|
||||
# Web server scan
|
||||
nikto -h https://192.168.68.10
|
||||
|
||||
# SMB assessment
|
||||
netexec smb 192.168.68.0/24
|
||||
|
||||
# Full port scan single host
|
||||
nmap -sV --script=safe -p- -T4 192.168.68.10
|
||||
```
|
||||
|
||||
## Monitoring
|
||||
|
||||
| Check | Schedule | Tool |
|
||||
|-------|----------|------|
|
||||
| Disk usage | Every 6h | `/opt/scans/scripts/check-disk.sh` |
|
||||
| OpenVAS health | Every 30min | `/opt/scans/scripts/check-openvas.sh` |
|
||||
| File integrity | Daily 3am | AIDE |
|
||||
| Security audit | Weekly Sun 2am | Lynis |
|
||||
| Old results cleanup | Weekly Sun 4am | find (maxdepth 1, >90 days, logged) |
|
||||
| Nuclei templates | Weekly Mon 5am | `nuclei -update-templates` |
|
||||
| Daily summary | Daily | Logwatch |
|
||||
|
||||
Logs: `/var/log/scanner/`
|
||||
|
||||
## Deployment
|
||||
|
||||
### Method: Cloud-Init Template Clone
|
||||
|
||||
1. PVE Web UI -> 选中 Cloud-Init 模板 -> 右键 Clone (Full Clone)
|
||||
2. Cloud-Init 标签设置: user `kai`, SSH key (1Password), IP `192.168.68.84/24`
|
||||
3. Hardware: 4C / 8G / 80G disk
|
||||
|
||||
### Copy Scripts to VM
|
||||
|
||||
```bash
|
||||
scp -r C:/Users/yaoji/git/pve-security-scanner/vm kai@192.168.68.84:/tmp/scanner-setup
|
||||
```
|
||||
|
||||
### Execute (in order)
|
||||
|
||||
```bash
|
||||
# 设置环境变量
|
||||
export SCANNER_ADMIN_IPS='192.168.68.0/24'
|
||||
export SCANNER_DNS_SERVERS='192.168.68.1'
|
||||
|
||||
# 一键执行(或逐个执行)
|
||||
sudo -E bash /tmp/scanner-setup/setup.sh
|
||||
|
||||
# 或逐个:
|
||||
sudo -E bash /tmp/scanner-setup/01-system-harden.sh
|
||||
sudo -E bash /tmp/scanner-setup/02-firewall.sh
|
||||
sudo -E bash /tmp/scanner-setup/04-install-tools.sh # Docker 先装
|
||||
sudo usermod -aG docker scanner-admin # 补加 docker 组
|
||||
sudo -E bash /tmp/scanner-setup/03-ssh-harden.sh # 再跑 SSH
|
||||
sudo -E bash /tmp/scanner-setup/05-monitoring.sh
|
||||
sudo -E bash /tmp/scanner-setup/06-docker-autostart.sh
|
||||
|
||||
# OpenVAS 密码
|
||||
cd /opt/greenbone && docker compose up -d
|
||||
docker compose exec -u gvmd gvmd gvmd --user=admin --new-password=<PASSWORD>
|
||||
|
||||
# 重启
|
||||
sudo shutdown -r now
|
||||
```
|
||||
|
||||
### Post-Deployment Checklist
|
||||
|
||||
- [x] VM created from cloud-init template
|
||||
- [x] SSH key configured (1Password, ed25519)
|
||||
- [x] System hardening (01) applied
|
||||
- [x] nftables firewall (02) applied - ADMIN_IPS = 192.168.68.0/24
|
||||
- [x] Docker installed (Ubuntu source fix applied)
|
||||
- [x] SSH hardening (03) applied - AllowUsers scanner-admin kai, MaxAuthTries 10
|
||||
- [x] Security tools (04) installed
|
||||
- [x] Monitoring (05) configured
|
||||
- [x] Docker autostart (06) enabled - systemd greenbone-openvas.service
|
||||
- [x] OpenVAS Web UI accessible - `https://192.168.68.84` (nginx port 443+9392)
|
||||
- [ ] Feed sync complete (in progress, ~30-60 min)
|
||||
- [ ] First quick scan completed
|
||||
- [ ] `lynis audit system` score verified
|
||||
|
||||
## Deployment Notes
|
||||
|
||||
### Issues Encountered
|
||||
|
||||
1. **Docker source wrong distro**: 脚本原写 Debian 源,实际系统是 Ubuntu 24.04 (noble)。已修复为自动检测 `${ID}` (debian/ubuntu)
|
||||
2. **nftables rate limit 不能用 define**: `define SSH_RATE_LIMIT = 5/minute` 语法错误,nftables 不支持 define 变量做 rate limit,改为内联值
|
||||
3. **`iif "docker0"` 要求接口已存在**: Docker 未安装时 docker0 不存在导致报错,改为 `iifname "docker*"` 通配
|
||||
4. **03-ssh-harden.sh docker 组不存在**: 需先运行 04 安装 Docker,再运行 03 创建用户
|
||||
5. **SSH `sshd.service` not found**: Ubuntu 用 `ssh.service`,已修复为 `ssh 2>/dev/null || sshd`
|
||||
6. **AllowUsers 只有 scanner-admin**: cloud-init 用户 `kai` 被拒绝登录,已加入 AllowUsers
|
||||
7. **MaxAuthTries 3 太小**: 1Password 管理多个 key 逐个尝试会超限,改为 10
|
||||
8. **ADMIN_IPS 设成 VM 自身 IP**: 导致工作站无法 SSH,改为整网段 `192.168.68.0/24`
|
||||
9. **Greenbone 镜像名变更**: `greenbone/xxx` 已迁移到 `registry.community.greenbone.net/community/xxx`,架构改为 nginx + gsad + gsa 分离
|
||||
10. **nginx 9392 端口重定向到 443**: 需同时暴露 443 端口,docker-compose 已加 `0.0.0.0:443:443`
|
||||
|
||||
### Recommended Execution Order (revised)
|
||||
|
||||
01 -> 02 -> 04 (Docker) -> 03 (SSH, needs docker group) -> 05 -> 06
|
||||
|
||||
## Scripts Location
|
||||
|
||||
Repo: https://git.colacoder.com/kai/pve-security-scanner
|
||||
|
||||
```
|
||||
pve-security-scanner/
|
||||
├── pve/
|
||||
│ ├── create-vm.sh # VM creation (idempotent)
|
||||
│ └── firewall.sh # PVE-level firewall (env var guard)
|
||||
├── vm/
|
||||
│ ├── setup.sh # One-click ordered execution
|
||||
│ ├── 01-system-harden.sh # OS hardening
|
||||
│ ├── 02-firewall.sh # nftables rules
|
||||
│ ├── 03-ssh-harden.sh # SSH + fail2ban
|
||||
│ ├── 04-install-tools.sh # Security tools (auto-detect distro)
|
||||
│ ├── 05-monitoring.sh # Logging + cron
|
||||
│ └── 06-docker-autostart.sh # OpenVAS systemd service
|
||||
└── README.md
|
||||
```
|
||||
|
||||
## Related
|
||||
|
||||
- [[Proxmox VE]]
|
||||
- [[Home Network]]
|
||||
- [[Security Best Practices]]
|
||||
Reference in New Issue
Block a user