Advanced · Review · 32 of 32

Review: firewall, DNS and Bastion

Problem

vm-spoke1 can't reach vm-spoke2, can't resolve stlogs01 privately, and Bastion can't reach it.

Your job
  • Get vm-spoke1 reaching vm-spoke2 on 443 through azfw-hub
  • Make stlogs01.blob.core.windows.net resolve to 10.0.3.4 from vm-spoke1
  • Get bas-hub reaching vm-spoke1 on 22
Without breaking
  • Keep SSH between the spokes blockedbroken
Background

Three complaints arrived at once, all about vnet-spoke1. vm-spoke1 can't reach the API on vm-spoke2 through azfw-hub. It can't resolve stlogs01 to its private endpoint through the company DNS server dns-hub. And admins can't get to vm-spoke1 through Bastion bas-hub. SSH between the spokes stays blocked.

How to work it
  1. 1See it fail

    Prove the problem yourself before you change anything. Reports are often wrong.

    VM commands forVMs
    1. ssh vm-spoke1
      What's this?

      Opens a shell on vm-spoke1, so the next commands run on that VM. In this lab it's a shortcut. In real Azure you'd connect through something like Azure Bastion, or SSH to an address you can reach.

    2. nc -zv 10.2.1.4 443
      What's this?

      netcat, a standard Linux tool. Tries to open a TCP connection and reports whether it worked.

      • -z only check whether the port answers. Send no data
      • -v print the result in words
      • 10.2.1.4 where to connect
      • 443 the port to try

    Ticks off when the test runs on vm-spoke1.

  2. 2Find where it stops
  3. 3Name the cause
  4. 4Fix it and test again
Sources on Microsoft Learn (3)
0/3 changes
Network map
?
  • Resource group, the outer dashed frame
  • Virtual network, with its address space top right
  • Subnet, with range and usable IPs (5 reserved)
  • Network security group. A small shield on a VM's NIC means the NIC has one too
  • Route table on the subnet
  • NICVM Appliance Private endpoint
  • Peering Connected Initiated or access off
  • Goal working Goal broken, X marks where it stops
  • Private DNS zone, dotted lines go to linked VNets
  • Orange pulse: what your last command changed. Drag to pan, Ctrl and scroll to zoom.
Resource grouprg-labvnet-spoke1: tap to inspectVirtual networkvnet-spoke110.1.0.0/16subnet-app: tap to inspectsubnet-app10.1.1.0/24 · 251 usablert-spoke1nsg-spoke1vm-spoke1 10.1.1.4: tap to inspectNICvm-spoke110.1.1.4vnet-hub: tap to inspectVirtual networkvnet-hub10.0.0.0/16AzureFirewallSubnet: tap to inspectAzureFirewallSubnet10.0.1.0/26 · 59 usableazfw-hub 10.0.1.4: tap to inspectFWazfw-hub10.0.1.4subnet-pe: tap to inspectsubnet-pe10.0.3.0/24 · 251 usablepe-stlogs01 10.0.3.4: tap to inspectpe-stlogs0110.0.3.4subnet-dns: tap to inspectsubnet-dns10.0.4.0/24 · 251 usabledns-hub 10.0.4.4: tap to inspectNICdns-hub10.0.4.4AzureBastionSubnet: tap to inspectAzureBastionSubnet10.0.7.0/26 · 59 usablebas-hub 10.0.7.4: tap to inspectBbas-hub10.0.7.4vnet-spoke2: tap to inspectVirtual networkvnet-spoke210.2.0.0/16subnet-app: tap to inspectsubnet-app10.2.1.0/24 · 251 usablert-spoke2vm-spoke2 10.2.1.4: tap to inspectNICvm-spoke210.2.1.4Connected: tap to inspectpeeredConnected: tap to inspectpeeredprivatelink.blob.core.windows.net: tap to inspectDNSPrivate DNS zone · privatelink.blob.core.windows.net · 1 link · stlogs01 → 10.0.3.4:443 ✗stlogs01.blob.core.windows.net?:443 ✗:22 ✗
  • vm-spoke1 → vm-spoke2:443should work: not working
  • vm-spoke1 → stlogs01.blob.core.windows.net:443should work: not working
  • bas-hub → vm-spoke1:22should work: not working
Goals 0/4
Cloud Shell · bashVMsrg-lab · eastus2
cloudshell:~$