TECHRUNBOOK · PRACTICAL GUIDE

Azure NSG Blocking Traffic: Troubleshooting Runbook

Diagnose Azure Network Security Group rules that block RDP, SSH, HTTPS or application traffic.

Practical RunbookTechnical Troubleshooting
Practical Runbook10 StepsIssues → Solutions → Recommendations
Have a question about this runbook?Post your issue to the TechRunbook Community and get help from other IT professionals.
Ask the Community →
!Issue

Diagnose Azure Network Security Group rules that block RDP, SSH, HTTPS or application traffic.

Solution

Start with Identify the blocked flow and work through the six diagnostic checks in order.

Recommendations

Record results before changing configuration and validate the original symptom after each controlled change.

TechRunbook approach: Test one dependency at a time, record the result and only then change the configuration.

Quick checks

Start with the basic checks in this runbook before moving to deeper troubleshooting.

  • Confirm the affected service or component is available.
  • Check recent configuration or connectivity changes.
  • Run the relevant commands and compare the result with the expected state.
01

Identify the blocked flow

Capture the source, destination, protocol and port for the failing connection before changing any security rule.

02

Check subnet and NIC NSGs

Review effective security rules from both the subnet and network interface because a matching rule at either level can affect the flow.

03

Use IP flow verify

Use Azure Network Watcher IP Flow Verify to identify whether Azure permits or denies the flow and which rule is responsible.

04

Check rule priority

Check whether a matching deny rule has a higher evaluation priority than the intended allow rule.

05

Check ASGs and service tags

Verify Application Security Groups and service tags reference the intended source and destination.

06

Retest the application path

Retest the same network path after the confirmed blocking rule is corrected.

07

Useful commands

Run these checks from an appropriate administrative session and replace example values with your environment.

IP Flow Verify

az network watcher test-ip-flow --resource-group <resource-group> --vm <vm-name> --direction Inbound --protocol TCP --local <private-ip>:<port> --remote <source-ip>:<source-port>

Effective NSGs

az network nic list-effective-nsg --resource-group <resource-group> --name <nic-name>
08

Quick troubleshooting path

Use this sequence to isolate the failing dependency before changing production configuration.

  1. Identify the blocked flow → Capture the source, destination, protocol and port for the failing connection before changing any security rule.
  2. Check subnet and NIC NSGs → Review effective security rules from both the subnet and network interface because a matching rule at either level can affect the flow.
  3. Use IP flow verify → Use Azure Network Watcher IP Flow Verify to identify whether Azure permits or denies the flow and which rule is responsible.
  4. Check rule priority → Check whether a matching deny rule has a higher evaluation priority than the intended allow rule.
  5. Check ASGs and service tags → Verify Application Security Groups and service tags reference the intended source and destination.
  6. Retest the application path → Retest the same network path after the confirmed blocking rule is corrected.
09

What good troubleshooting looks like

Good infrastructure troubleshooting is evidence-driven. Capture the original state, test the dependency that can prove or disprove your hypothesis, make the smallest safe change and repeat the original test.

Example workflow
Symptom → hypothesis → direct test → result → controlled change → validation → documentation
10

Frequently asked questions

What should I check first?

Start with the exact symptom and validate the dependency closest to the failure in this Azure runbook.

Should I change production configuration immediately?

No. Capture the current state first, test the suspected dependency and make one controlled change at a time.

How should I document the fix?

Record the symptom, commands used, result, configuration change and validation result so the procedure can be repeated.

+

Related TechRunbook guides

Was this runbook helpful?

↑ Top