Aller au contenu principal

35. Start Stop and Check Status of Network Services


개요​

이 가이드는 다양한 도구를 사용하여 Linux에서 네트워크 서비스를 시작, 중지, 상태 확인하는 방법을 설명합니다. 많은 서버는 들어오는 네트워크 연결을 수신하는 SSH 데몬과 같은 여러 서비스를 실행합니다.

활성 네트워크 연결 확인​

활성 네트워크 연결을 확인하는 두 가지 유틸리티: SS와 Netstat. SS가 현대적인 대안이며, Netstat은 오래된 도구로 향후 Linux 릴리즈에서 사라질 수 있습니다.

SS 유틸리티 사용​

들어오는 연결을 수락할 준비가 된 프로그램 목록 확인:

sudo ss -ltunp

옵션 설명:

옵션의미
-l현재 연결을 수신 중인 소켓만 표시
-tTCP 연결만 필터링
-uUDP 연결 포함
-n서비스 이름 대신 숫자 값(포트 번호) 표시
-p각 소켓을 사용하는 프로세스 표시 (루트 권한 필요)
기억법: L-T-U-N-P (Listening, TCP, UDP, Numeric, Process)

SS 출력 상세 분석​

$ sudo ss -ltunp
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
tcp LISTEN 0 80 127.0.0.1:3306 0.0.0.0:* users:(("mariadb",pid=738,fd=20))
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=679,fd=3))
tcp LISTEN 0 128 [::]:22 [::]:* users:(("sshd",pid=679,fd=4))
  • MariaDB: 127.0.0.1:3306 — 로컬호스트만 접근 가능
  • SSHD: IPv4(0.0.0.0:22)와 IPv6([::]:22) 모두 수신 — 로컬 및 외부 연결 허용

systemctl로 서비스 상태 확인​

systemctl status mariadb.service
systemctl status ssh.service
Ubuntu에서는 SSH 서비스를 ssh (뒤에 "d" 없음)로 표시합니다. Red Hat 계열은 sshd로 표시할 수 있습니다.

서비스 중지 및 비활성화​

MariaDB 서비스 중지:

sudo systemctl stop mariadb.service

중지 후 SS 명령으로 포트 3306이 더 이상 표시되지 않는지 확인합니다.

부팅 시 자동 시작 비활성화:

sudo systemctl disable mariadb.service

프로세스 상세 검사​

SS 출력에서 SSH 데몬의 PID를 확인한 후 ps 명령으로 추가 정보 확인:

$ ps 679
PID TTY STAT TIME COMMAND
679 ? Ss 0:00 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups

lsof로 열린 파일 및 소켓 확인:

$ sudo lsof -p 679

ps vs lsof — 무엇이 다른가?​

항목pslsof
질문"어떤 프로세스가 실행 중인가?""이 프로세스가 무엇을 열어두고 있는가?"
보여주는 것프로세스 목록 (PID, CPU, 메모리, 상태)열린 파일, 소켓, 장치, 파이프 목록
관점프로세스 중심리소스(파일/소켓) 중심
주요 용도프로세스 상태 확인, 우선순위 조정, PID 찾기어떤 파일/포트를 점유 중인지 확인
네트워크소켓 정보 없음열린 네트워크 소켓도 표시
실무 흐름
  1. ss -ltunp → 어떤 포트가 열려 있고 어떤 PID인지 확인
  2. ps PID → 그 프로세스가 무엇인지, 언제 시작됐는지 확인
  3. lsof -p PID → 그 프로세스가 어떤 파일/소켓을 사용 중인지 확인

Netstat 유틸리티 사용​

SS와 유사한 출력:

sudo netstat -ltunp
$ sudo netstat -ltunp
Active Internet connections (only servers)
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 1031/sshd
tcp6 0 0 :::22 :::* LISTEN 1031/sshd
Netstat은 모든 시스템에 기본 설치되어 있지 않을 수 있습니다.

정리​

SS, Netstat, systemctl을 사용하여 네트워크 서비스를 시작, 중지, 상태 확인하는 방법을 이해하면 시스템의 네트워크 서비스를 효과적으로 모니터링하고 연결 문제를 해결할 수 있습니다.