![每次子网与另一个 VPS 关联时,Azure VPS 都会丢失端口入站策略](https://linux22.com/image/695612/%E6%AF%8F%E6%AC%A1%E5%AD%90%E7%BD%91%E4%B8%8E%E5%8F%A6%E4%B8%80%E4%B8%AA%20VPS%20%E5%85%B3%E8%81%94%E6%97%B6%EF%BC%8CAzure%20VPS%20%E9%83%BD%E4%BC%9A%E4%B8%A2%E5%A4%B1%E7%AB%AF%E5%8F%A3%E5%85%A5%E7%AB%99%E7%AD%96%E7%95%A5.png)
我遇到了一个奇怪的问题,但我知道这是由于我对 Azure 如何管理跨 VPS 的入站/出站规则的网络策略缺乏了解造成的。让我描述一下我的情况:
我有 2 个 VPS,一个用于 Gitlab,另一个用于 JIRA。在 Gitlab 中,我需要为我们的 git 服务器打开端口 10022,在 JIRA vps 中,我需要为 JIRA 本身打开端口 8080。
在每个 VPS 的每个网络接口部分,我为这些端口创建了适当的入站规则。然后,阅读了 Microsoft 在这方面的一些文档,我转到网络安全组 -> 子网,并将其与虚拟网络和子网关联。下图展示了其中一个 VPS 的情况。
如果我按“确定”,我就可以毫无问题地使用此 VPS 中的端口(10022),但 JIRA 在另一个 VPS 中不可用。然后我返回到其他 VPS -> 网络接口 -> 网络安全组 -> 子网,我注意到没有任何关联,我选择了我在上图中选择的相同虚拟网络和子网。然后 JIRA 可以工作,但是 gitlab VPS 上的端口 10022 不可用....从 gitlab 检查 VPS,我发现子网是空的。
看起来每个 VPS 都需要自己的子网和一套自己的入站/出站规则?或者我可以将一个虚拟网络的一个子网关联到多个 VPS 吗?这很令人困惑,如果能得到一些帮助就太好了,谢谢!
答案1
据我所知,您最好不要在您的场景中在子网上配置 NSG 规则。因为您的两个虚拟机位于同一个子网中,但需要打开不同的端口。您可以在虚拟机网络接口中配置 NSG 规则。
请参考此文章关于如何管理 NSG(将 NSG 关联到 NIC)
注意:NSG 可以关联到 VM 和子网。