2013년 12월 30일 월요일

GRE IPsec VPN을 이용한 원격지간 OSPF Area 연결 - 6. OSPF 축약/생략하기



여기까지 정상적으로 진행해 왔다면, 아래의 Routing table을 볼 수 있다.

먼저 A00A


A00B


A10A


A20A


여기서 O IA 로 표시된 경로가 바로 다른 Area에서 전달받은 경로들이다.
ABR(Area Border Router)인 A00A/A00B는 모두 자신이 속한 Area들이라 O IA가 없다.

근데, 보시다시피 라우팅 테이블이 너무 많다. 그리고 상당수가 축약 가능한 경우거나 불필요한 경로(iBGP 동기화용 DMZ)들이다. 그리고 과도한 Routing Table은 불필요한 부하를 발생시킬 수 있다. Routing Table에 다이어트를 시작해보자.



1. 축약하기

불필요하게 많은 내역을 축약하면, 좀더 간략화된 Routing table을 만들 수 있고, 그만큼 라우터에 부하를 줄일 수 있다.

축약은 ABR인 A00A/A00B에서 진행한다.
두개의 라우터 모두에서 아래의 명령어를 실행한다.

Router(config)# router ospf 5730
Router(config-router)# area 0 range 192.168.101.0 255.255.255.0
Router(config-router)# area 10 range 192.168.111.0 255.255.255.0
Router(config-router)# area 20 range 192.168.121.0 255.255.255.0

완료 후에는 아래와 같이 된다.

A00A에서 확인시 아래와 같이 축약한 경로 셋이 추가된 상태로 나온다.
경로가 Null0인 것은 특정 인터페이스로 지정한 경우 생길 수 있는 인터페이스 다운으로 인한 장애를 방지하기 위해서. ABR이기 때문에 Routing Table은 모두 다 표시된다. 하지만 Area가 다른 라우터로 광고하는건 축약된 경로만 광고된다.



A00B에서 확인시에도 동일하게 Null0로 지정된 축약 경로 셋이 추가된다.



이렇게 축약된 경로를 전달받은 A10A(Area 10)/A20A(Area 20)의 Routing Table은 아래와 같다.

A10A(Area 10)에서는 아래와 같이 Area 0(192.168.101.0/24)와 Area 20(192.168.121.0/24)이 축약된 경로로 표시된다.


A20A(Area 20)역시 아래와 같이 Area 0(192.168.101.0/24)와 Area 10(192.168.111.0/24)이 축약된 경로로 표시된다.


하지만, 두 라우터 모두 축약되지 않은 경로들 역시 광고받았고, 그중에서도 불필요한 경로들을 가지고 있다. 바로 DMZ(Demilitarized Zone) 인터페이스들. 이 경로들은 어디까지나 그 용도가 iBGP연결을 위해 IGP인 OSPF에 포함시킨 인터페이스들이다. 그나마도 순수 eBGP연결만 존재하는 Area 10/20에서는 불필요하다. (다만, 지금처럼 단순화시키지 않은 원래의 계획상으로는 모든 Area가 Area 0처럼 이중화 구조를 취하고 있었기 때문에 최초 계획대로 해둔 상태.)
이제 이러한 DMZ 인터페이스들을 생략해보자.



2. 제외/생략하기


2-1. OSPF network 선언에서 제외시키기

OSPF차원에서의 방법은 간단하다. 그냥 해당 네트워크만 제외시키면 되니까.
문제는 iBGP영역. 당장은 문제가 없지만 A00A-ISP_A 나 A00B-ISP_C 구간에 장애가 발생할 경우 문제가 생길 수 있다. 이 문제는 iBGP설정을 변경함으로서 해결 할 수 있다. 즉, 이 방법은 iBGP설정을 변경하고, OSPF선언을 제외하면 된다.

작업방식은 아래와 같이 진행하면 된다.

먼저 A00A의 DMZ 인터페이스를 ospf에서 제외시킨다.

Router(config)# router ospf 5730
Router(config-router)# no network 10.10.10.4 0.0.0.3 area 0

이후 A00A의 BGP설정에 아래와 같이 추가한다.

Router(config)# router bgp 11
Router(config-router)# neighbor  205.172.100.129 next-hop-self

A00B는 아래와 같다.

Router(config)# router ospf 5730
Router(config-router)# no network 12.12.12.4 0.0.0.3 area 0

Router(config)# router bgp 11
Router(config-router)# neighbor 205.172.100.129 next-hop-self

A10A/A20A는 ospf설정에서 DMZ만 제외해주면 된다. (iBGP설정이 없음.)

제외한 결과 및 입력한 세부 명령은 아래와 같다.


A00A

router ospf 5730
no network 10.10.10.4 0.0.0.3 area 0

router bgp 11
neighbor 205.172.100.129 next-hop-self



A00B

router ospf 5730
no network 12.12.12.4 0.0.0.3 area 0

router bgp 11
neighbor 203.172.100.129 next-hop-self




A10A

router ospf 5730
no network 11.11.11.12 0.0.0.3 area 10



A20A

router ospf 5730
no network 13.13.13.12 0.0.0.3 area 20




2-2. OSPF 경로 광고에서 제외시키기

방법은 이전에 사용했던 distribute-list를 쓰는 것이다. 역시 여기서도 in을 사용한다. out을 사용할 수는 있지만 이 경우에는 2-1과 본질적으로 차이가 없다. 앞에서 작성한 ACL를 수정(Named ACL로 작업한 경우)하거나 삭제 후 새로작성, 혹은 별도의 distribute-list를 사용할 수 있다. 여기서는 A00A만 과정을 명시하고 나머지는 최종 ACL 및 distribute-list 명령을 사용한다.

먼저 DMZ 인터페이스를 잠시 종료시킨다.

Router(config)# int s1/0
Router(config-if)# sh

그리고 ACL을 제거한다. 기존에 작업한 것이 Named가 아니라서 수정은 할 수 없다.
(Named로 한 경우라면 수정하면 된다.)

Router(config)# no access-list 11

제거한 뒤, 다시 동일한 번호로 새로 생성한다. 기존것에서 두줄이 추가된 구조다.

Router(config)# access-list 11 deny 204.172.100.160 0.0.0.3
Router(config)# access-list 11 deny 206.172.100.160 0.0.0.3
Router(config)# access-list 11 deny 11.11.11.12 0.0.0.3
Router(config)# access-list 11 deny 13.13.13.12 0.0.0.3
Router(config)# access-list 11 permit any

최종적으로 DMZ 인터페이스를 다시 활성화 시킨다.

Router(config)# int s1/0
Router(config-if)# no sh

동일한 방식으로 다른 3개의 라우터도 설정하면된다.


여기까지 설정이 끝난 경우의 ACL 설정은 아래와 같다.
(기존 ACL과 동일한 번호를 사용.)


A00A

access-list 11 deny 204.172.100.160 0.0.0.3
access-list 11 deny 206.172.100.160 0.0.0.3
access-list 11 deny 11.11.11.12 0.0.0.3
access-list 11 deny 13.13.13.12 0.0.0.3
access-list 11 permit any




A00B

access-list 11 deny 204.172.100.160 0.0.0.3
access-list 11 deny 206.172.100.160 0.0.0.3
access-list 11 deny 11.11.11.12 0.0.0.3
access-list 11 deny 13.13.13.12 0.0.0.3
access-list 11 permit any




A10A

access-list 10 deny 203.172.100.128 0.0.0.3
access-list 10 deny 205.172.100.128 0.0.0.3
access-list 10 deny 10.10.10.4 0.0.0.3
access-list 10 deny 12.12.12.4 0.0.0.3
access-list 10 deny 13.13.13.12 0.0.0.3
access-list 10 permit any




A20A

access-list 10 deny 203.172.100.128 0.0.0.3
access-list 10 deny 205.172.100.128 0.0.0.3
access-list 10 deny 10.10.10.4 0.0.0.3
access-list 10 deny 11.11.11.12 0.0.0.3
access-list 10 deny 12.12.12.4 0.0.0.3
access-list 10 permit any




P.S : 잘 보면, 제외시키는 쪽이 광고 안받는 쪽 보다 ABR의 Routing Table 길이가 짧다. (정확히는 한줄 차이) 이건 eBGP를 위한 경로가 필요한가 아닌가의 차이.

2013년 12월 24일 화요일

GRE IPsec VPN을 이용한 원격지간 OSPF Area 연결 - 5. 연결된 Tunnel을 통해 Area 연결 시도

지금까지의 내용을 그대로 따라한 경우, 아래와 같이 된다.

1. 3개의 OSPF Area 각각의 OSPF 경로가 형성된다.
2. 주요 4개의 라우터(A00A/A00B/A10A/A20A)간 루프백 인터페이스를 기준으로 한 eBGP경로가 생성됨.
3. 주요 4개의 라우터(A00A/A00B/A10A/A20A)간 eBGP 경로를 기반으로 터널링 연결을 통한 논리적 직접연결이 형성된다.
4. 4개의 ISP는 eBGP로 선언한 네트워크가 없어 주요 4개 라우터에 관련 경로가 남지 않음.


OSPF 단일 Area의 경우는 상관없으나, 여러 Area를 포함하는 경우, 반드시 모든 Area는 Area 0에 연결되어야만 한다. 앞에서 설정한 Tunnel 인터페이스는 이를 위해서 논리적으로 연결을 형성하기 위해 사용된 것이다.

그럼 이제 이를 이용해서 연결을 시도해 보자. (편의상 A00A와 A10A연결로 진행)

먼저 eBGP와 Tunnel 인터페이스가 정상적으로 활성화 되었는지 show ip route 명령으로 확인한다.

먼저 A00A는 아래와 같다.
아래와 같이 A10A의 루프백 인터페이스 및 Tunnel 12 인터페이스 연결이 확인된다.


그리고 A10A는 아래와 같다.
아래와 같이 A00A의 루프백 인터페이스 및 Tunnel 12 인터페이스 연결이 확인된다.



이제 여기에 Area 연결을 위해 Tunnel 12 인터페이스를 OSPF에 선언한다.

router ospf 5730
 network 192.168.111.64 0.0.0.3 area 10

그러면 아래와 같이 터널의 연결이 끊겼다가 다시 복구되는게 반복된다.




일반적으로 터널링 연결상태에서 연결이 끊기는 경우는 아래와 같다.


- There is no route to the tunnel destination address.
터널의 목적지(destination)로 연결되는 경로를 알 수 없는 경우.
* 이를 방지하기 위해서 Tunnel 인터페이스와 무관하게 라우팅 태이블에 올라오도록 설정한다. 여기서는 eBGP를 사용.

- The interface that anchors the tunnel source is down.
터널의 출발지(source) 인터페이스가 다운된 경우.
* 여기서는 이를 방지하기 위해서 Loopback 인터페이스를 사용했다.

- The route to the tunnel destination address is through the tunnel itself.
터널의 목적지(destination)로 향하는 경로가 터널 자신이 될 경우.


여기서는 세번째가 원인. OSPF에 선언된 네트워크중 주요 라우터의 루프백 인터페이스가 포함되어 있기 때문이다. 해결방법은 크게 두가지 방법이 있다.


1. Tunnel을 통해 연결하는 Routing Protocol에 해당 Tunnel의 Destination/Source에 해당하는 Network를 포함시키지 않는다.

2. Tunnel을 통해 연결하는 Routing Protocol에서 해당 Tunnel의 Destination/Source에 해당하는 Network를 광고하지 않는다.


지금과 같은 경우, iBGP로 연결된 구간이 있기 때문에 1번은 불가. 때문에 2번을 선택해서 아래와 같이 진행한다.


A00A

Router(config)# access-list 11 deny 204.172.100.160 0.0.0.3   - Tunnel 12 destination 관련
Router(config)# access-list 11 permit any
Router(config)# router ospf 5730
Router(config-router)# distribute-list 11 in


A10A

Router(config)# access-list 10 deny 203.172.100.128 0.0.0.3   - Tunnel 12 destination 관련
Router(config)# access-list 10 permit any
Router(config)# router ospf 5730
Router(config-router)# distribute-list 10 in


위 내용의 의미는 ACL을 통해서 광고 대상을 설정한 뒤(여기서는 Tunnel 12 destination에 대한 network), distribute-list 명령으로 OSPF 네이버간 받아들이는(distribute-list [acl] in) 광고를 제한한것. 외부로 보내는 광고를 제한(distribute-list [acl] out)하지 않는 이유는 iBGP기반이 되는 영역과 중복되고, 다른 장비에는 경로에 대한 광고를 보내야 하기 때문.

최종적으로 이 환경에서 OSPF Area 연결에 대한 명령은 아래와 같이 된다.


A00A

access-list 11 deny 204.172.100.160 0.0.0.3
access-list 11 deny 206.172.100.160 0.0.0.3
access-list 11 permit any

router ospf 5730
network 192.168.111.64 0.0.0.3 area 10
network 192.168.121.64 0.0.0.3 area 20
distribute-list 11 in


A00B

access-list 11 deny 204.172.100.160 0.0.0.3
access-list 11 deny 206.172.100.160 0.0.0.3
access-list 11 permit any

router ospf 5730
network 192.168.111.68 0.0.0.3 area 10
network 192.168.121.68 0.0.0.3 area 20
distribute-list 11 in


A10A

access-list 10 deny 203.172.100.128 0.0.0.3
access-list 10 deny 205.172.100.128 0.0.0.3
access-list 10 permit any

router ospf 5730
network 192.168.111.64 0.0.0.3 area 10
network 192.168.111.68 0.0.0.3 area 10
distribute-list 10 in


A20A

access-list 10 deny 203.172.100.128 0.0.0.3
access-list 10 deny 205.172.100.128 0.0.0.3
access-list 10 permit any

router ospf 5730
network 192.168.121.64 0.0.0.3 area 20
network 192.168.121.68 0.0.0.3 area 20
distribute-list 10 in


P.S : distribute-list에 사용되는 ACL은 반드시 Standard ACL만 사용 가능하다. 조금 다른 경우로, X.X.X.0/24는 차단하고 X.X.X.0/25는 받도록 하고싶은 경우라면 ACL이 아닌 Prefix-List를 사용해야 한다.

P.S : 사실 이 현상 자체는 좀 더 간단한 방법으로 해결 가능하다.


관련 링크

GRE Tunnel Keepalives
OSPF Inbound Filtering Using Route Maps with a Distribute List

2013년 12월 20일 금요일

GRE IPsec VPN을 이용한 원격지간 OSPF Area 연결 - 4. 터널링 설정

Tunnel 연결.

특정 네트워크끼리 논리적인 연결을 구성함으로서 마치 직접 연결된 인터페이스로 인식 시키는 기술. 여기서는 총 4개의 터널 연결을 구성한다.

tunnel 12 : A00A Lo 0 - A10A Lo 0
tunnel 22 : A00B Lo 0 - A10A Lo 0
tunnel 13 : A00A Lo 0 - A20A Lo 0
tunnel 23 : A00B Lo 0 - A20A Lo 0




A00A 

interface Tunnel12
 ip address 192.168.111.65 255.255.255.252
 tunnel source 203.172.100.129
 tunnel destination 204.172.100.161

interface Tunnel13
 ip address 192.168.121.65 255.255.255.252
 tunnel source 203.172.100.129
 tunnel destination 206.172.100.161



A00B

interface Tunnel22
 ip address 192.168.111.69 255.255.255.252
 tunnel source 205.172.100.129
 tunnel destination 204.172.100.161

interface Tunnel23
 ip address 192.168.121.69 255.255.255.252
 tunnel source 205.172.100.129
 tunnel destination 206.172.100.161



A10A 

interface Tunnel12
 ip address 192.168.111.66 255.255.255.252
 tunnel source 204.172.100.161
 tunnel destination 203.172.100.129

interface Tunnel22
 ip address 192.168.111.70 255.255.255.252
 tunnel source 204.172.100.161
 tunnel destination 205.172.100.129



A20A

interface Tunnel13
 ip address 192.168.121.66 255.255.255.252
 tunnel source 206.172.100.161
 tunnel destination 203.172.100.129

interface Tunnel23
 ip address 192.168.121.70 255.255.255.252
 tunnel source 206.172.100.161
 tunnel destination 205.172.100.129


정상적으로 터널링 연결이 되었다면, 기존에 BGP를 통해 Lo 0로 핑을 보낸것과 달리 터널로 직접 핑을 보낼 수 있다. 핑 테스트를 꼭 해보자. 



GRE IPsec VPN을 이용한 원격지간 OSPF Area 연결 - 3. 각 라우터간 연결(BGP)


1. ISP 연결관련 설정.

ISP부분은 OSPF가 아니면서 각 Area를 연결하기 위한 환경을 구성하는게 목적이고, 그러한 목적을 위해서 각각 모두 분리된 AS로 eBGP를 구성함. ISP들 자체의 네트워크 선언은 하지 않고 OSPF 각 Area에서 선언된 네트워크 전달만 함. 각각의 AS는 아래와 같음.

ISP_A : BGP 10
ISP_B : BGP 20
ISP_C : BGP 30
ISP_D : BGP 40



ISP_A 

interface Loopback0
 ip address 203.172.100.65 255.255.255.252

interface FastEthernet0/0
 ip address 100.100.10.5 255.255.255.252

interface FastEthernet0/1
 ip address 100.100.11.5 255.255.255.252

interface Serial1/0
 ip address 10.10.10.5 255.255.255.252

router bgp 10
 no synchronization (사용 IOS파일에선 기본값. 이후 언급 생략)
 bgp router-id 203.172.100.65
 bgp log-neighbor-changes (사용 IOS파일에선 기본값. 역시 이후 언급 생략)
 neighbor 10.10.10.6 remote-as 11 (A00A와 eBGP연결)
 neighbor 100.100.10.6 remote-as 20 (ISP_B와 eBGP연결)
 neighbor 100.100.11.6 remote-as 30 (ISP_C와 eBGP연결)


ISP_B

interface Loopback0
 ip address 204.172.100.65 255.255.255.252

interface FastEthernet0/0
 ip address 100.100.10.6 255.255.255.252

interface FastEthernet0/1
 ip address 110.110.10.5 255.255.255.252

interface Serial1/1
 ip address 11.11.11.13 255.255.255.252

router bgp 20
 no synchronization
 bgp router-id 204.172.100.65
 bgp log-neighbor-changes
 neighbor 11.11.11.14 remote-as 12 (A10A와 eBGP연결)
 neighbor 100.100.10.5 remote-as 10 (ISP_A와 eBGP연결)
 neighbor 110.110.10.6 remote-as 40 (ISP_D와 eBGP연결)


ISP_C

interface Loopback0
 ip address 205.172.100.65 255.255.255.252

interface FastEthernet0/0
 ip address 120.120.10.5 255.255.255.252

interface FastEthernet0/1
 ip address 100.100.11.6 255.255.255.252

interface Serial1/0
 ip address 12.12.12.5 255.255.255.252

router bgp 30
 no synchronization
 bgp router-id 205.172.100.65
 bgp log-neighbor-changes
 neighbor 12.12.12.6 remote-as 11 (A10B와 eBGP연결)
 neighbor 100.100.10.5 remote-as 10 (ISP_A와 eBGP연결)
 neighbor 120.120.10.6 remote-as 40 (ISP_D와 eBGP연결)


ISP_D

interface Loopback0
 ip address 206.172.100.65 255.255.255.252

interface FastEthernet0/0
 ip address 120.120.10.6 255.255.255.252

interface FastEthernet0/1
 ip address 110.110.10.6 255.255.255.252

interface Serial1/1
 ip address 13.13.13.13 255.255.255.252

router bgp 40
 no synchronization
 bgp router-id 206.172.100.65
 bgp log-neighbor-changes
 neighbor 13.13.13.14 remote-as 13 (A20A와 eBGP연결)
 neighbor 110.110.10.5 remote-as 20 (ISP_B와 eBGP연결)
 neighbor 120.120.10.5 remote-as 30 (ISP_C와 eBGP연결)



2. 각 OSPF Area별 설정.

각 OSPF Area 별로 지정된 BGP AS값은 아래와 같다.

Area 0 : 11
Area 10 : 12
Area 20 : 13

OSPF Area 0은 외부 연결이 이중화 구조라 A00A와 A00B는 iBGP구성(IGP는 OSPF 그대로 사용). 그외의 BGP연결은 모두 eBGP연결.


2-1. Area 0

A00A

router bgp 11
 bgp router-id 203.172.100.129
 neighbor 10.10.10.5 remote-as 10
 neighbor 205.172.100.129 remote-as 11
 neighbor 205.172.100.129 update-source Loopback0
 network 203.172.100.128 mask 255.255.255.240


A00B

router bgp 11
 bgp router-id 205.172.100.129
 neighbor 12.12.12.5 remote-as 30
 neighbor 203.172.100.129 remote-as 11
 neighbor 203.172.100.129 update-source Loopback0
 network 205.172.100.128 mask 255.255.255.240


2-2. Area 10

A10A

router bgp 12
 bgp router-id 204.172.100.161
 network 204.172.100.160 mask 255.255.255.240
 neighbor 11.11.11.13 remote-as 20


2-3. Area 20

A20A

router bgp 13
 bgp router-id 206.172.100.161
 network 206.172.100.160 mask 255.255.255.240
 neighbor 13.13.13.13 remote-as 40



P.S : 혹시라도 이 내용대로 직접 해보시는 분이 있을지 몰라 첨언.
지금처럼 네트워크 선언을 루프백만 한 경우, ping 명령어를 평소처럼 Destination IP만 입력하면 정상적인 핑이 돌아오지 않는다. 아래와 같이 할 필요가 있다.

ping [Destination IP] source [Source 'IP or Interface']

여기서 말하는 Source IP or Interface는 BGP를 통해 선언되서 상대쪽에서도 이미 알고 있는 네트워크를 말한다. (상대가 모르는 네트워크면 응답을 할 수가 없으니까.)

2013년 12월 19일 목요일

AD(Administrative Distance)값?

메모리 상에 존재하는 경로중, 어떤걸 실제로 라우팅 태이블에 올리는가 결정하기 위한 값.
숫자가 낮을 수록 우선권을 가지며, 실제로 연결된 장비의 경우 0으로 되어 있다.

즉 동일한 경로에 대해서 AD값이 90인 EIGRP와 110인 OSPF의 경로값이 각각 존재할 경우, AD값이 낮은 EIGRP가 라우팅 태이블에 올라간다. 같은 이유로 동일 경로에 대해 Static route값이 있다면 그게 올라가고.

각 조건별 AD값의 기본값은 아래 표와 같다.

Route Source
Default Distance Values
Connected interface
0
Static route
1
EIGRP summary route
5
eBGP
20
Internal EIGRP
90
IGRP
100
OSPF
110
IS-IS(Intermediate System-to-Intermediate System)
115
RIP
120
Exterior Gateway Protocol (EGP)
140
On Demand Routing (ODR)
160
External EIGRP
170
iBGP
200
Unknown*
255

주요 Routing Protcol별 값 수정은 다음과 같이 할 수 있다.

1. Static Routing

보통 아래와 같이 Static Routing을 설정할때, 마지막에 [AD]값을 숫자(1~255)로 입력하면 된다. 입력하지 않으면 기본값(1)으로 설정됨.

Router(config)# ip route [Destination IP] [Destination mask] [next-hop] [AD]


2. RIP

RIP설정중 아래와 같이 진행하면 된다. 역시 AD값은 1~255사이.

Router(config)# router rip
Router(config-router)# distance [AD]


3. OSPF

RIP과 거의 동일하지만 몇가지 옵션을 더 제공한다.

Router(config)# router ospf [process-id]
Router(config-router)# distance [AD] - ospf 전체
or
Router(config-router)# distance [AD] [Source IP] [Wild mask] (ACL) - ospf 해당 소스
or
Router(config-router)# distance ospf external [AD]  - ospf external에 대해서 AD조정
or
Router(config-router)# distance ospf inter-area [AD]  - ospf inter-area에 대해서 AD조정
or
Router(config-router)# distance ospf intra-area [AD]  - ospf intra-area에 대해서 AD조정



4. EIGRP

역시 크게 다르지 않다.

Router(config)# router eigrp [process-id]
Router(config-router)# distance [AD] [Source IP] [Wild mask] (ACL) - eigrp 해당 소스
or
Router(config-router)# distance eigrp [internal-AD] [external-AD] - internal 및 external 각각의 값으로 조정.



5. BGP

역시 옵션만 조금 다르고 마찬가지다.

Router(config)# router bgp [as-id]
Router(config-router)# distance [AD] [Source IP] [Wild mask] (ACL) - BGP해당 소스
or
Router(config-router)# distance bgp [eBGP-AD] [iBGP-AD] [Local-AD] - 각각의 조건에 대해서 AD조정
or
Router(config-router)# distance mbgp [eBGP-AD] [iBGP-AD] [Local-AD] - 각각의 조건에 대해서 MBGP(Multiprotocol-BGP)의 AD조정



PS : 해당 명령어는 GNS3에서 c3660 모델 이미지로 직접 확인한 명령어라 타 모델과는 조금 다를 수 있음.


참고링크

What Is Administrative Distance?
OSPF Design Guide

GRE IPsec VPN을 이용한 원격지간 OSPF Area 연결 - 2. 주요 인터페이스 IP설정 및 각 Area별 OSPF설정

각 장비별 주요 인터페이스 및 기본적인 OSPF 설정값.
(각 영역별 Core부분만. Access Layer부분은 생략. Distribute Layer는 GNS 한계상 제외)




A00A

interface Loopback0 - BGP 광고용 대표 IP 배정
 ip address 203.172.100.129 255.255.255.240

interface FastEthernet0/0 - A00C와 연결
 ip address 192.168.101.129 255.255.255.252

interface FastEthernet0/1 - A00D와 연결
 ip address 192.168.101.133 255.255.255.252

interface Serial1/0 - ISP_A와 연결
 ip address 10.10.10.6 255.255.255.252

interface FastEthernet2/0 - A00B와 연결
 ip address 192.168.101.137 255.255.255.252

router ospf 5730
 router-id 203.172.100.129
 passive-interface Serial1/0
 network 10.10.10.4 0.0.0.3 area 0
 network 192.168.101.128 0.0.0.3 area 0
 network 192.168.101.132 0.0.0.3 area 0
 network 192.168.101.136 0.0.0.3 area 0
 network 203.172.100.128 0.0.0.15 area 0

A00B

interface Loopback0 - BGP 광고용.
 ip address 205.172.100.129 255.255.255.240

interface FastEthernet0/0 - A00D와 연결
 ip address 192.168.101.145 255.255.255.252

interface FastEthernet0/1 - A00C와 연결
 ip address 192.168.101.149 255.255.255.252

interface Serial1/0 - ISP C와 연결
 ip address 12.12.12.6 255.255.255.252

interface FastEthernet2/0 -A00A와 연결
 ip address 192.168.101.138 255.255.255.252

router ospf 5730
 router-id 205.172.100.129
 passive-interface Serial1/0
 network 12.12.12.4 0.0.0.3 area 0
 network 192.168.101.136 0.0.0.3 area 0
 network 192.168.101.144 0.0.0.3 area 0
 network 192.168.101.148 0.0.0.3 area 0
 network 205.172.100.128 0.0.0.15 area 0


A10A

interface Loopback0 - BGP 광고용
 ip address 204.172.100.161 255.255.255.240

interface FastEthernet0/0 - A10B와 연결
 ip address 192.168.111.129 255.255.255.252

interface Serial1/1 - ISP B와 연결
 ip address 11.11.11.14 255.255.255.252

router ospf 5730
 router-id 204.172.100.161
 passive-interface Serial1/1
 network 11.11.11.12 0.0.0.3 area 10
 network 192.168.111.128 0.0.0.3 area 10
 network 192.168.111.132 0.0.0.3 area 10
 network 204.172.100.160 0.0.0.15 area 10


A20A

interface Loopback0 - BGP 광고용
 ip address 206.172.100.161 255.255.255.240

interface FastEthernet0/0 - A20B와 연결
 ip address 192.168.121.129 255.255.255.252

interface Serial1/1 - ISP D와 연결
 ip address 13.13.13.14 255.255.255.252

router ospf 5730
 router-id 206.172.100.161
 passive-interface Serial1/1
 network 13.13.13.12 0.0.0.3 area 20
 network 192.168.121.128 0.0.0.3 area 20
 network 192.168.121.132 0.0.0.3 area 20
 network 206.172.100.160 0.0.0.15 area 20


P.S : 당연하다면 당연하지만, 실제로 입력한 건 저렇게 명령다 치고 입력하지 않습니다~
그리고 저것 만 하진 않아요. 다 생략하고 마지막에 불필요한것 다 컷한 결과물. show running-config에서 필요한 부분만 잘라온겁니다~

2013년 12월 16일 월요일

GRE IPsec VPN을 이용한 원격지간 OSPF Area 연결 - 1. 개요

1. 개요

Routing Protocol을 공부하다보면, RIP/OSPF/EIGRP/BGP 이 네가지는 배우게 된다.
물론 BGP는 CCNA까지에서는 그냥 그런게 있다 정도나 배우거나 아예 듣지도 못하지만...

그중 OSPF는 다소 큰 구조의 네트워크 구성에 주로 사용되며, 구역별로 Area를 나눠서 Routing 정보를 전달하는 구조를 가지고 있다. 다만, 하나의 Area로만 구성된 경우에는 상관이 없지만, 둘 이상의 Area로 구성된 경우는 제한사항이 하나 있는데, 모든 Area 는 Area 0과 논리적으로 직접 연결되야만 한다는 점이다. 따라서 Area 1 - Area 0 - Area 2는 가능하지만, Area 0 - Area 1 - Area 2는 불가능하다. 당연히 Area 0 - 별도 네트워크 - 그외 Area 식의 환경도 연계가 안된다.

이런 상황을 해결하는 방법은 몇가지가 있지만, 여기서는 Tunnel 을 사용한 방법으로 분리된 네트워크 환경에서 하나의 OSPF 구성으로 만드는 방법을 알아보려고 한다.

시뮬레이션은 GNS3를 사용했으며, 실제 작업과정에서 걸리는 부하가 커서 상당히 간략화 한 구조를 사용하기로 한다.


2. 기본 설정



기본설정은 아래와 같다.

Area 0 : 가상의 회사 - 본사

Area 10/20 : 가상의 회사 - 지사

ISP A~D : 가상의 계약한 ISP 업체들

ISP간 연결 및 ISP-회사간 연결에는 BGP를 사용한다.

각 본사 및 지사 내부적으로는 OSPF를 사용한다.

각 본사 및 지사간 GRE Tunnel(with VPN)을 구성해서 연결한다.




3. 구성

-1. ip 설정 및 연결.

일단 OSPF 영역의

Point-to-Point 부분은 C Class급 사설네트워크로
192.168.100.0 - Area 0
192.168.110.0 - Area 10
192.168.120.0 - Area 20
내에서 분할함.

ISP 영역은 적당히~(중요하지 않으니까)

해서 실제 설정값은 다음게시물로



2013년 11월 6일 수요일

Port-channel

여러 포트를 하나의 포트로 묶어서 사용하는 기능.
기본적으로 최대 8개의 포트를 하나로 묶어 사용할 수 있다.
(PAgP는 8개 까지만, LACP는 16개 까지 가능하지만 실제 동작은 8개 까지만 한다. 나머지 포트는 예비로서 대기상태)

1. 기본적으로 묶는 포트가 모두 동일한 속도와 동일한 Duplex모드를 사용해야 한다.

2. 각 포트는 모두 활성화 된 상태야 한다.

3. 아래의 설정값은 모든 포트가 동일해야 한다. 하나라도 변경할 경우, 동일 그룹 내의 다른 모든 포트도 동일하게 변경하지 않으면 안된다.

–Allowed-VLAN list
–Spanning-tree path cost for each VLAN
–Spanning-tree port priority for each VLAN
–Spanning-tree Port Fast setting

4. Switched Port Analyzer (SPAN) destination port는 그룹에 포함될 수 없다.

5. 포트 보안 기술은 구성전에 모두 해제해야 한다.

6-1. Layer 2(스위치 포트)의 경우는
-Access Port의 경우는 동일 Vlan / Trunk Port의 경우는 동일한 Native Vlan
-Trunk mode의 경우는 개별 Port와 Port-channel이 모두 동일한 설정을 가져야 한다.
-Allowed-VLAN list가 다른 포트를 포함시킨 경우, auto나 desirable 모드를 사용하면 Port-channel이 성립되지 않는다.
-Spanning-tree cost가 다른 포트를 포함시킨 경우, 해당 포트는 포함되지 못한다.

6-2. Layer 3(라우티드 포트)의 경우는 개별 포트에 대해 IP지정을 할 수 없고, 하나로 묶인 전체에 대해서 지정해야 한다.

적용은 아래의 명령어를 사용한다.

channel-group [그룹번호] mode [모드지정]

active    : LACP로 설정
passive : LACP감지시 LACP로 동작
desirable : PAgP로 설정
auto : PAgP감지시 PAgP로 동작
on : 포트채널만 구성

적용 프로토콜 변경은 아래의 명령어를 사용한다.

channel-protocol [lacp/pagp]

lacp : LACP로 지정
pagp : PAGP로 지정



Configuring EtherChannels

2013년 10월 8일 화요일

SNMP(Simple Network Management Protocol) 및 SNMP Get/Get Next/Trap

SNMP(Simple Network Management Protocol)

네트워크 장비 관리 및 감시를 목적으로 개발되어 사용되는 UDP기반 응용계층 표준 프로토콜. 네트워크 구성관리/네트워크 사용량이나 에러, 처리속도, 응답시간등의 성능관리/네트워크 장비의 시스템 정보를 통한 장비 관리/정보의 제어 및 보호 등이 주요 기능이다.


SNMP Get

동기상태인 대상 기기에 대한 단일 정보를 요청하는 경우 사용.


SNMP Get Next

동기상태인 대상 및 그 하위 기기에 대한 정보를 요청하는 경우 사용.


SNMP Trap

비동기적 상황(즉, 갑작스럽게 전달해야 하는 내용)에서 전달해야 할 정보가 있을 경우 사용. 돌발상황이나 정해진 임계치 이상의 시스템 자원 사용같은 바로 전달해야 할 내용이 있는 경우에 사용된다.


참고자료
http://www.joinc.co.kr/modules/moniwiki/wiki.php/article/SNMP_%B0%B3%BF%E4
http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/SNMP

2013년 8월 19일 월요일

ARP/ARP Spoofing Attacks

- ARP(Address Resolution Protocol)

동일한 broadcast Domain에서 IP와 MAC 주소를 맵핑시켜 사용하는 Layer 2 기반의 통신 방법. 특정 IP의 MAC 주소를 아는 경우는 그 MAC주소로, 모를 경우는 broadcast로 MAC주소를 요청하며 해당 IP를 가진 Host에서 자신의 MAC주소를 알려주면 그걸 기억해뒀다가 사용하게 된다. 즉, 실제 통신은 MAC주소 기반으로 하게 됨.

- ARP Spoofing Attacks

ARP는 특정 IP에 대한 MAC주소를 모를 경우, 확인하기 위한 broadcast frame을 발생시킨다. 이때 다른 Host에서 대신 자신의 MAC 주소를 알려주게 되면 그 MAC주소로 맵핑시킨다. 이로서, 다른 Host에게 가야할 정보를 중간에서 가로채는게 가능해진다. 이게 가능한 이유는 ARP에서 사용하는 맵핑 과정 자체에는 검증과정이 포함되지 않기 때문이다.



관련문서

ARP Poisoning Attack and Mitigation Techniques

2013년 8월 15일 목요일

VLAN Hopping 공격

전제조건

- 인터페이스에 직접 억세스 모드 지정(switchport mode access)을 하지 않은 상태.
- 해당 장치가 DTP 지원.

직접 억세스포트로 지정하지 않고 VLAN지정만 하는 경우가 간혹 있고, 많은 경우(대부분의 스위치는 기본값이 Access Mode지만, DTP는 허용된 상태.) 이 상태로도 별다른 문제 없이 동작한다. 하지만 연결된 장치에서 의도적으로 DTP 프레임을 보내서 Trunk 모드로 동작시키는 경우, L3라우팅 없이도 지정된 VLAN이 아닌 다른 VLAN으로 신호를 보낼 수 있게 된다. 결과적으로 접근할 수 없는 영역으로 접근을 할 수 있게 되는 문제가 생긴다.

이를 방지하기 위해서는 두가지를 지키면 된다.

1. Access Port

반드시 아래와 같이 명시적으로 Access Port로 설정해서 DTP프레임을 받아도 Trunk Port로 전환되지 않도록 한다.

SW(config-if)# switchport mode access

2. Trunk Port (802.1Q)

802.1Q Trunk Port 간 연결은 native VLAN 설정이 일치해야 한다. 따라서 기본값인 1에서, 외부인이 알 수 없는 임의의 값으로 변경해서 사용한다. (당연하지만 이 임의의 값은 양쪽이 동일해야 통신이 된다. 즉, VLAN Hopping을 시도하는 상대가 Native Vlan 번호를 모른다면 설정 불일치 문제로 해당 포트가 shutdown 된다.)

SW(config-if)# switchport trunk encapsulation dot1q
SW(config-if)# switchport mode trunk
SW(config-if)# switchport trunk native vlan [임의의 값]


참고문서

Dynamic Trunking Protocol (DTP) - CISCO
VLAN Security White Paper

2013년 8월 3일 토요일

Inconsistent(비일관) 상태

Inconsistent(비일관) 상태는 연결된 양쪽의 설정이 서로 일치하지 않는 것으로 판단되는 경우를 말한다. 아래와 같은 경우가 존재한다.

- Loop Inconsistency
Loop Guard를 설정한 경우에 볼 수 있다. Loop Guard는 BPDU가 전송되지 않는 경우, 종단장치로 판단하고 전송상태로 변경하는걸 방지하는 기능. 이게 필요한 이유는 종단장치가 아니라도 단방향 연결상태라서 BPDU가 전송되지 않는 경우가 있기 때문이다.

- Root Inconsistency
Root Guard를 설정한 경우에 볼 수 있다. Root Guard가 설정된 스위치로, Root 스위치보다 우선인 BPDU가 전송되는 경우, 해당 포트를 차단하고 그 사유로 이 항목이 표시된다. 만약 우선권을 주장하는 BPDU의 전송이 멈추면, 별도로 설정할 필요 없이 차단이 해제되고 연결이 정상화 된다.

- EtherChannel Inconsistency
EtherChannel이 설정된 스위치간 설정이 일치하지 않는 경우 발생한다.

- Port VLAN ID (PVID) Inconsistency
연결된 포트간 VLAN ID가 일치하지 않는 경우 발생한다. 802.1q Trunk Port설정시 Native VLAN 을 동일하게 설정하지 않은 경우에도 발생한다.

- Type Inconsistency 
포트 타입이 일치하지 않는 경우(Access Port - Trunk Port 연결 식으로)에 발생한다. 


관련 문서
Troubleshooting Spanning Tree PVID- and Type-Inconsistencies

Spanning-Tree Protocol Enhancements using Loop Guard and BPDU Skew Detection Features

Spanning Tree Protocol Root Guard Enhancement

Understanding EtherChannel Inconsistency Detection 

What Is a Port VLAN ID (pvid)?

2013년 7월 31일 수요일

Access Host Ports 설정하기

Access Host Ports

이 기능은 종단장치에 직접 연결된 포트 한정으로 사용하는 기능이다.
설정은 해당 인터패이스에서 아래와 같이 입력하면 된다.

SW(config-if)# switchport host

이 설정을 입력하면 아래와 같은 효과를 얻는다.

- Trunk포트인 경우, 강제로 Access 포트로 변경된다.
- Etherchannel을 구성한 경우, 강제로 해제된다.
- PortFast 기능이 자동으로 설정된다.

위의 두가지는 굳이 종단장치가 아니여도 상관없지만, 마지막의 PortFast 기능 때문에 이 설정은 반드시 종단장치에 직접 연결된 포트에 대해서만 사용해야 한다.


관련 문서
Configuring Access Host Ports 


P.S : 순서가 엉망인 이유? 그야 뭐... 공부하는 사람이 엉망이라서?

Errdisable Port State Recovery

Errdisable Port State Recovery 기능

앞에서 언급한, 다양한 보호기술들은 상당수가 포트 차단을 동반하고 있다.
이런 기술들을 적용한 상태에서 실제로 동작하게 될 경우, 관련 이슈가 발생하면 포트가 차단된다. 그리고 관리자가 해제하기 전까지는 그 상태가 유지된다. 문제는 항상 그 자리에 대기해서 해제해 줄 수는 없다는 것.

Errdisable Port State Recovery 기능은 이런식으로 차단된 포트를 일정 시간 이후에 다시 전송 상태로 전환시켜주는 기능이다.

설정은 전체 설정모드에서 아래와 같이 입력하면 된다.

SW(config)# errdisable recovery cause [해당이슈명]

예를 들어 BPDU Guard로 인한 차단을 자동적으로 해제하고자 하는 경우라면

SW(config)# errdisable recovery cause bpduguard


복구 시키는 시간은 기본값으로 300초(=5분)로 되어있다. 이 시간을 변경하고자 하는 경우에는 아래와 같이 전체 설정모드에서 입력하면 된다.

SW(config)# errdisable recovery interval [시간(초단위)]


더 자세한 내용은 아래의 관련 문서를 참고하면 된다.


관련 문서
Errdisable Port State Recovery on the Cisco IOS Platforms

2013년 7월 28일 일요일

STP보호기술 2 - BPDU Filtering 와 Loop Guard

BPDU Filtering 

BPDU를 송/수신 하지 않도록 설정하는 기능.
BPDU를 받지 않아도 될 장비에 보내서 부하가 걸리지 않도록 하는데 그 목적이 있다.

설정은 크게 두가지 방식을 취한다.

첫번째 방법은 전체 설정모드에서 설정하는 방식으로, 전체 설정모드에서 다음과 같이 입력한다.

SW(config)# spanning-tree portfast bpdufilter default

이렇게 하면, 더이상 해당 스위치에서는 BPDU를 송신하지 않는다.
다만 수신은 하며, 수신한 경우에는 그 포트에 대해서는 BPDU Filtering이 해제되고
정상적으로 BPDU를 송수신하게된다.

이 방식의 장점은 일괄적으로 한번에 설정할 수 있다는 점.

이렇게 설정된 경우, 일단은 해당 스위치에 존재하는 모든 포트에 일괄적으로 BPDU Filtering기능이 적용된다. 하지만 다른 장치에서 BPDU를 전송 받을 경우, 해당 포트는 BPDU Filtering이 해제된다. 이후는 일반적인 STP환경처럼 Root/Desg/Altn으로 설정된다.

결과적으로 BPDU를 보내지 않는 종단 장치와 연결된 포트들에는 BPDU Filtering이 유지되고, 그 외의 포트들은 BPDU Filtering이 자동적으로 해제된다.

단점은 그 기준이 BPDU 수신여부라는 점.

누군가가 악의적으로 BPDU를 조작해서 보낼 경우, STP구조가 엉망이 되는 상황이 발생 할 수 있다. 별도로 조정하지 않은 기본상태 기준으로 최대 50초간 네트워크가 마비될 수도 있다.


두번째 방법은 개별 인터페이스에서 직접 설정하는 방식으로, 개별 인터페이스에서 다음과 같이 입력한다.

SW(config-if)# spanning-tree bpdufilter enable

이 방식의 경우는 BPDU 송신만이 아닌, BPDU의 수신도 차단한다.

이 방식의 장점은 직접 설정을 해제하지 않는 한 해제되지 않는다는 점.

앞서 언급한 전체설정모드에서 하는 방법의 단점은, 이 방식에서는 발생하지 않는다.

단점은 STP구성에 포함된 포트에서 사용시, 루프가 발생할 수 있다는 것.

본래 Altn포트로 지정되서 블럭되야하는 포트가 BPDU Filtering설정이 되면, 강제적으로 Forwarding상태가 되어 버린다. 이렇게 되면 Loop구성이 되버려서 정상적인 통신을 하지 못하게 된다.

따라서, 종단포트에 대해서만 개별 인터페이스에서 설정하는 것이 좋다.



Loop Guard

STP상에서 이미 차단(Altn - BLK)된 포트가 상대 포트에게 일정시간 이상(기본값은 50초) BPDU를 받지 못하면, 차단상태에서 전송상태(Desg - FWD)로 변경된다. 이 경우, 루프가 발생하게 된다. Loop Guard는 이러한 현상을 방지하기 위한 기능으로, 이 기능이 설정된 경우에는 차단된 포트가 BPDU를 받지 못해서 전송포트로 변경되는걸 방지한다.


전체 설정 모드에서 설정하고자 하는 경우는 아래와 같이 한다.

SW(config)# spanning-tree loopguard default


개별 인터페이스에 대해서 설정하고자 하는 경우는 해당 인터페이스에 들어가서 아래와 같이 설정한다.

SW(config-if)# spanning-tree guard loop


관련 문서

Configuring Spanning Tree PortFast, BPDU Guard, BPDU Filter, UplinkFast, BackboneFast, and Loop Guard 

Catalyst 2960-X Switch Layer 2 Configuration Guide, Cisco IOS Release 15.0(2)EX 

Configuring Optional Spanning-Tree Features

2013년 7월 27일 토요일

STP보호기술 1 - BPDU Guard 와 Root Guard

BPDU Guard

정상적인 경우, 종단장치가 연결된 포트에서는 BPDU가 송신될 필요가 없다. 같은 이유로 수신될 필요도 없고, 수신 될 일도 없는 것이 정상이다. 종단장치가 연결된 포트에서 BPDU가 수신된다는 것은, 승인되지 않은 개인의 스위치or허브 연결이나 해킹으로 인한 STP공격등이 있을 수 있다. 이를 방지하기 위한 기능이 BPDU Guard. 설정하게 되면, BPDU를 수신할 경우 해당 포트가 차단된다.


전체 설정모드에서는 아래와 같이 설정하면 된다.

SW(config)# spanning-tree portfast bpduguard default

이 방법을 사용하면 스위치에 존재하는 포트중 PortFast 설정이 적용된 포트에서 BPDU가 수신되면 해당 포트를 차단하게 된다.


개별 인터페이스에 대해서는 아래와 같이 설정하면 된다.

SW(config-if)# spanning-tree bpduguard enable

이 방법으로 설정한 포트에 BPDU가 수신되면 해당 포트를 차단한다.


Root Guard

STP를 구성할때 핵심이 되는 Root Switch는 브릿지ID가 가장 낮은 스위치가 담당하게 된다.
L2 네트워크의 중심이 되는 장비가 되므로, 대게는 전체를 관리하는 코어쪽(아래 이미지에서 오른쪽의 Service-Provider측)에 Root스위치를 설정해서 사용하게 된다. 문제는 코어에 연결된 개별 사용자측(아래 이미지에서 왼쪽의 Customer측)에서 별도의 장비(Switch)를 연결하고 내부적으로 설정하는 과정에서 Root Switch보다 더 낮은 브릿지ID를 가지게 설정한 경우가 발생할 수 있다. 이렇게 되면, Root Switch가 변경되면서 STP구조가 변경되는 등의 문제가 발생 할 수 있다.


Root Guard 기능은, 설정된 포트로 들어오는 BPDU중, 해당 스위치의 루트ID보다 브릿지ID가 더 낮은 BPDU가 들어오게 되면 해당 포트를 차단하는 기능이다.

이 기능은 개별 인터페이스에서 설정할 수 있다. (전체모드 미지원)

SW(config-if)# spanning-tree guard root

이 기능은 설정시 주의가 필요하다. 대놓고 매뉴얼 상에 장애 발생의 원인이 될 수 있다고 명시될 정도.


관련 문서

Configuring Spanning Tree PortFast, BPDU Guard, BPDU Filter, UplinkFast, BackboneFast, and Loop Guard 

Spanning Tree PortFast BPDU Guard Enhancement

Catalyst 2960-X Switch Layer 2 Configuration Guide, Cisco IOS Release 15.0(2)EX 

Configuring Optional Spanning-Tree Features

2013년 7월 16일 화요일

STP - Priority값

0~61440사이의 값으로 지정 가능하며, 4096 단위로 지정이 가능하다.

0000 = 0
0001 = 4096
0010 = 8192
0011 = 12288
0100 = 16384
0101 = 20480
0110 = 24576
0111 = 28672
1000 = 32768 default
1001 = 36864
1010 = 40960
1011 = 45056
1100 = 49152
1101 = 53248
1110 = 57344
1111 = 61440

위와 같이 표현되는건, 본래 16bit인걸 4bit로 표현하기위해.

STP - 경로 선택


CCNP - Switch 덤프 문제중 하나.
기본적으로 100Mb/s 회선 상태에서 DSW-1 Fa0/7 ~ ASW-1 Fa0/23 사이의 연결만 10Mb/s가 되면, 경로 선택이 어떻게 되는가에 대한 문제.

아래는 각 인터페이스 속도별 경로값(기본값이고 임의로 변경 가능.)이다.

속도(단위 : Mb/s) 경로값
10 100
100 19
1000 4
10000 2

기본적으로 경로 선택은 Root스위치까지의 각 구간별 경로값 합을 기준으로, 가장 낮은 수치의 경로를 선택하게된다. (값이 같은 경우는 포트번호 등을 따지게 된다.)

본래 저 구조라면, DSW-1 Fa0/7 ~ ASW-1 Fa0/23 가 19의 값을 가지게 되고 다른 라인을 거쳐서 오게 되면 19의 배수가 되는 상황(속도가 다 100Mb/s니까.)이라 그 이상 낮아질 수가 없다. 하지만 문제의 조건처럼 저 구간이 10Mb/s가 되면? 100Mb/s 구간을 6회 거치는 경우가 아닌 이상은 사용하지 않게된다. 그리고 저 상황에서는 2회(즉 경로값이 38)가 가장 낮은 상황이 되므로...

참고로 이러한 정보들은 BPDU(Bridge Protocol Data Unit)를 통해 전달된다.


----여기까지는 해당 문제에 대한 이야기고, 좀더 자세한 경로선택에 대해 알아보자.

STP상에서 경로 선택에는 다음과 같은 사항들이 고려된다.
(Root Switch는 기본적으로 활성화된 모든 포트가 Desg상태이므로 언급하지 않는다.)

Path Cost

위에서 언급한 값이다. 기본적으로 Root Switch로 부터 계산하게 된다.


Port Priority

포트별로 지정되는 우선권. 기본값은 128이고, 0~240 범위 내에서 16단위로 설정할 수 있다. 이 값이 낮을 수록 우선권을 가진다. 동일 스위치와 연결된 포트가 여럿이고, 설정된 경로값도 동일할 경우라면 이 값을 기준으로 RP, DP, AP를 결정한다.


Port ID

다른값이 모두 동일한 경우, 포트 자체번호를 기준으로 가장 낮은 번호가 우선권을 가진다.



P.S : 작성 사유? 경로값 자꾸 까먹어서...

2013년 6월 21일 금요일

UDLD - UniDirectional Link Detection (단방향 연결 탐지)

UDLD(UniDirectional Link Detection)

일반적으로, 연결된 기기간 정상적인 통신상태에서는 상호간에 통신을 주고 받는 양방향 통신 상태가 정상이다. 다만 여러가지 이유로 한쪽에서만 통신을 수신하고 다른쪽에서는 수신할 수 없는 단방향 통신상태가 발생할 수 있다. 이는 Spanning Tree Loop(포트 차단 신호를 받지 않아서 루프발생)나 전송된 데이타가 사라지는 현상등의 원인이 될 수 있으므로 빠른 대처가 필요한 부분이기도 하다.

UDLD는 이러한 단방향 통신 상태가 발생할 경우, 빠르게 대처하기위한 Layer 2 계층(Data Link)의 Protocol이다. 광섬유(fiber-optic cable)나 일반적인 랜선(twisted-pair cable)연결을 감시할 수 있다.

사용을 위해서는 반드시 직접 연결된 양 기기가 모두 UDLD를 지원해야 사용이 가능하며, 반드시 양 기기가 동일한 모드로 설정되어 있어야 한다. (기본값은 Disabled)

동작 방식은 양 기기가 서로 Hello packet을 보내서 연결 상태를 확인하는 방식이며, 수신이 안되는 경우 연결을 차단(shutdown)한다.

기본적으로 Normal Mode와 Aggressive Mode 두가지 모드중 하나를 선택 할 수 있다. 전자는 광섬유만, 후자는 일반 랜선까지 지원한다.

이 기능을 전체 모드에서 설정하는건 아래와 같다.

SW(config)# udld [aggressive/enable] (둘 중 택 1. 후자가 Normal Mode)


개별 인터페이스에 대해 설정하는건 아래와 같다.

SW(config-if)# udld port [aggressive] (생략시는 Normal Mode)


이 기능은 STP 루프를 방지한다는 점에서 뒤에 언급할 Loop Guard 기능과 유사한면이 있다. 하지만 UDLD는 하드웨어인 포트단위로, Loop Guard는 소프트웨어인 포트내의 VLAN단위로 동작한다는 점에서 차이가 있다.


보다 자세한 자료는 아래의 링크를 참조할 수 있다.
CISCO사 Switch 설정관련 메뉴얼 - Configuring UDLD

2013년 6월 8일 토요일

Windows Server 2012 설치


초기 화면. 아쉽지만 한글을 지원하지 않는다.


키보드 입력방식으로 한국어로 바꿔주면, 아래로 키보드 타입 선택 메뉴가 나옴.
적당히 원하는 형식 선택 후 Next 클릭.
일반적인 데스크탑은 103/106키를 선택하면 되고, 노트북은 101키.


달리 할것도 없으니 인스톨 나우~


로딩좀 하고


선택 메뉴가 나온다.
특이하다면 특이한 점은, 권장이 GUI가 기본이 아니고 CUI라는 것.
그동안의 윈도우 서버들은 대부분 GUI가 기본이였는데, 2012는 CUI를 권장하고 있다.
CUI가 익숙한 경우라면 첫번째나 세번째로.
익숙하지 않거나 뭔지 모른다면 GUI인 두번째나 네번째.


언제나의 최종 사용자 계약서(EULA - End User License Agreement)
동의한다고 체크 해주고 Next.
참고로 소프트웨어 저작권 관련해서 잘 모르는 경우라면 꼭 한번 읽어보는게 좋다.
이 프로그램이 아니라 다른 프로그램이라도 마찬가지. 세부적인 몇가지를 제외하면, 대부분 비슷한 내용을 담고 있으므로 어느 프로그램이 되었든 한번쯤 꼭 읽어보는게 좋다.



서버용 OS의 특징이랄까?
일반 개인사용자용 PC의 경우야 대부분 포멧 후 재설치를 하겠지만, 서버용의 경우는 기존에 서비스하던 환경을 유지할 필요가 있으니까 업그레이드가 기본값이다.
이번은 처음설치니까 아래로.



드라이브 선택 화면.
드라이브가 여럿이라면 그중 어떤 드라이브에 설치할 것인지 선택한다.
파티션 분할같은건 여기서 할 수 있지만, 귀찮아서 걍 하나로 갈 예정이라 그대로 다음.
솔직히 그거하나 자력으로 못할 분이라면 서버OS에 손대지 않는것이 모두를 위한 길.


설치 진행과정. 언제나 그렇듯 별 내용은 없고 기다리면 된다.
진행이 완료되면 자동으로 리붓.


최초 실행전 로딩시작 시점. 조금 기다리면 저 위쪽으로 파란색 창문 모양이 나타난다.


이렇게.
필요할 경우는 이 시점에서 리붓을 한번 더 할 수도 있다.
참고로 이 화면은 평소 윈도우 로딩화면이기도 하다.


설치가 끝나면 제일 먼저 보게 될 관리자 계정 설정 시작화면.


암호 설정.
저 눈깔 표시는 클릭하면 입력한 암호를 잠시 볼 수 있다.


설정이 끝나면 이렇게 나온다. OK를 클릭.


CUI면 이런 화면이 나오고...


GUI면 이런 화면이 나온다.



기본으로 열려있는 대쉬보드를 닫으면 이런 화면. 익숙한 윈도우 OS의 화면.




참고로 GUI의 경우는 초기 관리자 계정 설정화면이 조금 다르다. 이런식.


PS : 많은 분들이 당황할 화면.


로그인 화면 or 잠금화면 상태에선 이렇게 되는데, 저 명령을 실제로는 할 수가 없다. 하면 가상환경이 아닌 메인OS쪽에 먼저 명령이 가버리니까.
그래서 당황할 수 있는데...


Virtual Box에선 상단 머신 > Ctrl-Alt-Del 누르기 메뉴가 있다.

2013년 6월 3일 월요일

개인적인 사정으로 좀 잠수가 길었는데...

여차 저차 해서 일단 복귀합니다.
별다른 내용은 없음.

개인적 사정은 개인적으로 아시는 분들만 아시는거고...
자세한 언급은 불가라 논외.

라고 해도 접근은 좀 어렵지않나 싶지만

2013년 5월 25일 토요일

OSI 7 Layer - TCP/IP 4 Layer

 
OSI 7 Layer
설명
단위
TCP/IP 4 Layer
 
7
Application Layer
데이터를 사용할 응용 프로세스 관리.
Data
Application Layer
4
6
Presentation Layer
데이터의 형식을 관리.
5
Session Layer
실제 통신과정에서
연결 유지/종료에 대한 정보를 관리.
4
Transport Layer
통신 연결 양 끝단의 전송 데이터의 분할 방식 및 흐름제어(Flow Control).
Segments
Transport Layer
3
3
Network Layer
IP등의 논리적 주소 기반으로,
네트워크 연결 경로를 관리.
Packet
Internet Layer
2
2
Data Link Layer
인접 장비간 MAC주소를 통한
하드웨어 주소 기반 연결관리.
Frame
Network Access Layer
1
1
Physical Layer
실제 장비 연결 상태.
Bit

살짝 뜬금포지만...
개인 정리용.