운영중입니다

iptables 기본 개념과 실전 명령어 정리 본문

리눅스보안

iptables 기본 개념과 실전 명령어 정리

https443 2025. 6. 11. 18:00

iptables

iptables는 Linux 운영체제에서 방화벽을 설정하거나 네트워크 트래픽을 제어할 때 사용하는 명령어 기반의 도구.
사용자에 따라 다르지만 CentOS7 이후로는 firewalld 를 사용함.

 

✅ 주요 개념

*용어설명

패킷 (Packet) 네트워크를 통해 전송되는 데이터의 단위
체인 (Chain) 규칙(rule)들의 목록이며, 특정 시점의 패킷에 적용됨 (예: INPUT, OUTPUT)
테이블 (Table) 규칙들이 분류되는 방식. 주요 테이블은 filter, nat, mangle 등이 있음
룰 (Rule) 특정 조건에 맞는 패킷에 대해 어떤 동작을 할지를 정의
타겟 (Target) 조건에 일치하는 패킷에 대해 실행할 동작 (예: ACCEPT, DROP, REJECT 등)


✅ 기본 체인

체인 이름설명

INPUT 외부에서 시스템으로 들어오는 패킷 처리
OUTPUT 시스템에서 외부로 나가는 패킷 처리
FORWARD 시스템을 경유하는 패킷 처리 (라우터 역할 시 사용됨)

 

✅ 자주 사용하는 명령 예시

1.현재 룰 확인 iptables -vL, iptables -L -v -n 현재 설정된 룰을 자세히 출력 -
2.룰 초기화 iptables -F 모든 룰을 초기화 (삭제) -
3.룰셋 순번 확인 iptables -L INPUT -n --line-numbers INPUT 체인의 룰 목록과 순번 확인 -
4.특정 IP 룰셋 순번 확인 iptables -L INPUT -n --line-numbers | grep (IP) 특정 IP가 포함된 룰의 순번 확인 iptables -L INPUT -n --line-numbers | grep 20.171.207
5.특정 순서에 IP 차단 룰 추가 iptables -I INPUT (순번) -s (IP) -j (ACCEPT/DROP) 지정한 순서에 IP에 대한 ACCEPT/DROP 룰 삽입 iptables -I INPUT 1 -s 20.171.207.0/24 -j DROP
6. 룰 삭제 iptables -D INPUT (순번) 지정한 순번의 룰 삭제 iptables -D INPUT 25

 


* iptables -vL 과 iptables -L -v -n의 차이

명령어 구성별 의미

  • -L: 현재 설정된 룰 목록(List)을 출력
  • -v: 자세한(Verbose) 정보를 포함해서 출력
  • -n: IP 주소나 포트를 DNS 이름으로 해석하지 않음 (numeric only)
DNS 조회 O (기본적으로 IP를 도메인으로 변환) X (숫자 그대로 출력)
출력 속도 느릴 수 있음 (DNS 조회 때문) 빠름
출력 정보 자세히 출력 자세히 출력
사용 추천 상황 사람이 읽기 좋음 (도메인 이름 확인 시 유용) 스크립트나 빠른 확인 시 유용