Quick checklist (summary)
- Effective routes (per NIC)
- Network Watcher diagnostics
- User-defined routes (UDRs)
- Route table associations
- Asymmetric routing (and IP forwarding)
- Gateway / NVA health
- NSGs, Azure Firewall, and appliance rules
1. Check effective routes
Start by examining the effective routes for the VM’s network interface (or the VM itself). In the Azure portal: VM → Networking → Network interface → Effective routes. This view shows the exact routes Azure is using for outbound traffic from that NIC. Look for:- Missing routes for expected prefixes
- Unexpected next hops or metrics
- UDRs that override system routes
2. Use Azure Network Watcher
Network Watcher gives targeted diagnostics to visualize and simulate traffic flows:- IP Flow Verify — checks whether traffic is allowed/blocked by NSGs and returns the evaluated flow.
- Next Hop — shows the next hop Azure will use between two points.
- Connection Troubleshoot / Connectivity Check — simulates a connection and helps locate path breaks.
Network Watcher’s IP Flow Verify, Next Hop, and Connection Troubleshoot often pinpoint the misconfiguration quickly — use them early in your investigation.
3. Review user-defined routes (UDRs)
UDRs override Azure’s system routes when their prefixes match. Validate each custom route:- Route prefix — is it correct and not overly broad?
- Next hop type — VirtualAppliance, VirtualNetworkGateway, Internet, VirtualNetwork, VnetLocal, None, etc.
- Next hop IP — is the IP reachable and correct for the intended appliance?
| Next Hop Type | Use Case | Example / Notes |
|---|---|---|
| VirtualAppliance | Send traffic to a firewall or NVA | Next hop IP should be the NVA’s NIC IP |
| VirtualNetworkGateway | Route to VPN or ExpressRoute gateway | Used for on-premises connectivity |
| Internet | Send to internet | Used to force internet-bound traffic out |
| VirtualNetwork / VnetLocal | Local network routes | For intra-VNet routing |
| None | Drop traffic | Explicitly drop matched traffic |
4. Confirm route table associations
A route table only affects subnets it’s associated with. Verify:- Each subnet is associated with the intended route table.
- There are no accidental associations (a route table attached to the wrong subnet will cause unexpected routing).
- If a subnet has no associated route table, Azure uses built-in system routes.
5. Watch for asymmetric routing
Asymmetric routing occurs when outbound and return packets take different paths. This can break stateful devices (firewalls, NATs) and cause connection failures. If you’re steering traffic through a firewall or NVA:- Ensure both directions can traverse the device.
- Confirm the return path will route via the same appliance when required.
- Check health probes and routing on hub/spoke topologies that rely on a central forwarder.
If a traffic-forwarding VM/NVA is in the path, ensure IP forwarding is enabled on the NIC and the VM OS. Also verify security rules allow the forwarded traffic. Disabled IP forwarding or asymmetric routes are frequent causes of dropped packets.
6. Verify gateways and NVAs
Check the health and availability of any gateways (VPN Gateway, ExpressRoute gateway) and NVAs. If the hub appliance or gateway is down, traffic will be dropped. For a VM acting as a forwarder:- Confirm the VM is running and reachable.
- Enable OS-level IP forwarding.
- Enable IP forwarding on the VM’s network interface (Azure portal → NIC → IP forwarding).
- Verify NSGs and host firewall rules on both the NIC and the VM.
7. Double-check network security groups and other controls
NSGs, Azure Firewall, and appliance-level firewall rules can block expected traffic even if routing is correct. Validate:- NSG inbound/outbound rules on NICs and subnets.
- Azure Firewall policies and application rules.
- Appliance NAT or application-level filtering (user-defined NAT/SNAT/DNAT) — make sure these rules match your routing plan.
Troubleshooting tools and where to use them
| Problem area | Tool/Action |
|---|---|
| Verify what Azure route is applied | Effective routes (portal) |
| Determine evaluated security rules | IP Flow Verify (Network Watcher) |
| Find Azure next hop | Next Hop (Network Watcher) |
| Simulate a full connection path | Connection Troubleshoot / Connectivity Check |
| Check NIC forwarding setting | NIC Networking blade (Azure portal) |
| OS-level forwarding | sysctl, firewall-cmd/iptables, or Windows registry |
Summary — ordered approach
- Inspect effective routes for the VM/NIC.
- Run Network Watcher diagnostics (IP Flow Verify, Next Hop, Connectivity Check).
- Validate UDRs: prefixes, next hop type, and next hop IP.
- Confirm route table to subnet associations.
- Check for asymmetric routing and IP forwarding on NVAs.
- Verify gateway / NVA health and availability.
- Re-check NSGs, Azure Firewall, and appliance-level rules.
