Computer >> 컴퓨터 >  >> 시스템 >> Linux

iptables란? 리눅스 방화벽과 netfilter의 핵심 이해하기

iptables는 리눅스 2.4 이상 커널에서 네트워크 주소 변환(NAT), 패킷 필터링, 패킷 맹글링(packet mangling) 기능을 수행하기 위해 규칙과 명령을 정의하는 범용 테이블 구조입니다. netfilter 프레임워크의 핵심 구성 요소로서, 리눅스 시스템의 방화벽 설정과 네트워크 트래픽 제어에 널리 사용됩니다.

iptables의 주요 기능

1. NAT (Network Address Translation)

NAT는 하나의 IP 주소를 다른 IP 주소로 변환하는 과정입니다. 내부 네트워크와 외부 인터넷 사이에서 주소를 변환하여 사설 네트워크의 효율적인 운영과 보안 강화에 기여합니다.

2. 패킷 필터링 (Packet Filtering)

패킷 필터링은 출발지 및 목적지 주소, 포트, 프로토콜 정보를 기반으로 네트워크 인터페이스에서 패킷을 통과시키거나 차단하는 기능입니다. 불필요하거나 악의적인 트래픽을 사전에 걸러내어 시스템을 보호합니다.

3. 패킷 맹글링 (Packet Mangling)

패킷 맹글링은 패킷의 헤더 정보 등을 라우팅 전후로 변경하거나 수정할 수 있는 기능입니다. QoS(서비스 품질) 조정이나 특수한 네트워크 처리가 필요한 환경에서 활용됩니다.

netfilter/iptables의 발전 과정

iptables와 netfilter는 이전 버전의 리눅스에서 사용되던 ipchainsipfwadm의 후속 도구입니다. 두 용어는 기능적으로 긴밀하게 연관되어 있어 흔히 netfilter/iptables라는 하나의 표현으로 함께 지칭되며, 이는 리눅스 2.4 이후 버전에서 NAT, 방화벽, 고급 패킷 처리를 담당하는 서브시스템 전체를 의미합니다.