
리눅스를 쓰다 보면 “서버가 느리다”, “외부에서 접속이 안 된다”, “포트가 열려 있나?” 같은 네트워크 이슈를 꼭 한 번은 만나게 된다. 문제는 이런 상황에서 원인이 너무 다양하다는 점이다. 방화벽일 수도 있고, 포트가 안 떠 있을 수도 있고, 라우팅이나 DNS 문제일 수도 있다.
그래서 이번 글에서는 리눅스에서 네트워크 상태를 빠르게 확인할 때 가장 많이 쓰는 명령어인 ping / ss / netstat를 정리해 보려고 한다.(참고로 netstat은 요즘 배포판에서 기본 설치가 아닌 경우도 많아서 ss가 더 “현역”인 느낌이 있다.)
가장 먼저 ping으로 “살아있는지” 확인하기
네트워크 문제가 생기면 첫 번째로 확인할 건 의외로 단순하다.
- 대상 서버가 살아 있나?
- 외부 네트워크가 되나?
- DNS가 정상인가?
1) IP로 ping 테스트
ping -c 4 8.8.8.8
-c 4 : 4번만 보내고 종료
IP로 테스트하면 “DNS 이슈”는 제외하고 네트워크 자체만 확인 가능하다.
2) 도메인으로 ping 테스트 (DNS 확인)
ping -c 4 google.com
IP는 되는데 도메인은 안 되면 DNS 문제일 가능성이 높다.
다만 보안 정책 때문에 ICMP(ping)가 차단된 서버/네트워크도 있다. ping이 안 된다고 해서 무조건 장애로 단정 짓지는 말자.
포트가 열려 있는지 확인하기: ss (추천)
리눅스에서 “포트가 떠 있는지” 확인하는 건 운영에서 정말 자주 한다. 예를 들어 nginx(80/443), ssh(22), DB(3306/5432) 같은 것들이다.
현재 LISTEN 중인 포트 확인
ss -lntp
-l : listen
-n : 숫자로 표시(서비스명 변환 X)
-t : TCP
-p : 프로세스 정보 표시(권한 필요할 수 있음)
위와 같이 조회를 하면 보통 결과에서 이런 식으로 보인다.
LISTEN 0 128 0.0.0.0:22 ... → SSH 포트가 열려 있음
LISTEN ... :80 ... → 웹 서버 포트가 열려 있음
다음으로는 특정 포트만 필터링 하는 케이스다.
특정 포트만 필터링(예: 22번 포트 확인)
ss -lntp | grep :22
연결 상태 확인은 아래 명령어로 가능하다.
연결 상태 확인 (ESTABLISHED 등)
ss -antp
여기서 ESTABLISHED 연결이 너무 많다면 트래픽/봇 공격/커넥션 누수도 의심 가능하다.
netstat (구형이지만 여전히 참고용)
요즘은 ss로 대체되는 분위기지만, 레거시 문서나 운영 습관 때문에 netstat을 찾는 경우가 있다.
netstat 설치 (Ubuntu 기준)
sudo apt update
sudo apt install net-tools
LISTEN 포트 확인
netstat -lntp
특정 포트 확인
netstat -lntp | grep :22
보너스: 내 서버 IP / 라우팅도 같이 확인하면 좋다
네트워크 이슈가 “포트 문제”가 아니고, 아예 NIC/IP/라우팅 문제일 수도 있다.
IP 확인
ip addr
라우팅 확인
ip route
실전 체크 순서 (필자가 자주 쓰는 루틴)
네트워크 문제 상황에서, 보통 아래 순서로 체크하면 빨리 정리된다.
외부 통신 확인
ping -c 4 8.8.8.8
DNS 확인
ping -c 4 google.com
포트가 떠 있는지 확인
ss -lntp
ss -lntp | grep :22 (or :80, :443 등)
서비스가 죽었는지 확인 (필요 시)
프로세스 확인: ps aux | grep nginx 같은 방식
systemd라면: systemctl status nginx
결론
리눅스 네트워크 문제는 원인이 다양하지만, ping으로 생존 확인 → ss/netstat으로 포트 확인 이 두 가지만 해도 원인 범위를 크게 줄일 수 있다. 특히 운영 환경에서는 “포트가 떠 있나?”가 거의 절반 이상을 해결해 준다.
다음 편에서는 네트워크 문제에서 자주 같이 등장하는 방화벽(ufw / iptables) 확인을 정리해 보도록 하겠다.
한 줄 정리
리눅스 네트워크 확인은 ping으로 연결 확인하고, ss(netstat)로 포트가 열려 있는지 보면 된다.
'개발 > Linux' 카테고리의 다른 글
| 리눅스 파일 권한 이해하기 (chmod / chown 사용법) (0) | 2026.03.08 |
|---|---|
| 리눅스 디스크 용량 확인 방법 (df / du 명령어 사용법) (0) | 2026.03.06 |
| 리눅스 프로세스 확인 명령어(ps / top / htop) (0) | 2026.03.05 |
| Ubuntu 24.04 최신 기능 정리 & 업그레이드 방법 (0) | 2025.03.13 |
| 리눅스 tail 명령어 사용법 (tail -f 로그 실시간 확인) (0) | 2019.10.10 |
댓글