Week 1 – Networking Fundamentals for DevOps (What Finally Made Sense)

TL;DR
Networking felt overwhelming at first like OSI, ports, DNS, traceroute… too much flying around
EC2 + Security Groups taught me how traffic actually flows
Fixed beginner issues like SSH key permissions, blocked ports, missing tools
Ended the week with a clear idea of how machines talk
Why I Started With Networking
Before touching CI/CD, Docker, Kubernetes, or anything flashy, I wanted to understand the basics.
If the network layer fails, nothing else works not APIs, not deployments, not SSH, not monitoring.
So I chose to start with the fundamentals instead of blindly copying commands.
📌 What Confused Me (and how I got unstuck)
OSI & TCP-IP Model
I didn’t get why there were so many layers. It felt unnecessary.
What helped:
Seeing real tools mapped to layers
Understanding that each layer has a role in how data travels
Realizing the layers aren’t something to memorize ,they’re a mental model

Inbound vs Outbound Traffic
I mixed these up all the time.
What finally made it click:
Inbound = who can reach my EC2
Outbound = where my EC2 is allowed to go
Once I saw them as “incoming door” vs “outgoing door,” Security Groups became simple.
SSH Key Annoyances
Small issues but extremely irritating at first:
- PEM file must have strict permissions
chmod 400 key.pem
Wrong file location → SSH breaks
SSH just refuses if permissions are too open
Port 22 must be open in the SECURITY GROUPS

DNS, Dig & Traceroute
DNS felt confusing until I understood that it’s literally the internet’s phonebook.
Traceroute also looked chaotic until I focused on:
The hop where latency spikes
The hop where timeout begins
After that, interpreting it became easier.
📌 What I Did This Week
1. OSI & TCP/IP
Learned each layer’s role
Connected tools (ping/curl/dig) to specific layers
Stopped memorizing and started understanding
2. Protocols & Ports
Understood why DevOps cares about specific ports
Covered: SSH 22, HTTP 80, HTTPS 443, DNS 53, DB ports, Redis 6379
Looked at ports used by tools like Jenkins, Kubernetes API, Prometheus, Docker registry
3. Launched EC2
Picked Ubuntu 22.04
t2.micro free tier
Enabled public IP
Created and secured PEM key
4. Configured Security Groups
Opened port 22 for my IP
Allowed HTTP/HTTPS
Understood inbound/outbound behaviour
Saw how 1 wrong SECURITY GROUP rule breaks everything

5. Networking Commands
Used practical tools instead of just reading theory:
ping → basic connectivity
traceroute → see the path
ss/netstat → check listening ports
curl → test APIs/services
dig / nslookup → DNS behaviour
📌 Small Beginner Issues That Took Time
These are the tiny mistakes that slow down beginners the most:
SSH wouldn’t connect → permissions wrong or port 22 closed
netstat missing → needed
sudo apt install net-toolscurl failing while ping worked → DNS or HTTP issue, not connectivity
dig giving different results due to caching
For some commands, tools simply weren’t installed
📌 Commands That Helped Me Understand Stuff
These were the most useful this week:
# SSH login
ssh -i key.pem ubuntu@<ip>
# DNS record
dig +short example.com
# Port check
ss -tuln
# Check API or web server
curl -I http://<server-ip>
# Route packets take
traceroute google.com
They’re simple, but they exposed what was actually happening under the hood.
📌 EC2 + Security Groups (My Biggest Learning)
Launch screen is easy.
The real learning:
A perfectly healthy EC2 instance feels “dead” if SECURITY GROUPS rules block it
SSH depends on two things: your key + SECURITY GROUPS
HTTP/HTTPS need explicit opening
Inbound/outbound rules matter more than I expected
Understanding SECURITY GROUPS makes cloud debugging so much faster

📌 What I Learned At The End
Networking is not scary it is just logical once you break it down
Small mistakes (like key permissions or blocked ports) cause the biggest headaches
Understanding DNS and SECURITY GROUPS prevents most “why is this not working?” moments
Tools like curl, dig, traceroute, and ss give real visibility
Knowing fundamentals early makes everything else (Docker, Kubernetes, AWS networking) easier later
📌 GitHub (All My Week 1 Tasks)
https://github.com/Harish1685/90DaysOfDevOps.git



