将 NSG 添加到应用程序网关子网

Posted

技术标签:

【中文标题】将 NSG 添加到应用程序网关子网【英文标题】:Add NSG to Application Gateway Subnet 【发布时间】:2019-04-30 03:34:39 【问题描述】:

我的要求很简单。我需要将 NSG 关联到包含我的应用程序网关的子网。

一旦我将 NSG 关联到此子网,我就会收到连接超时错误。

根据 Microsoft 的文档,我为端口范围 65503-65534 添加了例外。

来自https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-faq

应用程序网关子网支持网络安全组 (NSG),但有以下限制:

对于应用程序网关 v1 SKU 的端口 65503-65534 和 v2 SKU 的端口 65200 - 65535 上的传入流量,必须设置例外。 Azure 基础结构通信需要此端口范围。它们受 Azure 证书的保护(锁定)。如果没有适当的证书,包括这些网关的客户在内的外部实体将无法在这些端点上发起任何更改。

无法阻止出站互联网连接。

必须允许来自 AzureLoadBalancer 标记的流量。

我错过了什么吗?任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

这是一个适用于我的示例 nsg 应用程序网关排除规则:

    
        "apiVersion": "2017-06-01",
        "name": "NameGoesHere",
        "type": "Microsoft.Network/networkSecurityGroups/securityRules",
        "location": "[resourceGroup().location]",
        "properties": 
            "description": "This rule is needed for application gateway probes to work",
            "protocol": "*",
            "destinationAddressPrefix": "*",
            "sourcePortRange": "*",
            "destinationPortRange": "65503-65534",
            "sourceAddressPrefix": "*",
            "access": "Allow",
            "priority": "literally any priority",
            "direction": "Inbound"
        
    

尝试将带有此规则的 nsg 添加到应用程序网关子网,它会起作用。此外,请确保您没有使用 NSG 明确阻止从应用程序网关到后端的访问。

【讨论】:

我手动做了同样的瘦。我已经允许提到的端口范围。我没有应用其他规则。 我不确定发生了什么。我从 NSG 中分离并关联了子网。它正在工作。【参考方案2】:

要将 NSG 关联到包含应用程序网关的子网,请允许来自

的流量
    从源:“GatewayManager”,端口:Any 到目标:“GatewayManager”服务标签,目标端口:65503-65534 必须允许来自 AzureLoadBalancer 标记且目标子网为 Any 的流量。

还有,

    无法阻止出站 Internet 连接

参考:https://docs.microsoft.com/en-us/azure/application-gateway/configuration-infrastructure#network-security-groups

【讨论】:

以上是关于将 NSG 添加到应用程序网关子网的主要内容,如果未能解决你的问题,请参考以下文章

获取 NSG 列表和对应的子网或网卡

默认情况下在新子网上应用 NSG/ASG (Azure)

在子网级别应用的 Azure NSG 是不是会影响该子网上的 VM 之间的通信?

Azure网络安全组NSG

NSG 是不是适用于子网的服务端点

BICEP 模块部署虚拟网络,但不是基于 if 语句的 NSG