Cấu Hình VLAN Trunking Với IEEE 802.1Q: Những Điều Người Quản Trị Mạng Thường Cấu Hình Sai
Bạn đã tạo xong VLAN cho phòng Kỹ thuật, Nhân sự và Tài chính trên hai switch khác nhau. Các cổng access đều đã được gán đúng VLAN. Tuy nhiên, người dùng ở cùng VLAN nhưng nằm trên hai switch khác nhau vẫn không thể giao tiếp với nhau.
Nguyên nhân rất đơn giản: liên kết giữa hai switch vẫn đang hoạt động ở chế độ Access mặc định và chưa được cấu hình Trunk 802.1Q.
Đây là một trong những lỗi cấu hình phổ biến nhất trong môi trường doanh nghiệp. VLAN chỉ có ý nghĩa cục bộ trên từng switch. Muốn mở rộng VLAN qua nhiều switch, chúng ta phải sử dụng VLAN Trunking.
Vì Sao Cần Trunk?
Giả sử doanh nghiệp có các VLAN sau:
Nếu không dùng trunk, bạn sẽ phải kéo:
Chỉ với ba VLAN đã cần ba kết nối vật lý. Khi số VLAN tăng lên hàng chục hoặc hàng trăm, mô hình này trở nên không khả thi.
IEEE 802.1Q giải quyết vấn đề này bằng cách cho phép:
Một đường kết nối vật lý duy nhất có thể mang lưu lượng của nhiều VLAN khác nhau.
Switch sẽ chèn thẻ VLAN (802.1Q tag) vào frame Ethernet để đánh dấu frame thuộc VLAN nào trước khi gửi qua trunk.
Mặc Định Cổng Switch Không Phải Là Trunk
Trên Cisco Catalyst Switch:
Lệnh:
switchport mode trunk
Lệnh này cấu hình interface trở thành cổng trunk sử dụng chuẩn IEEE 802.1Q.
Allowed VLAN – Những VLAN Nào Được Đi Qua Trunk?
Theo mặc định:
Tất cả VLAN đều được phép đi qua trunk.
Đây là đáp án đúng của câu hỏi cuối bài:
Trong thực tế, không phải lúc nào chúng ta cũng muốn tất cả VLAN được truyền qua mọi trunk.
Ví dụ:
SW1 và SW2 chỉ cần trao đổi:
Ta cấu hình:
switchport trunk allowed vlan 10,20,30,99
Sau lệnh này, chỉ bốn VLAN trên mới được phép đi qua trunk.
Các VLAN khác sẽ bị chặn.
Điều này giúp:
Thêm VLAN Mới Mà Không Làm Mất Cấu Hình Cũ
Đây là lỗi mà rất nhiều kỹ sư mạng gặp phải.
Giả sử trunk hiện đang cho phép:
10,20,30,99
Bạn muốn thêm VLAN 40. Sai:
switchport trunk allowed vlan 40
Lệnh trên sẽ:
overwrite
toàn bộ danh sách cũ và chỉ giữ lại:
40
Kết quả:
Đúng:
switchport trunk allowed vlan add 40
Danh sách sẽ trở thành:
10,20,30,40,99
mà không ảnh hưởng đến các VLAN hiện hữu.
Loại Bỏ VLAN Khỏi Trunk
Ví dụ cần loại bỏ VLAN 20:
switchport trunk allowed vlan remove 20
Kết quả:
10,30,99
Lưu lượng VLAN 20 sẽ không còn được truyền qua liên kết này.
Native VLAN Là Gì?
Trong trunk 802.1Q:
Mặc định:
Native VLAN = VLAN 1
Có thể thay đổi:
switchport trunk native vlan 99
Lúc này:
Vì Sao Native VLAN Quan Trọng?
Một số lưu lượng:
vẫn cần được chuyển tiếp mà không có VLAN tag.
Native VLAN đảm bảo các frame này vẫn được xử lý đúng.
Native VLAN Mismatch – Lỗi Thường Gặp Trong Doanh Nghiệp
Ví dụ: SW1
switchport trunk native vlan 99 SW2
switchport trunk native vlan 1
Khi đó:
Frame untagged từ SW1 sẽ được SW2 coi là thuộc VLAN 1.
Hậu quả:
Cisco luôn khuyến nghị:
Native VLAN ở hai đầu trunk phải giống nhau.
Ví Dụ Cấu Hình Hoàn Chỉnh
SW1
SW1(config)# interface Ethernet0/0
SW1(config-if)# switchport mode trunk
SW1(config-if)# switchport trunk native vlan 99
SW1(config-if)# switchport trunk allowed vlan 10,20,30,99
Ý nghĩa:
Phải cấu hình tương tự:
interface Ethernet0/0
switchport mode trunk
switchport trunk native vlan 99
switchport trunk allowed vlan 10,20,30,99
Nếu hai đầu trunk không khớp:
Kiểm Tra Trunk Đã Hoạt Động Chưa?
Một lỗi thi CCNA rất hay gặp:
Nhiều người dùng:
show vlan
để kiểm tra trunk.
Điều này không đúng.
Lệnh:
show vlan
chỉ hiển thị:
Nó không hiển thị trunk port.
Để kiểm tra trunk, sử dụng:
show interfaces trunk
hoặc:
show interface Ethernet0/0 switchport
Câu Hỏi Ôn Tập
Which statement is correct regarding trunk ports?
❌ The show vlan command can be used to check trunk ports on a switch.
❌ The native VLAN on a trunk port is tagged.
❌ All VLANs are sent untagged on a trunk port.
✅ By default, all VLANs are allowed on a trunk.
Kết Luận
Cấu hình trunk 802.1Q tưởng chừng đơn giản nhưng lại là nguyên nhân của rất nhiều sự cố trong mạng doanh nghiệp. Người quản trị cần nắm vững ba thành phần quan trọng:
Chỉ cần sai một trong ba yếu tố trên, việc phân đoạn VLAN giữa các switch có thể bị gián đoạn hoàn toàn, gây mất kết nối và tạo ra những lỗi rất khó chẩn đoán trong môi trường mạng thực tế.
Bạn đã tạo xong VLAN cho phòng Kỹ thuật, Nhân sự và Tài chính trên hai switch khác nhau. Các cổng access đều đã được gán đúng VLAN. Tuy nhiên, người dùng ở cùng VLAN nhưng nằm trên hai switch khác nhau vẫn không thể giao tiếp với nhau.
Nguyên nhân rất đơn giản: liên kết giữa hai switch vẫn đang hoạt động ở chế độ Access mặc định và chưa được cấu hình Trunk 802.1Q.
Đây là một trong những lỗi cấu hình phổ biến nhất trong môi trường doanh nghiệp. VLAN chỉ có ý nghĩa cục bộ trên từng switch. Muốn mở rộng VLAN qua nhiều switch, chúng ta phải sử dụng VLAN Trunking.
Vì Sao Cần Trunk?
Giả sử doanh nghiệp có các VLAN sau:
- VLAN 10: Engineering
- VLAN 20: HR
- VLAN 30: Finance
Nếu không dùng trunk, bạn sẽ phải kéo:
- Một đường cáp riêng cho VLAN 10
- Một đường cáp riêng cho VLAN 20
- Một đường cáp riêng cho VLAN 30
Chỉ với ba VLAN đã cần ba kết nối vật lý. Khi số VLAN tăng lên hàng chục hoặc hàng trăm, mô hình này trở nên không khả thi.
IEEE 802.1Q giải quyết vấn đề này bằng cách cho phép:
Một đường kết nối vật lý duy nhất có thể mang lưu lượng của nhiều VLAN khác nhau.
Switch sẽ chèn thẻ VLAN (802.1Q tag) vào frame Ethernet để đánh dấu frame thuộc VLAN nào trước khi gửi qua trunk.
Mặc Định Cổng Switch Không Phải Là Trunk
Trên Cisco Catalyst Switch:
- Mặc định interface hoạt động ở chế độ Access.
- Muốn truyền lưu lượng của nhiều VLAN, bạn phải chuyển interface sang chế độ Trunk.
Lệnh:
switchport mode trunk
Lệnh này cấu hình interface trở thành cổng trunk sử dụng chuẩn IEEE 802.1Q.
Allowed VLAN – Những VLAN Nào Được Đi Qua Trunk?
Theo mặc định:
Tất cả VLAN đều được phép đi qua trunk.
Đây là đáp án đúng của câu hỏi cuối bài:
By default, all VLANs are allowed on a trunk.
Trong thực tế, không phải lúc nào chúng ta cũng muốn tất cả VLAN được truyền qua mọi trunk.
Ví dụ:
SW1 và SW2 chỉ cần trao đổi:
- VLAN 10
- VLAN 20
- VLAN 30
- VLAN 99
Ta cấu hình:
switchport trunk allowed vlan 10,20,30,99
Sau lệnh này, chỉ bốn VLAN trên mới được phép đi qua trunk.
Các VLAN khác sẽ bị chặn.
Điều này giúp:
- Giảm broadcast không cần thiết
- Tăng tính bảo mật
- Giảm lưu lượng không mong muốn trên các uplink
Thêm VLAN Mới Mà Không Làm Mất Cấu Hình Cũ
Đây là lỗi mà rất nhiều kỹ sư mạng gặp phải.
Giả sử trunk hiện đang cho phép:
10,20,30,99
Bạn muốn thêm VLAN 40. Sai:
switchport trunk allowed vlan 40
Lệnh trên sẽ:
overwrite
toàn bộ danh sách cũ và chỉ giữ lại:
40
Kết quả:
- VLAN 10 mất kết nối
- VLAN 20 mất kết nối
- VLAN 30 mất kết nối
- Người dùng toàn công ty có thể bị gián đoạn.
Đúng:
switchport trunk allowed vlan add 40
Danh sách sẽ trở thành:
10,20,30,40,99
mà không ảnh hưởng đến các VLAN hiện hữu.
Loại Bỏ VLAN Khỏi Trunk
Ví dụ cần loại bỏ VLAN 20:
switchport trunk allowed vlan remove 20
Kết quả:
10,30,99
Lưu lượng VLAN 20 sẽ không còn được truyền qua liên kết này.
Native VLAN Là Gì?
Trong trunk 802.1Q:
- Hầu hết frame được gửi đi đều có VLAN tag.
- Riêng Native VLAN được gửi không gắn tag (untagged).
Mặc định:
Native VLAN = VLAN 1
Có thể thay đổi:
switchport trunk native vlan 99
Lúc này:
- VLAN 99 sẽ đi qua trunk dưới dạng untagged.
- Các VLAN khác vẫn được gắn tag 802.1Q.
Vì Sao Native VLAN Quan Trọng?
Một số lưu lượng:
- Legacy traffic
- Một số control protocol
- Thiết bị cũ không hiểu 802.1Q
vẫn cần được chuyển tiếp mà không có VLAN tag.
Native VLAN đảm bảo các frame này vẫn được xử lý đúng.
Native VLAN Mismatch – Lỗi Thường Gặp Trong Doanh Nghiệp
Ví dụ: SW1
switchport trunk native vlan 99 SW2
switchport trunk native vlan 1
Khi đó:
Frame untagged từ SW1 sẽ được SW2 coi là thuộc VLAN 1.
Hậu quả:
- VLAN leakage
- Broadcast đi sai VLAN
- STP inconsistency
- CDP Native VLAN Mismatch Warning
- Khó troubleshoot do lưu lượng đi sai phân đoạn mạng.
Cisco luôn khuyến nghị:
Native VLAN ở hai đầu trunk phải giống nhau.
Ví Dụ Cấu Hình Hoàn Chỉnh
SW1
SW1(config)# interface Ethernet0/0
SW1(config-if)# switchport mode trunk
SW1(config-if)# switchport trunk native vlan 99
SW1(config-if)# switchport trunk allowed vlan 10,20,30,99
Ý nghĩa:
- Chuyển E0/0 sang chế độ trunk
- Native VLAN là VLAN 99
- Chỉ cho phép VLAN 10,20,30 và 99 đi qua trunk
Phải cấu hình tương tự:
interface Ethernet0/0
switchport mode trunk
switchport trunk native vlan 99
switchport trunk allowed vlan 10,20,30,99
Nếu hai đầu trunk không khớp:
- Native VLAN mismatch
- VLAN không truyền được
- STP có thể hoạt động bất thường
- Mất kết nối liên VLAN giữa các switch
Kiểm Tra Trunk Đã Hoạt Động Chưa?
Một lỗi thi CCNA rất hay gặp:
Nhiều người dùng:
show vlan
để kiểm tra trunk.
Điều này không đúng.
Lệnh:
show vlan
chỉ hiển thị:
- VLAN database
- Access ports
Nó không hiển thị trunk port.
Để kiểm tra trunk, sử dụng:
show interfaces trunk
hoặc:
show interface Ethernet0/0 switchport
Câu Hỏi Ôn Tập
Which statement is correct regarding trunk ports?
❌ The show vlan command can be used to check trunk ports on a switch.
❌ The native VLAN on a trunk port is tagged.
❌ All VLANs are sent untagged on a trunk port.
✅ By default, all VLANs are allowed on a trunk.
Kết Luận
Cấu hình trunk 802.1Q tưởng chừng đơn giản nhưng lại là nguyên nhân của rất nhiều sự cố trong mạng doanh nghiệp. Người quản trị cần nắm vững ba thành phần quan trọng:
- Chuyển interface sang chế độ:
- Kiểm soát danh sách VLAN:
- Cấu hình Native VLAN đồng nhất ở hai đầu:
Chỉ cần sai một trong ba yếu tố trên, việc phân đoạn VLAN giữa các switch có thể bị gián đoạn hoàn toàn, gây mất kết nối và tạo ra những lỗi rất khó chẩn đoán trong môi trường mạng thực tế.