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