Capstone — Triaging Three Real Connectivity Tickets

Network Troubleshooting

Chapter 10 · Capstone — Triaging Three Real Connectivity Tickets

Nine chapters built the pieces — scoping questions, the practical ladder, local connectivity, DNS, path testing, port checks, firewalls, VPN/NAT/proxy path changes, and reading the application layer itself. This capstone applies all of it to three fresh tickets, worked more briskly than earlier chapters' own dedicated walkthroughs, since the underlying discipline should already feel familiar by now.

Ticket 1: "The new hire can't reach anything"

A new employee's first-day laptop can't load any internal site or reach the internet at all — freshly imaged, connected today for the first time.

Applying Chapter 1's scoping questions

One user, not many — everywhere, not one destination — total failure, not degraded — and it has never worked, since this is the machine's first connection. That combination points squarely at something local to this one machine, before DNS or any specific server is even worth testing.

Applying Chapter 3's local connectivity check
Ethernet adapter Ethernet: IPv4 Address. . . . . . . . . . . : 169.254.12.203 Subnet Mask . . . . . . . . . . . : 255.255.0.0 Default Gateway . . . . . . . . . : (none)

A textbook link-local address with no gateway — DHCP never succeeded on this machine at all. A loose network cable, reseated, immediately resolves it; a fresh ipconfig /all shows a real address and gateway, and a ping to the gateway confirms it.

Total time to resolution: well under the time it would have taken to start troubleshooting DNS or a specific application — exactly why local connectivity is the ladder's own starting rung.

Ticket 2: "The reporting app doesn't work on the new Wi-Fi"

Since this week's new office Wi-Fi rollout, multiple users report the internal reporting app is unreachable over Wi-Fi, while it still works fine from a wired connection. Every other internal app works fine on both.

Applying Chapter 1's scoping questions

Many users, one destination, just started — since the new Wi-Fi went live this week. That specific combination (one app, one network, everyone affected) points toward something scoped by network and by destination — a strong early hint toward a firewall rule rather than DNS or the app itself.

Applying Chapters 4 and 5: ruling out the lower rungs

From the new Wi-Fi network, DNS resolves the reporting app's name correctly, and a ping to its host succeeds cleanly. Both rungs check out — the problem sits higher up the ladder.

Applying Chapter 6 and 7's vantage-point comparison
# From the wired network $ nc -zv 10.0.9.20 8443 Connection to 10.0.9.20 8443 port [tcp/*] succeeded! # From the new Wi-Fi network $ nc -zv 10.0.9.20 8443 (hangs — Ctrl+C to cancel)

Same destination, same port, two different networks, two different results — exactly the pattern Chapter 7 flagged as pointing at a boundary rule. Handing off the wired subnet, the new Wi-Fi subnet, the destination, and the port to the network team confirms it directly: the reporting app's security-group rule was scoped to the old wired subnet during the original rollout, and was simply never updated to include the new Wi-Fi range when it launched — an oversight, not an intentional restriction this time.

Ticket 3: "The partner API script times out sometimes, but I can never reproduce it in a browser"

A scheduled automation script calling a partner's API intermittently fails with a 504 error. A colleague testing the same API by hand, in a browser, from the same corporate network, has never once seen it fail.

Applying Chapter 9: reading the failure, not just reacting to it

The first instinct is to assume this is Chapter 8's own certificate-trust issue again — a script failing where a browser succeeds. Checking the actual failure rules that out immediately: curl -v shows the TLS handshake completing cleanly every time, and the failure itself is a genuine 504 Gateway Timeout — a real HTTP response, which per Chapter 9 already proves DNS, network reachability, the port, and TLS all worked on that specific attempt. This is a different problem wearing a familiar disguise.

Applying Chapter 5's traceroute technique from the actual failing context

Run from the batch server that actually executes the script — not from the colleague's own workstation — a traceroute to the partner API shows something the interactive browser test never would have surfaced:

$ traceroute partner-api.example.com 1 10.0.9.1 0.3 ms 2 10.0.2.1 1.1 ms 3 * * * 4 * * * 5 198.51.100.9 210 ms # high, inconsistent latency 6 203.0.113.90 340 ms

The batch server's own traffic takes a genuinely different path than an ordinary workstation's — routed through a secondary, backup VPN tunnel reserved for server infrastructure, with real, measurable latency and packet loss under load. That path occasionally exceeds the partner API's own gateway timeout window, exactly as Chapter 9's 504 definition describes — not because the script or the API is broken, but because of where the traffic is actually routed from, per Chapter 8's own "the path isn't always what you'd expect" theme.

The same "script vs. browser" question, an honestly different answer
Chapter 8's own script-vs-browser ticket was a certificate-trust issue. This one looks identical on the surface but isn't — checking rather than assuming led straight past the familiar-looking explanation to the real one: a routing difference specific to where the script actually runs from.

The fix belongs to infrastructure — routing the batch server's traffic over the same primary path interactive users take, or raising the timeout on that specific backup path — handed off with the exact traceroute evidence above, per Chapter 7's own handoff principle.

Chapter Attribution

Technique used aboveSource chapter
Scoping questions (one user/many, one destination/everywhere, total/degraded, new/persistent)Chapter 1
The overall bottom-up ladder, stopping at the first failing rungChapter 2
Reading a link-local (169.254.x.x) address and missing gateway (Ticket 1)Chapter 3
Confirming DNS resolution before testing further up (Ticket 2)Chapter 4
Ping to confirm network reachability; traceroute revealing a real routing difference (Ticket 3)Chapter 5
nc -zv port checks, compared across vantage points (Ticket 2)Chapter 6
The multi-vantage-point technique and exact-evidence handoff (Tickets 2 and 3)Chapter 7
Ruling out a certificate-trust explanation and recognizing a genuine path/routing difference (Ticket 3)Chapter 8
Reading a 504 correctly, and using an HTTP response as proof of the lower rungs (Ticket 3)Chapter 9

Honest Scope Note

What this course deliberately doesn't cover
  • No packet-capture tooling in depth (tcpdump, Wireshark) — Chapter 7 named the limit where these would be needed; a genuinely separate, deeper skill
  • No routing-protocol theory (BGP, OSPF, and similar) — this course diagnoses an existing network from the outside, not the internals of how routes are built and propagated
  • No RF-level wireless troubleshooting (signal strength, channel interference, antenna placement) — Ticket 2 touched Wi-Fi only at the IP/firewall layer, not the radio layer
  • No IPv6-specific troubleshooting — every example in this course used IPv4; IPv6's own addressing and neighbor-discovery quirks are a real, separate topic
  • No cloud-native networking specifics (service meshes, ingress controllers, container networking) — the ladder's principles still apply, but the concrete tooling genuinely differs
Each is a legitimate, separate topic — not silently assumed solved by what this course actually covers.

Hands-On Exercises

Exercise 1

Explain why Ticket 1's scoping answers (one user, everywhere, total failure, never worked) pointed toward local connectivity before DNS or any specific application was even tested.

📄 View solution
Exercise 2

Explain what specifically confirmed Ticket 2 was a firewall/security-group issue rather than a problem with the reporting app itself, and why testing from both networks was the key step.

📄 View solution
Exercise 3

Explain why Ticket 3's "script fails, browser doesn't" symptom looked like Chapter 8's certificate-trust ticket at first, and what specific evidence ruled that explanation out before the real cause was found.

📄 View solution

Chapter 10 Quick Reference — Course Complete

  • Ticket 1: a link-local address with no gateway — a local connectivity problem, found and fixed in under a minute
  • Ticket 2: a firewall/security-group rule scoped to the wrong subnet — found by comparing results across vantage points
  • Ticket 3: a 504 caused by a genuine routing difference for the script's own traffic — not the certificate-trust issue it first resembled
  • The recurring theme across all ten chapters: scope first, work the ladder, and check rather than assume — whichever specific technique that means in the moment
  • This closes Network Troubleshooting, 10/10 chapters — the second course under the Technical Support subject, alongside Logging & Log Analysis