'라우터'에 해당되는 글 2건
라우터 실습 #5 :: 2008/07/16 12:38
OSPF(Open Shortest Path First)
- Open : 개방된, 표준
- Shortest Path First : 최단 거리 우선, SPF 알고리즘
- IPv4에서 동작하는 OSPF는 OSPFv2를 사용한다.
- IPv6에서 동작하는 OSPF는 OSPFv3를 사용한다.
- OSPF 운영 : Link State 알고리즘 사용
- 최적 경로 선출 : Dijkstra 알고리즘, SPF 알고리즘
1. OSPF가 사용하는 Link-State 알고리즘
- 라우터 상호간에 인접 관계라는 네이버 관계를 성립한다.
- 네이버 관계인 라우터간에 라우팅 업데이트를 실시한다.
- 라우팅 업데이트 정보는 데이터 베이스(LSDB)에 저장하여 관리한다.
- 데이터 베이스(LSDB) 정보를 기반으로 최적 경로를 선출한다.
- 이때, 최적 경로 선출시에 SPF 알고리즘을 사용한다. (후속 경로는 없음)
- 각각의 라우터가 생성한 데이터 베이스(LSDB)는 동기화를 실시하여 같은 상태 정보를 유지한다.
- 데이터 베이스(LSDB)를 동기화할때 LSA(Link-State Advertisement) 광고 패켓을 사용한다. LSA 광고 패켓은 1~11까지 유형으로 구분된다.
- 주기적인 업데이트 실시하지 않으며, 단 네이버 관계를 유지하기 위한 Hello 패켓을 주기적으로 교환한다.
2. OSPF가 운영하는데 필요한 3가지 테이블
1) OSPF Neighbor Table
- 네이버의 정보(네이버의 라우터 아이디가 출력)
- 네이버가 완전하게 성립되지 않아도, 네이버와의 상태를 알기위해서
네이버 테이블이 생성된다. (EIGRP는 네이버 성립시 생성됨)
- 'show ip ospf neighbor' Command
2) OSPF Database Table (Link-State Database=LSDB)
- 라우팅 업데이트 정보를 관리한다.
- LSDB는 네이버 라우터와 LSA 광고 패켓을 이용하여 동기화를 한다.
- 기본 LSA 광고 패켓은 30분마다 플리딩한다.
- LSDB 정보를 기반으로 SPF 알고리즘을 사용하여 최적 경로를 선출한다.
- 'show ip ospf database' Command
3) Routing Table
- OSPF 최적 경로가 등록된다.
- 'show ip route', 'show ip route ospf' Command
[참고] OSPF 인접 조건
1. 동일한 네트워크는 같은 Area에 포함되어야 한다.
2. 동일한 네트워크는 Hello/Dead Interval 시간이 동일해야 한다.
3. 동일한 네트워크는 MTU 싸이즈가 동일해야 한다.
4. 만약, 인증을 실시하면 인증 사항이 동일해야한다.(키값, 패스워드)
5. Stub Area 구간에 포함된 라우터들은 Stub 설정을 실시해야 한다.
[참고] OSPF 네트워크 환경에 따른 Hello/Dead-Interval 기본값
Hello Dead
Point-to-Point 10 40
Broadcast 10 40
Nonbroadcast 30 120
Point-to-Multipoint 30 120
Point-to-Multipoint Nonbroadcast 30 120
[참고] Router-ID 선정 기준
1) 물리적 인터페이스만 있을 경우, 물리적 인터페이스 IP가 가장 높은 IP로 선출
2) 가상 인터페이스(Loopback)가 있을 경우, Loopback IP가 가장 높은 IP로 선출
3) 인터페이스를 사용하기 보다는 가장 신뢰적인 'router-id' Command를 사용한다.
4) 만약, 라우터 인터페이스에 IP 설정이 한개도 없다면, OSPF 프로세서 시작 안됨
(요즘 IOS는 시작된다. 이유 : 'router-id' Command가 있기때문에)
5) 네이버 라우터와 Router-ID가 중복되면 인접이 안된다.
3. OSPF가 사용하는 5가지 패켓
1) Hello 패켓
- 네이버 관계를 성립하고, 네이버 관계를 유지하는 패켓
- Hello 패켓 내부 내용
* Area Number, Hello/Dead-Interval, 인증, Stub Flag <- 인접 조건
* Router-ID, Priority(우선순위, 기본값=1) <- DR/BDR 선출할때 사용
* DR/BDR Router-ID
* Neighbor Router-ID
2) DB Description 패켓
- 데이터 베이스 정보를 DBD 패켓으로 생성하여 네이버 라우터와 교환
- 즉, 데이터 베이스를 생성할때 사용하는 패켓
- 인접 단계때 한번 사용한다.
- 즉, 네트워크가 추가되어도 DBD는 다시 업데이트 되지 않는다.
3) LS Request 패켓
- 새로운 정보에 대해서 요청할때 사용
- DBD 교환 이후, 내 LSDB 정보보다 새로운 정보를 발견했다면 네이버 라우터에게
요청을 실시한다.
4) LS Update 패켓
- LSR 패켓 요청에 대한 업데이트 패켓
- 이때, LSA 광고 패켓을 포함하여 업데이트 실시
5) LS Acknowledge 패켓
- DBD, LSR, LSU에 대한 확인 메세지이다.
4. OSPF 인접 단계 <= 네이버 관계를 맺는 단계
0) Down State
- 나는 OSPF 구성이된 상태이지만, 네이버를 발견하지 않은 상태
- 즉, 나는 Hello 패켓을 내보내지만, 네이버로부터 Hello를 수신하지 못하는 상태
- 각각의 라우터들은 Router-ID를 선출한다.
1) Init State
- 상대방 라우터와 Hello 패켓 교환 실시
- DR/BDR 선출 구간에서는 DR/BDR을 선출한다.
- 인접 조건을 검사한다.
2) Two-Way State
- 양방향 대기 상태
- 네이버 라우터와 Hello 패켓을 주기적으로 교환한다.
- 단, 업데이트는 실시되지 않는다.
3) Exstart State
- 누가 먼저 DBD 패켓을 전송할 것인지 결정하는 단계
- Master 라우터와 Slave 라우터를 선출한다.
- Router-ID가 높은 라우터가 Master 라우터로 선출
- Router-ID가 낮은 라우터가 Slave 라우터로 선출
4) Exchange State
- Master 라우터에서 먼저 DBD 패켓을 Slave 라우터로 전송
- 그 다음, Slave 라우터에서 Master 라우터로 DBD 패켓 전송
- LSDB 생성 가능
- 만약, 새로 요청할 정보가 없다면, 바로 Full State로 전환된다.
- 만약, 새로 요청할 정보가 있다면, Loading State로 넘어간다.
5) Loading State
- 하위 라우터가 상위 라우터에게 LSR 패켓을 이용하여 새로운 정보를 요청
- 상위 라우터는 하위 라우터에게 LSU 패켓을 이용하여 새로운 정보를 업데이트
- 이때, LSU 패켓에는 LSA 광고 내용이 포함된다.
6) Full State
- OSPF 인접 종료
R2# debug ip ospf adj
OSPF adjacency events debugging is on
5. OSPF는 멀티케스트 224.0.0.5, 224.0.0.6 주소를 사용한다.
R2# debug ip packet
R2# debug ip ospf packet
*Mar 1 01:29:56.571: IP: s=31.31.12.1 (Serial1/1), d=224.0.0.5, len 80, rcvd 0
*Mar 1 01:29:56.579: OSPF: rcv. v:2 t:1 l:48 rid:1.1.1.1
aid:0.0.0.0 chk:E694 aut:0 auk: from Serial1/1
01:31:31.903: IP: s=31.31.12.2 (local), d=224.0.0.5 (Serial1/1), len 80, sending broad/multicast
6. DR/BDR 선출
1) DR/BDR 선출되지 않는 네트워크 환경
- Point-to-Point 환경(점-대-점), Point-to-Multipoint 환경 (점-대-다중)
- 네트워크에 노드가 2개 이상 늘어나지 않는 환경이기 때문에 선출이 필요없다.
- 멀티케스트 224.0.0.5만 사용한다.
2) DR/BDR 선출되는 네트워크 환경
- LAN 구간 Broadcast 환경, WAN Nonbroadcast 환경
- 네트워크에 노드가 여러개 이상 연결하는 환경이기 때문에 선출이 필요하다.
- 선출 하는 이유 : 네트워크 변경에 대한 사항(LSA 광고)를 DR/BDR 라우터만
광고를 실시하기 위해서이다.
즉, LSA 광고 플러딩 범위를 최소화하기 위해서이다.
- 선출 과정
1) OSPF Priority(우선 순위)가 가장 높은 라우터가 DR로 선출,두번째가 BDR로 선출
2) 만약, 우선위가 동일하면, OSPF Router-Id가 높은 라우터가 DR, 두번째가 BDR
3) DR/BDR이 아닌 라우터는 DROTHER 라우터라고 한다.
- DR/BDR/DROTHER 동작 과정
1) 모든 DROTHER은 DR/BDR과 Full State까지 진행되어 네이버를 맺는다.
2) 대신, DROTHER간에는 Two-Way State까지만 진행된다.
3) 네트웤 변경이 생기면 DROTHER은 멀티케스트 224.0.0.6 주소를 이용하여 DR에게 광고 한다.
4) 이때, DR은 네트웤 변경 사항을 멀티케스트 224.0.0.5 주소를 이용하여 모든 DROTHER들에게 광고 한다.
7. OSPF 신뢰도 : 110
8. OSPF 설정
Router(config)# router ospf [1~65535 Process-ID] '문제 중 .. 0부터 시작이 되는가 나온다. 1부터..
Router(config-router)# router-id [A.B.C.D IPv4 주소 형식]
Router(config-router)# network [A.B.C.D 로컬 네트워크][와일카드 마스크][Area]
- [1~65535 Process-ID] : 라우터에 복수개의 OSPF를 구동하기 위한 번호
: 여러개 사용을 권장하지 않는다.
9. OSPF MD5 인증 설정
Router(config)# router ospf 1
Router(config-router)# area x authentication message-digest
Router(config-router)# exit
Router(config)# interface [Interface Name] <- Area x에 포함된 네트워크
Router(config-if)# ip ospf message-digest-key 13 md5 cisco
10. OSPF 2 계층 디자인 모델
- AS안에서 Area 단위 지역으로 구분한다.
- 하는 이유 : LSA 광고 패켓 플러딩 범위를 최소화하기 위해서이다.
- 2계층 디자인 조건 : 모든 Area는 Area 0이라는 Backbone Area를 경유해야한다.
- 2계층 디자인 구성시 다음과 같은 OSPF 라우터가 필요하다.
1) ABR(Area Border Router) : Area 0과 Area x 경계사이에 있는 Area 경계 라우터이다.
2) ASBR(AS Border Router) : 외부 도메인과 OSPF 도메인사이에서 외부 정보를 OSPF 도메인으로 광고하는 AS 경계 라우터이다.
3) Internal Router : Area안에 속해 있는 내부라우터이다.
4) Backbone Area : Area 0(Area 0.0.0.0)이며, 모든 Area들이 경유해야한다. 이때, Area 경계사이에는 ABR 라우터가 필요하다.
11. OSPF 경로 유형
- Intra-Route : 같은 Area안에 네트워크 경로를 말하며, 라우팅 테이블에 'O'라는 코드로 등록된다.
- Inter-Route : 다른 Area 네트워크 경로를 말하며, 라우팅 테이블에 'O IA'라는 코드로 등록된다.
- External-Route : 외부 도메인 네트워크 경로를 말하며, 라우팅 테이블에 'O E1' 또는 'O E2'로 등록된다.
- NSSA External-Route : NSSA Area 구성시 외부 도메인 네트워크 경로를 말하며, 라우팅 테이블에 'O N1' 또는 'O N2'로 등록된다.

1. 기본 설정이 완료되었다면, 각각의 라우터에 OSPF 라우팅 프로토콜을 이용하여 라우팅 업데이트를 실시하여라.
- 각각의 라우터가 갖고 있는 네트워크는 Area 0 지역으로 포함하여라.
- 'router-id' Command를 이용하여 라우터 아이디를 선정하여라. 이때, 라우터 아이디는 y.y.y.y로 설정하여라
[R1 설정]
R1(config)# router ospf 1
R1(config-router)# router-id 1.1.1.1
R1(config-router)# network 172.16.1.0 0.0.0.255 area0
R1(config-router)# network x.x.1.0 0.0.0.255 area0
R1(config-router)# network x.x.12.0 0.0.0.255 area0
[R2 설정]
R2(config)# router ospf 1
R2(config-router)# router-id 2.2.2.2
R2(config-router)# network x.x.12.0 0.0.0.255 area0
R2(config-router)# network x.x.23.0 0.0.0.255 area0
R2(config-router)# network x.x.2.0 0.0.0.255 area0
[R3 설정]
R3(config)# router ospf 1
R3(config-router)# router-id 3.3.3.3
R3(config-router)# network 172.16.3.0 0.0.0.255 area0
R3(config-router)# network x.x.3.0 0.0.0.255 area0
R3(config-router)# network x.x.23.0 0.0.0.255 area0
2. OSPF 설정이 완료되었다면, 다음과 같은 정보 확인을 실시하여라.
- 'show ip protocol' Command를 이용하여 OSPF 이미지를 확인하여라.
- 'show ip ospf neighbor' Command를 이용하여 OSPF 네이버 관계를 확인하여라.
- 'show ip ospf database' Command를 이용하여 LSDB 정보를 확인하여라.
- 'show ip route', 'show ip route ospf' Command를 이용하여 OSPF 경로 정보를 확인하여라.
3. OSPF가 사용하는 SPF 알고리즘은 최적 경로를 선출할때 메트릭 계산은 어떤 방법으로 하는가?
Cost = 10^8 / bandwidth
링크당 Cost 값을 구해서 출발지에서 목적지까지 더한값을 사용한다.
4. R1과 R2, R3와 R3 Point-to-Point 구간에서는 DR/BDR을 선출하는가? 않함
5. 만약, R1 FastEthernet 0/0에 OSPF 우선순위가 1이며, Router-ID가 11.11.11.11인 R11 라우터가 연결되어 있다면, R1과 R11 중에 어떤 라우터가 DR이며, 어떤 라우터가 BDR로 선출되는가? R11이 DR, R1은 BDR로 선출
6. 만약, R1 FastEthernet 0/0에 R11이 연결되어 있다면, R1과 R11 OSPF 우선순위를 0으로 설정하면 R1과 R11은 무슨 라우터로 선출되며, 어떤 상태에서 머물르는가? 둘다 DROTHER이며, Two-Way 상태에서 대기한다.
7. R1, R2, R3 Point-to-Point 구간 Area 0 지역에 MD5 인증을 실시하여라.
이때 키 값은 '13'이며, 패스워드는 'cisco'로 설정하여라.
[R1 설정]
R1(config)# router ospf 1
R1(config-router)# area 0 authentication message-digest
R1(config-router)# exit
R1(config)# interface serial 1/0
R1(config-if)# ip ospf message-digest-key 13 md5 cisco
[R2 설정]
R2(config)# router ospf 1
R2(config-router)# area 0 authentication message-digest
R2(config-router)# exit
R2(config)# interface serial 1/0
R2(config-if)# ip ospf message-digest-key 13 md5 cisco
R2(config-if)# exit
R2(config)# interface serial 1/1
R2(config-if)# ip ospf message-digest-key 13 md5 cisco
[R3 설정]
R1(config)# router ospf 1
R1(config-router)# area 0 authentication message-digest
R1(config-router)# exit
R1(config)# interface serial 1/1
R1(config-if)# ip ospf message-digest-key 13 md5 cisco
>> capture r1 s1/0 ospf.cap HDLC
R1> ping 10.10.23.3
R3> conf t
R3# line vty 0 4
R3# password ciscovty
R3# exit
R3# enable secrete cisco
R3# end
R1> telnet 10.10.23.3
password : ciscovty
R3> enable
password : cisco
R3#
>> no capture r1 s1/0
ospf.cap 더블클릭해서 와이어 샤크로 확인
라우터 실습 #4 :: 2008/07/16 10:11
# ACL(Access Control List)
1. 사용 용도
- 네트워크 정의, 트래픽 정의
- 트래픽 필터링(허용/차단)
2. ACL 유형
1) IP 필터링
- Standard ACL : 1~99 항목 번호 사용
- Extended ACL : 100~199 항목 번호 사용
- Named ACL : TEXT 항목 사용
2) MAC 필터링
- Standard ACL : 700 ~ 799
- Extended ACL : 1100-1199
3. ACL 사용 방법
- 출발 네트워크 정의(Extended ACL은 목적지 네트워크도 정의)
- 출발지/목적지 네트워크 정의를 할때 와일드카드 마스크를 사용한다. Ex) 192.168.1.0 0.0.0.255
- 만약, 출발지/목적지 네트워크가 전체 네트워크라면 'any' 키워드를 사용한다. Ex) 0.0.0.0 255.255.255.255 <- any
- 만약, 출발지/목적지 네트워크가 특정 호스트라면 'host' 키워드와 IP 주소를 사용한다. Ex) 192.168.1.13 0.0.0.0 <- host 192.168.1.13
- 'permit' 키워드를 이용하여 트래픽을 허용하고, 'deny' 키워드를 이용하여 트래픽을 차단하다.
- 트래픽 필터링 인터페이스 인바운드(in)/아웃바운드(out)를 적용해야 한다.
- 인바운드(in)란 트래픽이 들어오는 방향이며, 아웃바운드(out)는 트래픽이 나가는 방향이다.(Default: OutBound)
4. ACL 사용시 주의 사항
- ACL 검사 순서는 위에서부터 아래로 진행되면서 조건에 만족되는 항목은 동작을 실시한다.
- 그렇기 때문에 범위가 작은 네트워크/호스트부터 정의해야한다.
- 자주 사용하는 항목부터 정의해야한다.
- 추가되는 설정은 ACL 항목 뒤에서부터 추가된다.
- 마지막에 명시하지 않는 이상 전체 차단인 'deny any'가 실시된다.
- 그렇기 때문에 경우에 따라 전체 허용인 'permit any'가 필요하다.
- 부분 추가/부분 삭제/부분 수정이 불가능하다.
- 선작업 후설정 권장, TFTP 서버 이용
5. ACL 문법
1) Standard ACL : 출발지 네트워크만 정의
access-list [1~99]{permit|deny} 출발지 네트워크 와일드카드 마스크 [log]
- access-list : ACL 구문
- [1~99] : Standard ACL을 표기
- {permit|deny} : 허용/차단
- 출발지 네트워크 : 접근하는 네트워크 트래픽(Source Network)
- 와일드카드 마스크 : 서브넷 마스크 반대
- [log] : 옵션 키워드, ACL 항목이 일치하여 동작하면 로그 메세지를 출력한다.
Ex1)
인터넷
|
|
|
[s1/0] 192.168.1.0/24
A---------------------[fa0/0]R1[fa0/1]------------B------------C
192.168.1.1/24 192.168.1.2/24
- R1은 출발지 네트워크가 192.168.1.1인 트래픽이 로컬 네트워크 A로 접근하는 것을 차단하고, 나머지는 허용한다.
단, 192.168.1.1은 인터넷이 되어야한다.
access-list 33 deny host 192.168.1.1
access-list 33 permit any
!
interface fa0/0
ip access-group 33 out
!
Ex2)
인터넷
|
|
|
[s1/0] 192.168.1.0/24
A---------------------[fa0/0]R1[fa0/1]-------B---------------C
172.16.1.0/24 [fa0/2] 192.168.1.1/24 192.168.1.2/24
|
|
|
|
E
172.16.2.0/24
- A는 인터넷이 불가능하며, 오로지 B,C,E로만 접근이 가능하다.
- B는 A로 접근이 불가능하며, 인터넷만은 가능해야한다.
- E는 인터넷이 불가능하며, 오로지 A로만 접근이 가능하다.
access-list 13 deny 172.16.1.0 0.0.0.255
access-list 13 deny 172.16.2.0 0.0.0.255
access-list 13 permit any
!
int s 1/0
ip access-group 13 out
!
access-list 14 deny host 192.168.1.1
access-list 14 permit any
!
int fa0/0
ip access-group 14 out
!
access-list 15 deny 172.16.2.0 0.0.0.255
access-list 15 permit any
!
int fa0/1
ip access-group 14 out
!
2) Extended ACL
- 출발지/목적지 네트워크 정의
- 어플리케이션 프로토콜 정의(IP, TCP, UDP, ICMP, OSPF, EIGRP, IGRP, IGMP, GRE)
- 출발지/목저지 네트워크에 대한 어플리케이션 포트 번호
- 옵션 : QoS, TCP 세션관련, Time-Range, Log
access-list [100~199]{permit|deny} [어플리케이션 프로토콜 타입]
출발지 네트워크 와일드 카드 마스크 {포트}
목적지 네트워크 와일드 카드 마스크 {포트}
[옵션]
Ex1)
외부
|
|
|
[s1/0] 192.168.1.0/24
A---------------------[fa0/0]R1[fa0/1]---------웹서버----------파일서버
172.16.1.0/24 192.168.1.1/24 192.168.1.2/24
1) R1은 출발지 네트워크가 172.16.1.0/24인 트래픽만 웹서버(HTTP)&파일서버(FTP)에 접근을 허용하며, 외부 트래픽은 허용하지 않는다.
access-list 133 permit tcp 172.16.1.0 0.0.0.255 host 192.168.1.1 eq 80 (www)
access-list 133 permit tcp 172.16.1.0 0.0.0.255 host 192.168.1.2 eq 20 (ftp-data)
access-list 133 permit tcp 172.16.1.0 0.0.0.255 host 192.168.1.2 eq 21 (ftp)
!
interface fa0/1
ip access-group 133 out
!
2) R1은 출발지 네트워크가 172.16.1.0/24인 트래픽만 웹서버(HTTP)&파일서버(FTP)에 접근을 차단하며, 나머지 트래픽은 허용한다.
access-list 163 deny tcp 172.16.1.0 0.0.0.255 host 192.168.1.1 eq www
access-list 163 deny tcp 172.16.1.0 0.0.0.255 host 192.168.1.2 range 20 21
access-list 163 permit ip any any
!
interface fa0/0
ip access-group 163 in
!
Ex3)
A---------------------[fa0/0]R1[fa0/1]-----------------B
172.16.1.0/24 192.168.1.0/24
1) A는 출발지 네트워크가 192.168.1.0/24인 ICMP 패켓에 대해서 차단하길 원한다. 단, 나머지는 허용한다.
access-list 143 deny icmp 192.168.1.0 0.0.0.255 172.16.1.0 0.0.0.255 ehco
access-list 143 permit ip any any
!
3) Named ACL
- ACL 항목을 숫자가 아닌 Text 이름을 이용하여 생성한다.
- Text 이름을 사용하기 때문에 ACL이 많은 환경에서 사용하면 주석처럼 활용이 가능하다.
- 부분 삭제가 가능하다.
- Standard/Extended 지원된다.
Ex1) Standard Named ACL
ip access-list standard NET172
permit 172.16.1.0 0.0.0.255
Ex2) Extended Named ACL
ip access-list extended NET172-to-NET192_HTTP
permit tcp 172.16.1.0 0.0.0.255 host 192.168.1.1 eq www

2. Telnet& ICMP 차단 아래와 같이 실습
### r2 --> r1 http service 필터링 ###
r1#configure t
r1(config)#access-list 100 deny tcp host x.x.12.2 host x.x.12.1 eq www
(= r1(config)#access-list 100 deny tcp x.x.12.2 0.0.0.255 x.x.12.1 0.0.0.255 eq www)
r1(config)#access-list 100 permit ip any any
r1(config)#interface serial 1/0
r1(config-if)#ip access-group 100 in -> 들어오는 것 차단
(주의!! outbound를 지정해줘버리면 R1 단에서 웹을 사용할 수가 없다.)
### r3 --> r1 icmp,telnet service 필터링 ###
r1#configure t
r1(config)#access-list 101 deny tcp host x.x.23.3 host x.x.12.1 eq telnet
r1(config)#access-list 101 deny icmp host x.x.23.3 host x.x.12.1
r1(config)#access-list 101 permit ip any any
r1(config)#interface serial 1/0
r1(config-if)#ip access-group 101 in
r3#ping x.x.12.1
U.U.U
r3#ping x.x.12.1 source fastethernet 0/0 -> 10.10.12.1에서 오는 핑
!!!!!



