Rocky Linux 서버 운영 중, 방화벽을 설정하고 나면 실제 서비스가 외부에서 접근 가능한 상태인지 검증이 필요합니다. 이때 가장 많이 사용되는 명령어가 netstat
입니다. netstat은 단순히 포트가 열려 있는지만 확인하는 도구가 아니라, 실시간 연결 상태, 서비스 바인딩 IP, 프로세스 정보를 함께 분석할 수 있는 핵심 네트워크 점검 도구입니다.
netstat -na | grep LISTEN
옵션 설명:
-n
: 포트 번호와 IP를 이름이 아닌 숫자로 표시-a
: 모든 연결 상태 출력예시 출력:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
tcp6 0 0 :::80 :::* LISTEN
해석:
0.0.0.0:22
: SSH 서비스가 모든 인터페이스에서 접근 대기 중127.0.0.1:3306
: MySQL은 로컬호스트에만 바인딩 → 외부 접근 불가::80
: IPv6 포트 80은 열려 있음이 결과만으로도 어떤 포트가 어디에 바인딩되어 있는지를 빠르게 확인할 수 있습니다.
netstat -tulnp
옵션 설명:
-t
: TCP만 출력-u
: UDP 포함-l
: LISTEN 상태만 필터링-n
: 숫자 출력-p
: 프로세스명 및 PID 표시 (root 권한 필요)예시 출력:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1234/sshd
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 4567/mysqld
udp 0 0 0.0.0.0:68 0.0.0.0:* 7890/dhclient
실무 분석 포인트:
sshd
: 외부에서 SSH 접근 가능mysqld
: MySQL은 내부 전용으로만 열려 있음 → 외부 접속 차단 상태dhclient
: 클라이언트가 DHCP 요청 중포트가 LISTEN 상태라도, 다음 조건이 충족되지 않으면 외부 접속은 실패합니다:
0.0.0.0
또는 공인 IP여야 함 (127.0.0.1은 내부 전용)예를 들어 MySQL이 외부에서 접근 가능하려면:
/etc/my.cnf
의 bind-address=0.0.0.0
설정# TCP/UDP 수신 대기 중인 포트 전체 확인
netstat -tulnp
# LISTEN 상태만 필터링
netstat -na | grep LISTEN
# UDP 서비스만 필터링
netstat -unlp
# 현재 연결 상태 전체 보기
netstat -antp
# 인터페이스 통계 보기
netstat -i
netstat은 단순한 포트 확인 도구가 아닙니다. 포트 바인딩, 방화벽 차단 여부, 외부 접근 가능성, 프로세스 상태까지 실무에서 점검하는 데 필수적인 도구입니다. netstat 옵션을 숙지하고, 명령어 결과를 정확히 해석할 수 있어야 방화벽 설정이나 접속 오류 문제를 신속하게 해결할 수 있습니다.
서버 느릴 때 확인하는 ps 명령어 조합 – Rocky 리눅스 실전 방법 (2) | 2025.07.28 |
---|---|
Rocky Linux에서 iptables 실전 설정 완전 정리 (2) | 2025.07.24 |
리눅스 압축 및 해제 명령어 완벽 가이드 (1) | 2025.07.22 |
Rocky Linux 9에서 SSH Root 접속 허용하는 방법 (0) | 2025.07.21 |
리눅스 서버 상태를 한 번에 확인하는 통합 점검 스크립트 (1) | 2025.07.20 |