Aller au contenu principal

35. Start Stop and Check Status of Network Services


개요

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

활성 네트워크 연결 확인

활성 네트워크 연결을 확인하는 두 가지 유틸리티: SSNetstat. 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을 사용하여 네트워크 서비스를 시작, 중지, 상태 확인하는 방법을 이해하면 시스템의 네트워크 서비스를 효과적으로 모니터링하고 연결 문제를 해결할 수 있습니다.