Route Tables & User-Defined Routes (UDR)

What it is

A route table is a collection of route entries that override Azure’s default system routes for a subnet. Routes you author are called user-defined routes (UDRs), and they let you force traffic through an appliance (Azure Firewall or a network virtual appliance/NVA) instead of Azure’s implicit paths.

Why it exists

Azure chooses the next hop for traffic automatically (0.0.0.0/0 → internet, VNet-local → local, peered/on-premises → as configured). Admins often need to steer or inspect traffic (send all egress through a firewall, route between spokes through a hub), so UDRs override the default next hops.

Key ideas

  • Route table is a regional object associated with one or more subnets; a route table does nothing until associated with a subnet.
  • Each route: address prefix + next hop type (VirtualNetwork, VNet peering, Internet, VirtualAppliance, VirtualNetworkGateway, None — drop).
  • Route precedence (lowest-priority wins): UDR > BGP (bgp) route > default system routes, and longest prefix match is always applied first.
  • Local VNet traffic can’t be forced to an NVA unless you use 0.0.0.0/0 or the appliance (same-tier) pattern carefully; forcing through via UDR is the “service chaining” technique used with peering.
  • Used to implement hub-and-spoke and forced tunneling topologies.

How it fits

route-table - Microsoft diagram

Diagrams courtesy of Microsoft Learn / Azure docs: virtual-network/virtual-networks-udr-overview

Customer VM (snet-app) ──► route table UDR: 0.0.0.0/0 next hop Azure Firewall


                              Azure Firewall (inspect/filter)

                                   to internet

Exam notes

  • System routes are created automatically; you see them in the Effective routes tab of a NIC.
  • Longest-prefix-match overrides everything: a more-specific UDR beats a broader system route.
  • UDR precedence: user-defined > BGP > system (for same prefix).
  • Deleting a subnet deletes its associated route-table association but not the table itself; deletion order matters.
  • Can’t see on-premises routes in a VNet unless connected via gateway/BGP.

Home · subnet · vnet · bgp · azure-firewall · vnet-peering · network-watcher

📘 Source: Microsoft Learn — Route Table