{"id":21480,"date":"2019-03-08T07:26:42","date_gmt":"2019-03-08T07:26:42","guid":{"rendered":"https:\/\/aidanfinn.com\/?p=21480"},"modified":"2019-03-08T11:11:55","modified_gmt":"2019-03-08T11:11:55","slug":"how-to-troubleshoot-azure-routing","status":"publish","type":"post","link":"https:\/\/aidanfinn.com\/?p=21480","title":{"rendered":"How to Troubleshoot Azure Routing?"},"content":{"rendered":"<p>This post will explain how routing works in Microsoft Azure, and how to troubleshoot your routing issues with Route Tables, BGP, and User-Defined Routes in your virtual network (VNet) subnets and virtual (firewall) appliances\/Azure Firewall.<\/p>\n<h2>Software-Defined Networking<\/h2>\n<p>Right now, you need to forget VLANs, and how routers, bridges, routing switches, and all that crap works in the physical network. Some theory is good, but the practice \u2026 that dies here.<\/p>\n<p>Azure networking is software-defined (VXLAN). When a VM sends a packet out to the network, the Azure Fabric takes over as soon as the packet hits the virtual NIC. That same concept extends to any virtual network-capable Azure service. From your point of view, a memory copy happens from source NIC to destination NIC. Yes; under the covers there is an Azure backbone with a \u201cmore physical\u201d implementation but that is irrelevant because you have no influence over it.<\/p>\n<p>So always keep this in mind: network transport in Azure is basically a memory copy. We can, however, influence the routing of that memory copy by adding hops to it.<\/p>\n<h2>Understand the Basics<\/h2>\n<p>When you create a VNet, it will have 1 or more subnets. By default, each subnet will have system routes. The first ones are simple, and I\u2019ll make it even more simple:<\/p>\n<ul>\n<li>Route directly via the default gateway to the destination if it\u2019s in the same supernet, e.g. 10.0.0.0\/8<\/li>\n<li>Route directly to Internet if it\u2019s in 0.0.0.0\/0<\/li>\n<\/ul>\n<p>By the way, the only way to see system routes is to open a NIC in the subnet, and click Effective Routes under Support &amp; Troubleshooting. I have asked that this is revealed in a subnet \u2013 not all VNet-connected services have NICs!<\/p>\n<p>And also, by the way, you cannot ping the subnet default gateway because it is not an appliance; it is a software-defined function that is there to keep the guest OS sane \u2026 and probably for us too \ud83d\ude0a<\/p>\n<p>When you peer a VNet with another VNet, you do a few things, including:<\/p>\n<ul>\n<li>Instructing VXLAN to extend the plumbing of between the peered VNets<\/li>\n<li>Extending the \u201cVirtualNetwork\u201d NSG rule security tag to include the peered neighbour<\/li>\n<li>Create a new system route for peering.<\/li>\n<\/ul>\n<p>The result is that VMs in VNet1 will send packets directly to VMs in VNet2 as if they were in the same VNet.<\/p>\n<p>When you create a VNet gateway (let\u2019s leave BGP for later) and create a load network connection, you create another (set of) system routes for the virtual network gateway. The local address space(s) will be added as destinations that are tunnelled via the gateway. The result is that packets to\/from the on-prem network will route directly through the gateway \u2026 even across a peered connection if you have set up the hub\/spoke peering connections correctly.<\/p>\n<p>Let\u2019s add BGP to the mix. If I enable ExpressRoute or a BGP-VPN, then my on-prem network will advertise routes to my gateway. These routes will be added to my existing subnets in the gateway\u2019s VNet. The result is that the VNet is told to route to those advertised destinations via the gateway (VPN or ExpressRoute).<\/p>\n<p>If I have peered the gateway\u2019s VNet with other VNets, the default behaviour is that the BGP routes will propagate out. That means that the peered VNets learn about the on-premises destinations that have been advertised to the gateway, and thus know to route to those destinations via the gateway.<\/p>\n<p>And let\u2019s stop there for a moment.<\/p>\n<h2>Route Priority<\/h2>\n<p>We now have 2 kinds of route in play \u2013 there will be a third. Let\u2019s say there is a system route for 172.16.0.0\/16 that routes to virtual network. In other words, just \u201cfind the destination in this VNet\u201d. Now, let\u2019s say BGP advertises a route from on-premises through the gateway that is also for 172.16.0.0\/16.<\/p>\n<p>We have two routes for the 172.16.0.0\/16 destination:<\/p>\n<ul>\n<li>System<\/li>\n<li>BGP<\/li>\n<\/ul>\n<p>Azure looks at routes that clash like above and deactivates one of them. Azure always ranks BGP above System. So, in our case, the System route for 172.16.0.0\/16 will be deactivated and no longer used. The BGP route for 172.16.0.0\/16 via the VNet gateway will remain active and will be used.<\/p>\n<h2>Specificity<\/h2>\n<p>Try saying that word 5 times in a row after 5 drinks!<\/p>\n<p>The most specific route will be chosen. In other words, the route with the best match for your destination is selected by the Azure fabric. Let\u2019s say that I have two active routes:<\/p>\n<ol>\n<li>16.0.0\/16 via X<\/li>\n<li>16.1.0\/24 via Y<\/li>\n<\/ol>\n<p>Now, let\u2019s say that I want to send a packet to 172.16.1.4. Which route will be chosen? Route A is a 16 bit match (172.16.*.*). Route B is a 24 bit match (172.16.1.*). Route B is a closer match so it is chosen.<\/p>\n<p>Now add a scenario where you want to send a packet to 172.16.2.4. At this point, the only match is Route A. Route B is not a match at all.<\/p>\n<p>This helps explain an interesting thing that can happen in Azure routing. If you create a generic rule for the 0.0.0.0\/0 destination it will only impact routing to destinations <em>outside<\/em> of the virtual network \u2013 assuming you are using the private address spaces in your VNet. The subnets have system routes for the 3 private address spaces which will be more specific than 0.0.0.0:<\/p>\n<ol>\n<li>168.0.0\/16<\/li>\n<li>16.0.0\/12<\/li>\n<li>0.0.0\/8<\/li>\n<li>0.0.0\/0<\/li>\n<\/ol>\n<p>If your VNet address space is 10.1.0.0\/16 and you are trying to send a packet from subnet 1 (10.1.1.0\/24) to subnet 2 (10.1.2.0\/24), then the generic Route D will always be less specific than the system route, Route C.<\/p>\n<h2>Route Tables<\/h2>\n<p>A route table resource allows us to manage the routing of a subnet. Good practice is that if you need to manage routing then:<\/p>\n<ul>\n<li>Create a route table for the subnet<\/li>\n<li>Name the route table after the VNet\/subnet<\/li>\n<li>Only use a route table with 1 subnet<\/li>\n<\/ul>\n<p>The first thing to know about route tables is that you can control BGP propagation with them. This is especially useful when:<\/p>\n<ul>\n<li>You have peered virtual networks using a hub gateway<\/li>\n<li>You want to control how packets get to that gateway and the destination.<\/li>\n<\/ul>\n<p>The default is that BGP propagation is allowed over a peering connection to the spoke. In the route table (Settings &gt; Configuration) you can disable this propagation so the BGP routes are never copied from the hub network (with the VNet gateway) to the peered spoke VNet\u2019s subnets.<\/p>\n<p>The second thing about route tables is that they allow us to create user-defined routes (UDRs).<\/p>\n<h2>User-Defined Routes<\/h2>\n<p>You can control the flow of packets using user-defined routes. Note that UDRs outrank BGP routes and System Routes:<\/p>\n<ol>\n<li>UDR<\/li>\n<li>BGP routes<\/li>\n<li>System routes<\/li>\n<\/ol>\n<p>If I have a system or BGO route to get to 192.168.1.0\/24 via some unwanted path, I can add a UDR to 192.168.1.0\/24 via the desired path. If the two routes are identical destination matches, then my UDR will be active and the BGP\/system route will be deactivated.<\/p>\n<h2>Troubleshooting Tools<\/h2>\n<p>The traditional tool you might have used is TRACERT. I\u2019m sorry, it has some use, but it\u2019s really not much more than PING. In the software defined world, the default gateway isn\u2019t a device with a hop, the peering connection doesn\u2019t have a hop, and TRACERT is not as useful as it would have been on-premises.<\/p>\n<p>The first thing you need is the above knowledge. That really helps with everything else.<\/p>\n<p>Next, make sure your NSGs aren\u2019t the problem, not your routing!<\/p>\n<p>Next is the NIC, if you are dealing with virtual machines. Go to Effective Routes and look at what is listed, what is active and what is not.<\/p>\n<p>Network Watcher has a couple of tools you should also look at:<\/p>\n<ul>\n<li><strong>Next Hop<\/strong>: This is a pretty simple tool that tells you the next \u201cappliance\u201d that will process packets on the journey to your destination, based on the actual routing discovered.<\/li>\n<li><strong>Connection Troubleshoot<\/strong>: You can send a packet from a source (VM NIC or Application Gateway) to a certain destination. The results will map the path taken and the result.<\/li>\n<\/ul>\n<p>The tools won\u2019t tell you why a routing plan failed, but with the above information, you can troubleshoot a (desired) network path.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This post will explain how routing works in Microsoft Azure, and how to troubleshoot your routing issues with Route Tables, BGP, and User-Defined Routes in your virtual network (VNet) subnets and virtual (firewall) appliances\/Azure Firewall. Software-Defined Networking Right now, you need to forget VLANs, and how routers, bridges, routing switches, and all that crap works &hellip; <a href=\"https:\/\/aidanfinn.com\/?p=21480\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;How to Troubleshoot Azure Routing?&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":18983,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[5],"tags":[330,170,328,242,320,307,253,305,325,324,319,329,327,326,289,281],"class_list":["post-21480","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure","tag-appliance","tag-azure","tag-bgp","tag-firewall","tag-network-security-group","tag-network-virtual-appliance","tag-nsg","tag-nva","tag-route-table","tag-routing","tag-subnet","tag-system-route","tag-udr","tag-user-defined-routing","tag-virtual-network","tag-vnet"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.9 - aioseo.com -->\n\t<meta name=\"description\" content=\"This post will explain how routing works in Microsoft Azure, and how to troubleshoot your routing issues with Route Tables, BGP, and User-Defined Routes.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"AFinn\"\/>\n\t<meta name=\"google-site-verification\" content=\"TDKjbi2McB2eLIfL6KwPB3aQqv5E-mbcb2QYIcovGaI\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/aidanfinn.com\/?p=21480\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.9\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_GB\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Aidan Finn, IT Pro - A blog covering Azure, Hyper-V, Windows Server, desktop, systems management, deployment, and so on ...\" \/>\n\t\t<meta property=\"og:type\" content=\"activity\" \/>\n\t\t<meta property=\"og:title\" content=\"How to Troubleshoot Azure Routing? | Aidan Finn, IT Pro\" \/>\n\t\t<meta property=\"og:description\" content=\"This post will explain how routing works in Microsoft Azure, and how to troubleshoot your routing issues with Route Tables, BGP, and User-Defined Routes.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/aidanfinn.com\/?p=21480\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@joe_elway\" \/>\n\t\t<meta name=\"twitter:title\" content=\"How to Troubleshoot Azure Routing? | Aidan Finn, IT Pro\" \/>\n\t\t<meta name=\"twitter:description\" content=\"This post will explain how routing works in Microsoft Azure, and how to troubleshoot your routing issues with Route Tables, BGP, and User-Defined Routes.\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@joe_elway\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?p=21480#article\",\"name\":\"How to Troubleshoot Azure Routing? | Aidan Finn, IT Pro\",\"headline\":\"How to Troubleshoot Azure Routing?\",\"author\":{\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?author=1#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/aidanfinn.com\\\/wp-content\\\/uploads\\\/2015\\\/09\\\/73014722_47abcbcc7f_z_d1.jpg\",\"width\":640,\"height\":427,\"caption\":\"[Image credit: Bruno Girin, https:\\\/\\\/www.flickr.com\\\/photos\\\/brunogirin\\\/]\"},\"datePublished\":\"2019-03-08T07:26:42+00:00\",\"dateModified\":\"2019-03-08T11:11:55+00:00\",\"inLanguage\":\"en-GB\",\"commentCount\":11,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?p=21480#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?p=21480#webpage\"},\"articleSection\":\"Azure, Appliance, Azure, BGP, Firewall, Network Security Group, Network Virtual Appliance, NSG, NVA, Route Table, Routing, Subnet, System Route, UDR, User-Defined Routing, Virtual Network, VNet\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?p=21480#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/aidanfinn.com#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/aidanfinn.com\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?cat=5#listItem\",\"name\":\"Azure\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?cat=5#listItem\",\"position\":2,\"name\":\"Azure\",\"item\":\"https:\\\/\\\/aidanfinn.com\\\/?cat=5\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?p=21480#listItem\",\"name\":\"How to Troubleshoot Azure Routing?\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/aidanfinn.com#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?p=21480#listItem\",\"position\":3,\"name\":\"How to Troubleshoot Azure Routing?\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?cat=5#listItem\",\"name\":\"Azure\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/#person\",\"name\":\"AFinn\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?p=21480#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/65fde4aa9f2ab1cf1514ae320a37ec682d9398ce5791d3c2dd1e8670a71ceea0?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"AFinn\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?author=1#author\",\"url\":\"https:\\\/\\\/aidanfinn.com\\\/?author=1\",\"name\":\"AFinn\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?p=21480#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/65fde4aa9f2ab1cf1514ae320a37ec682d9398ce5791d3c2dd1e8670a71ceea0?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"AFinn\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?p=21480#webpage\",\"url\":\"https:\\\/\\\/aidanfinn.com\\\/?p=21480\",\"name\":\"How to Troubleshoot Azure Routing? | Aidan Finn, IT Pro\",\"description\":\"This post will explain how routing works in Microsoft Azure, and how to troubleshoot your routing issues with Route Tables, BGP, and User-Defined Routes.\",\"inLanguage\":\"en-GB\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?p=21480#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?author=1#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?author=1#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/aidanfinn.com\\\/wp-content\\\/uploads\\\/2015\\\/09\\\/73014722_47abcbcc7f_z_d1.jpg\",\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?p=21480\\\/#mainImage\",\"width\":640,\"height\":427,\"caption\":\"[Image credit: Bruno Girin, https:\\\/\\\/www.flickr.com\\\/photos\\\/brunogirin\\\/]\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/?p=21480#mainImage\"},\"datePublished\":\"2019-03-08T07:26:42+00:00\",\"dateModified\":\"2019-03-08T11:11:55+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/#website\",\"url\":\"https:\\\/\\\/aidanfinn.com\\\/\",\"name\":\"Aidan Finn, IT Pro\",\"description\":\"A blog covering Azure, Hyper-V, Windows Server, desktop, systems management, deployment, and so on ...\",\"inLanguage\":\"en-GB\",\"publisher\":{\"@id\":\"https:\\\/\\\/aidanfinn.com\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"How to Troubleshoot Azure Routing? | Aidan Finn, IT Pro","description":"This post will explain how routing works in Microsoft Azure, and how to troubleshoot your routing issues with Route Tables, BGP, and User-Defined Routes.","canonical_url":"https:\/\/aidanfinn.com\/?p=21480","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"TDKjbi2McB2eLIfL6KwPB3aQqv5E-mbcb2QYIcovGaI","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/aidanfinn.com\/?p=21480#article","name":"How to Troubleshoot Azure Routing? | Aidan Finn, IT Pro","headline":"How to Troubleshoot Azure Routing?","author":{"@id":"https:\/\/aidanfinn.com\/?author=1#author"},"publisher":{"@id":"https:\/\/aidanfinn.com\/#person"},"image":{"@type":"ImageObject","url":"https:\/\/aidanfinn.com\/wp-content\/uploads\/2015\/09\/73014722_47abcbcc7f_z_d1.jpg","width":640,"height":427,"caption":"[Image credit: Bruno Girin, https:\/\/www.flickr.com\/photos\/brunogirin\/]"},"datePublished":"2019-03-08T07:26:42+00:00","dateModified":"2019-03-08T11:11:55+00:00","inLanguage":"en-GB","commentCount":11,"mainEntityOfPage":{"@id":"https:\/\/aidanfinn.com\/?p=21480#webpage"},"isPartOf":{"@id":"https:\/\/aidanfinn.com\/?p=21480#webpage"},"articleSection":"Azure, Appliance, Azure, BGP, Firewall, Network Security Group, Network Virtual Appliance, NSG, NVA, Route Table, Routing, Subnet, System Route, UDR, User-Defined Routing, Virtual Network, VNet"},{"@type":"BreadcrumbList","@id":"https:\/\/aidanfinn.com\/?p=21480#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/aidanfinn.com#listItem","position":1,"name":"Home","item":"https:\/\/aidanfinn.com","nextItem":{"@type":"ListItem","@id":"https:\/\/aidanfinn.com\/?cat=5#listItem","name":"Azure"}},{"@type":"ListItem","@id":"https:\/\/aidanfinn.com\/?cat=5#listItem","position":2,"name":"Azure","item":"https:\/\/aidanfinn.com\/?cat=5","nextItem":{"@type":"ListItem","@id":"https:\/\/aidanfinn.com\/?p=21480#listItem","name":"How to Troubleshoot Azure Routing?"},"previousItem":{"@type":"ListItem","@id":"https:\/\/aidanfinn.com#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/aidanfinn.com\/?p=21480#listItem","position":3,"name":"How to Troubleshoot Azure Routing?","previousItem":{"@type":"ListItem","@id":"https:\/\/aidanfinn.com\/?cat=5#listItem","name":"Azure"}}]},{"@type":"Person","@id":"https:\/\/aidanfinn.com\/#person","name":"AFinn","image":{"@type":"ImageObject","@id":"https:\/\/aidanfinn.com\/?p=21480#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/65fde4aa9f2ab1cf1514ae320a37ec682d9398ce5791d3c2dd1e8670a71ceea0?s=96&d=mm&r=g","width":96,"height":96,"caption":"AFinn"}},{"@type":"Person","@id":"https:\/\/aidanfinn.com\/?author=1#author","url":"https:\/\/aidanfinn.com\/?author=1","name":"AFinn","image":{"@type":"ImageObject","@id":"https:\/\/aidanfinn.com\/?p=21480#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/65fde4aa9f2ab1cf1514ae320a37ec682d9398ce5791d3c2dd1e8670a71ceea0?s=96&d=mm&r=g","width":96,"height":96,"caption":"AFinn"}},{"@type":"WebPage","@id":"https:\/\/aidanfinn.com\/?p=21480#webpage","url":"https:\/\/aidanfinn.com\/?p=21480","name":"How to Troubleshoot Azure Routing? | Aidan Finn, IT Pro","description":"This post will explain how routing works in Microsoft Azure, and how to troubleshoot your routing issues with Route Tables, BGP, and User-Defined Routes.","inLanguage":"en-GB","isPartOf":{"@id":"https:\/\/aidanfinn.com\/#website"},"breadcrumb":{"@id":"https:\/\/aidanfinn.com\/?p=21480#breadcrumblist"},"author":{"@id":"https:\/\/aidanfinn.com\/?author=1#author"},"creator":{"@id":"https:\/\/aidanfinn.com\/?author=1#author"},"image":{"@type":"ImageObject","url":"https:\/\/aidanfinn.com\/wp-content\/uploads\/2015\/09\/73014722_47abcbcc7f_z_d1.jpg","@id":"https:\/\/aidanfinn.com\/?p=21480\/#mainImage","width":640,"height":427,"caption":"[Image credit: Bruno Girin, https:\/\/www.flickr.com\/photos\/brunogirin\/]"},"primaryImageOfPage":{"@id":"https:\/\/aidanfinn.com\/?p=21480#mainImage"},"datePublished":"2019-03-08T07:26:42+00:00","dateModified":"2019-03-08T11:11:55+00:00"},{"@type":"WebSite","@id":"https:\/\/aidanfinn.com\/#website","url":"https:\/\/aidanfinn.com\/","name":"Aidan Finn, IT Pro","description":"A blog covering Azure, Hyper-V, Windows Server, desktop, systems management, deployment, and so on ...","inLanguage":"en-GB","publisher":{"@id":"https:\/\/aidanfinn.com\/#person"}}]},"og:locale":"en_GB","og:site_name":"Aidan Finn, IT Pro - A blog covering Azure, Hyper-V, Windows Server, desktop, systems management, deployment, and so on ...","og:type":"activity","og:title":"How to Troubleshoot Azure Routing? | Aidan Finn, IT Pro","og:description":"This post will explain how routing works in Microsoft Azure, and how to troubleshoot your routing issues with Route Tables, BGP, and User-Defined Routes.","og:url":"https:\/\/aidanfinn.com\/?p=21480","twitter:card":"summary","twitter:site":"@joe_elway","twitter:title":"How to Troubleshoot Azure Routing? | Aidan Finn, IT Pro","twitter:description":"This post will explain how routing works in Microsoft Azure, and how to troubleshoot your routing issues with Route Tables, BGP, and User-Defined Routes.","twitter:creator":"@joe_elway"},"aioseo_meta_data":{"post_id":"21480","title":"How to Troubleshoot Azure Routing? | #site_title","description":"This post will explain how routing works in Microsoft Azure, and how to troubleshoot your routing issues with Route Tables, BGP, and User-Defined Routes.","keywords":[{"label":"Azure","value":"Azure"},{"label":"Routing","value":"Routing"},{"label":"Route Table","value":"Route Table"},{"label":"User-Defined Routing","value":"User-Defined Routing"},{"label":"UDR","value":"UDR"},{"label":"Virtual Network","value":"Virtual Network"},{"label":"VNet","value":"VNet"},{"label":"Subnet","value":"Subnet"},{"label":"BGP","value":"BGP"},{"label":"System Route","value":"System Route"},{"label":"Network Security Group","value":"Network Security Group"},{"label":"NSG","value":"NSG"},{"label":"Firewall","value":"Firewall"},{"label":"NVA","value":"NVA"},{"label":"Appliance","value":"Appliance"},{"label":"Network Virtual Appliance","value":"Network Virtual Appliance"}],"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":"","og_description":"","og_object_type":"activity","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":"","og_article_tags":"","twitter_use_og":false,"twitter_card":"summary","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2020-12-21 03:53:23","updated":"2025-06-04 17:26:01","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/aidanfinn.com\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/aidanfinn.com\/?cat=5\" title=\"Azure\">Azure<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tHow to Troubleshoot Azure Routing?\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/aidanfinn.com"},{"label":"Azure","link":"https:\/\/aidanfinn.com\/?cat=5"},{"label":"How to Troubleshoot Azure Routing?","link":"https:\/\/aidanfinn.com\/?p=21480"}],"jetpack_featured_media_url":"https:\/\/aidanfinn.com\/wp-content\/uploads\/2015\/09\/73014722_47abcbcc7f_z_d1.jpg","amp_enabled":true,"_links":{"self":[{"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/posts\/21480","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=21480"}],"version-history":[{"count":3,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/posts\/21480\/revisions"}],"predecessor-version":[{"id":21483,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/posts\/21480\/revisions\/21483"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/media\/18983"}],"wp:attachment":[{"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=21480"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=21480"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=21480"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}