engineering/Network Eng.2007. 4. 17. 15:19
Posted by theYoungman
engineering/Network Eng.2007. 3. 30. 08:54

Cisco라우터나 스위치의 IOS에 관해서 알아보겠습니다.

예를 들면

             c2500-is-l.113-11c.bin

                화일이름      버젼

IOS 화일이름을 보면 xxxx-yyyy-ww 보통 이런 형식을 가지고 있는데요.


맨처음 xxxx = Platform
다음  yyyy = Feature
마지막 ww = 어디로 부터 IOS가 실행되는가, 또는 압축 유무


Platform

as5200 5200
cpa25 CiscoPro 2500
c1005 1005
c2500 25xx, 3xxx, 5100, AP (11.2 and later only)
c2600 2600 Quake platform
c2800 Catalyst 2820
c2900 2910, 2950
c3620 3620
c3640 3640
c4000 4000 (11.2 and later only)
c4500 4500, 4700
c5rsm Catalyst 5000 RSP platform
c5atm Catalyst 4000 ATM platform
c7000 7000, 7010 (11.2 and later only)
c7200 7200
igs IGS, 25xx, 3xxx, 5100, AP
gs7 gateway server (7000, 7010)
mc3810 Ardent Multiservice Cisco 3810 platform
rsp 75xx
xx 4000



Feature

a - APPN
a2 - ATM
b - Appletalk
boot - used for boot images
c - Comm-server/Remote Access Server(RAS) subset (SNMP, IP, Bridging, IPX,
          AT, Decnet, FR, HDLC, PPP, X.25, ARAP, tn3270, PT, XRemote, LAT)
c - Comm-server Lite(CiscoPro)
c2 - Comm-server/Remote Access Server(RAS) subset
d - Desktop subset (SNMP, IP, Bridging, WAN, Remote Node, Terminal Service,
                   IPX, AT, ARAP)
d2 - reduced Desktop subset (SNMP, IP, IPX, AT, ARAP)
eboot - ethernet boot image for mc3810 platform
f - FRAD subset (SNMP, FR, PPP, SDLLC, STUN)
f2 - modified FRAD subset (EIGRP, Pcbus, Lan Mgr, removed, OSPF added)
g - ISDN subset (SNMP, IP, Bridging, ISDN, PPP, IPX, AT)
g2 - gatekeeper proxy, voice and video
i - IP subset(SNMP, IP, Bridging, WAN, Remote Node, Terminal Service)
i2 - subset similar to IP subset for system controller image(3600)
i3 - reduced IP subset with BGP/MIB, EGP/MIB, NHRP, DIRRESP removed
j - enterprise subset (formerly bpx, includes protocol translation)
    **10.3까지는 사용되지 않음
k - kitchen sink (enterprise for high-end) **10.3이후에는 사용되지 않음
l - IPeXchange IPX, static routing, gateway
m - RMON (11.1 only)
n - IPX
o - FIrewall (Formerly IPeXchange Net Management)
p - Service Provider (IP RIP/IGRP/EIGRP/OSPF/BGP, CLNS, ISIS/IGRP)
p2 - Service Provider w/CIP2 ucode
p3 - AS5200 service provider
p4 - 5800(Nitro) service provider
q - Async
q2 - IPeXchange Async
r - IBM base option (SRB, SDLLC, STUN, DLSW, QLLC) - i, in, d 와 같이 사용
r2 - IBM variant for 1600 images
r3 - IBM variant for Ardent images (3810)
r4 - reduced IBM subset with BSC/MIB, BSTUN/MIB, ASPP/MIB, RSRB/MIB removed
s - source route switch (SNMP, IP, Bridging, SRB) (10.2 and following)
s - (11.2 only) addition to the basic subset (Plus version)


c1000 - (OSPF, PIM, SMRP, NLSP, ATIP, ATAURP, FRSVC, RSVP, NAT)
c1005 - (X.25, full WAN, OPSPF, PIM, NLSP, SMRP, ATIP, ATAURP, FRSVC, RSVP, NAT)
c1600 - (OSPF, IPmulticast, NHRP, NTP, NAT, RSVP, FRSVC)
c2500 - (NAT, RMON, IBM, MMP, VPDN/L2F)
c2600 - (NAT, IBM, MMP, VPDN/L2F, VoIP and ATM)
c3620, 3640 - (NAT, IBM, MMP, VPDN/L2F) in 11.3T added VoIP
c4500 - (NAT, ISL, LANE, IBM, MMP, VPDN/L2F)
c5200 - (PT, v.120, managed modems, RMON, MMP, VPDN/L2F)
c5300 - (MMP, VPDN, NAT, managed modems, RMON, IBM)
c5rsm - (NAT, LANE and VLANS)
c7000 - (ISL, LANE, IBM, MMP, VPDN/L2F)
c7200 - (NAT, ISL, IBM, MMP, VPDN/L2F)
rsp - (NAT, ISL, LANE, IBM, MMP, VPDN/L2F)
t - (11.2)AIP w/ modified Ucode to connect to Teralink 1000 Data
u - IP with VLAN RIP (Network Layer 3 Switching Software, rsrb, srt, srb, sr/tlb)
v - VIP and dual RSP(HSA) support
w - Reserved for WBU
w2 - Reserved for CiscoAdvantage ED train
w3 - Reserved for Distributed Director
x - X.25 in 11.1 and earlier release
y - reduced IP (SNMP, IP RIP/IGRP/EIGRP, Bridging, ISDN< PPP) (C1003/4)
- reduced IP (SNMP, IP RIP/IGRP/EIGRP, Bridging, WAN - X.25) (C1005)
(11.2 - includes X.25) (C1005)
y - IP variant (no Kerberos, Radius, NTP, OSPF, PIM, SMRP, NHRP...) (C1600)
y2 - IP variant (SNMP, IP RIP/IGRP/EIGRP, WAN - X.25, OSPF, PIM) (C1005)
y2 - IP Plus variant (no Kerberos, Radius, NTP...) (C1600)
y3 - IP/X.31
Y4 - reduced IP variant (Cable, Mibs, DHCP, EZHTTP)
z - managed modems
40 - 40 bit encrytion
56 - 50 bit encryption
56i - 56 bit encryption with IPSEC



어디로 부터 IOS가 실행되는가, 또는 압축 유무

f - Flash
m - RAM
r - ROM
l - relocatable
z - zip compressed
x - mzip compressed



출처 - NRC NTSE (http://home.freechal.com/ntse/)

Posted by theYoungman
engineering/Network Eng.2006. 8. 11. 14:36
출처 블로그 > 슈마의 네트워크 이야기
원본 http://blog.naver.com/airbag1/80015586114
PIX Firewall Configuration교육센터
2003.05.09


LINE-HEIGHT: 11pt;}.bott { font-family:"돋움"; font-size:11px; line-height:13px}

이 글은 네트웍 엔지니어가 PIX 방화벽을 보다 쉽게 설치하기 위해 작성한 안내서이
다. 일반적으로 회사(기관)에서 방화벽을 구매하는 이유는 네트웍 보안 요구사항을 충
족하기 위해서 이다. 따라서 이 글은 네트웍 보안 요구사항을 PIX 방화벽을 통해서 어
떻게 구현할 것인가를 설명하도록 한다.

네트웍 보안을 위한 첫번째 단계 : 보안 정책 Security Policy 수립

네트웍에서 PIX 방화벽을 효과적으로 이용하려면, 우선 PIX 방화벽을 통해서 어떤
traffic이 허용하고 막을지를 결정하는 보안 정책 Security Policy을 세워야 한다. 보
안 정책이란 보다 구체적으로 회사 내부의 네트웍 자원을 누구에게 허용하고, 어떤 네
트웍 자원을 허용할 지를 결정하게 된다. 네트웍 보안 정책에 관한 자세한 안내는 아
래의 자료를 참고하기 바란다.

http://www.cisco.com/univercd/cc/td/doc/product/iaabu/pix/pix_v4/pixcfg/pixcnint
.htm#xtocid254855

네트웍 구조와 PIX 방화벽

Private Internet Exchange (PIX) 방화벽이 올바르게 설치되었다면, 외부의 네트웍에
서 내부의 네트웍으로 허용되지 않는 접속을 차단하게 된다. PIX 방화벽을 통해서 보
호하게 되는 네트웍을 내부 네트웍inside network이라고 하고 접속이 통제 받는 네트
웍을 외부 네트웍 outside network이라고 한다. PIX 방화벽은 다양한 주변 네트웍을
형성할 수 있는데, 대표적인 것이 Demilitarized Zone (DMZ)이다. 따라서 PIX 방화벽
의 기능은 DMZ, 내부 네트웍, 외부 네트웍간의 모든 네트웍 접속을 통제하는 역할을
수행하게 된다.

그림 1은 PIX 방화벽이 인터넷에서 들어오는 트래픽으로부터 내부의 네트웍을 어떻게
보호하는 지를 보여준다.

그림 1. 네트웍에서 PIX 방화벽


이런 구조에서 PIX 방화벽은 내부 네트웍과 외부 네트웍(DMZ 을 포함해서)의 경계에
위치하게 된다. 내부 네트웍과 외부 네트웍간의 모든 트래픽은 보안 기능을 수행하기
위해서 반드시 PIX 방화벽을 거치게 된다. 외부 네트웍은 일반적으로 인터넷을 통해
서비스를 제공하는 시스템들이 위치한다. 이러한 서비스들을 제공하는 것은 웹 서버,
FTP 서버, 메일 서버등이 있다. 이러한 응용프로그램 서버들로의 접근은 인터넷 접속
Router에서 Access List를 사용하여 접근을 컨트롤할 수 있다.
다른 방법으로, 그림 1에 나타낸 것과 같이 여러 서버들을 DMZ에 위치하도록 할 수 있
다. 그러면 PIX 방화벽은 이런 서버들로 접근을 계속 모니터링하고 조절할 수 있다.
또한 PIX 방화벽은 회사의 보안 정책에 따라 내부 네트웍으로의 모든 트래픽을 조절
할 수 있다.

일반적으로 내부 네트웍은 회사의 고유한 내부 네트웍, 즉 인트라넷, 이며 외부 네트
웍은 인터넷이 된다. 또한 PIX 방화벽은 이러한 회사 내부의 자원을 분리해서 다른 사
용자들로부터 특정 그룹의 컴퓨터 시스템을 보호할 수 있다. DMZ을 만듦으로서 보다
다양한 보안 수준을 갖는 영역을 형성할 수 있게 된다. PIX의 각 interface들은
Routing Information Protocol(RIP) routing update를 받아들이고 RIP default route
정보를 브로드케스트할 수 있다.

이 문서의 구조

이 문서는 당사에서 구축한 PIX 방화벽의 예를 보여준다. 각 PIX 방화벽의
configuration은 다음과 같은 포맷을 구성되어 있다.

- 네트웍 보안 요구 사항
- 특정 네트웍의 운영 예제와 필요 사항
- 네트웍 구성도
- 네트웍 요구사항에 따른 configuration. 특정 요구사항과 관련된 부분은 굵은체로
나타내었다.
- 요구 사항을 적용하기 위한 명령어에 대한 논의

아래는 일반적으로 구현되는 PIX 방화벽의 예이다. 특정 사례에 대해서 살펴보기 전
에 PIX 방화벽의 일반적인 기능 구현에 대해 살펴보도록 하자.


Basic PIX Firewall Configuration

네트웍 보안 요구 사항


- 내부의 네트웍 단말들은 DMZ과 인터넷(외부 네트웍)을 사용할수 있어야 한다.
- DMZ의 단말은 인터넷을 사용할 수 있지만, 내부 네트웍으로 접근은 금지한다.
- DMZ안에 있는 호스트 A(192.150.50.9, 사설 IP address는 192.168.0.2)은 World
Wide Web 서비스를 제공한다.
- 내부 네트웍의 호스트B (192.150.50.7, 사설 IP address는 10.0.0.99)은 인터넷 메
일 서비스를 제공한다.

그림 2. 네트웍 구성도 – 기본 설정


Configuration Code Snapshot

pixfirewall(config)# write terminal
Building configuration...
: Saved
:
PIX Version 4.2(0)205 Beta
nameif ethernet0 outside security0
nameif ethernet1 inside security100
nameif ethernet2 dmz security50
enable password 8Ry2YjIyt7RRXU24 encrypted
passwd 2KFQnbNIdI.2KYOU encrypted
hostname pixfirewall

fixup protocol ftp 21
fixup protocol http 80
fixup protocol h323 1720
fixup protocol rsh 514
fixup protocol smtp 25
fixup protocol sqlnet 1521
no failover
failover ip address outside 0.0.0.0
failover ip address inside 0.0.0.0
names
pager lines 24
syslog output 20.7

no syslog console
syslog host inside 10.0.0.100
interface ethernet0 auto

interface ethernet1 auto
interface ethernet2 auto
ip address outside 192.150.50.3 255.255.255.0
ip address inside 10.0.0.3 255.0.0.0
ip address dmz 192.168.0.1 255.255.255.0
arp timeout 14400
global (outside) 1 192.150.50.10-192.150.50.252 netmask 255.255.255.0
nat (inside) 1 10.0.0.0 255.0.0.0 0 0
nat (dmz) 1 192.168.0.0 255.255.255.0 0 0

static (dmz,outside) 192.150.50.9 192.168.0.2 netmask 255.255.255.255 0 0
static (inside,outside) 192.150.50.7 10.0.0.99 netmask 255.255.255.255 10 40
static (inside,dmz) 10.0.0.0 10.0.0.0 netmask 255.0.0.0 0 0
conduit permit tcp host 192.150.50.9 eq www any
conduit permit tcp host 192.150.50.7 eq smtp any
conduit permit icmp host 192.150.50.7 any
age 10
no rip outside passive
no rip outside default
no rip inside passive
no rip inside default
no rip dmz passive
no rip dmz default
route outside 0.0.0.0 0.0.0.0 192.150.50.1 1
timeout xlate 24:00:00 conn 12:00:00 udp 0:02:00
timeout rpc 0:10:00 h323 0:05:00 uauth 0:05:00
snmp-server host outside 0.0.0.0
no snmp-server location
no snmp-server contact
snmp-server community public
snmp-server syslog disable
snmp-server log_level 5
mtu outside 1500
mtu inside 1500
mtu dmz 1500
Cryptochecksum:921ac2a721ef50f3109ebe7ee03fb2cb
: end
[OK]
pixfirewall(config)#

요구사항 구현

nameif ethernet0 outside security0

첫번째 이더넷 카드 (전원으로부터 첫번째 이더넷 카드)는 외부 영역이라고 명명한
다. 이 interface에 접속되어 있는 네트웍은 외부에 해커에 노출된 곳이다. 따라서 보
안 레벨을 0으로 설정한다.

nameif ethernet1 inside security100
두번째 이더넷 카드 (전원으로부터 두번째 이더넷 카드)는 내부 영역이라고 명명한
다. 이 interface에 접속되어 있는 네트웍은 보다 안전한 곳이다. 따라서 보안 레벨
을 100으로 설정한다.

nameif ethernet2 dmz security50
세번째 이더넷 카드 (전원으로부터 세번째 이더넷 카드)는 DMZ 영역이라고 명명한다.
이 interface에 접속되어 있는 네트웍은 외부 네트웍보다는 안전하지만 내부 네트웍보
다는 덜 안전한다. 따라서 보안 레벨을 50으로 설정한다.

enable password 8Ry2YjIyt7RRXU24 encrypted
Enable password를 설정한다.

passwd 2KFQnbNIdI.2KYOU encrypted
Telnet password을 설정한다.

hostname pixfirewall
PIX 방화벽의 이름을 "pixfirewall"로 설정한다.

fixup protocol smtp 25
PIX 방화벽은 여러 가지 위험 요소들을 막는다.(SMTP 명령어. fixup 명령어는 내부 네
트웍으로 들어오는 패킷중에 목적지 소스 포트가 25일 경우 SMTP security를 수행한
다. 이것은 default 로 설정되어있다.

no failover
Failover기능을 사용하지 않는다.

names
IP address와 영문자 이름을 일치시킨다. IP host와 같은 기능을 수행하는 명령어이
다.

pager lines 24
이 명령어는 Console이나 Telnet에서 디스플레이되는 라인의 길이를 설정하는 명령어
이다.

syslog output 20.7
모든 메시지를 syslog server로 보내도록 한다. 이 메시지를 PIX에서 발생하는 환경
정보, 에러 메서지, 경고, 디버그 메시지등을 담고 있다.

syslog host inside 10.0.0.100
syslog server의 IP address를 10.0.0.100으로 설정. 이 서버는 내부 네트웍에 위치한
다.

interface ethernet0 auto
첫번째 네트웍 interface의 속도와 duplex mode를 자동으로 인식하고 설정한다.

ip address outside 192.150.50.3 255.255.255.0
PIX 방화벽의 외부 interface의 ip address를 192.150.50.3 (class C)로 설정한다.

arp timeout 14400
캐시로 저장된 arp 항목을 14400초 동안 유지한다.

global (outside) 1 192.150.50.10-192.150.50.252 netmask 255.255.255.0
Global pool을 생성하고 global pool의 값을 1로 할당한다. 위의 경우, 글로벌 풀은
243개의 IP address를 갖는다. 이 address는 Network Address Translations에 의해서
할당된 것이다.

nat (inside) 1 10.0.0.0 255.0.0.0 0 0
nat (inside) 명령어는 내부 네트웍의 클라이언트와 DMZ과 인터넷 영역의 서버간의
IP 통신을 가능하게 한다. 내부 네트웍의 호스트에서 인터넷의 호스트와 통신하기 위
해서 내보낸 패킷이 PIX를 통과하게 되는데, 패킷의 Source Address의 IP address부분
이 10으로 설정되어 있으면 이것을 Global pool 값 1에 있는 IP address로 바꾸도록
설정하는 것이다.

nat (dmz) 1 192.168.0.0 255.255.255.0 0 0
nat (inside) 명령어는 DMZ 네트웍의 단말과 인터넷 영역의 서버간의 IP 통신을 가능
하게 한다. DMZ 네트웍의 호스트가 인터넷의 호스트와 통신하기 위해서 내보낸 패킷
이 PIX를 경유하게 되는데, 이때 패킷의 Source Address의 IP address부분이
192.168.0으로 설정되어 있으면 이것을 Global pool 1에 있는 IP address로 바꾸도록
설정하는 것이다.

static (dmz,outside) 192.150.50.9 192.168.0.2 netmask 255.255.255.255 0 0
DMZ 네트웍의 호스트(192.168.0.2)가 인터넷의 호스트와 통신을 하고자 할때, DMZ의
네트웍 호스트에서 인터넷으로 나가는 패킷의 Source Address를 192.150.50.9로 바꾸
도록 한다. 이 address는 공인 어드레스이다. 이것은 역의 경우에도 동일하게 적용된
다. 즉 외부 인터넷의 호스트가 통신을 시도할 때에도 역시 192.150.50.9를
192.168.0.2로 바꾸게 된다. 따라서 IP address 192.150.50.9는 다른 호스트에서 사용
하지 못한다.

static (inside,dmz) 10.0.0.0 10.0.0.0 netmask 255.0.0.0 0 0
이것은 내부 네트웍의 패킷이 DMZ 네트웍으로 전송되도록 하는 netstatic 명령어이다.

conduit permit tcp host 192.150.50.9 eq www any
이것은 DMZ 네트웍의 192.168.0.2 서버에 HTTP 프로토콜을 쓰는 패킷만 접근을 허용하
는 명령이다. (주의할 점은 이 명령이 정상적으로 작동하려면 static (dmz,outside)
192.150.50.9 192.168.0.2 netmask 255.255.255.255 0 0 명령과 같이 사용해야만 한
다.)

conduit permit tcp host 192.150.50.7 eq smtp any
외부 네트웍에서 내부 네트웍의 메일 서버(10.0.0.99)로 SMTP (mail)패킷 전송을 받아
들인다.

route outside 0.0.0.0 0.0.0.0 192.150.50.1 1
이 네트웍의 default 경로는 192.150.50.1로 설정한다. (이 address는 Internet
router의 IP address이다.)


출처 www.networktraining.co.kr

Posted by theYoungman
engineering/Network Eng.2006. 8. 7. 00:56
[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 내역

router#sh config
Using 688 out of 7506 bytes
!
version 11.2
no service pad
service udp-small-servers
service tcp-small-servers
!
hostname router
!
enable secret 5 $1$hhG6$C8XU.Ph/ALfd8bBtOH.zK.
enable password router
!
ip nat pool cks 210.101.66.182 210.101.66.182 netmask 255.255.255.252
ip nat inside source list 1 pool cks overload
!
interface Ethernet0
ip address 200.200.200.254 255.255.255.0
ip nat inside
!
interface Serial0
ip address 210.101.66.182 255.255.255.252
ip nat outside
encapsulation ppp
!
router rip
network 200.200.200.0
network 210.101.66.0
!
no ip classless
ip route 0.0.0.0 0.0.0.0 210.101.66.181
access-list 1 permit 200.200.200.0 0.0.0.255
!
line con 0
line vty 0 4
password router
login
!
end


[ config 예2 ]

Bluehill#sh conf
Using 1937 out of 32762 bytes
!
version 11.2
service timestamps debug datetime localtime
service timestamps log datetime localtime
no service udp-small-servers
no service tcp-small-servers
!
hostname router
!
enable secret 5 $1$m5fp$oTlTNpBGcNvfR2ONCQPqj/
enable password kim
!
ip subnet-zero
ip nat translation timeout 300
ip nat translation tcp-timeout 300
ip nat pool hansol 210.101.116.1 210.101.116.254 netmask 255.255.255.0
ip nat inside source list 10 pool hansol
ip name-server 210.116.254.1
!
interface Ethernet0
ip address 133.10.60.5 255.255.0.0
no ip mroute-cache
ip nat inside
!
interface Serial0
no ip address
no ip mroute-cache
encapsulation frame-relay
bandwidth 128
shutdown
frame-relay lmi-type ansi
!
interface Serial0.1 multipoint - F/R PORT 사용
ip address 210.116.246.103 255.255.255.240
ip accounting output-packets
no ip mroute-cache
ip nat outside
frame-relay interface-dlci 700
!
interface Serial1
ip address 210.101.117.34 255.255.255.252
ip accounting output-packets
no ip mroute-cache
no ip route-cache
ip nat outside
!
router rip
passive-interface Ethernet0
network 133.10.0.0
network 168.126.0.0
network 210.101.116.0
network 210.121.42.0
network 210.121.43.0
distribute-list 77 out Serial0.1
!
ip http server
ip http port 90
ip classless
ip route 0.0.0.0 0.0.0.0 210.101.117.33
ip route 0.0.0.0 0.0.0.0 168.126.148.49
ip route 133.10.0.0 255.255.0.0 133.10.10.4
ip route 133.20.0.0 255.255.0.0 133.10.10.4
ip route 133.30.0.0 255.255.0.0 133.10.10.4
ip route 210.101.116.0 255.255.255.0 Null0 254
ip route 210.121.42.0 255.255.255.0 Null0 254
ip route 210.121.43.0 255.255.255.0 Null0 254
access-list 10 permit 210.101.116.0
access-list 10 permit 133.10.0.0 0.0.255.255
access-list 66 permit 133.10.0.0 0.0.255.255
access-list 77 permit 210.121.43.0
access-list 77 permit 210.121.42.0
snmp-server community tnldnsrj RW
!
line con 0
password blivy
line aux 0
transport input all
line vty 0 4
password blivy
login
!
end

예제1)
router#sh config
Using 709 out of 32762 bytes
!
version 11.2
no service password-encryption
no service udp-small-servers
no service tcp-small-servers
!
hostname router
!
enable secret 5 $1$UnkP$pEIOM/ZlIw/918ANOS4zm0
!
ip nat pool kt 211.54.83.170 211.54.83.173 netmask 255.255.255.224
ip nat inside source list 1 pool kt_pri overload
ip name-server 168.126.63.1
!
interface Ethernet0
ip address 211.54.83.174 255.255.255.224 secondary
ip address 168.192.100.254 255.255.255.0
ip nat inside
!
interface Serial0
no ip address
ip nat outside
!
interface Serial1
no ip address
shutdown
!
ip classless
ip route 0.0.0.0 0.0.0.0 Serial0
access-list 1 permit 168.192.100.0 0.0.0.255
!
!
line con 0
line aux 0
line vty 0 4
password suwon
login
!
end

router#

예제2)
router#sh conf
Using 1417 out of 32762 bytes
!
version 11.2
no service password-encryption
no service udp-small-servers
no service tcp-small-servers
!
hostname router
!
enable secret 5 $1$7N4H$AVSlVb5dbZxJTsXp8Hmcg/
enable password router
!
ip nat pool net-1 210.223.111.6 210.223.111.255 netmask 255.255.255.0
ip nat inside source list 1 pool net-1 overload
ip nat inside source static 172.16.211.9 210.223.111.2
ip domain-name kyungdong.co.kr
ip name-server 172.16.211.9
!
interface Ethernet0
ip address 172.16.206.11 255.255.255.0 secondary
ip address 210.223.111.4 255.255.255.0
ip nat inside
!
interface Serial0
ip address 192.168.234.190 255.255.255.252
ip nat outside
bandwidth 1544
!
interface Serial1
ip address 172.16.100.1 255.255.255.0
ip nat inside
!
router rip
redistribute static
network 172.16.0.0
!
ip classless
ip route 0.0.0.0 0.0.0.0 192.168.234.189
ip route 128.3.2.0 255.255.255.0 172.16.206.12
ip route 172.16.101.0 255.255.255.0 172.16.100.2
ip route 172.16.107.0 255.255.255.0 172.16.100.2
ip route 172.16.108.0 255.255.255.0 172.16.100.2
ip route 172.16.209.0 255.255.255.0 172.16.206.10
ip route 172.16.210.0 255.255.255.0 172.16.206.10
ip route 172.16.211.0 255.255.255.0 172.16.206.10
ip route 172.16.212.0 255.255.255.0 172.16.206.10
access-list 1 permit 172.16.0.0 0.0.255.255
access-list 1 permit 128.3.2.0 0.0.0.255
snmp-server community public RO
!
line con 0
line aux 0
line vty 0 4
password router
login
!
end

예제3)
router#sh conf
Using 1215 out of 32762 bytes
!
version 11.2
no service password-encryption
no service udp-small-servers
no service tcp-small-servers
!
hostname router
!
enable secret 5 $1$40jO$hyLEyHgr4FB7uItdw3SXW1
enable password decolan
!
ip nat pool dsec 210.217.42.1 210.217.42.100 netmask 255.255.0.0
ip nat inside source list 1 pool dsec overload
ip domain-name kornet21.net
ip name-server 168.126.63.1
ip name-server 147.47.1.1
!
interface Ethernet0
ip address 210.217.42.1 255.255.0.0 secondary
ip address 130.1.3.5 255.255.0.0
ip nat inside
!
interface Serial0
ip address 192.168.62.58 255.255.255.252
ip nat outside
ip rip authentication mode 0
!
interface Serial1
no ip address
shutdown
!
ip classless
ip route 0.0.0.0 0.0.0.0 192.168.62.57
ip route 130.1.0.0 255.255.0.0 130.1.3.11
ip route 130.3.0.0 255.255.0.0 130.1.3.11
ip route 130.4.0.0 255.255.0.0 130.1.3.11
ip route 130.10.0.0 255.255.0.0 130.1.3.11
access-list 1 permit 130.1.0.0 0.0.255.255
access-list 1 permit 130.2.0.0 0.0.255.255
access-list 1 permit 130.3.0.0 0.0.255.255
access-list 1 permit 130.7.0.0 0.0.255.255
access-list 1 permit 130.4.0.0 0.0.255.255
access-list 1 permit 130.10.0.0 0.0.255.255
!
line con 0
line aux 0
line vty 0 4
password decolan
login
!
end

예제4)
router#sh conf
Using 1276 out of 32762 bytes
!
version 11.3
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
service udp-small-servers
service tcp-small-servers
!
hostname router
!
enable secret 5 $1$i9vO$MhVhuIF/6NGwDr0kuVXFK0
enable password router
!
ip nat pool sm_pri1 210.183.57.64 210.183.57.95 netmask 255.255.255.224
ip nat pool sm_pri 210.113.59.66 210.113.59.126 netmask 255.255.255.192
ip nat inside source list 1 pool sm_pri
ip nat inside source list 2 pool sm_pri1
ip nat inside source static 195.7.7.253 210.113.59.65
no ip domain-lookup
!
!
!
interface Ethernet0
ip address 195.7.7.254 255.255.255.0
ip nat inside
!
interface Serial0
ip address 192.168.239.190 255.255.255.252
ip nat outside
no keepalive
!
interface Serial1
no ip address
shutdown
!
ip classless
ip route 0.0.0.0 0.0.0.0 Serial0
ip route 195.7.8.0 255.255.255.0 195.7.7.250
ip route 195.7.9.0 255.255.255.0 195.7.7.250
ip route 195.7.10.0 255.255.255.0 195.7.7.250
ip route 195.7.11.0 255.255.255.0 195.7.7.250
!
access-list 1 permit 195.7.7.0 0.0.0.255
access-list 1 permit 195.7.10.0 0.0.0.255
access-list 2 permit 195.7.8.0 0.0.0.255
access-list 2 permit 195.7.9.0 0.0.0.255
access-list 2 permit 195.7.11.0 0.0.0.255
!
line con 0
line aux 0
line vty 0 4
password suwon
login
!
end
Posted by theYoungman
engineering/Network Eng.2006. 4. 7. 01:17

1. GLBP란..

Cisco 전용 프로토콜로써, MHSRP와 MVRRP에 단점을 보안하여 효울성있게 각각 Host들에게 로드밸런싱을 하여 보내는 방식이다. 라우터들 사이에서 패킷 Load Sharing을 수행하고 동시에 백업라인구성으로 라우터 장애에 대비하게 된다.

2. GLBP Supported Platforms.

Cisco 1700 Series, Cisco 2600 Series, Cisco 3620, Cisco 3631, Cisco 3660, Cisco 3725, Cisco 3725, Cisco 3745, Cisco 7100 Series, Cisco 7200 Series, Cisco 7400 Series, Cisco 7500 Series.


3. GLBP의 개념.

- IEEE 802.3 LAN에서 단일 게이트웨이로 구성된 IP Host들을 위한 자동 라우터 백업을 제공.

- GLBP는 단일 Virtual IP 주소와 여러 개의 MAC주소를 사용하여 여러 라우터에게 Load Balancing 을 제공.

- Host들은 같은 Virtual IP 주소로 설정되고, Virtual Router 그룹 내에 모든 라우터들은 동시에 패킷 스위칭이 가능.


4. AVG(Active Virtual Gateway)

- GLBP 그룹내에 하나의 AVG는 선출되어야 되고, 선출 방법은 HSRP와 VRRP처럼 우선순위가 가장 높은 라우터가 AVG가 되며 그다음 높은 우선순위 라우터가 STandby AVG가 된다. 만약, 같은 우선순위일때는 높은 IP주소를 가지는 라우터가 선출이 된다.

< GLBP의 우선순위 설정 >

// 설정하고자하는 인터페이스 모드에서.. //

Switch(Config-if)#glbp group Priority level Group Number: 0~1023, Priority: 1~255(가장높은값: 255, Default:100)


- AVG는 같은 GLBP 그룹내에 라우터에게 Virtual Mac 주소를 각각 할당.

- 하나의 GLBP 그룹에는 최대 4대의 라우터가 존재 가능.

- PC혹은 서버와 AVF간의 중개자 역할 수행.

- HSRP처럼 현재 Active라우터가 죽을때까지 다른하나의 라우터가 Active상태로 될수 없지만, 현재 AVG의 우선순위보다 더 높은 우선순위를 갖는 라우터가 있다면 Preempt명령어로 Active상태 전환을 허용함.

< Standby AVG에서 Active AVG라우터로의 변환 설정 >

Switch(config-if)#glbp group preempt [delay minimum seconds] []안은 생략 가능함을 말함.


5. AVF(Active Virtual Forwarder)


- AVG로부터 Virtual Mac주소를 할당받은 라우터.

- GLBP는 라우터가 같은그룹내에서 하나의 Virtual Mac 주소를 가진 AVF를 결정하기 위해서 WEIGHT 기능을 사용. 각각의 라우터는 최대 WEIGHT 값(1~254)으로 시작. 특정 인터페이스가 다운이 될때, 그 WEIGHT값은 설정된 값 만큼 감소.

- GLBP는 한 라우터가 AVF가 될때와 AVF가 될수 없수을때 한계치(threshold)를 사용.  만약, 그 WEIGHT값이 낮은 한계치 아래로 떨어진다면, 그 라우터는 AVF역할은 포기. WEIGHT값이 좀 높은 한계치 위로 올라간다면, 그 라우터는 AVF역할을 다시 시작할수 있다. (Default WEIGHT는 100)

- 동적 웨이팅 조정을 원한다면 GLBP는 그 WEIGHT를 조정하기 위한 방법과 이동하기 위한 인터페이스를 알아야 함.


< 이동 되는 인터페이스에서 동적 웨이팅 설정 >

Switch(config)#track Object-number interface type mod/num {line-protocol | ip routing}
Object-number는 WEIGHT 조정을 위해 사용되어지는 임의의 값.(1~500)

조정을 일으키는 조건은 Line-Protocol(인터페이스 line-protocol이 UP인 상태) 혹은 Ip routing(IP Routing이 활성화 되어져 있어야하고, 인터페이스에는 IP가 할당되고 UP이어야한다.) 될수있다.


< GLBP 인터페이스에 한계치 설정 >

Switch(config-if)#glbp group weighting maximum [lower lower] [upper upper]
Maximum weight: 1~254(Default: 100) upper과 lower 한계치는 그 라우터가 AVF가 될수 있을때와 될수 없을때 각각 정의해준다.


< 인터페이스 모드에서 웨이팅값이 조정되어지기 위한 이동을 하기위해 어느 objects인지 알기 위해 GLBP를 설정 >

Switch(config-if)glbp group weighting track object-number [decrement value]
이동 되는 object가 실폐를 할때, 그 웨이팅은 decrement value만큼 감소 되어짐.
(1~254 Default:100)

- Host들은 통신을 하기 위해 MAC 주소를 알아야 한다. Host가 ARP로 요구를 하게 되면 한 라우터의 Virtual Mac 주소를 갖게 되고 Virtual IP를 받아 Host의 ARP 테이블에 등록을 시켜 놓는다.

(각각의 Host는 같은 가상 Ip를 같지만 가상 Mac은 서로 다를수 있다. 이것은 밑에 설명할 GLBP의 로드밸런싱에 따라 달라지게 된다.) Host는 ARP 테이블을 참고하여 하나의 AVF를 선택하여 통신하게 된다.


6. GLBP 로드밸런싱 방법

AVG는 결정론적의 구조에서 클라이언트들로 가상 라우터 MAC 주소를 분배해주는것에 의해 로드밸런싱을 설립한다.  당연히 AVG는 각각의 가상 MAC 주소를 사용하는 그룹안에 AVF들에게 먼저 알려준다. 순차적인 순서로 할당되어진 네개의 가상 MAC주소를 통하여 한그룹 안에서 사용되어진다.

1) Round Robin: Default로 설정 되어 있으며, Host가 Default Gateway MAC을 질의 할때, 다음 이용 가능한 AVF의 가상 주소를 순서대로 받는다. 트래픽 부하는 각각의 클라이언트이 똑같은양의 트래픽을 보내고 받는것으로 간주할때,  그룹내에 AVF들로 역할을하는 모든 라우터들을 통해 균등히 분배되어 진다.

2)Veighted: GLBP 그룹 인터페이스의 Weighting 값은 AVF로 보내어지는 트래픽의 비율을 결정한다. 빈번히 발생하는 ARP에서 더 높은 Weighting 결과들은 그 라우터에 가상 MAC 주소를 포함하여 응답하게 된다. 만약 인터페이스 트래킹이 설정되지 않았다면, 설정되어진 가장 최대 Weighting 값이 AVF들 사이에서 관계적인 비율로 접근하기 위해 사용되어진다. 한마디로 설명하자면 웨이트 비율에 따라 AVG의 가상 MAC주소 응답 비율을 달리하여 응답한다. (장비 성능에 차이 ...etc)

3)HOst-dependent: 가상 라우터 주소를 위해 ARP Request를 발생하는 각각의 클라이언트는 응답에 있어 늘 똑같은 가상 MAC 주소를 받는다. 이 방법은 만약 고정된 Gateway MAC 주소에 대한 요구를 가진다면 사용 되어진다. (달리 말하자면, 한 클라이언트는 Router over time동안 사용중인 로드 밸런싱 방법에 따라 다른 MAC주소들과 함께 회답들을 받는다.) 간단히 요약하자면 특정 PC나 서버에게 항상 특정 AVF의 가상 MAC주소로 ARP를 응답함.


7. GLBP 설정

Switch>enable

Switch#configure terminal

Switch(config)#interface type number

Switch(config-if)#ip address ip-address mask [secondary]

Switch(config-if)#glbp group authentication text string

// 그 그룹에서 다른 라우터들로부터 받은 GLBP패킷들을 인증화한다. (만약 당신이 authentication으로 설정한다면 GLBP 그룹내에 모든 라우터들은 같은 인증 문자열을 사용해야함.) //

Switch(config-if)#glbp group forwarder preempt [delay minimum seconds]

// 현재 AVF보다 더 높은 우선순위를 가진 라우터를 가졌다면, 한 그룹에서 AVF의 역할을 이어 받도록 그 라우터를 설정한다. (기본 delay 시간이 30초) //

Switch(config-if)#glbp group load-balancing [host-dependent | round-robin | weighted]

// GLBP AVG에 의해 사용되어지는 Load balancing의 방법을 명세화한다. //

Switch(config-if)#glbp group preempt [delay minimum seconds]

// 현재 AVG보다 더 높은 우선순위를 가진 라우더를 가졌다면,  한 GLBP그룹을 위해 AVG의 역할을 이어 받기 위해 그 라우터를 설정한다. ( 이 명령어는 기본 비활성화되어져 있다.) //

Switch(config-if)#glbp group priority level

// GLBP그룹내에서 게이트웨이의 우선순위 수준을 정한다 (Default value: 100) //

Switch(config-if)#glbp group timers [msec] hellotime [msec] holdtime

// 한 GLBP그룹에서 AVG에 의해 보내어진 성공적인 hello packet들의 사이의 간격을 설정한다. ( holdtime 인수는 hello 패킷에서 가상 게이트웨이나 가상 전송자 정보가 무효하게 설정되어지기 전에 초단위로 간격을 명세화한다. msec 키워드는 기본 초단위전송이 아닌 1/100초 단위로 표현되어 질것이다.) //

Switch(config-if)#glbp group timers redirect redirect timeout

// AVG가 하나의 AVF로 클라이언트들의 방향을 고쳐 나가도록 계속하는동안 시간 간격을 설정한다. (timeout인수는 두번째 가상 전송자가 효력이 없어지기전에 초단위로 간격을 명세화한다.) //

Posted by theYoungman