Files
MemRelay/projects/e3194241-010f-4cad-a3a5-009d7810ff2c/Checkpoint 2026-09-10 06-32-55 UTC [06273ffe28].md
T

34 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
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.
---
title: Checkpoint 2026-09-10 06:32:55 UTC [06273ffe28]
type: checkpoint
permalink: main/projects/e3194241-010f-4cad-a3a5-009d7810ff2c/checkpoint-2026-09-10-06-32-55-utc-06273ffe28
stable_id: befefebd-7e62-45e1-8a80-5abfd1a07536
scope: project
project_id: e3194241-010f-4cad-a3a5-009d7810ff2c
memory_type: checkpoint
status: active
revision: 1
restored_from_commit: 6a6a895eafcca6052e81a14fca103a42635dd1c2
created_at: '2026-09-23T15:11:06.697958+00:00'
updated_at: '2026-09-23T15:11:06.698021+00:00'
tags:
- handoff
- live-verified
- complete
---
## 已完成目标
用户要求 gmcc.net 主域及所有子域(解析IP可能跨网段)走OSS,同时补齐188.15.0.0/24与188.25.0.0/24。用户明确不要处理代理软件,已自行启用OSS。本轮已完成代码、自动化验证、当前机器应用及实际DNS/选路核实;没有修改代理软件。
## 代码与Git
master提交4d5d97a858e3b6d52709884c0a6ac21767fbe4b9,提交说明feat: 支持GMCC域名动态走OSS并补齐内网网段,工作区干净、无remote、未推送。保留并完整实现原有用户网段改动。新增DomainRouting.ps1、DomainDns.cs、Run-DomainDns.ps1和三个tests;主Apply/Remove/Status/Menu集成域名,Guard通过EncodedCommand正确保存自定义OssAlias。所有ps1 UTF-8 BOM,PS5.1兼容。.gitignore忽略aidocs,不忽略tests;aidocs旧文件原已跟踪,本轮未改。
## 运行机制
本机127.0.0.54:53专用UDP/TCP DNS,NRPT的gmcc.net与.gmcc.net分别覆盖主域/后缀。经OSS绑定源地址与ifIndex查询内网DNS;递归CNAME后合成A;在交付答案前为DNS服务器和全部A地址设置/验证OSS /32及配置外网网卡上的防回落规则。路由失败、OSS离线、上游失败均不交付目标地址。AAAA/HTTPS/SVCB不返回,其他转发包含这些IPv6提示也拒绝;支持UDP截断/TCP及EDNS。动态地址保留至Remove,账本只认领本工具新建路由;失败新建不认领,旧owned网关/接口路由精确清理。安装停止旧任务后快照,失败恢复任务/NRPT/文件/防火墙及路由;SYSTEM部署目录只允许SYSTEM/管理员写。已学习地址每次查询统一一次防火墙更新,仍逐IP查路由与真实下一跳;防火墙失败从Addresses撤销新IP,保证备用DNS重试不绕过保护。
## 实机应用与状态(2026-09-10)
执行Set-DualNetworkRouting.ps1 -Mode Apply -SkipOssHardening,随后通过Install-OssDomainRouting更新优化版。保留当前OSS协议绑定,未应用可选Public配置。OSS Up if24 IP188.5.107.102/25 gateway188.5.107.1 DNS10.201.0.99。WLAN保持外网默认出口192.168.33.1;OSS默认路由已清除。4项固定持久路由188.1/16、188.5.127/24、188.15/24、188.25/24已应用。域名任务NET-OSS Domain DNS为Running(PID19568,启动UTC06:25:41),默认路由守卫NET-OSS Route Guard为Ready。域名服务部署到C:\ProgramData\NetOssRouting,3份部署源码hash与提交源码一致;config.json/ routes.json/ready.json为运行数据。域名任务是用户功能,需保留运行,并非临时测试服务。Remove可撤销;只临时停止可Stop-ScheduledTask -TaskName 'NET-OSS Domain DNS'(NRPT仍在时解析会失败,完整撤销用项目Remove)。
## 已验证
PowerShell5.1.19041.7663与7.6.5下DNS协议/上游/监听80项检查、生命周期140断言、固定路由CLI/菜单/转换/状态测试全部通过。测试使用loopback或mock,测试socket均Dispose,临时测试目录清理。git diff --check通过。
真实绑定OSS查询gmcc.net得到10.201.63.0、10.251.111.0、10.201.29.0、10.201.29.47;通过Windows系统DNS与专用listener均返回相同IP集合。Find-NetRoute逐项确认这4地址及10.201.0.99均通过OSS /32下一跳188.5.107.1。有效NRPT同时有gmcc.net/.gmcc.net ->127.0.0.54。已学习地址直接listener查询由约4.6s降至约1.2s(服务冷启动恢复路由时首查较慢)。www.gmcc.net在内网DNS返回NXDOMAIN,不能当作网站不通;未进行所有子域枚举或业务登录/HTTP应用验证。NS诊断曾超时并有客户端TCP取消,last-error.json可能保留此历史Receive连接关闭记录,之后成功查询已验证,不代表任务停止。
## 共享源码
MemRelay文件net-oss-routing/net-oss-routing-4d5d97a.zip,file_id=2d49fe8f-97f8-4a72-b6ab-f1e02d33f240,42038字节,SHA256=361b51b12577dfe5366515f2953c24378a1f688334e456013e773c1cfb895598。git archive选定10个源码/测试文件(含tests目录项共11),不含aidocs/凭证/运行状态。HTTP PUT与上传完成状态已确认,本地临时zip已删除。
## 下一步与接手注意
没有未完成实现;若用户有具体业务子域访问异常,读取该域实际系统DNS答案和Find-NetRoute,再查ProgramData状态;不要改代理配置。范围为Windows系统DNS、直接连接及IPv4;独立DoH/代理/hosts和应用旧缓存可能绕开该流程,安装后可重新打开对应应用。相同IP的其他域名流量也受IP路由影响。新外网接口需NetAlias纳入;不声称所有IPv6或绕过系统DNS的连接已覆盖。之前checkpoint的“待用户确认IP范围/OSS禁用/域名未实现/工作区dirty”已过时。现PRD与架构/边界fact为revision3,用户不管代理规则id=c9dcce4b-b7ab-4268-aa69-544bc64d17b3,设计decision id=2e52652b-ee82-46f8-ac53-a73d0ad59d6b。