2025.02. 이장재 📧 [email protected] 📂 https://github.com/jangjaelee 📒 http://www.awx.kr
iptables는 Linux 커널의 netfilter 프레임워크를 활용하여 네트워크 패킷을 필터링 및 NAT(Network Address Translation)를 수행하는 리눅스 커널 네트워크 스택입니다.
네트워크 인터페이스 카드(NIC)를 거처 유입되는 모든 네트워크 패킷은 netfilter에 등록된 룰을 거쳐 제어되며, iptables은 netfilter가 패킷 조작을 위해 제공하는 Hook에 rule을 관리하는 역할을 합니다.
또한, iptables를 사용하면 특정 조건에 부합하는 패킷의 수신, 송신, 포워딩을 제어할 수 있으며, 방화벽 정책을 구성하는데 사용할 수 있는 다양한 옵션을 제공합니다.
↓ Chain / Table → | raw | filter | nat | mangle | security |
---|---|---|---|---|---|
PREROUTING | ✓ | ✓ (DNAT) | ✓ | ||
INPUT | ✓ | ✓ (SNAT) | ✓ | ✓ | |
OUTPUT | ✓ | ✓ (DNAT) | ✓ | ✓ | |
POSTROUTING | ✓ (SNAT) | ✓ | |||
FORWARD | ✓ | ✓ | ✓ | ✓ |
iptables에는 5가지 주요 테이블이 있습니다.