홈 › 리눅스 운영 › 07 / 13

네트워크 진단 (ss·curl·firewalld)

섹션 7진행 0 / 13

네트워크 진단 — 포트가 열렸는지, 서버에 닿는지, 왜 안 되는지를 ss·curl·firewalld 로 확인하기

"연결이 안 돼요" 를 다섯 단계로 나눠 어디서 막혔는지 찾는 법을 배웁니다. 내 서버가 포트를 듣고 있는지, 방화벽이 막는지, 상대 서버까지 가는지, HTTP 응답이 정상인지, 폐쇄망 프록시를 타야 하는지를 명령으로 확인합니다.

1. 왜 배우는가

자바 앱이 뜨긴 했는데 브라우저에서 안 열립니다. 앱 문제인지, 방화벽인지, nginx 인지, DNS 인지 모르면 아무 데나 재시작하며 시간을 씁니다. 네트워크는 층이 있고, 층마다 확인 명령이 다릅니다.

폐쇄망은 더 복잡합니다. 외부 API 는 프록시를 거쳐야 하고, 사내 DB 는 방화벽에 신청한 포트만 열립니다. "DB 연결 타임아웃" 로그의 원인이 방화벽인지 DB 인지 nc 한 줄로 구분됩니다.

curl 은 서버에서 쓰는 브라우저입니다. 상태 코드, 헤더, 응답 시간을 숫자로 뽑아 스크립트에 넣을 수 있습니다. 이 레슨은 node 로 임시 서버를 띄워 curl 동작을 실제로 확인했고, ss·firewalld 는 리눅스 전용이라 문법을 정리했습니다.