항상 기분좋게 긍정적으로 스마일~


Posted
Filed under IT Story/Network



[Cisco] NAT Config 해설

Network Address Translation(NAT)은 2개의 네트워크를 연결하는 라우터에서만 설정이 가능하다.프라이빗 어드레스(Private Address)나 비공인 IP Address를 사용하는 내부 네트워크의 트래픽이 다른 외부 네트워크에 패킷을 전송하기 전에 공인 IP 어드레스로 변환 시켜야 한다.

 이 어드레스 변환처리는 변환이 필요한 장소의 라우터 에 NAT를 설정하여 라우팅과 연동시킨다.
여기서 다룰 시스코 IOS의 NAT는 RFC 1631을 지원한다. 물론 CISCO IOS는 NAT를지원하는 소프트 웨어야 한다.

  1 사용되는 용어

NAT기능이 내장된 라우터를 인터넷과 연결되는 부분에 설치하면 내부 보안 및 공인 IP Address 부족을 해결할 수 있다. 따라서이 장비를 이용하면 효과적일 것이다.

-내부(inside)
어드레스 변환의 대상이 되는 내부 사설 네트워크 군이다.
 
 -외부(outside)
다른 네트워크를 의미한다. 통상적으로 인터넷을 의미한다.

-내부 로컬 IP 어드레스(Inside Local IP Address)
내부네트워크의 호스트에 부여되는 사설 IP 어드레스로서 내부적으로 중복되지않는 어드레스다. 비공인 IP를 사용토록 권장한다. 이 어드레스는 외부쪽(인터넷)으로 라우팅 되지 않는다. 외부쪽에서 라우팅이 되더라도 이 어드레스는 실제로는 타조직에 이미 할당된 어드레스다. 따라서 프라이빗 어드레스 사용을 권장한다.

-내부 글로벌 IP 어드레스(Inside Global IP Address)
내부 호스트의 IP 어드레스와 대응되는 외부의 공인 IP 어드레스이다. 내부 사용자의 IP 어드레스가 이 글로벌(공인) 어드레스로 변환되어 나간다. 이 어드레스는 인터넷에서유일한 어드레스여야 한다.

-단순 변환 엔트리(Simple Translation Entry)
기존 IP 어드레스와 다른 IP 어드레스를 대응시키는 변환 테이블의 엔트리이다.

-확장 변환 엔트리(Extended Translation Entry)
IP 어드레스와 포트번호 쌍을 대응시키는 변환 테이블의 엔트리이다.

2 사용되는 주요 기능

-스태틱 어드레스 변환(Static Address Translation)
내부 로컬 어드레스와 글로벌 어드레스를 1대 1로 매핑하여 설정할 수 있다.

-다이나믹 소스 어드레스 변환(Dynamic Source Address Translation)
내부 로컬 어드레스와 글로벌 어드레스의 매핑을 동적으로 작성할 수 있다. 글로벌어드레스에 할당된 어드레스는 어드레스 풀(Address pool)에 저장한다. 로컬어드레스가 자신의 소스어드레스를 어드레스 풀에 있는 글로벌 어드레스로 변환시킨다. 그리고 변화된 어드레스는 변환 테이블 엔트리에 등록된다.

  -다이나믹 포트 변환(Dynamic Port Translation)
글로벌 어드레스 풀에 있는 어드레스를 절약하기 위해 TCP또는 UDP의 소스포트를 사용해서 변환할 수 있다. 여러개의 로컬 어드레스가 동일한 그로벌 IP 어드레스를 사용하더라도 포트 번호로 구분할 수 있다. 따라서 변환이 필요할 때에는 Berkeley Standard Distribution의 협정에 따라서 오리지널과 같은 영역(1-->511, 512-->1023,1024-->4999,5000-->65535)에 있는 새로운 포트 번호를 선택한다.

  -도착지 어드레스 로타리 변환(Destination Address Rotary Translation)
다이나믹 도착지 변환은 외부에서 내부로 특정 트래픽을 통과하도록 설정할 수 있다. 매핑이 설정되면 액세스리스트의 어드레스에 있는 매치되는 도착지 어드레스는 로컬 풀에 있는 어드레스로 치환된다. 이 어드레스의 할당에는 외부에서 내부로 새로운 커넥션이 확립될 때만 라운드 로빈 방식으로 할당된다.

  3 설정 커맨드
-인터페이스 설정 커맨드

커맨드 : ip nat { inside | outside }
설 명 : 인터페이스 내부인지 외부인지 표시할 필요가 있다. 표시된 인터페이스에 속한 패킷만이 변환의 대상이 된다.

---------------------------------------------------------------------------------------------------

ex)

interface ethernet0
ip address 10.1.1.10 255.255.255.0
ip nat inside
!
interface serial0
ip address 172.16.2.1 255.255.255.0
ip nat outside
!  

설명)

interface에서 외부로 나가기위한 인터페이스 에서는 ip nat outside 하고 내부 인터페이스에게는 ip nat inside 해주면 됩니다.

---------------------------------------------------------------------------------------------------

 -글로벌 설정 커맨드

[ ip pool 의 정의 ]

  커맨드 : ip nat pool <name> <start-ip> <end-ip> { netmask <netmask> | prefix-length
<prefix-length> } [ type {rotary} ]

---------------------------------------------------------------------------------------------------

ex)

ip nat pool dyn-nat 192.168.2.1 192.168.2.254 netmake 255.255.255.0

설 명 : 풀에 있는 어드레스는 start address, end address와 netmask를 사용해서 정의 한다. 이들 어드레스는 필요에 따라서 할당된다.

---------------------------------------------------------------------------------------------------

[ 내부 소스 어드레스를 변환을 가능하게 한다.] 

커맨드 : ip nat inside source { list < acl > pool < name > [overload] | static < local-ip > <global-ip > }

---------------------------------------------------------------------------------------------------

ex)

ip nat inside source list 1 pool dyn-nat overload

설 명 : 최초의 커맨드는 다이나믹 변환을 설정하는 커맨드이다. 이 간단한 엑세스 리스트에 해당하는 어드레스가 있으면 지정된 풀에서 할당된 글로벌 어드레스를 사용해서 변환한다, 옵션의 키워드를 사용해서 UDP와 TCP

의 포트 변환도 가능하다. overload라는 옵션을 주게 되면 NAT Table은 Extended entry를 가지게 됩니다. 그것은 옵션을 주기 않게 되면 내부 IP 하나당 외부 IP 하나씩 할당을 받아서 나가는데 overload 옵션을 주게 되면 포트를 가지고 나갑니다.. 하나의 IP를 가지고 여려사람이 이용할 수 있겠죠....

---------------------------------------------------------------------------------------------------

 다음 커맨드는 스태틱 변환을 설정하는 커맨드다.
[ 내부 도착지 어드레스를 변환을 가능하게 한다.]

커맨드 : ip nat inside destination { list < acl > pool < name > | static < global-ip > < local-ip> }
설 명 : 이 커맨드는 소스 변환 커맨드와 유사하다. 다이나믹 변환과 같이 풀은 로컬 타입으로 한다. 

[ 외부 소스 어드레스의 변환을 가능하게 한다.]

맨드 : ip nat outside source { list < acl > pool < name > | static < global-ip > < local-ip >}
설 명 : 최초 커맨드(list...pool..)는 다이내믹 변환을 가능하도록 설정한다. 패킷의 어드레스가 이 간단한 엑세스 리스트에 있는 어드레스와 매칭이 되면 지정된 풀 에서 할당된 로컬 어드레스를 사용해서 변환시킨다.

두번째 커맨드 static는 스태틱 변환을 설정하는 커맨드이다.

[ 변환 타임아웃(timeout)을 설정한다.]

커맨드 : ip nat translation timeout < seconds >
ip nat translation udp-timeout <seconds>
ip nat translation dns-timeout <seconds>
ip nat translation tcp-timeout <seconds>
ip nat translation finrst-timeout <seconds>

설 명 : 다이나믹 변환은 내부 사용자가 사용하지 않은 상태로 일정시간이 경과되면 변환 테이블의 해당 엔트리

를 타임아웃시킨다. 포트 변환이 설정되어 있지 않을때에 변환 테이블의 엔트리는 24시간 후에 타임아웃된다.

[ Exec 커맨드 ]

커맨드 : show ip nat translation [ verboss ]
설 명 : 액티브한 변환을 확인한다.

커맨드 : show ip nat statics
설 명 : 변환 통계를 확인한다.

커맨드 : clear ip nat translation *
설 명 : 전 다이나믹 변환을 해제한다.

커맨드 : clear ip nat translation < global-ip >
설 명 : 단순한 다이나믹 변환을 해제한다.

커맨드 : clear ip nat translation < global-ip > < local-ip > < proto > < global-port > <
local-port >
설 명 : 특정 다이나믹 변환을 해제한다.

커맨드 : debug ip nat [ <list> ] [ detailed ]
설 명 : 디버그

[ config 예1 ]

라우터 조건 : Version : 11.2(9) 이상 ,메모리 : 8M 이상(C1000 시리즈인 경우)

router#sh ver - 먼저 버전 확인

Cisco Internetwork Operating System Software
IOS (tm) 1005 Software (C1005-BNSY-M), Version 11.2(9), RELEASE SOFTWARE (fc1)
Copyright (c) 1986-1997 by cisco Systems, Inc.
Compiled Mon 22-Sep-97 21:53 by ckralik
Image text-base: 0x02004000, data-base: 0x023CB294

ROM: System Bootstrap, Version 5.3.2(9) [vatran 9], RELEASE SOFTWARE (fc1)
BOOTFLASH: 1000 Bootstrap Software (C1000-RBOOT-R), Version 10.3(9), RELEASE SOF
TWARE (fc1)

router uptime is 2 hours, 17 minutes
System restarted by power-on
System image file is "flash:c1005-bnsy-mz.112-9", booted via flash

cisco 1000 (68360) processor (revision @) with 7680K/512K bytes of memory.
Processor board ID 04836644
Bridging software.
X.25 software, Version 2.0, NET2, BFE and GOSIP compliant.
1 Ethernet/IEEE 802.3 interface(s)
1 Serial network interface(s)
8K bytes of non-volatile configuration memory.
2048K bytes of processor board PCMCIA flash (Read/Write)
Configuration register is 0x2102
 

2.Cisco 1005 Config 내역


출처 : http://cafe.naver.com/neteg 
(네트워크 전문가 따라잡기 || Internetworking@TCP/IP) 고공질주





2011/05/20 13:50 2011/05/20 13:50