Loading...

Bài 24b: Thực hành VLAN & Trunk — Dựng mạng 3 switch cho 3 phòng ban

⏱️ Thời lượng: 45–60 phút · 📶 Độ khó: Cơ bản · 🧰 Công cụ: Cisco Packet Tracer 8.x · 📌 Cần học trước: Bài 23, Bài 24

Sơ đồ lab Bài 24b

Sơ đồ lab Bài 24b · ⬇️ Tải sơ đồ (SVG) · 🔍 Mở cỡ lớn

💡 Liên hệ thực tế

Công ty ABC vừa thuê thêm tầng 2. Ba phòng ban Kinh doanh, Kế toán, Kỹ thuật ngồi rải ở cả hai tầng: tầng 1 dùng switch SW2, tầng 2 dùng switch SW3, còn SW1 đặt ở phòng máy để nối hai tầng lại với nhau. Anh Nam (VNExperts) nhận yêu cầu: máy cùng phòng ban dù ngồi khác tầng vẫn phải liên lạc được, còn máy khác phòng ban thì phải tách biệt.

Ở Bài 23 và Bài 24 bạn đã biết từng lệnh riêng lẻ. Bài lab này ghép chúng lại thành một mạng chạy được thật, đúng như việc anh Nam sẽ làm ngoài công trình.

Quy tắc ghi nhớ: VLAN muốn đi qua trunk thì phải tồn tại trên MỌI switch nằm trên đường đi — kể cả switch không có máy nào thuộc VLAN đó.

🎯 Mục tiêu bài lab

Sau bài lab này, bạn sẽ tự tay:

  • Tạo VLAN và đặt tên thống nhất trên nhiều switch.
  • Gán access port cho PC theo phòng ban.
  • Cấu hình trunk 802.1Q với native VLAN và danh sách VLAN cho phép.
  • Đặt IP quản trị (SVI VLAN 99) cho switch.
  • Kiểm tra bằng show vlan brief, show interfaces trunk, ping và giải thích được vì sao PC khác VLAN không ping được nhau.

📋 Bảng VLAN, địa chỉ IP và đấu nối

🏷️ Quy hoạch VLAN

VLANTênMục đíchDải địa chỉ
10 KinhDoanh Phòng Kinh doanh 192.168.10.0/24
20 KeToan Phòng Kế toán 192.168.20.0/24
30 KyThuat Phòng Kỹ thuật 192.168.30.0/24
99 QuanTri Quản trị thiết bị (IP của switch) 192.168.99.0/24
999 NATIVE Native VLAN của trunk — không gán máy nào Không dùng

🌐 Bảng địa chỉ IP

Thiết bịInterfaceVLANĐịa chỉ IP / PrefixDefault gateway
SW1 VLAN 99 (SVI) 99 192.168.99.11/24 192.168.99.1
SW2 VLAN 99 (SVI) 99 192.168.99.12/24 192.168.99.1
SW3 VLAN 99 (SVI) 99 192.168.99.13/24 192.168.99.1
PC1 NIC 10 192.168.10.11/24 192.168.10.1
PC2 NIC 20 192.168.20.11/24 192.168.20.1
PC3 NIC 30 192.168.30.11/24 192.168.30.1
PC4 NIC 10 192.168.10.12/24 192.168.10.1
PC5 NIC 20 192.168.20.12/24 192.168.20.1
PC6 NIC 30 192.168.30.12/24 192.168.30.1
📎 Các gateway .1 chưa tồn tại trong bài này vì chưa có router. Bạn cứ khai báo sẵn — ở Bài 27b chúng ta sẽ dựng thiết bị Layer 3 làm gateway cho đúng các địa chỉ này.

🔌 Bảng đấu nối

TừCổngĐếnCổngLoại cáp trong Packet Tracer
SW1 Gi0/1 SW2 Gi0/1 Copper Cross-Over
SW1 Gi0/2 SW3 Gi0/1 Copper Cross-Over
SW2 Fa0/1, Fa0/2, Fa0/3 PC1, PC2, PC3 FastEthernet0 Copper Straight-Through
SW3 Fa0/1, Fa0/2, Fa0/3 PC4, PC5, PC6 FastEthernet0 Copper Straight-Through

⚙️ Các bước thực hiện

⚙️ Bước 1 — Dựng sơ đồ trong Packet Tracer

  1. Kéo ra 3 switch 2960-24TT và 6 PC (mục End Devices). Đổi tên hiển thị thành SW1, SW2, SW3, PC1 … PC6.
  2. Nối cáp đúng theo bảng đấu nối. Đợi khoảng 30 giây để các chấm trên dây chuyển từ cam sang xanh.
  3. Đặt IP tĩnh cho 6 PC: bấm vào PC → Desktop → IP Configuration → nhập IP, Subnet Mask, Default Gateway theo bảng.

⚙️ Bước 2 — Cấu hình cơ bản cho cả 3 switch

Switch> enable
Switch# configure terminal
Switch(config)# hostname SW1
SW1(config)# no ip domain-lookup
SW1(config)# line console 0
SW1(config-line)# logging synchronous
SW1(config-line)# exit

Lặp lại trên SW2, SW3 (chỉ đổi hostname).

📎 no ip domain-lookup: gõ sai lệnh thì switch không mất gần nửa phút đi tìm DNS. logging synchronous: thông báo log không chèn ngang dòng lệnh bạn đang gõ.

⚙️ Bước 3 — Tạo VLAN trên CẢ 3 switch

SW1(config)# vlan 10
SW1(config-vlan)# name KinhDoanh
SW1(config-vlan)# vlan 20
SW1(config-vlan)# name KeToan
SW1(config-vlan)# vlan 30
SW1(config-vlan)# name KyThuat
SW1(config-vlan)# vlan 99
SW1(config-vlan)# name QuanTri
SW1(config-vlan)# vlan 999
SW1(config-vlan)# name NATIVE
SW1(config-vlan)# exit

Dán y hệt khối lệnh trên vào SW2 và SW3.

⚠️ Lỗi kinh điển: bỏ qua SW1 vì "SW1 không có PC nào". Khi đó frame VLAN 10 từ SW2 đi lên SW1 sẽ bị bỏ, PC1 không ping được PC4 dù mọi thứ khác đều đúng.
🎯 Mẹo: soạn khối lệnh tạo VLAN trong Notepad một lần rồi dán vào cả 3 switch — nhanh và không bao giờ sót.

⚙️ Bước 4 — Gán access port cho PC (SW2 và SW3)

SW2(config)# interface fastEthernet 0/1
SW2(config-if)# switchport mode access
SW2(config-if)# switchport access vlan 10
SW2(config-if)# interface fastEthernet 0/2
SW2(config-if)# switchport mode access
SW2(config-if)# switchport access vlan 20
SW2(config-if)# interface fastEthernet 0/3
SW2(config-if)# switchport mode access
SW2(config-if)# switchport access vlan 30
SW2(config-if)# exit

Làm tương tự trên SW3: Fa0/1 → VLAN 10, Fa0/2 → VLAN 20, Fa0/3 → VLAN 30.

🎯 Thói quen tốt: tắt các cổng chưa dùng để không ai cắm bừa vào mạng: interface range fastEthernet 0/4 - 24 rồi shutdown.

⚙️ Bước 5 — Cấu hình trunk giữa các switch

Trên SW1 (hai cổng uplink cấu hình giống nhau nên dùng interface range):

SW1(config)# interface range gigabitEthernet 0/1 - 2
SW1(config-if-range)# switchport mode trunk
SW1(config-if-range)# switchport trunk native vlan 999
SW1(config-if-range)# switchport trunk allowed vlan 10,20,30,99,999
SW1(config-if-range)# exit

Trên SW2 và SW3 (cổng Gi0/1):

SW2(config)# interface gigabitEthernet 0/1
SW2(config-if)# switchport mode trunk
SW2(config-if)# switchport trunk native vlan 999
SW2(config-if)# switchport trunk allowed vlan 10,20,30,99,999
SW2(config-if)# exit
📎 Giải thích 3 lệnh trunk:
• switchport mode trunk: ép cổng chạy trunk, không chờ thương lượng DTP.
• switchport trunk native vlan 999: frame không gắn tag trên trunk thuộc VLAN 999 — một VLAN trống, thay cho VLAN 1 mặc định.
• switchport trunk allowed vlan …: chỉ cho các VLAN cần thiết đi qua trunk.

Trong lúc mới cấu hình một đầu, console có thể báo:

%CDP-4-NATIVE_VLAN_MISMATCH: Native VLAN mismatch discovered on GigabitEthernet0/1 (999), with SW2 GigabitEthernet0/1 (1).

Đây là bình thường: một đầu đã đổi native VLAN, đầu kia chưa. Thông báo hết khi bạn cấu hình xong cả hai đầu.

Lưu ý: switch 2960 chỉ hỗ trợ 802.1Q nên không có (và không cần) lệnh switchport trunk encapsulation dot1q. Switch 3560 thì bắt buộc phải gõ — bạn sẽ gặp ở Bài 27b.

⚙️ Bước 6 — Đặt IP quản trị cho switch (SVI VLAN 99)

SW1(config)# interface vlan 99
SW1(config-if)# ip address 192.168.99.11 255.255.255.0
SW1(config-if)# no shutdown
SW1(config-if)# exit
SW1(config)# ip default-gateway 192.168.99.1

SW2 dùng 192.168.99.12, SW3 dùng 192.168.99.13.

📎 Interface Vlan99 chỉ lên trạng thái up/up khi: VLAN 99 đã được tạo, interface không bị shutdown, và có ít nhất một cổng Layer 2 mang VLAN 99 đang up và ở trạng thái forwarding của STP — ở đây chính là các cổng trunk.

💾 Bước 7 — Lưu cấu hình

SW1# copy running-config startup-config

hoặc gõ ngắn write memory. Làm trên cả 3 switch.

🔍 Kiểm tra kết quả

#Kiểm traLệnh / thao tácKết quả mong đợi
1 VLAN và access port trên SW2 show vlan brief Fa0/1 ở VLAN 10, Fa0/2 ở VLAN 20, Fa0/3 ở VLAN 30. Cổng trunk Gi0/1 không xuất hiện.
2 Trunk trên SW1 show interfaces trunk Gi0/1, Gi0/2 trạng thái trunking, native 999, allowed 10,20,30,99,999
3 Cùng VLAN, khác switch PC1 → ping 192.168.10.12 ✅ Thành công
4 Khác VLAN PC1 → ping 192.168.20.11 ❌ Thất bại — đúng thiết kế
5 Mạng quản trị SW2 → ping 192.168.99.13 ✅ Thành công
6 SVI quản trị show ip interface brief Vlan99 up/up

🔍 Output mẫu show vlan brief trên SW2

SW2# show vlan brief

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    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/2
10   KinhDoanh                        active    Fa0/1
20   KeToan                           active    Fa0/2
30   KyThuat                          active    Fa0/3
99   QuanTri                          active
999  NATIVE                           active
1002 fddi-default                     active
1003 token-ring-default               active
1004 fddinet-default                  active
1005 trnet-default                    active    
📎 Cổng Gi0/1 không nằm trong VLAN nào ở bảng trên — vì cổng trunk mang nhiều VLAN cùng lúc. Muốn xem trunk, dùng show interfaces trunk.

🔍 Output mẫu show interfaces trunk trên SW1

SW1# show interfaces trunk
Port        Mode         Encapsulation  Status        Native vlan
Gig0/1      on           802.1q         trunking      999
Gig0/2      on           802.1q         trunking      999

Port        Vlans allowed on trunk
Gig0/1      10,20,30,99,999
Gig0/2      10,20,30,99,999

Port        Vlans allowed and active in management domain
Gig0/1      10,20,30,99,999
Gig0/2      10,20,30,99,999

Port        Vlans in spanning tree forwarding state and not pruned
Gig0/1      10,20,30,99,999
Gig0/2      10,20,30,99,999

Cách đọc nhanh: dòng allowed on trunk là danh sách bạn cho phép; dòng allowed and active là những VLAN vừa được cho phép vừa thực sự tồn tại trên switch này. Nếu một VLAN có ở dòng trên mà không có ở dòng dưới → bạn quên tạo VLAN đó.

🔍 Ping từ PC1 tới PC4 (cùng VLAN 10)

C:\>ping 192.168.10.12

Pinging 192.168.10.12 with 32 bytes of data:

Reply from 192.168.10.12: bytes=32 time<1ms TTL=128
Reply from 192.168.10.12: bytes=32 time<1ms TTL=128
Reply from 192.168.10.12: bytes=32 time<1ms TTL=128
Reply from 192.168.10.12: bytes=32 time<1ms TTL=128

Ping statistics for 192.168.10.12:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Lưu ý: lần ping đầu tiên có thể mất 1 gói (Request timed out) do PC còn đang hỏi ARP — ping lại lần hai sẽ đủ 4/4.

🛠️ Lỗi thường gặp & cách xử lý

Triệu chứngNguyên nhân thường gặpCách kiểm tra & sửa
PC1 không ping được PC4 dù cùng VLAN 10 SW1 chưa tạo VLAN 10 show interfaces trunk trên SW1: VLAN 10 có ở dòng allowed nhưng thiếu ở dòng allowed and active → tạo VLAN 10 trên SW1.
Như trên VLAN 10 bị thiếu trong danh sách allowed show interfaces trunk → thêm bằng switchport trunk allowed vlan add 10
Console liên tục báo NATIVE_VLAN_MISMATCH Hai đầu trunk khác native VLAN So sánh cột Native vlan ở hai đầu, đặt cùng 999.
show interfaces trunk không hiện cổng nào Cổng chưa ở mode trunk hoặc cắm cáp nhầm cổng show interfaces gigabitEthernet 0/1 switchport → xem Operational Mode; đối chiếu lại bảng đấu nối.
Vlan99 ở trạng thái up/down (Status up, Protocol down) Chưa tạo VLAN 99 hoặc trunk chưa mang VLAN 99 Tạo VLAN 99; kiểm tra VLAN 99 có trong allowed list.
PC vẫn nằm ở VLAN 1 Gõ lệnh gán VLAN ở nhầm interface show vlan brief → vào đúng cổng gán lại.
⚠️ Bẫy hay gặp: switchport trunk allowed vlan 40 (không có add) sẽ ghi đè toàn bộ danh sách, chỉ còn VLAN 40 → mọi VLAN khác mất kết nối ngay lập tức.

🏆 Thử thách mở rộng

  1. Công ty lập thêm phòng Nhân sự: tạo VLAN 40 tên NhanSu, thêm PC7 (SW2 Fa0/4, 192.168.40.11/24) và PC8 (SW3 Fa0/4, 192.168.40.12/24). Yêu cầu PC7 ping được PC8 mà không gõ lại toàn bộ danh sách allowed VLAN.
  2. Cố ý đổi native VLAN trên SW3 Gi0/1 về 1, quan sát thông báo trên console của SW1 và SW3. Sau đó trả lại 999.
  3. Chạy show interfaces gigabitEthernet 0/1 switchport trên SW2 và tìm 3 dòng: Administrative Mode, Operational Mode, Trunking Native Mode VLAN.

 

👉 Gợi ý đáp án thử thách 1
! Trên CẢ 3 switch
SW1(config)# vlan 40
SW1(config-vlan)# name NhanSu
SW1(config-vlan)# exit
! Trên mọi cổng trunk (SW1 Gi0/1-2, SW2 Gi0/1, SW3 Gi0/1)
SW1(config)# interface range gigabitEthernet 0/1 - 2
SW1(config-if-range)# switchport trunk allowed vlan add 40
! Trên SW2 và SW3, cổng Fa0/4
SW2(config)# interface fastEthernet 0/4
SW2(config-if)# no shutdown
SW2(config-if)# switchport mode access
SW2(config-if)# switchport access vlan 40

 

💬 Hỏi & Đáp nhanh

❓ Vì sao không để native VLAN là VLAN 1 như mặc định?

✅ VLAN 1 là VLAN mặc định của mọi cổng. Để native là VLAN 1 tạo điều kiện cho kiểu tấn công VLAN hopping bằng double-tagging. Đổi native sang một VLAN trống, không gán máy nào (như 999), là khuyến nghị bảo mật cơ bản.

❓ PC khác VLAN không ping được nhau — có phải mạng bị lỗi?

✅ Không. VLAN tách miền broadcast nên các VLAN mặc định không nói chuyện với nhau. Muốn liên lạc giữa các VLAN cần thiết bị Layer 3 — đó chính là nội dung Bài 26, Bài 27 và lab Bài 27b.

❓ Có cần gõ switchport trunk encapsulation dot1q không?

⚠️ Trên 2960 thì không — switch này chỉ hỗ trợ 802.1Q nên lệnh không tồn tại. Trên 3560/3650 (hỗ trợ cả ISL) thì bắt buộc gõ lệnh này trước switchport mode trunk, nếu không switch sẽ từ chối với thông báo Command rejected: An interface whose trunk encapsulation is "Auto" can not be configured to "trunk" mode.

📝 Bài tập đánh giá

Câu 1: SW1 nằm giữa SW2 và SW3, không có PC nào. PC VLAN 10 ở SW2 không ping được PC VLAN 10 ở SW3, trong khi các trunk đều trunking. Nguyên nhân khả dĩ nhất là gì?

  • A. SW1 chưa có SVI VLAN 10
  • B. SW1 chưa tạo VLAN 10
  • C. Các PC chưa khai báo default gateway
  • D. Native VLAN đang là 999

Câu 2: Một trunk đang cho phép VLAN 10,20,30,99,999. Quản trị viên gõ switchport trunk allowed vlan 40. Điều gì xảy ra?

  • A. VLAN 40 được thêm vào danh sách
  • B. Danh sách chỉ còn VLAN 40
  • C. Lệnh bị từ chối vì thiếu từ khoá
  • D. Cổng chuyển về mode access

👉 Đáp án

  • Câu 1: B — Switch trung gian phải biết VLAN thì mới chuyển frame của VLAN đó qua trunk. SVI và gateway chỉ cần khi định tuyến giữa các VLAN khác nhau.
  • Câu 2: B — Không có từ khoá add, lệnh ghi đè toàn bộ danh sách. Muốn thêm phải dùng switchport trunk allowed vlan add 40.

💡 Output trong bài là output mẫu trên Packet Tracer, trên máy bạn có thể khác một chút (ví dụ địa chỉ MAC).

📚 Bài thực hành thuộc Khóa học CCNA Online của VNExperts.

🧭 Điều hướng

⬅️ Bài trước🏠 Mục lục khóa họcBài kế tiếp ➡️
Bài 24: Trunk & Access port — encapsulation 802.1Q Mục lục khóa học CCNA Bài 25: VTP — đồng bộ VLAN giữa nhiều switch