Most Linux “server down” problems are not actually system failures.
They are network issues.
👉 The system is running fine
👉 But it cannot talk to the outside world
That’s why networking is one of the most critical skills in Linux, DevOps, and cloud environments.
Let’s simplify it.
Basic Networking Concepts (Must Know First)
What is an IP Address?
An IP address is a unique address assigned to a device in a network.
Example:
192.168.1.10
👉 Used for communication between systems.
What is localhost (127.0.0.1)?
localhost refers to your own computer.
127.0.0.1
👉 This means “your own computer”
Used for:
- testing apps
- local development
- debugging services
What is DNS?
DNS (Domain Name System) converts domain names into IP addresses.
Example:
google.com → 142.x.x.x
👉 Without DNS, we would need to remember IPs manually.
What is a Port?
Ports are like “doors” for services.
Ports are communication endpoints used by applications.
Examples:
- Port 80 → HTTP
- Port 443 → HTTPS
- Port 22 → SSH
👉 One server can run multiple services using different ports.
1. Check Internet Connectivity with ping
ping google.com
Limit requests:
ping -c 4 google.com
👉 First command used in troubleshooting.
Checks:
is host reachable?
is network working?
2. Test Web Requests with curl
curl google.com
Headers only:
curl -I google.com # Show only HTTP headers
Verbose mode:
curl -v google.com # Verbose (detailed output)
Used for:
API testing
checking web services
debugging HTTP issues
3. Check DNS Resolution
nslookup google.com
# More detailed DNS lookup
dig google.com
👉 If DNS fails:
website won’t open
even if internet is working
4. Check Your IP Address
ip a # full network interface details
hostname -I # Show only IP addresses
👉 Shows your system’s network identity
5. Check Routing path
ip route
ip route | grep default # Show default gateway
👉 Shows how traffic leaves your system
6. Check Open Ports
ss -tuln # Show listening ports
ss -tuln | grep :80 # Check specific port
Shows which services are listening on your system.
Modern replacement for netstat.
7. Trace Network Path with traceroute
traceroute google.com
Install if needed:
sudo apt install traceroute # Ubuntu/Debian
sudo dnf install traceroute # Fedora/RHEL
👉 Shows where delay or failure happens in network path
8. Enhanced Traceroute with mtr
mtr is a powerful combination of ping and traceroute. It continuously monitors the connection.
mtr google.com
Install if needed:
sudo apt install mtr
👉 Combines:
ping
traceroute
Real-time network diagnostics tool
Simple Troubleshooting Flow (VERY IMPORTANT)
- ping 8.8.8.8 → check internet
- ping google.com → check DNS
- ip a → check IP
- ip route → check routing
- curl -I site → check HTTP
- traceroute / mtr → find failure point
👉 This is real DevOps incident workflow
⚠️ Common Beginner Mistakes
- assuming internet is down (when DNS is broken)
- not checking IP address first
- using old tools (ifconfig, netstat)
- routing checks
Simple Mental Model
Think of networking like delivery:
IP → house address
DNS → contact name → address lookup
Port → door number
Routing → delivery path
ping → “are you there?”
Summary
You learned:
IP address basics
localhost (127.0.0.1)
DNS resolution
ports (80, 443, 22)
ping → connectivity
curl → web/API testing
nslookup, dig → DNS tools
ip a, ip route → network config
ss → open ports
traceroute, mtr → path debugging
Why This Matters
Networking is the backbone of:
cloud systems
DevOps pipelines
APIs
production servers
👉 If networking breaks, everything breaks
Next Post:
Linux Logs Explained Simply,(journalctl, /var/log)
Question for You
Have you ever faced a situation where:
internet was working
but website still didn’t load?
That’s usually DNS — I’ll show debugging in Part 8.
Top comments (0)