iptables에 대해서

2011. 4. 2. 22:14카테고리 없음


@ iptables

- 리눅스 방화벽의 기본이 되는 netfilter기반의 iptables [www.netfilter.org, www.iptables.org]

* 상태추적 기능 제공

- 방화벽을 통과하는 모든 패킷에 대한 연결 상태를 추적(tracking)하여 이 정보를 메모리에 기억
- iptables 이전 버전인 ipchains와 같이 상태추적을 제공하지 않는 방화벽은 stateless라고 함
- iptables와 같이 상태추적이 되는 방화벽은 stateful이라고 함

* 향상된 매칭 기능

- 기본 제공 매칭정보인 패킷의 소스 ip, 목적지 ip 및 소스포트, 목적지 포트번호 뿐만 아니라 추가적으로 다양한 매칭기능 제공

* 포트 포워딩(port forwarding) 기능 포함 제공

- iptables에는 NAT기능이 자체적으로 포함되어 있어 NAT를 위해 별도의 프로그램을 이용할 필요가 없이 커널 메뉴에서 추가로 지정해서 컴파일 해주면 iptables만으로도 바로 사용할 수 있음
- 2.6버전이 아닌 2.4버전의 커널 사용시에는 커널 설정확인을 거쳐야함

* iptables.sh 스크립트 프리엠플(preamble)

[iptablesfw]# cat iptables.sh

 #!bin/sh
 IPTABLES=/sbin/iptables
 MODPROBE=/sbin/modprobe
 INT_NET=192.168.10.0/24

 ### 기존 규칙을 제거하고 체인 정책을 DROP으로 설정한다.
 echo "[+] Flushing existing iptables rules..."
 $IPTABLES -F
 $IPTABLES -F nat
 $IPTABLES -X
 $IPTABLES -P INPUT DROP
 $IPTABLES -P OUTPUT DROP
 $IPTABLES -P FORWARD DROP
 ### load connection-tracking modules
 $MODEPROBE ip_conntrack
 $MODEPROBE iptable_nat
 $MODEPROBE ip_conntrack_ftp
 $MOREPROBE ip_nat_ftp