Перейти до вмісту
Networking for DevOps (Senior-Level, Production-Focused)
Source: Dev.to | Dec 29, 2025 (UTC)
🔥 DEVOPS NETWORKING PROJECT
“Service Is UP but NOT Reachable” (AWS EC2 – Ubuntu)
🎯 PROJECT GOAL
- Run a real service on EC2
- Break network access in real ways
- Learn exactly what to check and in what order
- Be able to answer the interview question confidently
🧠 ONE RULE (MEMORIZE)
App → Port → Binding → Local Test → Linux Firewall → Routing → Cloud Firewall → DNS
Enter fullscreen mode
Exit fullscreen mode
STEP 0 — CONNECT TO EC2
ssh ubuntu@<EC2_PUBLIC_IP>
Enter fullscreen mode
Exit fullscreen mode
STEP 1 — CREATE A REAL SERVICE (APP LAYER)
echo "Hello DevOps Networking" > index.html python3 -m http.server 8080
Enter fullscreen mode
Exit fullscreen mode
✅ TEST 1 — IS THE SERVICE RUNNING?
curl http://localhost:8080
Enter fullscreen mode
Exit fullscreen mode
Expected
Hello DevOps Networking
Enter fullscreen mode
Exit fullscreen mode
Meaning
- App is running
- App responds
- NOT a code problem
STEP 2 — CHECK PORT & PROCESS
ss -tulnp | grep 8080
Enter fullscreen mode
Exit fullscreen mode
Expected
tcp LISTEN 0.0.0.0:8080 python3
Enter fullscreen mode
Exit fullscreen mode
What you check here
- Port number
- LISTEN state
- Process name
Meaning
- Port is open
- No conflict
- Service accepts traffic
STEP 3 — CHECK IP & ROUTING
CHECK INTERFACES
ip a
Enter fullscreen mode
Exit fullscreen mode
Find:
inet 172.31.x.x
Enter fullscreen mode
Exit fullscreen mode
CHECK ROUTES
ip r
Enter fullscreen mode
Exit fullscreen mode
Find:
default via 172.31.x.1
Enter fullscreen mode
Exit fullscreen mode
Meaning
- Server has IP
- Server knows how to send traffic
STEP 4 — TEST USING SERVER IP (LOCAL NETWORK)
curl http://<PRIVATE_IP>:8080
Enter fullscreen mode
Exit fullscreen mode
Expected
Hello DevOps Networking
Enter fullscreen mode
Exit fullscreen mode
Meaning
STEP 5 — CHECK LINUX FIREWALLS
CHECK UFW
sudo ufw status
Enter fullscreen mode
Exit fullscreen mode
Expected:
Status: inactive
Enter fullscreen mode
Exit fullscreen mode
CHECK IPTABLES
sudo iptables -L -n
Enter fullscreen mode
Exit fullscreen mode
Expected:
policy ACCEPT
Enter fullscreen mode
Exit fullscreen mode
Meaning
- Linux is NOT blocking traffic
STEP 6 — TEST PORT OWNERSHIP (PORT TROUBLESHOOTING)
lsof -i :8080
Enter fullscreen mode
Exit fullscreen mode
Expected
python3
Enter fullscreen mode
Exit fullscreen mode
Meaning
- Correct app owns the port
STEP 7 — TEST FROM OUTSIDE (REAL PROBLEM)
Open in browser:
http://<EC2_PUBLIC_IP>:8080
Enter fullscreen mode
Exit fullscreen mode
Result
❌ Page does NOT open
🚨 WHY IT FAILS (THIS IS THE LESSON)
AWS blocks traffic before it reaches Linux.
STEP 8 — FIX CLOUD FIREWALL (AWS SECURITY GROUP)
In AWS Console → Security Group → Inbound Rules
Add:
Type
Port
Source
TCP
8080
Your IP or 0.0.0.0/0
Save.
STEP 9 — TEST AGAIN
Open:
http://<EC2_PUBLIC_IP>:8080
Enter fullscreen mode
Exit fullscreen mode
Expected
Hello DevOps Networking
Enter fullscreen mode
Exit fullscreen mode
🎉 SUCCESS
STEP 10 — DNS TEST (OPTIONAL BUT IMPORTANT)
Test IP works
curl http://<EC2_PUBLIC_IP>:8080
Enter fullscreen mode
Exit fullscreen mode
Test domain
curl http://myapp.example.com:8080
Enter fullscreen mode
Exit fullscreen mode
Check DNS
nslookup myapp.example.com
Enter fullscreen mode
Exit fullscreen mode
Meaning
🔍 ERROR TYPES & WHAT THEY MEAN
Error
Meaning
Timeout
Firewall / SG
Connection refused
App down
Works on localhost only
Wrong binding
Works with IP only
DNS issue
🎤 INTERVIEW ANSWER (MEMORIZE)
“I check layer by layer.
First I verify the service locally.
Then I check port and binding.
After that I check Linux firewall and routing.
If Linux is open, I check cloud firewalls like Security Groups and DNS.”
✅ WHAT THIS PROJECT COVERS
✔ IP, ports, routing
✔ ip a, ip r
✔ ss, netstat
✔ curl, wget
✔ ufw, iptables
✔ lsof -i
✔ Interview question
For further actions, you may consider blocking this person and/or reporting abuse
Залишити відповідь