데몬, iptables, 부팅 과정
부팅 과정 전체 흐름
전원이 켜지면 하드웨어 초기화부터 로그인 화면까지 여러 단계를 거침. 단계별로 나눠서 보면 이해하기 쉬움
1단계: BIOS/UEFI
컴퓨터 전원이 켜지면 가장 먼저 실행되는 펌웨어
하드웨어(메모리, 디스크 등) 상태를 점검하고, 부팅 가능한 저장장치를 찾아서 부트로더를 실행시킴
2단계: 부트로더(GRUB)
디스크에서 커널을 찾아 메모리에 올리고 실행을 넘기는 역할
리눅스에서는 보통 GRUB이라는 부트로더를 사용
여러 커널 버전이나 운영체제가 있으면 선택 메뉴를 보여주기도 함
3단계: 커널 초기화
커널이 메모리에 올라오면 하드웨어 드라이버를 로드하고, 루트 파일시스템을 마운트함
이후 시스템의 첫 번째 프로세스를 실행시킴(PID 1)
4단계: init 프로세스(systemd)
예전에는 init이라는 프로세스가 이 역할을 했지만, 요즘 대부분의 리눅스 배포판은 systemd를 사용
systemd가 필요한 서비스(데몬)들을 순서대로 실행시키면서 시스템을 정상 상태로 만듦
네트워크, 로그인 관리자, 각종 백그라운드 서비스가 이 단계에서 켜짐
5단계: 로그인 화면
모든 초기화가 끝나면 사용자가 로그인할 수 있는 화면(또는 콘솔)이 뜸
데몬: 사용자와 직접 상호작용하지 않고 백그라운드에서 계속 실행되면서 특정 기능을 제공하는 프로세스
이름 끝에 보통 d가 붙는 경우가 많음(예: sshd는 SSH 접속을 처리하는 데몬, httpd는 웹서버 데몬)
부팅 과정의 systemd 단계에서 대부분의 데몬이 자동으로 실행됨
데몬 관리 명령어
systemctl status servicename: 서비스 상태 확인
systemctl start/stop servicename: 서비스 시작/중지
systemctl enable/disable servicename: 부팅 시 자동 실행 여부 설정
iptables: 리눅스 커널에 내장된 방화벽 기능으로, 패킷이 들어오고 나가는 걸 규칙에 따라 허용하거나 차단하는 도구
동작 위치: 네트워크 계층에서 패킷 단위로 필터링
핵심 개념: 테이블과 체인
테이블(table): 규칙들을 목적별로 묶어놓은 단위. 가장 많이 쓰는 건 filter 테이블(패킷 허용/차단)
체인(chain): 패킷이 지나가는 경로별 규칙 묶음
INPUT: 이 서버로 들어오는 패킷
OUTPUT: 이 서버에서 나가는 패킷
FORWARD: 이 서버를 거쳐서 다른 곳으로 전달되는 패킷
기본 동작 방식
패킷이 들어오면 체인에 등록된 규칙을 순서대로 검사
규칙에 걸리면 그 규칙에 지정된 동작(ACCEPT, DROP, REJECT 등) 수행
ACCEPT는 허용, DROP은 그냥 버림(응답 없음), REJECT는 거부 응답을 보내면서 차단
예시 규칙
특정 IP에서 오는 SSH 접속만 허용: iptables -A INPUT -p tcp –dport 22 -s 허용할IP -j ACCEPT
그 외 모든 접속 차단: iptables -A INPUT -j DROP
순서가 중요함: 위에서부터 순서대로 검사하기 때문에 허용 규칙을 차단 규칙보다 먼저 넣어야 함
'운영체제 > Linux' 카테고리의 다른 글
| 파일 권한과 SUID/SGID/Sticky Bit (0) | 2026.08.08 |
|---|---|
| [Linux] 리눅스 명령어 정리 3 (0) | 2024.08.25 |
| [Linux] 리눅스 명령어 정리 2 (0) | 2024.08.23 |
| [Linux] 리눅스 명령어 정리 1 (1) | 2024.08.22 |
| [Linux 실습] MariaDB 기본 디렉터리 변경 및 데이터베이스 생성해 연동 확인 (0) | 2024.08.15 |