DEV Community

Aisalkyn Aidarova
Aisalkyn Aidarova

Posted on

Networking for DevOps (Senior-Level, Production-Focused)

πŸ”₯ 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

  • 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

  • Linux networking is OK

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

  • DNS maps name β†’ IP

πŸ” 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

Top comments (0)