综合练习
配置 SPF/DMARC + SSH hardened 清单。
40 分钟
综合练习:网络与邮件运维实战
本课串联本 track 全部能力:SSH 登录 → 编辑配置 → Git 管理 → 脚本自动化 → SMTP/IMAP 测试 → DNS 认证验证。建议在 staging 虚拟机完成;涉及 networking-essentials、linux-essentials、git-essentials、dns-essentials 的对应课时作为前置。
学习目标
- 独立完成 「部署可发可信邮件的应用环境」 最小闭环
- 用分层思维(OSI)排障一次真实的邮件投递失败
- 输出可交付的 运维 runbook(Markdown,进 Git)
实验环境
| 组件 | 建议 |
|---|---|
| 虚拟机 | 1 台 Linux(Ubuntu 22.04+),公网 IP 或端口转发 |
| 域名 | staging.example.com 子域,DNS 可控 |
| 工具 | SSH 密钥、Git、swaks、dig、Vim/Nano |
| 可选 | SendGrid/SES 免费 tier 作 relay |
你的电脑 ──SSH:22──► staging 服务器
├── Postfix :587
├── Dovecot :993
└── Nginx :443(反向代理 / 健康页)
任务一:SSH 与基础加固(dnm-ssh)
- 生成 ED25519 密钥,
ssh-copy-id免密登录 - 禁用密码登录、禁止 root SSH(保留备用会话)
- 配置
~/.ssh/configHost 别名staging
验收:ssh staging 一键登录;/etc/ssh/sshd_config 中 PasswordAuthentication no。
任务二:配置版本化(dnm-vcs + dnm-editors)
- 创建
infra-stagingGit 仓库 - 纳入
postfix/main.cf、scripts/check-mail-ports.sh - 用 Vim 或 Nano 修改配置,commit 信息符合 git-essentials 规范
验收:git log --oneline 至少 3 条有意义 commit;git diff 可追踪配置变更。