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

  1. Run a real service on EC2
  2. Break network access in real ways
  3. Learn exactly what to check and in what order
  4. 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

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

Meaning

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

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

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

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

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Читайте також