ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

NSG与VNet Peering深度指南:DevOps Insiders Batch 18控制跨虚拟网络访问的完整方法

NSG与VNet Peering深度指南: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.

项目地址:https://gitcode.com/gh_mirrors/az/azure-aws-gcp-devsecops-mlops-batch-18
点击查看免费下载

在 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 (数字小的规则先评估)

三条关键规则评估逻辑:

  1. 规则按优先级数字从小到大依次评估(100 先于 200);
  2. 一旦命中某条规则,后续规则不再评估;
  3. 因此放行 Web 流量就创建 80 端口入站规则(如优先级 100),放行 SSH 管理就创建 22 端口入站规则(如优先级 110)。

三、公共 IP 的风险:为什么 Landing Zone 要"最小化 Public IP" ⚠️

课程在 Azure Bastion 笔记 中提出了一条企业安全黄金法则:

"一个优秀的 Landing Zone,Public IP 越少越好。"

当每台 VM 都挂 Public IP 时,会面临三重风险:

  1. 持续暴露在端口扫描、自动化暴力破解和 DDoS 攻击之下;
  2. 管理端口(22、3389)对公网敞开,是攻击者的首要目标;
  3. 用一台带 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 题库,建议自测:

  1. 什么是 Hub-and-Spoke 架构?为什么用它?
  2. Hub 和 Spoke 之间如何通信?如何启用 Spoke 到 Spoke 通信?
  3. VNet Peering 有哪些限制?如何突破?(答案方向:非传递性、CIDR 重叠不可 peering、Virtual WAN 扩展)
  4. 什么时候用 Azure Virtual WAN?
  5. NSG 入站规则与出站规则的区别?
  6. 如何定位"是 NSG 还是 Firewall 拦了流量"的问题?
  7. 完整解释 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.

项目地址:https://gitcode.com/gh_mirrors/az/azure-aws-gcp-devsecops-mlops-batch-18
点击查看免费下载
上一篇:让AI放心改代码:claude-delegator的read-only与workspace-write沙箱双模式安全机制详解
下一篇:一篇教程把蚂蚁的模型写成昆仑万维:开源模型的信息传播正在制造集体幻觉

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进