Network 16. VTP

2024. 3. 28. 18:09Network

VTP

(VLAN Trunking Protocol)

 

VLAN을 구성을 광범위한 네트워크에 하게되면

굉장히 불편할 것이다.

이를 해결하기 위해서 VTP가 존재한다!

 

VTP는

서버,

클라이언트,

트랜스포트로 나뉘는데 

 

VTP 서버로 구성된 스위치에서 VLAN을 추가,편집, 삭제시 

VTP 클라이언트들은 구성된 스위치들에게 VLAN 정보를 동기화 한다.

VTP 트랜스포트는 VTP 도메인에 참여하지 않고 전달만 하는 역할이다.

위 사진을 예로 들자

 

 

sv(config-vlan)#vtp domain doghj  >>>>    VTP 도메인 지정
Changing VTP domain name from NULL to doghj
sv(config)#vtp mode server    >>>>    VTP 서버 모드 선택
Device mode already VTP SERVER.   >>>>    기본적으로 서버 모드


=========================================================
전송, 클라이언트 설정도 가능하다.
sv(config)#vtp mode transparent
sv(config)#vtp mode client
=========================================================


sv(config-if)#int f0/1
sv(config-if)#switchport mode trunk 
sv(config-if)#int f0/2
sv(config-if)#switchport mode trunk 
포트를 Trunk 모드로 설정해주는 것을 잊지말자!

VTP 서버 스위치에서 

도메인 생성과 서버 모드로 지정해주었다.

 

sv(config)#vlan 10
sv(config-vlan)#name sales
sv(config-vlan)#vlan 20
sv(config-vlan)#name engineer
sv(config-vlan)#vlan 30
sv(config-vlan)#name hr

이후 VLAN을 생성!

10~30에 각각 sales, engineer, hr을 생성해주었다.

 

 

 

cl1 클라이언트에 설정하기 전에 vlan 정보를 확인해보자

cl1(config)#do show vlan

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa0/1, Fa0/3, Fa0/4, Fa0/5
                                                Fa0/6, Fa0/7, Fa0/8, Fa0/9
                                                Fa0/10, Fa0/11, Fa0/12, Fa0/13
                                                Fa0/14, Fa0/15, Fa0/16, Fa0/17
                                                Fa0/18, Fa0/19, Fa0/20, Fa0/21
                                                Fa0/22, Fa0/23, Fa0/24, Gig0/1
                                                Gig0/2
10   sales                            active    
20   engineer                         active    
30   hr                               active

 

cl1에 VTP 설정을 진행하지 않았는데도

cl1의 VLAN이 VTP서버와 동기화 된 것을 확인할 수 있다.

VTP 서버의 패스워드를 지정해주지 않으면

이처럼 무분별하게 동기화가 되어버린다!

 

이를 방지하기 위해서 패스워드를 지정해주자

sv(config)#vtp password cisco
Setting device VLAN database password to cisco

위처럼 클라이언트 설정시에도 패스워드를 지정해주어야 한다!

 

 

 

 

 

 

 

 

이후에 cl2 스위치에서 트렁크 모드를 활성화 해보자

cl2(config)#int f0/1
cl2(config-if)#switchport mode trunk

cl2(config-if)#do show vlan

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa0/2, Fa0/3, Fa0/4, Fa0/5
                                                Fa0/6, Fa0/7, Fa0/8, Fa0/9
                                                Fa0/10, Fa0/11, Fa0/12, Fa0/13
                                                Fa0/14, Fa0/15, Fa0/16, Fa0/17
                                                Fa0/18, Fa0/19, Fa0/20, Fa0/21
                                                Fa0/22, Fa0/23, Fa0/24, Gig0/1
                                                Gig0/2
1002 fddi-default                     active    
1003 token-ring-default               active    
1004 fddinet-default                  active    
1005 trnet-default                    active

확인해보면 더이상 무분별하게 VLAN 정보를 동기화하지 않는 것이 보인다.

 

 

이제 cl2 스위치를

VTP 서버의 클라이언트로 설정해보자

cl2(config)#vtp mode client
Setting device to VTP CLIENT mode.
cl2(config)#vtp domain doghj

cl2(config)#do show vlan

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa0/2, Fa0/3, Fa0/4, Fa0/5
                                                Fa0/6, Fa0/7, Fa0/8, Fa0/9
                                                Fa0/10, Fa0/11, Fa0/12, Fa0/13
                                                Fa0/14, Fa0/15, Fa0/16, Fa0/17
                                                Fa0/18, Fa0/19, Fa0/20, Fa0/21
                                                Fa0/22, Fa0/23, Fa0/24, Gig0/1
                                                Gig0/2
1002 fddi-default                     active    
1003 token-ring-default               active    
1004 fddinet-default                  active    
1005 trnet-default                    active

패스워드를 입력해주지 않으면 동기화하지 않는 것을 볼 수 있다.

 

cl2(config)#vtp password cisco
Setting device VLAN database password to cisco
cl2(config)#do show vlan

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa0/2, Fa0/3, Fa0/4, Fa0/5
                                                Fa0/6, Fa0/7, Fa0/8, Fa0/9
                                                Fa0/10, Fa0/11, Fa0/12, Fa0/13
                                                Fa0/14, Fa0/15, Fa0/16, Fa0/17
                                                Fa0/18, Fa0/19, Fa0/20, Fa0/21
                                                Fa0/22, Fa0/23, Fa0/24, Gig0/1
                                                Gig0/2
10   sales                            active    
20   engineer                         active    
30   hr                               active

패스워드를 입력해주자 즉시 동기화가 되었다!

 

이제 나머지 tr1, cl3도 VTP 설정을 진행해보자

VTP trans 설정!

tr1(config)#int f0/2 
tr1(config-if)#sw m t
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/2, changed state to down
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/2, changed state to up


tr1(config)#vtp mode transparent 
Setting device to VTP TRANSPARENT mode.
tr1(config)#vtp domain doghj
Domain name already set to doghj.
tr1(config)#vtp password cisco

=================================================================================
VTP client 설정!


cl3(config)#vtp mode client
Setting device to VTP CLIENT mode.
cl3(config)#vtp domain doghj
Changing VTP domain name from NULL to doghj
cl3(config)#vtp password cisco
Setting device VLAN database password to cisco
cl3(config)#do show vlan

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa0/2, Fa0/3, Fa0/4, Fa0/5
                                                Fa0/6, Fa0/7, Fa0/8, Fa0/9
                                                Fa0/10, Fa0/11, Fa0/12, Fa0/13
                                                Fa0/14, Fa0/15, Fa0/16, Fa0/17
                                                Fa0/18, Fa0/19, Fa0/20, Fa0/21
                                                Fa0/22, Fa0/23, Fa0/24, Gig0/1
                                                Gig0/2
10   sales                            active    
20   engineer                         active    
30   hr                               active

각 설정이 잘 이뤄지고 전송도 완벽히 이뤄진 것이 보인다!

 

 

 

 

 

 

 

무분별한 동기화

 

 

VTP Client들은 여러 서버를 가질 수도 있다.

 

VTP Client들은

가장 높은 리비전(Revision 또는 개정값) 값을 가진 마스터 서버와

동기화 하게 된다.

sv#show vtp status
VTP Version capable             : 1 to 2
VTP version running             : 1
VTP Domain Name                 : doghj
VTP Pruning Mode                : Disabled
VTP Traps Generation            : Disabled
Device ID                       : 0060.2F67.7100
Configuration last modified by 0.0.0.0 at 3-1-93 00:13:39
Local updater ID is 0.0.0.0 (no valid interface found)

Feature VLAN : 
--------------
VTP Operating Mode                : Server
Maximum VLANs supported locally   : 255
Number of existing VLANs          : 8
Configuration Revision            : 3   <<<<<<<<<<<<<<<<<<<<<<<<<<<< 이 값을 말하는 것
MD5 digest                        : 0xA4 0x4A 0xC4 0x76 0xEC 0x78 0xD1 0xFA 
                                    0x6E 0x94 0x54 0x1A 0xF0 0xCE 0x0D 0xC1

리비전 값(밑에서 3번째 줄)은 

VTP 설정이 바뀔때 마다 수치가 올라간다.

(ex : vlan 추가, 삭제, 수정)

이는 VTP domain을 변경해 초기화할 수 있다!

.

.

.

.

.

즉, 다른 스위치끼리 연결해 사용하려다

VLAN 정보가 원치않는 방향으로 완전히 뒤바뀔 수도 있다는 말이다.

(VTP 도메인이 다르거나, 패스워드가 설정되어 있다면 동기화하지 않는다)

 

 

 

 

무분별한 동기화에 대해서 한번 더 짚어보자 

 

 

이전 토폴로지에서 (VTP 설정 전)

예를 들어 회사에 오래된 스위치가 남아있어서

그 스위치를 연결해 사용하려 한다고 가정해보자

(회사는 이전부터 doghj를 VTP 도메인으로 사용했다 가정)

 

 

 

SV2(config)#
SV2(config)#do show vtp status
VTP Version capable             : 1 to 2
VTP version running             : 1
VTP Domain Name                 : doghj
.
.
.
.
.
Configuration Revision            : 5
MD5 digest                        : 0x99 0x54 0x41 0xFA 0x0D 0x00 0x5A 0xF7 
                                    0xF8 0xC4 0x44 0xA2 0xD7 0x9D 0x8B 0xFB 
                                    
                                    
SV2(config)#do show vlan

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa0/1, Fa0/2, Fa0/3, Fa0/4
                                                Fa0/5, Fa0/6, Fa0/7, Fa0/8
                                                Fa0/9, Fa0/10, Fa0/11, Fa0/12
                                                Fa0/13, Fa0/14, Fa0/15, Fa0/16
                                                Fa0/17, Fa0/18, Fa0/19, Fa0/20
                                                Fa0/21, Fa0/22, Fa0/23, Fa0/24
                                                Gig0/1, Gig0/2
10   aaa                              active    
20   bbb                              active    
30   ccc                              active    
40   ddd                              active    
50   eee                              active

새로운 스위치의 설정이다.

Switch(config-vlan)#do show vtp status
VTP Version capable             : 1 to 2
VTP version running             : 1
VTP Domain Name                 : doghj
.
.
.
.
.
Configuration Revision            : 1
MD5 digest                        : 0x8B 0x27 0x2D 0xDF 0x66 0x2F 0xFE 0x43 
                                    0x62 0x4E 0x6F 0x01 0x79 0xA5 0x18 0xE9 
                                    
                                    
Switch(config-vlan)#do show vlan

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa0/1, Fa0/2, Fa0/3, Fa0/4
                                                Fa0/5, Fa0/6, Fa0/7, Fa0/8
                                                Fa0/9, Fa0/10, Fa0/11, Fa0/12
                                                Fa0/13, Fa0/14, Fa0/15, Fa0/16
                                                Fa0/17, Fa0/18, Fa0/19, Fa0/20
                                                Fa0/21, Fa0/22, Fa0/23, Fa0/24
                                                Gig0/1, Gig0/2
10   sales                            active

나머지 아래 5개 스위치들의 설정이다.

(리비전 값이 1인것을 볼 수 있다!!)

 

 

미처 이전의 스위치 VTP를 확인하지 못하고

포트를 트렁크 모드로 바꾼다면??

Switch(config)#int f0/3

Switch(config-if)#switchport mode trunk 


Switch(config-if)#do show vlan

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa0/1, Fa0/2, Fa0/4, Fa0/5
                                                Fa0/6, Fa0/7, Fa0/8, Fa0/9
                                                Fa0/10, Fa0/11, Fa0/12, Fa0/13
                                                Fa0/14, Fa0/15, Fa0/16, Fa0/17
                                                Fa0/18, Fa0/19, Fa0/20, Fa0/21
                                                Fa0/22, Fa0/23, Fa0/24, Gig0/1
                                                Gig0/2
10   aaa                              active    
20   bbb                              active    
30   ccc                              active    
40   ddd                              active    
50   eee                              active

원래 있던 sales VLAN은 지워지고 SV의 VLAN으로 덮어쓰기 된 것을 볼 수 있다.

만약 리비전 값이 반대였다면 

새로운 스위치에 VLAN이 덮어쓰여 졌을 것이다.

 

 

 

 

결론은

무분별한 동기화를 막기위해

 

VTP를 설정할땐 반드시 패스워드를 지정해주거나

VTP status를 잘 확인하자

 

 

 

 

'Network' 카테고리의 다른 글

SNMP  (0) 2024.11.14
Network 17. HSRP  (0) 2024.03.29
Network 15 . VLAN  (0) 2024.03.27
Network 14. OSPF 심화  (0) 2024.03.19
Network 13. Routing protocol  (0) 2024.03.18