Expert · Incident · 13 of 180:00 / 15:00

Corp names stopped resolving

Problem

Spoke 2 can't find any corp.contoso.com servers.

Your job
  • Get vm-spoke2 resolving app.corp.contoso.com and reaching it on 443
Without breaking
  • Keep Spoke 1 resolving itbroken
Background

"The new Spoke 2 can't find any corp.contoso.com servers. Spoke 1 is fine." vm-spoke2 needs app.corp.contoso.com, an on-premises server, on 443. Spoke 1 gets corp.contoso.com names from dns-onprem through the hub's DNS Private Resolver, dnspr-hub, and its ruleset, rs-onprem. Spoke 2 was built last week from a network template.

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-spoke2
      What's this?

      Opens a shell on vm-spoke2, 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. nslookup app.corp.contoso.com
      What's this?

      Asks the VM's DNS server what IP address a name points to. Run it on the VM that has the problem, because each VM can get a different answer.

    3. nc -zv app.corp.contoso.com 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
      • app.corp.contoso.com where to connect
      • 443 the port to try

    Ticks off when the test runs on vm-spoke2.

  2. 2Find where it stops
  3. 3Name the cause
  4. 4Fix it and test again
Sources on Microsoft Learn (4)
0/2 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 usablevm-spoke1 10.1.1.4: tap to inspectNICvm-spoke110.1.1.4vnet-hub: tap to inspectVirtual networkvnet-hub10.0.0.0/16GatewaySubnet: tap to inspectGatewaySubnet10.0.255.0/27 · 27 usablevgw-hub 10.0.255.4: tap to inspectVPNvgw-hub10.0.255.4snet-dns-in: tap to inspectsnet-dns-in10.0.5.0/28 · 11 usablednspr-hub-in 10.0.5.4: tap to inspectDNSdnspr-hub-in10.0.5.4snet-dns-out: tap to inspectsnet-dns-out10.0.5.16/28 · 11 usableonprem-dc: tap to inspectOn-premises networkonprem-dc192.168.0.0/16subnet-servers: tap to inspectsubnet-servers192.168.10.0/24 · 251 usablesrv-app 192.168.10.5: tap to inspectNICsrv-app192.168.10.5dns-onprem 192.168.10.10: tap to inspectNICdns-onprem192.168.10.10vnet-spoke2: tap to inspectVirtual networkvnet-spoke210.2.0.0/16subnet-app: tap to inspectsubnet-app10.2.1.0/24 · 251 usablevm-spoke2 10.2.1.4: tap to inspectNICvm-spoke210.2.1.4Connected: tap to inspectpeeredConnected: tap to inspectConnectedVPN connection from vgw-hub to onprem-dcVPN
  • vm-spoke2 → app.corp.contoso.com:443should work: not working
Goals 0/2
Cloud Shell · bashVMsrg-lab · eastus2
cloudshell:~$