리눅스 - iptables NAT rule

by ADMINPLAY posted Mar 24, 2010
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
젠투 리눅스에서 NAT 할때 설정한 룰입니다.
더 자세한 설정은 아래 주소를 참고 하세요.
http://www.gentoo.org/doc/en/home-router-howto.xml
ruo91 ~ # touch firewall.sh
ruo91 ~ # chmod +x firewall.sh
ruo91 ~ # vim firewall.sh
#!/bin/bash

# iptables 변수 선언
IPT="/sbin/iptables"

# 이전 규칙 초기화
$IPT -F

# NAT Setting
$IPT -P INPUT ACCEPT
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD ACCEPT

# 외부와 내부 인터페이스를 지정합니다.
export WAN=eth0
export LAN=eth1

# LAN 설정
$IPT -I INPUT 1 -i ${LAN} -j ACCEPT
$IPT -I INPUT 1 -i lo -j ACCEPT
$IPT -A INPUT -p UDP --dport bootps ! -i ${LAN} -j REJECT
$IPT -A INPUT -p UDP --dport domain ! -i ${LAN} -j REJECT

# 외부 SSH 접속허용
$IPT -A INPUT -p TCP --dport ssh -i ${WAN} -j ACCEPT

# 포트 포워딩 설정
# HTTP
$IPT -t nat -A PREROUTING -p tcp --dport 80 -i ${WAN} -j DNAT --to 192.168.0.2
# FTP
$IPT -t nat -A PREROUTING -p tcp --dport 21 -i ${WAN} -j DNAT --to 192.168.0.2
# DNS
$IPT -t nat -A PREROUTING -p tcp --dport 53 -i ${WAN} -j DNAT --to 192.168.0.2
$IPT -t nat -A PREROUTING -p udp --dport 53 -i ${WAN} -j DNAT --to 192.168.0.2

# 마스커레이드 설정
$IPT -t nat -A POSTROUTING -o ${WAN} -j MASQUERADE

# 커널에서 아이피 포워딩을 사용 하도록 설정합니다.
echo 1 > /proc/sys/net/ipv4/ip_forward
for f in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 1 > $f ; done

# 규칙 저장
/etc/init.d/iptables save

# 설정 완료
echo "iptables 규칙 적용을 완료 하였습니다."
ruo91 ~ # ./firewall.sh
 * Saving iptables state ...                                                                  [ ok ]
iptables 규칙 적용을 완료 하였습니다.