질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

NAT 방화벽 구축 질문입니다.

작성자 정보

  • 서진수 작성
  • 작성일

컨텐츠 정보

본문

안녕하세요

리눅스 보안관리 실무 책을 보다가 실습도중 막히는 부분이 있어서 이렇게 질문드립니다.저희 회사에 NAT 방화벽을 설치하는 중이었는데 너무 유익한 수업이었습니다.

근데 하다가 안되는 부분이 생겨서 이렇게 질문들 드리게 되었습니다.

우선 저의 실습환경입니다.

NAT 방화벽  :  eth0  -  211.237.16.84  /  eth1 - 192.168.1.1/24

NAT 방화벽 Version - 2.4.21-27 -RHEL 3

iptable 버전  - 1.2.8 (p-o-m 패치 적용 안함)

클라이언트 : 192.168.1.2/24

<방화벽 스크립트>

#!/bin/bash

ipt="/usr/local/sbin/iptables"

sip="211.237.16.84"

/bin/echo "1" > /proc/sys/net/ipv4/ip_forward

$ipt -t nat -F
$ipt -t filter -F
$ipt -t mangle -F

$ipt -P INPUT DROP
$ipt -P FORWARD DROP
$ipt -P OUTPUT ACCEPT

$ipt -A INPUT -i lo -j ACCEPT
$ipt -A OUTPUT -o lo -j ACCEPT

#input 체인을 초기화한다
#RFC1918에 정의된 사설ip는 차단한다
$ipt -A INPUT -i eth0 -s 10.0.0.0/8 -j DROP
$ipt -A INPUT -i eth0 -s 255.255.255.255/32 -j DROP
$ipt -A INPUT -i eth0 -s 0.0.0.0/8 -j DROP
$ipt -A INPUT -i eth0 -s 169.254.0.0/16 -j DROP
$ipt -A INPUT -i eth0 -s 172.16.0.0/12 -j DROP
$ipt -A INPUT -i eth0 -s 192.0.2.0/24 -j DROP
$ipt -A INPUT -i eth0 -s 192.168.0.0/16 -j DROP
$ipt -A INPUT -i eth0 -s 224.0.0.0/4 -j DROP
$ipt -A INPUT -i eth0 -s 240.0.0.0/5 -j DROP
$ipt -A INPUT -i eth0 -s 248.0.0.0/5 -j DROP

#forward 체인을 초기화한다
#RFC1918에 정의된 사설ip는 차단한다
$ipt -A FORWARD -i eth0 -s 10.0.0.0/8 -j DROP
$ipt -A FORWARD -i eth0 -s 255.255.255.255/32 -j DROP
$ipt -A FORWARD -i eth0 -s 0.0.0.0/8 -j DROP
$ipt -A FORWARD -i eth0 -s 169.254.0.0/16 -j DROP
$ipt -A FORWARD -i eth0 -s 172.16.0.0/12 -j DROP
$ipt -A FORWARD -i eth0 -s 192.0.2.0/24 -j DROP
$ipt -A FORWARD -i eth0 -s 192.168.0.0/16 -j DROP
$ipt -A FORWARD -i eth0 -s 224.0.0.0/4 -j DROP
$ipt -A FORWARD -i eth0 -s 240.0.0.0/5 -j DROP
$ipt -A FORWARD -i eth0 -s 248.0.0.0/5 -j DROP

#output 체인을 초기화한다
#RFC1918에 정의된 사설ip는 차단한다
$ipt -A OUTPUT -d 10.0.0.0/8 -j DROP
$ipt -A OUTPUT -d 255.255.255.255/32 -j DROP
$ipt -A OUTPUT -d 0.0.0.0/8 -j DROP
$ipt -A OUTPUT -d 169.254.0.0/16 -j DROP
$ipt -A OUTPUT -d 172.16.0.0/12 -j DROP
$ipt -A OUTPUT -d 192.0.2.0/24 -j DROP
$ipt -A OUTPUT -d 192.168.0.0/16 -j DROP
$ipt -A OUTPUT -d 224.0.0.0/4 -j DROP
$ipt -A OUTPUT -d 240.0.0.0/5 -j DROP
$ipt -A OUTPUT -d 248.0.0.0/5 -j DROP

$ipt -A FORWARD -i eth1 -s 192.168.1.1/24 -j ACCEPT

$ipt -A INPUT -i eth1 -s 192.168.1.2/24 -j ACCEPT

$ipt -t nat -A POSTROUTING -o eth0 -s 192.168.1.1/24 -j SNAT --to $sip

$ipt -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$ipt -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$ipt -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

$ipt -A INPUT -p TCP ! --syn -m state --state NEW -j DROP
$ipt -A FORWARD -p TCP ! --syn -m state --state NEW -j DROP

 

위와 같은 코드를 실행시켰는데 클라이언트 (192.168.1.2)가 방화벽에 접속을 하지 못하는 현상이 생겼습니다. 며칠째 고민하고 코드를 고쳐보기도 했으나 여전히 답을 모르겠습니다.

제가 어디를 잘못했는지 가르쳐 주십시요.

아...그리고....교재 328쪽에 있는 2개의 참고싸이트의 프로그램도 어떻게 사용하는지도 가르쳐 주세요. 아무리 뒤져봐도...메뉴얼이나 방법을 모르겠습니다.

감사합니다.

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,437 명
  • 현재 강좌수 :  37,183 개
  • 현재 접속자 :  396 명