ACTIVE INCIDENT
00:00 elapsed
LABLAB-NETWORKING-01-PORT-DIAGNOSISSEV-3
포트는 열렸다는데 왜 안 되지? — ss/netstat/telnet으로 TCP 진단
ELAPSED
00:00
PHASE
0 / 5
SLA
35분
🌐 Networking
← 목록
INCIDENT RESPONSE
0 / 6 단계 완료
📚 PREREQUISITES
Lablinux-server-first-look
Theorynetworking/tcp-ip-basics
TRACK
NETWORKING
SLA
35분
SEV
SEV-3
PHASES
4단계
ENV
local
INCOMING TICKET
개발팀 Slack #incident: "서버 8080 포트가 안 돼요. API 호출이 전부 타임아웃납니다. 운영팀은 iptables에 8080 추가했다는데요"
YOUR ROLE
주니어 인프라 엔지니어 (오후 2시 인시던트)
IMPACT IF UNRESOLVED
API 전면 타임아웃 — 결제/주문 API 사용 불가 상태. 5분 이내 원인 특정 필요
🚨INCIDENT BRIEF
오후 2시, 개발팀 Slack에 메시지가 올라왔습니다.
"서버 8080 포트가 안 돼요. API 호출이 전부 타임아웃납니다."
운영팀이 즉시 응답합니다.
"포트 열었는데요? iptables에 8080 추가했습니다."
둘 다 맞는 말일 수 있습니다. 포트 문제는 생각보다 복잡합니다.
- 서비스가 아예 8080을 바인딩하지 않았을 수 있습니다
- iptables는 허용했지만 서비스가 `127.0.0.1`에만 바인딩돼 외부에서 안 닿을 수 있습니다
- iptables ACCEPT 규칙이 DROP 규칙보다 뒤에 있어 사실상 차단 상태일 수 있습니다
- 방화벽이 아예 패킷을 DROP(응답 없음)하고 있을 수 있습니다
이 Lab에서는 포트 문제를 체계적으로 진단하는 4단계 플로우를 직접 실습합니다.
"됩니다/안 됩니다" 감에 의존하는 것이 아니라, 명령 출력으로 원인을 특정하는 기술을 익힙니다.
⏱ 35분📊 입문🔧 4단계#networking#tcp#port#ss
MISSION
1
ss/netstat — 실제로 포트가 LISTEN 중인가
ss 명령으로 8080 포트가 실제로 LISTEN 중인지, 어느 주소에 바인딩됐는지 확인한다
2
telnet/nc — 원격에서 실제 연결 테스트
telnet 또는 nc(netcat)로 원격 서버의 8080 포트에 실제 TCP 연결을 시도하고, Connection refused / timed out / connected를 구분한다
3
iptables — 방화벽 규칙 확인 & 허용
iptables -L 로 INPUT 체인에서 8080 포트를 막고 있는 규칙이 있는지 확인하고, 필요 시 올바른 위치에 허용 규칙을 추가한다
4
바인딩 주소 수정 — 서비스를 0.0.0.0으로 바인딩
Node.js/Python 서비스의 바인딩 주소를 127.0.0.1에서 0.0.0.0으로 변경하고, ss -tlnp에서 변경이 반영됐는지, 외부에서 실제로 연결되는지 확인한다
📌 선수 지식
• [실습] linux-server-first-look
• [이론] networking/tcp-ip-basics
ℹ️ 실습 환경
환경: local
필요 도구: ss, telnet, nc, curl, iptables
검증 스크립트: /labs/lab-networking-01-port-diagnosis/scripts/verify.sh
🔒
실습 실행은 Pro 플랜 전용입니다
인시던트 브리프와 학습 자료는 지금 바로 확인할 수 있습니다. 실제 실습 진행 및 터미널 사용은 Pro 플랜에서 가능합니다.
Pro로 업그레이드 →
>_ LAB TERMINAL↔ 너비 조절
NOTES