Network Troubleshooting Methodology¶
Overview¶
Follow a consistent bottom-up / symptom-driven path — DNS → route → filter → transport → TLS/app — and capture evidence before changing random knobs.
Random ping and blame waste incidents. Use a fixed ladder, write hypotheses, and prove each layer. Diagrams use Excalidraw only.
This is a core tutorial in Module 17 · Troubleshooting of the REBASH Academy Networking for Cloud & DevOps Engineers series — written for Cloud, DevOps, Platform, and SRE engineers.
Prerequisites¶
- Modules 8–11 and Linux toolkit completed (or equivalent)
- Firewall Change Control and Production ACLs
Learning Objectives¶
By the end of this tutorial, you will be able to:
- Separate symptom classes (refused, timeout, TLS, DNS, 5xx)
- Walk the ladder with tools at each step
- Record timeline and blast radius
- Know when to escalate to packet capture
Architecture¶
This topic’s control points and relationships are shown below.
Theory¶
Symptom → first check¶
| Symptom | First checks |
|---|---|
| NXDOMAIN / wrong host | dig, nsswitch, /etc/hosts |
| Timeout | Route, SG/NACL, silent drop |
| Refused | Reachable; nothing listening / RST |
| TLS error | Cert, SNI, protocol |
| 502/503/504 | LB healthy count / upstream |
| Works in VPC, fails on-prem | Hybrid routes / VPN |
Ladder¶
- Define — who, from where, since when, what error
- DNS — name → expected IPs
- L3 —
ip route get, traceroute - Filter — SG/NSG/nft counters
- L4 —
nc/ss, refused vs timeout - L7/TLS —
curl -v, openssl - Capture — if still unclear
Never skip writing the expected vs actual at each step.
Hands-on Lab¶
Focus: practise the core workflow for Network Troubleshooting Methodology
Step 1 – Reproduce matrix¶
Fill: source host, destination, port, protocol, UTC time, error string, recent changes.
Step 2 – Dry-run a timeout¶
Narrate commands you would run for “app → DB :5432 timeout after SG change.”
Step 3 – Dry-run DNS¶
Narrate for “curl fails, dig works.”
Validation¶
- Lab commands run under
~/rebash-networking// - You can explain each Theory section in your own words
- You used modern tooling where it applies to this topic
- You can describe one production failure mode for this topic
Code Walkthrough¶
Production practice for Network Troubleshooting Methodology always combines:
- Inspect before you change (status, plan, logs, dry-run)
- Prefer reversible, documented changes (Git, IaC, drop-ins, version pins)
- Capture evidence (command output, pipeline logs) for handovers
- Prefer current tools and APIs over legacy shortcuts
- Least privilege — escalate credentials only when required
Keep runbooks short enough to follow under pressure. Automate checks; keep humans for judgement.
Security Considerations¶
- Treat credentials and tokens for networking as privileged — never commit them
- Prefer short-lived auth (OIDC, roles, SSO) over long-lived keys
- Validate blast radius before apply/deploy/delete operations
- Restrict who can approve production changes
- Collect audit logs; limit who can read sensitive traces
Common Mistakes¶
Skipping fundamentals for Network Troubleshooting Methodology
Validate assumptions against the Theory section and official docs before changing production.
Treating lab defaults as production-ready for Network Troubleshooting Methodology
Lab shortcuts (open security groups, admin roles, skip approvals) must not ship unchanged.
Changing production without a rollback path
Always know how to revert (previous artefact, prior release, state rollback, DNS failback).
Best Practices¶
- Encode Network Troubleshooting Methodology changes as code and review them in pull requests
- Pin versions (images, modules, actions, provider plugins)
- Separate environments with clear promotion gates
- Alert on symptoms with runbooks attached
- Destroy lab resources; tag everything with owner and expiry where possible
Troubleshooting¶
| Symptom | Likely cause | Fix |
|---|---|---|
| Auth / permission denied | Wrong identity, policy, or scope | Check caller identity, roles, and least-privilege policies |
| Timeout / no route | Network, DNS, security group, or endpoint | Trace path, DNS, and allow-lists before retrying |
| Drift / unexpected plan | Manual change or wrong state/workspace | Reconcile desired vs actual; avoid click-ops on managed resources |
| Pipeline/job red | Flaky step, cache, or missing secret | Read failing step logs; bisect recent workflow/config changes |
| Cost spike | Idle load balancer, NAT, oversized compute | Inventory billable resources; stop/delete labs promptly |
Summary¶
- Hypothesise per layer; prove; then change
- Timeout ≠ refused
- Recent change is guilty until proven innocent
Interview Questions¶
- How does Network Troubleshooting Methodology show up when operating Cloud or production platforms?
- What would you check first if this area misbehaves in production?
- Which modern tools or APIs replace older equivalents here?
- What security control should accompany this capability?
- How would you automate verification of this topic in CI?
Sample answer — question 2
Start with blast radius and recent changes, gather evidence (logs, status, plan/diff), then fix forward with a known rollback path — not guesswork.