Cloud networking labs
Static routes, BGP, OSPF, and IS-IS, plus Azure VNets, peering, and the routes that did not do what I assumed.
2 Nov 2026 · Not a shipped product
This is study, in progress. I am not running anyone's network. I am trying to stop being surprised by routing.
Problem
I can use a cloud network as a customer of the portal. I could not explain, from the packet's point of view, why two VNets did not talk, or why a BGP session could be up while the prefix I cared about was missing. The labs exist to make those failures cheap and repeatable.
Architecture
Azure networking plus the routing protocols I am learning.
01
VNets
Address space, subnets, and the routes I think I configured.
02
Peering
Spoke to hub works. Spoke to spoke does not, until I stop assuming peering is transitive.
03
Static routes and UDRs
Useful, and happy to disagree with BGP.
04
BGP, OSPF, IS-IS
Session up is not the same as the prefix being accepted. Areas and levels have to match.
What I built
Azure labs around VNets, subnets, peering, and user-defined routes. Alongside that, routing labs for static routes, BGP, OSPF, and IS-IS. I draw the path I think exists, then I check the path the control plane actually installed.
ExpressRoute is on the learning list as the way a VNet meets a network outside Azure. I am not going to describe a circuit I do not have.
What broke
Peering is not transitive. Spoke to hub worked. Spoke to spoke did not, and I had assumed it would. The fix was to stop assuming, and to put the path in a route I could point at.
A BGP session came up and the routes I wanted stayed out. The session is not the table. A route map was filtering the prefixes. I had celebrated too early.
UDRs and BGP disagreed, and the path became asymmetric. Packets left on one route and the replies did not take the reverse. I now draw both directions before I call a lab done.
OSPF adjacencies stayed down on an area mismatch. IS-IS did the same kind of thing when the levels did not match. The protocol was "configured." The neighbourship was not.
Lessons
Draw both directions. Session up is not prefixes in. Peering has a scope, and the scope is smaller than the diagram I wanted. I would rather fail these in a lab than meet them for the first time on a call.