레이블이 Network인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Network인 게시물을 표시합니다. 모든 게시물 표시

2015년 12월 14일 월요일

한드림넷 L2스위치 - Hybrid Mode

이번에 언급할 내용은 한드림넷 L2스위치에서 지원하는 Hybrid Mode에 대한 이야기.


Trunk(802.1q)/Access/Hybrid 각 방식의 차이는 아래와 같습니다.

Access Port는 지정된 VLAN의 정보만 별도의 표시(Tag)없이 전송합니다. 이 과정에서 상대 장치의 설정을 확인하지 않습니다.

Trunk Port(802.1q)는 허용된 VLAN들 중 Native VLAN만 표시(Tag)없이 전송하고 그 외의 VLAN은 표시(Tag)해서 전송합니다. 이 과정에서 상대방이 Trunk Port(802.1q)가 아니거나, Native VLAN이 다른 경우는 해당 포트가 차단됩니다.

Hybrid Port는 각각의 VLAN별로 Tag를 표시할지 여부를 지정해줍니다.
상대 포트와의 설정을 따로 확인하진 않습니다.


Access
Trunk(802.1q) 
Hybrid
연결대상
Access/Hybrid
Trunk/Hybrid
셋다 지원
VLAN Tag
지원안함
지원
지원
종단장치
연결가능
연결불가*
연결가능
*일반적으로는 연결이 안되지만 두가지 경우가 발생 할 수 있음.
1. 일부 VLAN Tag를 지원하는 종단장치는 Trunk에서도 지원.
2. VLAN Tag를 지원하지 않는 종단장치는 Native VLAN으로 연결되는 경우가 있음. 단, Trunk Port쪽에서 종단장치/포트타입 감시 기능이 off되어 있어야 함.


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월 19일 목요일

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년 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년 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

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

2013년 5월 12일 일요일

Fedora 18 설치하기 - 가상머신의 준비

먼저 시스템 요구사항을 확인한다.

- CD/DVD ROM이나 그에 준하는 boot가능한 드라이브
- CPU는 400MHz이상
- 1GB RAM 이상
- 10GB 이상의 하드디스크 공간.

자연히 램은 1GB로 확정.



2013년 5월 10일 금요일

Virtual Box - 공유기 환경에서 Static IP & Bridge Adapter 사용시 트러블

전혀 예상못했던 트러블인데...

사용중인 공유기가 DHCP를 통해 받은 아이피만 NAT처리를 해주는 현상을 발견.

사용자가 직접 고정 IP를 지정하면 이를 무시하는 현상을 발견하고 대응방법을 찾아
두가지 해결방법을 마련했다.

1. 호스트에서 Loopback Adapter를 설치 하고 가상 머신 Bridge Adapter설정에서 실제 NIC가 아닌 Loopback Adapter로 연결을 교채하고, 호스트측 실제 NIC의 외부 연결을 Loopback Adaoter로 공유.

2. 가상머신의 NIC설정을 Host Only로 교체 후 호스트측 실제 NIC의 외부연결을 VirtualBox Host-Only Network로 공유.

용도에 따라 둘중 편한걸로 진행하면 된다.
참고로 네트워크쪽도 같이 공부하면서 GNS를 사용하는 경우라면 1번을 권하고,
그 외의 경우라면 2번을 권한다.


2013년 5월 4일 토요일

Virtual Box 설정 - 가상머신 NIC설정

앞에서는 대충 넘어갔던 부분인데... 조금 자세히 다뤄보려고 한다.

Virtual Box에서 가상 머신 설정에서 네트워크 부분을 보면
총 6개의 옵션이 있는걸 볼 수 있다.


위에서 부터 순서대로 보면 아래와 같다.