【免费下载链接】azure-aws-gcp-devsecops-mlops-batch-18
Welcome to the official repository for Batch18! 📚👩💻 Here, you'll find a organized collection of class notes, assignments, and code snippets generated during our sessions.
在 DevOps Insiders Batch 18 课程仓库中,你可以系统学习NSG(Network Security Group,网络安全组)与VNet Peering(虚拟网络对等)这两个 Azure 网络核心概念,掌握控制跨虚拟网络访问的完整方法。本文基于课程中的真实课堂笔记与实操实验,用生活化类比和流量走查方式,帮新手从零建立"先隔离、再连通、全程可控"的云网络思维,是面向初学者的完整指南。
一、为什么需要 NSG 和 VNet Peering?🔑
先把两个概念放回它们该在的位置:
| 概念 | 一句话理解 | 类比 |
|---|---|---|
| VNet(Virtual Network) | Azure 里的私有网络 | 一栋大楼的内网 |
| Subnet(子网) | VNet 内的隔离区间 | 大楼的不同楼层 |
| NSG | 控制进出流量的安全规则集 | 大楼的"门禁 + 保安" |
| VNet Peering | 把两个 VNet 私有互联 | 两栋大楼之间的专用通道 |
课程在 Azure Virtual Networks 笔记 中给出了面试标准答案:VNet peering connects VNets privately without internet(VNet 对等让虚拟网络不经过互联网私有互通)。这正是企业 Landing Zone 网络设计的第一原则。
💡 面试高频点:先规划 CIDR 再建网络。选 CIDR 前要确认现有网络清单、做重叠分析(Overlap Analysis)、评估未来 IP 增长——避免后期两个 VNet 地址冲突无法 peering。
二、NSG:云上的"门禁系统",端口就是房间 🚪
课程用一个非常形象的"房子类比"来解释 NSG(见 NSG, VNet Peering & Bastion 课堂笔记):
- IP 地址= 房子地址
- 端口(Port)= 房子里的房间
- 22 端口 → Linux SSH 管理房间
- 80 端口 → HTTP 网站
- 443 端口 → HTTPS 网站
- 3389 端口 → Windows RDP 远程桌面
NSG 默认规则:入站全关
🔒 出于安全考虑,默认所有来自互联网的入站端口都是关闭的,你必须显式配置 allow 规则才能放行流量。
这就是"默认拒绝"(Default Deny)原则——NSG 不是"默认放行再拦截",而是"默认拦截再放行",这是初学者最容易误解的一点。
规则评估顺序:数字越小优先级越高
Internet Request ---> [ NSG Priority Check: 100 to 4096 ] ---> VM Port (数字小的规则先评估)三条关键规则评估逻辑:
- 规则按优先级数字从小到大依次评估(100 先于 200);
- 一旦命中某条规则,后续规则不再评估;
- 因此放行 Web 流量就创建 80 端口入站规则(如优先级 100),放行 SSH 管理就创建 22 端口入站规则(如优先级 110)。
三、公共 IP 的风险:为什么 Landing Zone 要"最小化 Public IP" ⚠️
课程在 Azure Bastion 笔记 中提出了一条企业安全黄金法则:
"一个优秀的 Landing Zone,Public IP 越少越好。"
当每台 VM 都挂 Public IP 时,会面临三重风险:
- 持续暴露在端口扫描、自动化暴力破解和 DDoS 攻击之下;
- 管理端口(22、3389)对公网敞开,是攻击者的首要目标;
- 用一台带 Public IP 的 Jump VM(跳板机)管理内网,会形成单点故障(SPOF)——跳板机一旦失陷,攻击者就能横向进入所有内部 VM。
课程给出的解决方案是Azure Bastion:通过 Azure Portal 浏览器以 HTTPS(443 端口)直接 RDP/SSH 到只有私有 IP 的 VM,工作负载 VM 保持 100% 私有化,彻底杜绝端口扫描。相关流量走查可参考 Azure VM + Network 实操笔记。
四、VNet Peering 工作原理:私有骨干,零互联网跳数 🌐
来自 Networking Basics 笔记 的核心结论:
- 同 Region 的两个 VNet→ 使用VNet Peering;
- 跨 Region 的两个 VNet→ 使用Global VNet Peering。
课程用一个多 VNet 实验(VNet 1:10.56.0.0/16,VNet 2:10.57.0.0/16)验证了流量行为,实验结论如下表:
| 通信场景 | 路由机制 |
|---|---|
| 同一子网内 | Azure SDN 直接 L2/L3 投递,零跳数 |
| 同一 VNet 不同子网 | 走 Azure 默认系统网关,无需手动路由 |
| 不同 VNet(未 peering) | 无法通信! |
| 不同 VNet(已 peering) | 流量经微软私网骨干转发,0 个互联网跳数 |
| 来自公网 | 命中 LB/Public IP → NSG 评估 → NAT 转换为 VM 私有 IP |
🎯 关键认知:建立 VNet Peering 之前,两个 VNet 里的 VM 完全无法通信;peering 建立后流量全程走微软私有骨干网,不经过公共互联网。
五、企业级方法:Hub-and-Spoke 控制跨 VNet 访问 🏛️
这是整个课程最重要的架构思想,来自 Landing Zone 架构笔记 与 Landing Zone 答疑课笔记:
- Hub VNet(中枢):集中部署 Azure Firewall、Azure Bastion、VPN/ExpressRoute 网关;
- Spoke VNet(辐条):各环境/各应用的 VNet,通过 VNet Peering只与 Hub 对等;
- 流量规则:Spoke 与 Spoke 之间的流量必须经过 Hub 中的 Azure Firewall,实现集中包检查、零信任策略与威胁检测。
经典面试题:Spoke 之间能直接 Peering 吗?
❌不能。企业 Hub-and-Spoke 设计中,Spoke 永远不直接互联。所有跨 Spoke 流量必须穿过 Hub 防火墙——这是集中化治理(Governance)的底线。
这也是"控制跨虚拟网络访问的完整方法"的精髓:Peering 负责"通",NSG + Hub 防火墙负责"控"。网络九大支柱(Networking 位列其中)完整清单见 Landing Zone 支柱笔记。
六、用 Terraform 把 NSG 与网络结构落地 💻
课程配套的可运行代码位于 monolithic_landing_zone 目录,采用"模块 + 多环境"结构:
- azurerm_virtual_network 模块:定义 VNet 与 CIDR;
- azurerm_subnet 模块:定义 Frontend/Backend 子网;
- azurerm_virtual_machine 模块:包含 NIC 与 NSG 安全规则配置;
- preprod 环境入口:组合各模块并关联 LB/App Gateway 后端池。
在 Axion 实战项目代码 中,也能看到 NSGsecurity_rule在 VM 模块内的声明式写法——规则即代码,可版本管理、可复用。
七、NSG 与 VNet Peering 高频面试问题清单 ✅
以下问题整理自课程的 TopicWiseQuestions.md 题库,建议自测:
- 什么是 Hub-and-Spoke 架构?为什么用它?
- Hub 和 Spoke 之间如何通信?如何启用 Spoke 到 Spoke 通信?
- VNet Peering 有哪些限制?如何突破?(答案方向:非传递性、CIDR 重叠不可 peering、Virtual WAN 扩展)
- 什么时候用 Azure Virtual WAN?
- NSG 入站规则与出站规则的区别?
- 如何定位"是 NSG 还是 Firewall 拦了流量"的问题?
- 完整解释 Internet → Hub → Firewall → Spoke 的入站流量链路。
更多高级准备内容可参考 面试准备要点笔记。
八、学习路径建议 📚
| 阶段 | 学什么 | 对应资料 |
|---|---|---|
| 第 1 步 | VNet / Subnet / CIDR 基础 | AzureVirtualNetworks 笔记 |
| 第 2 步 | NSG 规则与默认拒绝 | NSG,VnetPeering,BastionInitial 笔记 |
| 第 3 步 | 多 VNet 实验与流量走查 | AzureVM+Network 笔记 |
| 第 4 步 | Hub-and-Spoke 企业架构 | Bastion 与 Hub-Spoke 笔记 |
| 第 5 步 | Terraform 落地 | monolithic_landing_zone 代码 |
| 第 6 步 | 面试冲刺 | TopicWiseQuestions 题库 |
一句话总结:NSG 管住"门"(端口级访问控制,默认拒绝),VNet Peering 打通"路"(私网互联零互联网跳数),Hub-and-Spoke + 防火墙守住"道"(集中化治理)——三者结合,就是 DevOps Insiders Batch 18 控制跨虚拟网络访问的完整方法。
【免费下载链接】azure-aws-gcp-devsecops-mlops-batch-18
Welcome to the official repository for Batch18! 📚👩💻 Here, you'll find a organized collection of class notes, assignments, and code snippets generated during our sessions.
相关推荐
Azure Entra ID入门指南:DevOps Insiders Batch 18统一管理企业身份与访问控制的5个步骤
Azure Entra ID入门指南:DevOps Insiders Batch 18统一管理企业身份与访问控制的5个步骤 Azure Entra ID 是 A
Azure RBAC实战教程:DevOps Insiders Batch 18用最小权限原则安全配置VM访问
Azure RBAC实战教程:DevOps Insiders Batch 18用最小权限原则安全配置VM访问 本文基于 DevOps Insiders Batc
上云还是本地部署?DevOps Insiders Batch 18深度对比Cloud与On-Premises的核心取舍
上云还是本地部署?DevOps Insiders Batch 18深度对比Cloud与On Premises的核心取舍 在 DevOps Insiders Ba
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考