Networking Tools(실습 기록)
Ubuntu 서버에서 quizai.juwonpark.me를 운영하면서, 기본적인 네트워크 진단 도구들을 직접 찍어보며 정리한 내용이다. “사이트가 안 열릴 때 어디부터 봐야 하는지”를 감 잡는 게 목표였다.
1. ping – 제일 먼저 “살아는 있냐” 확인
ping -c 4 google.com
4 packets transmitted, 4 received, 0% packet lossavg ≈ 28ms
→ 패킷 손실 0%, 평균 지연 28ms로, 서버에서 인터넷(구글)까지 기본 연결은 정상.
2. traceroute – 어디를 거쳐 가는지 경로 확인
traceroute google.com
- 여러 개의 홉(hop)을 거쳐 마지막에
142.250.xxx.xxx(google 서버 IP)에 도달 - 중간에 타임아웃이나
* * *없이 끝까지 도달
→ 내 서버 → 통신사/백본 → 구글 네트워크로 이어지는 경로가 끊기지 않고 이어져 있다는 뜻.
3. curl -I – HTTP 응답 상태 코드/헤더 확인
3-1. 구글 테스트
curl -I https://google.com
# HTTP/2 301 (www.google.com 으로 리다이렉트)
curl -I https://www.google.com
# HTTP/2 200
301→ “다른 URL로 영구 이동(리다이렉트)”200→ “정상적으로 처리됨(OK)”
→ 네트워크 + HTTPS + HTTP 레벨까지 모두 정상이라는 걸 확인.
3-2. 내 서비스 테스트
curl -I https://quizai.juwonpark.me
결과:
HTTP/2 200server: cloudflareset-cookie: csrftoken=...(Django CSRF 토큰)cf-cache-status: DYNAMIC
→ Cloudflare 엣지에서 응답을 주고 있고, 뒤에는 Django 앱이 정상 동작 중이라는 걸 알 수 있다.
정리:
curl -I는 “이 URL에 HTTP로 말 걸었을 때 서버가 뭐라고 대답하는지” 보는 도구 → 상태 코드 / 헤더만 빠르게 확인할 때 유용.
4. dig – 도메인이 어디를 가리키는지 (DNS)
dig quizai.juwonpark.me
결과 (핵심만):
;; ANSWER SECTION:
quizai.juwonpark.me. 300 IN A 172.67.152.70
quizai.juwonpark.me. 300 IN A 104.21.12.115
- A 레코드가 EC2 IP가 아니라 Cloudflare IP 대역을 가리킴
- 즉, Cloudflare 대시보드에서 주황색 구름(프록시 ON) 상태
→ 실제 트래픽 흐름은 사용자 → Cloudflare 엣지(IP 172.67.x.x / 104.21.x.x) → EC2(Django) 구조.
정리:
dig는 “이 도메인이 DNS에서 어떤 IP/레코드를 가리키는지” 확인하는 도구
5. ss – 서버에서 어떤 포트가 열려 있는지 확인
sudo ss -tulnp | head
일부 결과:
tcp LISTEN 0 10 0.0.0.0:8000 0.0.0.0:* users:(("python",pid=...,fd=3))
tcp LISTEN 0 80 127.0.0.1:3306 0.0.0.0:* users:(("mariadbd",pid=...,fd=22))
-
0.0.0.0:8000+python→ Django 개발 서버가 모든 인터페이스에서 포트 8000을 리슨 중 → 보안그룹/ufw만 열려 있으면 외부에서도 접속 가능 -
127.0.0.1:3306+mariadbd→ MariaDB는 로컬호스트(127.0.0.1)에서만 리슨 → 같은 서버 안에서만 접속 가능, 외부 접근은 차단
핵심 정리:
0.0.0.0:포트→ “어디서 들어오든 다 받아줄 준비 완료”127.0.0.1:포트→ “이 서버 내부에서만 접속 허용”
6. 장애 났을 때 쓸 수 있는 최소 체크리스트
서비스가 안 열릴 때, 감으로 찍지 말고 아래 순서로 보자:
-
기본 네트워크
ping 8.8.8.8 ping quizai.juwonpark.me -
DNS
dig quizai.juwonpark.me -
HTTP 상태
curl -I https://quizai.juwonpark.me -
서버 포트
sudo ss -tulnp | grep -E '80|443|8000'
이 네 가지만 익혀도 “DNS 문제냐, Cloudflare 문제냐, Nginx/백엔드 문제냐” 를 훨씬 빨리 좁혀갈 수 있겠단 생각이 든다.
결론
- 뭐 기억이 그때그때 날진 모르겠지만 종종 개발한거 서버에 올리고 배포할때마다 사용할 것 같다.