오랜만에 글을 쓰네요.
결국 CCIE는 취득을 하지 못했습니다만, 공부한게 아까워서라도 공유하고자 이렇게 글을 써보겠습니다.
시험 후기는.. 정말 쓸 내용이 없을때, 한번 정리하기로 하고,
CCIE 시험 문제에 나왔던 내용을 복습 겸 공유하는 시간을 당분간 가져보고자 합니다.
공유라고 했지만, 저도 중간중간 잊어버리는 내용이 많아서,
거진 제 학습 노트가 되고 있는 블로그지만 일단 꾸준히 작성해보겠습니다.
본 편에서는 VTP, MST에 대한 내용을 다룰것이고, 두개를 혼합해서 같이 설정하는 방법을 알아보겠습니다.
프로토콜에 대한 정의나 세부적인 내용은 Cisco 공식 홈페이지나 더 잘 정리되어있는 글들이 많기에,
제가 겪은 실무적인 느낌을 가미하여 말씀 드리겠습니다.
1. VTP 란
VLAN Trunking Protocol이란 뜻으로, CISCO전용 프로토콜 입니다.
항상 그렇듯, 네트워크 운영 혹은 구축을 더 편하게 해보자라는 측면에서 만들어진 프로토콜 입니다.
어떻게 편해지는지는 예시로 말씀드리겠습니다.
LAN에는 다양한 장비들이 있고, 순서가 맞는지는 모르겠지만
Core - Distribute - Aggregate - Access 등 수많은 스위치들이 혼재하고 있습니다.
극단적인 예로, 사용자용 VLAN을 하나 만드는데 Core에서부터 End 단 Access Switch까지 통신이 필요합니다.
그렇다면 네트워크 엔지니어는 통신을 위해서 해당 길목을 전부 열어줘야 합니다.
각 스위치에는 VLAN 선언도 해야하고 Trunk port로 설정된 부분은 Allowed Vlan을 추가해주어야 합니다.
단순한 구성일 경우에는 문제가 되지않으나, 규모가 큰 사업장이나 복잡하게 구성된 사업장은 현황파악부터 일 일겁니다.
이 경우, VTP를 사용하게 된다면, VTP server에서 선언한 VLAN이 VTP client로 선언된 Switch들 전부로 Provisioning되고,
Access Switch에서는 단순히 Host의 Port에 선언만 해주면 됩니다.
2. VTP의 추가 기능
아직 구성은 해보진 않았지만, 위에 언급한 내용이 잘 동작한다고 가정해봅시다.
그런데 모든 Access switch에서 신규 VLAN을 사용할 필요는 없습니다.
아래 Diagram을 한번 보시죠
만약에 VLAN 20을 사용하는 host가 위처럼 일부 Switch들 한정이라면,
예시의 L3_Wireless와 SW101스위치 쪽에는 굳이 VLAN 20이 향하는 길을 뚫지않아도, 아무 특이사항이 없습니다.
이 때 적용하는 구성이 VTP prunning기능 입니다.
이로 인한 이점은 불필요한 Broadcast의 범위를 줄일수있다는 것이죠.
여러모로 편리한 기능인것 같습니다.
3. VTP 실무에서는 ??
결론적으로 말씀드리자면 사용하지 않고있습니다. (이는 주관적인 것임을 미리 말씀드립니다)
VTP의 모드는 Server, Client, Transparent가 있습니다.
전체적인 VLAN의 생성과 삭제를 담당하는 Server
Server로부터 변경사항이 있을때마다 구성을 변경하는 Client
VTP Server로부터 아무 영향을 받지않겠다고 선언한 Transparent
아마도 보안적인 이슈로 인하여, Transparent mode를 사용하고 계신 분들이 많지않을까 싶습니다.
만약에 VTP를 설정해놓은 상태에서 악의적인 Switch가 Domain을 설정한채로 연결했을때,
자동으로 사용하는 VLAN들에 대한 정보가 유출되며,
그로 인해 공격적인 트래픽이 발생할 수도 있고, 위협의 요소만해도 한두가지가 아닐겁니다.
4. VTP 개선의 여지
있습니다.
VTP의 버전이 올라가면서, Server와 Client 사이에 인증 절차가 추가되었기때문에,
제 생각에서는 충분히 활용가능한 기술이라고 생각합니다. (물론 Cisco장비로만 구성이 되어야한다는 단점은 있습니다)
VTP group에 대한 Identity를 의미하는 Domain이 유출되더라도, 인증에 사용하는 String값을 암호화 해둔다면,
충분히 보안적으로 단점을 커버할 수 있다고 생각합니다.
5. VTP와 MST의 관계
많은 분들이 STP(Spanning-tree Protocol)를 어떻게, 그리고 왜 쓰는지에 대해서는 충분히 인지하고 있으실겁니다.
MST는 STP의 확장판으로, 간단하게 VLAN들을 하나 혹은 그 이상의 그룹을 시켜, 관리하기 편하게 하기 위해서 사용합니다.
제가 알기로는 VLAN개별로 Priority 주는 방식보다 HW(CPU, Memory)를 적게 소모한다고도 들었는데, 검증은 할 수 없었습니다.
무튼 다수의 VLAN이 구성된 환경에서 모든 VLAN의 Root switch를 하나의 스위치에 구성한다면,
트래픽도 몰릴 뿐더러, Backup Switch의 자원을 낭비하고 있다고 생각합니다.
따라서, 1-1000 까지 VLAN은 1번 core가 Root스위치, 1001-4094 까지의 VLAN은 2번 core가 메인을 가져가는 식으로 분배한다면,
트래픽 분산 뿐만 아니라, HW fail 상황에서 영향받는 범위도 줄어들 수 있다는 것이 제 의견입니다.
결론을 말씀드리자면, 쉬운 관리와 트래픽 분배를 위하여 VTP와 MST를 사용하여 시나리오를 구성해보겠습니다.
========================================================================
LAB 구성도
LAB Configuration 1 ( Etherchannel & Trunk 구성)
SW1 VLAN 상태
SW2,3 VLAN 상태
보시다시피 VLAN이 정의된 SW1만 1001, 2001 VLAN이 보이고 있습니다.
물론 SW1의 Po1, Po2를 통해 VLAN1001, 2001 트래픽이 갈 수 있으나, 타 스위치로 간 트래픽은 해당 VLAN이 정의되어있지않기에,
Blackhole처리 되지않을까 싶습니다(추정)
그리고 중요한 점은 VTP를 구성하기 위해서는 반드시 Switch간 연결링크는 Trunk port로 구성되어있어야만 합니다.
이는 이름부터 VTP, VLAN Trunking 프로토콜이니까 당연하기도 하고, 신규로 VLAN을 생성할 경우에,
해당 Link를 경유해야하기때문에 Access port로 구성할 경우 동작하지 않습니다. !! (중요)
그렇다면 이제 MST와 VTP 설정을 추가해보겠습니다.
실제 운영환경에서 사용할 수 있도록 VTP version 3를 적용한 Config를 적용하겠습니다.
LAB Configuration 2 ( MST & VTP 구성)
여기서 약간의 문제가 발생했습니다.
제가 테스트하고 있는 환경에서, Extend VLAN에 대해 VTP상 전달되지않아, 부득이하게 아래 Config로 수정하겠습니다.
SW1에 설정된 VLAN은 기존 1001, 2001에서 500, 1001로 수정하였습니다.
우선 Config에 대한 설명하기 이전에, MST 설정을 완료하고 정상 동작이 확인되지않아, MST의 Instance값을 수정하는 등,
기타 Config변경을 하고, VLAN을 신규로 추가하려고 했을때, 아래 처럼 vlan에 대해 생성하지 못하는 상황이 발생했습니다.
현재 VTP mst 가 동작하고 있고, MST에 대한 Primary server설정은 했지만, 개별 VLAN에 대한 Server설정이 안되어 있어서,
VLAN 추가가 불가했고, VTP server에 해당하는 Switch에서 'vtp primary' 선언을 한 이후에 정상적으로 vlan이 생성되었으며,
500-600으로 설정했던 MST1 인스턴스가 정상적으로 확인되었습니다.
SW1 의 VTP status & spanning-tree status
MST feature에 대한 VTP 설정이 정상적으로 Primary server 설정이 되어있는것을 확인할 수 있음
SW1은 MST instance 0과 1에 대해서 Root를 가져가도록 Config를 했기에 해당 Switch가 Root이며,
MST2 즉, Instance 2번에 대해서는 SW2에서 Root를 가져가도록 설정했기에, Root Switch가 SW1이 아닌것을 볼 수 있다
여기서 또 한가지 볼 수 있는것은 각 MST Instance가 가지고 있는 VLAN range도 식별이 가능하다.
SW2 의 VTP status & spanning-tree status
VTP자체 config는 client로 동작하며,
VTP로부터 가져온 MST 중 2번 Instance에 대해서는 SW2가 Root Switch가 된것을 볼 수 있다.
VTP의 기본적인 기능중 하나인, VLAN 자동 인식 기능이 있어, VLAN을 선언하지 않은 SW2, SW3에서도 VLAN 500, 1001이 보이는 것을 확인할 수 있다.
그렇다면 추가 기능인 VTP Prunning 기능을 한번 Enable 시켜보겠습니다.
아래는 Prunning 하기 전의 Trunk의 VLAN 현황입니다.
따로 Allowed VLAN설정을 하지않았기 때문에, 1-4094 모든 VLAN이 통신 가능하며,
Domain에 있는 VLAN과 Forwarding 상태 및 pruned 되지않은 VLAN이 동일합니다.
이제 그럼 Prunning기능을 킨 상태로 한번 비교해봅시다.
우선 VTP server인 SW1만 Prunning 기능을 켰을때랑 SW1,SW2만 Prunning 기능을 켰을때는, 상단의 내용과 동일했습니다.
제 생각을 정리해보겠습니다.
SW3은 SW1,SW2와 Trunk로 연결되어있는 상태입니다.
그렇다면, SW1, SW2가 인식하기에는 SW3가 VLAN 500이나 1001을 사용할 수 있는 여지가 있다고 보는것이 타당하지않나 싶습니다.
SW3이 쓸지도 모르는 VLAN을 중간에서 잘라버리면 기능 상 잘못된 설계니까요.
마지막으로 SW3까지 전부 켜보도록 하겠습니다.
뭔가가 달라졌죠
SW3의 Prunning 기능을 키고 약 5초의 시간이 지난 후에, 아래와 같이 변했습니다.
가지치기 당하지 않은 VLAN은 도메인에 정의된 VLAN중 1번 밖에 없습니다.
이로써, Prunning 기능을 온전하게 사용하기 위해서는 반드시 전 Switch에 설정을 해줘야하는것을 확인했습니다.
6. 맺으며
VTP는 잘만 사용한다면, 대규모 사업장의 LAN 구축 및 설계 변경에 대한 공수를 획기적으로 줄여줄 수 있다고 생각합니다.
지금 실습을 하면서 확인해보니 'sh run'에 어떤 정보도 나오지 않을뿐더러, hidden 옵션을 통해,
해당 Domain에 Join할 수 있는 인증 키값을 암호화 할수 있으니,
VTP 인증이 나오기 전까지는 사용하지않았다면, 이제는 사용해봐도 좋을 구성이 아닌가 싶습니다.
CCIE 시험에서는 물론 자격증 취득이 제 1 목표였지만, 그것 외에도 알지 못했던 기술들을 소개 받는다는 느낌이 강했습니다.
굉장히 도움이 되었고, 여러 사람들한테 널리 퍼졌으면 좋겠는 맘에서,
아주 오래된 Cisco전용 기술인 VTP의 최신 근황을 소개하면서, 이만 글을 마치겠습니다.
'Network 모험기' 카테고리의 다른 글
[L2]Track을 활용한 Gateway 다중화 (0) | 2024.11.03 |
---|---|
[L2]FHRP(VRRP, HSRP, GLBP)에 대한 간단한 이해 (4) | 2024.11.02 |
[#3-7]BGP route-reflector 공부하기 (0) | 2024.03.20 |
[#3-6]BGP aggregate 활용하기 (0) | 2024.03.16 |
[#3-5]BGP Community 활용하기 (1) | 2024.03.14 |