728x90
Linux iptables 개요
iptables는 리눅스에서 패킷 필터링 및 방화벽을 설정하는 데 사용되는 도구입니다. 패킷 필터링은 네트워크를 통해 지나가는 패킷의 헤더를 분석하여 차단 여부를 결정하는 과정입니다. iptables는 단순히 패킷의 헤더를 검사하는 것을 넘어, 데이터의 내용까지 검토할 수 있는 string match 기능을 제공합니다.
실제 필터링은 netfilter라는 커널 내장 기능에 의해 수행되며, iptables는 netfilter에게 규칙을 설정하는 역할을 합니다. 따라서 iptables는 방화벽 규칙을 구축하는 데 필요한 패키지라고 할 수 있습니다.
iptables의 기본 구조
iptables의 내부 구성에 대한 설명은 간략하게 진행하며, 이후 포스팅에서 더 자세히 다룰 예정입니다.
기본 명령어
다음 명령어를 사용하여 현재 설정된 규칙을 확인할 수 있습니다.
iptables -L
이 명령어를 실행하면 다음과 같은 출력이 나타납니다.
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
체인 구성
iptables는 기본적으로 세 가지 체인으로 구성되어 있습니다: INPUT, OUTPUT, FORWARD.
- INPUT Chain:
- 이 체인은 내 컴퓨터로 들어오는 패킷에 대한 규칙을 설정합니다. 즉, 외부에서 들어오는 패킷은 항상 INPUT 체인을 통과합니다.
- OUTPUT Chain:
- 이 체인은 내 컴퓨터에서 외부로 나가는 패킷에 대한 규칙을 설정합니다. 즉, 내 컴퓨터에서 나가는 패킷은 OUTPUT 체인을 통과합니다.
- FORWARD Chain:
- 이 체인은 패킷이 도착했지만 목적지가 내 컴퓨터가 아닌 경우에 해당합니다. 이러한 패킷은 하이패스 방식으로 통과하여 다른 목적지로 전송됩니다.
마무리
이번 포스팅을 통해 iptables의 기본 개념과 체인 구조에 대한 이해를 돕고자 하였습니다. iptables는 네트워크 보안의 중요한 요소로, 패킷 필터링과 방화벽 설정에 필수적인 도구입니다. 앞으로의 포스팅에서는 iptables의 세부 설정 및 활용 방법에 대해 더 깊이 있는 내용을 다룰 예정입니다. 이러한 지식을 바탕으로 보다 안전한 리눅스 환경을 구축할 수 있기를 바랍니다.
728x90