Explanation:
In this scenario, the problem involves a Network Security Group (NSG) configuration that determines inbound traffic rules for a virtual machine. The NSG rules for VM2 are evaluated in order of priority, from the lowest number (highest priority) to the highest number (lowest priority).
According to the exhibit, the effective NSG inbound rules for VM2 are:
Priority
Name
Port
Protocol
Source
Destination
Action
100
Allow_131.107.100.50
443
TCP
131.107.100.50
VirtualNetwork
Allow
200
Block_All_Other_443
443
TCP
Any
Any
Deny
65000
AllowVNetInBound
Any
Any
VirtualNetwork
VirtualNetwork
Allow
65001
AllowAzureLoadBalancerInBound
Any
Any
AzureLoadBalancer
Any
Allow
65500
DenyAllInBound
Any
Any
Any
Any
Deny
Root Cause Analysis:
You discovered that connections to App1 from 131.107.100.50 over TCP port 443 fail, even though the Load Balancer and backend pool are configured correctly.
From the rules shown, rule 100 (Allow_131.107.100.50) should theoretically allow that specific IP to connect on port 443. However, note that the Destination for the rule is VirtualNetwork, meaning that the traffic from 131.107.100.50 must be within the same virtual network address space to be permitted.
Since 131.107.100.50 is a public IP address (external source) and not part of the Virtual Network (VNet) address space, the rule does not apply, and the connection fails.
Additionally, the next rule (200 - Block_All_Other_443) explicitly denies any other inbound traffic on TCP 443 from any source. Therefore, the inbound traffic from 131.107.100.50 is blocked.
Evaluation of the Proposed Solution:
The proposed solution suggests creating an inbound security rule:
''Allow any traffic from the AzureLoadBalancer source and set priority to 150.''
However, the existing NSG already includes a built-in rule (65001 - AllowAzureLoadBalancerInBound) that allows inbound traffic from the Azure Load Balancer. That means traffic originating from the Azure Load Balancer front-end is already allowed by default.
Since the failed connection is coming from an external client (131.107.100.50) --- not from the Load Balancer source itself --- adding another rule allowing AzureLoadBalancer traffic does not resolve the issue. The correct action would be to modify or create a new rule that:
Allows inbound traffic on port 443
From source 131.107.100.50
With destination = Any
Priority lower than 200 (i.e., higher precedence than the deny rule)
Verified Microsoft Azure Administrator Reference:
From Microsoft Docs -- Network security group overview and priority order:
''Azure processes the security rules in priority order, starting from the lowest number. Once a rule matches the traffic, processing stops. Lower-numbered priority rules override higher-numbered ones.''
''The built-in rule AllowAzureLoadBalancerInBound allows traffic from Azure Load Balancer but not from external public IPs directly accessing the virtual machine.''
Correct Resolution:
You need to create a new inbound rule allowing TCP 443 from 131.107.100.50 with Destination: Any, Priority: <200, for example:
Priority: 150
Source: IP address (131.107.100.50)
Destination: Any
Protocol: TCP
Port: 443
Action: Allow
This will ensure the traffic is allowed before the deny rule at 200 takes effect.
Final Verified Answe r:
B. No
The proposed rule allowing traffic from AzureLoadBalancer does not help, because traffic from 131.107.100.50 originates externally, not from the Load Balancer. You must instead create a rule that explicitly allows that IP on port 443 with a higher priority than the existing deny rule.