|
|
本帖最后由 janhay 于 2026-7-21 20:56 编辑
=========================================================================================================================
20260620更新
固件版本: 3.4.3.9-099_26-03-1
我用的阿里云域名解析,自动会获取一个natmap表项的公网地址。
https功能使用阿里云的免费证书。
以下全部功能,用 deepseek 写出来的脚本。
脚本文件已打包
check_ip_change.shmonitor_nas.sh
monitor_router.sh
natmap
REDMI.MD
start_nas.sh
start_router.sh
stop_nas.sh
stop_router.sh
一、功能列表
- 检测 WAN IP 变化,自动重启 natmap
- 进程崩溃自动恢复
- 防火墙规则自动添加 + 自动修复(被误删 15 秒恢复)
- NAS 定时运行(周五 18:00 ~ 周日 24:00)
- 微信测试号推送通知
- 日志自动清理
二、目录结构
/etc/storage/bin/natmap/
├── check_ip_change.sh # 主脚本(只需启动这个)
├── natmap # natmap 程序
├── router/ # 路由器 https服务 (172.16.10.1:5001)
│ ├── monitor_router.sh
│ ├── start_router.sh
│ ├── stop_router.sh
│ └── logs/
└── nas/ # NAS https服务 (172.16.10.99:5001)
├── monitor_nas.sh
├── start_nas.sh
├── stop_nas.sh
└── logs/
三、部署步骤
1. 上传脚本
所有脚本上传到 /etc/storage/bin/natmap/,natmap 程序也放进去。
2. 转换格式(Windows 换行符转 Unix)
dos2unix /etc/storage/bin/natmap/check_ip_change.sh
dos2unix /etc/storage/bin/natmap/router/*.sh
dos2unix /etc/storage/bin/natmap/nas/*.sh
3. 赋予权限
chmod +x /etc/storage/bin/natmap/*.sh
chmod +x /etc/storage/bin/natmap/router/*.sh
chmod +x /etc/storage/bin/natmap/nas/*.sh
chmod +x /etc/storage/bin/natmap/natmap
4. Web 页面配置开机启动
登录路由器 192.168.123.1 → 高级设置 → 参数设置 → 脚本
在"在路由器启动后执行"中添加:
/etc/storage/bin/natmap/check_ip_change.sh &
在"在路由器关闭之前执行"中添加:
/etc/storage/bin/natmap/router/stop_router.sh
/etc/storage/bin/natmap/nas/stop_nas.sh
四、手动操作
# 手动启动
/etc/storage/bin/natmap/check_ip_change.sh &
# 查看进程状态
ps | grep -E "natmap|monitor|check_ip" | grep -v grep
# 查看防火墙规则
iptables -L INPUT -n | grep ACCEPT
五、说明
- 内网 IP 默认:路由器 172.16.10.1:5001,NAS 172.16.10.99:5001
- 微信推送脚本:/etc/storage/script/Sh45_wx_send.sh(需自行配置)
- 日志在 */logs/ 目录下,每天凌晨 4 点自动清理
=========================================================================================================================
=========================================================================================================================
natmap 端口映射系统 - 文档变更情况说明
对比版本:
版本A(原始文档):REDMI.MD(最后更新 2026-06-20,日志轮转 20MB)
版本B(纯文本版):REDMI.MD(最后更新 2026-07-10,日志轮转 1MB)
以下为版本B相对于版本A的所有变更点。
一、结构变更(新增/删除/调整章节)
1. 新增章节
- 二、快速部署(五步走) -> 原版无此章节,新版增加部署引导
- 五、微信推送原因说明 -> 原版仅有简化的“八、微信推送说明”,
新版独立成章并补充详细原因映射表
- 九、STUN 服务器建议 -> 原版无,新版增加服务器选型指导
- 十、防火墙规则优化说明 -> 原版无,新版增加防火墙管理细节
2. 删除章节(原版有,新版无)
- 无直接删除,但原版“八、微信推送说明”内容被拆分并入新增的“五、微信推送原因说明”
和精简后的“八、微信推送说明”(新版第八章节与旧版不同)
3. 章节顺序调整(编号整体后移)
原版章节 -> 新版对应章节
四、Web管理配置 -> 六、Web管理配置
五、为何只加一条 -> 七(实际新版第六是Web,第七是为何)
(具体编号变化见下文“章节编号对照表”)
二、内容变更详述
1. 日志轮转阈值调整(核心功能与日志章节)
【原版】核心功能第7条:日志自动轮转(7天/20MB,每天4:00执行)
【新版】核心功能第6条:日志轮转:每天4:00清理超7天或超1MB的日志文件。
【结论】轮转阈值从 20MB 改为 1MB,更保守,减少存储占用。
2. 新增“快速部署”章节(新版第二章)
【内容】提供五步部署命令,包括赋权、配置微信、开机/关机脚本添加、手动测试。
【影响】降低新手上手难度。
3. 微信推送说明内容大幅扩充
【原版】仅有第八章“微信推送说明”,简要列出三种场景及防重复。
【新版】新增第五章“微信推送原因说明”,详细列出:
- IP变化时的具体原因(定时重启、手动重启、PPPoE断线、运营商维护等)
- 端口变化时复用原因的逻辑(120秒时效)
- 内网不可达告警的标题格式
- 防重复机制(60秒)
【影响】用户可明确知道不同场景下推送原因是如何生成的。
4. 新增“STUN 服务器建议”章节(新版第九章)
【内容】推荐国内 stun.qq.com、stun.l.google.com:19302,国际 turn.cloudflare.com,
并提及自建 coturn。
【影响】帮助用户选择更合适的 STUN 服务器以提升打洞成功率。
5. 新增“防火墙规则优化说明”章节(新版第十章)
【内容】集中说明规则添加/删除/检查的命令,及端口记录文件位置和巡检周期。
【影响】将分散在技术细节中的防火墙信息整合,更清晰。
6. 版本日期更新
【原版】最后更新:2026-06-20
【新版】最后更新:2026-07-10
7. 其他细节优化
- 新版在“注意事项”中增加第8条:“若需要更改 STUN 服务器,请修改所有 start_xxx.sh 中的 -s 参数”
- 新版在“手动操作命令”中使用 `pkill` 替代 `ps+grep+awk+kill` 简化命令
- 新版“技术细节”中增加“进程管理”的详细说明(主脚本循环、孤儿进程接管等)
三、章节编号对照表(从第四章开始)
原版章节 新版章节
四、Web管理配置 六、Web管理配置
五、为何只加一条 七、为何只加一条(新版第六章为“Web管理配置”,第七章为“为何”)
六、手动操作命令 七、手动操作命令速查(编号重复?实际新版第七是“手动操作”,但原版第六也是“手动”,所以新版第七对应原版第六)
七、日志文件说明 八、日志文件与轮转策略
八、微信推送说明 五、微信推送原因说明 + 八、微信推送说明(拆分)
九、技术细节 十一、技术细节
十、故障排查 十二、故障排查
十一、扩展与自定义 十三、扩展与自定义
十二、注意事项 十四、注意事项
十三、版本信息 十五、版本信息
(注:因新增第二、五、九、十章,后续编号整体后移,但顺序一致。)
四、总结
本次变更新增了4个章节(快速部署、微信原因映射、STUN建议、防火墙优化),
调整了日志轮转阈值(20MB→1MB),扩充了微信推送说明,并更新了版本日期。
整体文档从原版的13章扩展为15章,内容更全面,尤其对新手更友好,
同时保留了原版的所有核心功能描述,无功能性删除。
变更性质:内容扩充 + 参数调整 + 结构优化,文档质量提升。
变更说明结束
=========================================================================================================================
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|