Thiết Kế VLAN Đúng Cách: Vì Sao Nhiều Mạng Doanh Nghiệp Vẫn Gặp Lỗi Dù Đã Phân Chia VLAN?
Bạn đã triển khai VLAN cho từng phòng ban như Kế toán, Nhân sự và Kỹ thuật để tăng tính phân tách và bảo mật. Tuy nhiên, sau khi đưa vào vận hành, bạn bắt đầu phát hiện nhiều vấn đề: một số cổng vẫn nằm trong VLAN 1, người dùng có thể truy cập giao diện quản trị switch, hoặc switch liên tục báo lỗi Native VLAN Mismatch.
Những vấn đề này không xuất phát từ công nghệ VLAN, mà thường đến từ thiết kế VLAN chưa tốt. Một thiết kế VLAN hợp lý không chỉ cải thiện bảo mật mà còn giúp quản lý lưu lượng, áp dụng chính sách và mở rộng hệ thống trong tương lai dễ dàng hơn.
Bước đầu tiên: Ai đang giao tiếp với ai?
Khi thiết kế một hệ thống nhiều VLAN, câu hỏi quan trọng nhất là:
Ví dụ:
Việc trả lời câu hỏi này giúp bạn xác định:
Nói cách khác, VLAN không nên được tạo một cách ngẫu nhiên mà phải dựa trên chức năng, yêu cầu truy cập và mức độ bảo mật.
Xác định khả năng hỗ trợ VLAN của switch
Số lượng VLAN mà switch hỗ trợ phụ thuộc vào:
Các switch Cisco hiện đại thường hỗ trợ:
Một số switch đời cũ chỉ hỗ trợ:
Ví dụ:
Một doanh nghiệp nhỏ sử dụng Catalyst 2960 cũ nhưng thiết kế hàng trăm VLAN cho từng phòng ban, từng dự án, từng loại thiết bị có thể nhanh chóng chạm đến giới hạn phần cứng.
Do đó, trước khi thiết kế, cần kiểm tra khả năng của nền tảng switch.
Không nên sử dụng VLAN 1 cho người dùng
Trên switch Cisco, VLAN 1 là VLAN mặc định (Default VLAN).
Theo mặc định, VLAN 1 thường được sử dụng cho:
Về mặt bảo mật, không nên để người dùng sử dụng VLAN 1.
Ví dụ:
Nếu PC của người dùng nằm trong VLAN 1, họ có thể nằm cùng broadcast domain với một số loại traffic điều khiển, làm tăng nguy cơ:
Best Practice:
Ví dụ:
VLAN 10 Finance
VLAN 20 HR
VLAN 30 Engineering
VLAN 99 Management
VLAN 90 Native VLAN
VLAN 999 Black Hole VLAN
Bảo vệ các cổng không sử dụng (Unused Ports)
Đây là một trong những lỗi cấu hình phổ biến nhất.
Nhiều doanh nghiệp để các cổng chưa dùng:
Điều này cực kỳ nguy hiểm.
Bất kỳ ai cắm laptop vào cổng đó đều có thể truy cập mạng.
Cisco khuyến nghị hai biện pháp:
1. Đưa cổng không sử dụng vào Black Hole VLAN
Black Hole VLAN là VLAN:
Ví dụ:
vlan 999
name BLACKHOLE
2. Shutdown cổng
Ví dụ:
interface range g1/0/20-48
switchport mode access
switchport access vlan 999
shutdown
Nếu ai đó cắm thiết bị vào:
Đây là một lớp bảo vệ rất hiệu quả.
Tách VLAN quản trị (Management VLAN)
Theo mặc định, switch thường sử dụng VLAN 1 để quản trị.
Đây không phải là phương án an toàn.
Best Practice:
Tạo riêng một VLAN quản trị.
Ví dụ:
VLAN 99
Sau đó cấu hình SVI:
interface vlan 99
ip address 10.99.99.10 255.255.255.0
no shutdown
Cấu hình Default Gateway:
ip default-gateway 10.99.99.1
Lúc này:
đều nằm trong VLAN 99 thay vì VLAN 1.
Lợi ích:
Thiết kế Native VLAN cho Trunk
Trunk port cần được cấu hình cẩn thận. Native VLAN phải giống nhau ở hai đầu
Ví dụ:
SW1:
Native VLAN 999
SW2:
Native VLAN 99
Cisco sẽ sinh cảnh báo:
%CDP-4-NATIVE_VLAN_MISMATCH:
Native VLAN mismatch discovered on Ethernet0/0(999),
with SW2 Ethernet0/0 (99)
Nguy cơ:
Không sử dụng VLAN 1 làm Native VLAN
Best Practice:
Tạo riêng một VLAN không dùng cho bất kỳ traffic nào.
Ví dụ:
VLAN 90
Chỉ sử dụng VLAN này cho Native VLAN.
Tag Native VLAN
Mặc dù Native VLAN mặc định là untagged, Cisco khuyến nghị nên tag lưu lượng này để:
Ví dụ:
interface g1/0/1
switchport mode trunk
switchport trunk native vlan 90
vlan dot1q tag native
Cấu hình trên thực hiện:
Không phụ thuộc vào DTP
Cisco hỗ trợ Dynamic Trunking Protocol (DTP) để tự động thương lượng trunk.
Tuy nhiên:
Best Practice:
Luôn cấu hình trunk tĩnh:
interface g1/0/1
switchport mode trunk
Hành vi sẽ dự đoán được và ổn định hơn.
Tóm tắt các Best Practice khi thiết kế VLAN
Câu hỏi ôn tập
Sếp yêu cầu bạn bảo vệ các cổng switch không sử dụng ở tầng 2. Hai phương án nào là Best Practice?
✅ Administratively shut down the unused ports.
✅ Create a black hole VLAN, and place unused ports into that VLAN.
Hai đáp án này giúp ngăn chặn truy cập trái phép và là cấu hình được khuyến nghị trong hầu hết các hệ thống mạng doanh nghiệp hiện nay.
💬 Trong môi trường của bạn, Management VLAN, Native VLAN và Black Hole VLAN thường sử dụng VLAN ID nào? Bạn có còn để người dùng trong VLAN 1 không?
Bạn đã triển khai VLAN cho từng phòng ban như Kế toán, Nhân sự và Kỹ thuật để tăng tính phân tách và bảo mật. Tuy nhiên, sau khi đưa vào vận hành, bạn bắt đầu phát hiện nhiều vấn đề: một số cổng vẫn nằm trong VLAN 1, người dùng có thể truy cập giao diện quản trị switch, hoặc switch liên tục báo lỗi Native VLAN Mismatch.
Những vấn đề này không xuất phát từ công nghệ VLAN, mà thường đến từ thiết kế VLAN chưa tốt. Một thiết kế VLAN hợp lý không chỉ cải thiện bảo mật mà còn giúp quản lý lưu lượng, áp dụng chính sách và mở rộng hệ thống trong tương lai dễ dàng hơn.
Bước đầu tiên: Ai đang giao tiếp với ai?
Khi thiết kế một hệ thống nhiều VLAN, câu hỏi quan trọng nhất là:
Ai cần giao tiếp với ai? Và họ cần làm gì?
Ví dụ:
- Phòng Kế toán chỉ cần truy cập ERP và máy in nội bộ.
- Nhân sự cần truy cập hệ thống HR nhưng không cần truy cập server của bộ phận Kỹ thuật.
- Camera IP chỉ cần gửi dữ liệu đến NVR.
- Thiết bị IoT chỉ cần kết nối đến MQTT Broker.
Việc trả lời câu hỏi này giúp bạn xác định:
- Nhóm thiết bị nào nên ở cùng VLAN
- Nhóm nào cần bị cô lập
- Luồng nào cần được định tuyến giữa các VLAN
- Chính sách ACL hoặc Firewall nào cần được áp dụng
Nói cách khác, VLAN không nên được tạo một cách ngẫu nhiên mà phải dựa trên chức năng, yêu cầu truy cập và mức độ bảo mật.
Xác định khả năng hỗ trợ VLAN của switch
Số lượng VLAN mà switch hỗ trợ phụ thuộc vào:
- Model switch
- Phiên bản phần mềm IOS/IOS-XE
Các switch Cisco hiện đại thường hỗ trợ:
- 1024 VLAN
- 4096 VLAN
Một số switch đời cũ chỉ hỗ trợ:
- 64 VLAN
- 256 VLAN
Ví dụ:
Một doanh nghiệp nhỏ sử dụng Catalyst 2960 cũ nhưng thiết kế hàng trăm VLAN cho từng phòng ban, từng dự án, từng loại thiết bị có thể nhanh chóng chạm đến giới hạn phần cứng.
Do đó, trước khi thiết kế, cần kiểm tra khả năng của nền tảng switch.
Không nên sử dụng VLAN 1 cho người dùng
Trên switch Cisco, VLAN 1 là VLAN mặc định (Default VLAN).
Theo mặc định, VLAN 1 thường được sử dụng cho:
- Một số lưu lượng điều khiển (Control Traffic)
- Một số giao thức quản trị
- Giao thức Layer 2 của Cisco
Về mặt bảo mật, không nên để người dùng sử dụng VLAN 1.
Ví dụ:
Nếu PC của người dùng nằm trong VLAN 1, họ có thể nằm cùng broadcast domain với một số loại traffic điều khiển, làm tăng nguy cơ:
- VLAN hopping attacks
- Sai cấu hình
- Truy cập trái phép vào thiết bị mạng
Best Practice:
- Không sử dụng VLAN 1 cho người dùng.
- Chuyển tất cả end-user sang các VLAN khác.
Ví dụ:
VLAN 10 Finance
VLAN 20 HR
VLAN 30 Engineering
VLAN 99 Management
VLAN 90 Native VLAN
VLAN 999 Black Hole VLAN
Bảo vệ các cổng không sử dụng (Unused Ports)
Đây là một trong những lỗi cấu hình phổ biến nhất.
Nhiều doanh nghiệp để các cổng chưa dùng:
- Up trạng thái
- Nằm trong VLAN 1
Điều này cực kỳ nguy hiểm.
Bất kỳ ai cắm laptop vào cổng đó đều có thể truy cập mạng.
Cisco khuyến nghị hai biện pháp:
1. Đưa cổng không sử dụng vào Black Hole VLAN
Black Hole VLAN là VLAN:
- Không có Default Gateway
- Không có Routing
- Không có Internet Access
Ví dụ:
vlan 999
name BLACKHOLE
2. Shutdown cổng
Ví dụ:
interface range g1/0/20-48
switchport mode access
switchport access vlan 999
shutdown
Nếu ai đó cắm thiết bị vào:
- Port vẫn shutdown
- Dù bật lên cũng chỉ vào VLAN 999
- Không thể đi đâu được
Đây là một lớp bảo vệ rất hiệu quả.
Tách VLAN quản trị (Management VLAN)
Theo mặc định, switch thường sử dụng VLAN 1 để quản trị.
Đây không phải là phương án an toàn.
Best Practice:
Tạo riêng một VLAN quản trị.
Ví dụ:
VLAN 99
Sau đó cấu hình SVI:
interface vlan 99
ip address 10.99.99.10 255.255.255.0
no shutdown
Cấu hình Default Gateway:
ip default-gateway 10.99.99.1
Lúc này:
- SSH
- Telnet
- SNMP
- Web Management
đều nằm trong VLAN 99 thay vì VLAN 1.
Lợi ích:
- Giảm nguy cơ người dùng truy cập trái phép.
- Dễ áp dụng ACL.
- Dễ áp dụng Firewall Policy.
- Tách biệt hoàn toàn lưu lượng quản trị và lưu lượng người dùng.
Thiết kế Native VLAN cho Trunk
Trunk port cần được cấu hình cẩn thận. Native VLAN phải giống nhau ở hai đầu
Ví dụ:
SW1:
Native VLAN 999
SW2:
Native VLAN 99
Cisco sẽ sinh cảnh báo:
%CDP-4-NATIVE_VLAN_MISMATCH:
Native VLAN mismatch discovered on Ethernet0/0(999),
with SW2 Ethernet0/0 (99)
Nguy cơ:
- Untagged frame bị gán sai VLAN.
- Traffic đi nhầm VLAN.
- Khó troubleshooting.
- Tăng nguy cơ VLAN hopping.
Không sử dụng VLAN 1 làm Native VLAN
Best Practice:
Tạo riêng một VLAN không dùng cho bất kỳ traffic nào.
Ví dụ:
VLAN 90
Chỉ sử dụng VLAN này cho Native VLAN.
Tag Native VLAN
Mặc dù Native VLAN mặc định là untagged, Cisco khuyến nghị nên tag lưu lượng này để:
- Nhất quán
- Dễ phân tích gói tin
- Tăng bảo mật
- Giảm nguy cơ tấn công VLAN hopping
Ví dụ:
interface g1/0/1
switchport mode trunk
switchport trunk native vlan 90
vlan dot1q tag native
Cấu hình trên thực hiện:
- Đặt port ở chế độ trunk
- Đổi Native VLAN sang VLAN 90
- Tag lưu lượng Native VLAN
Không phụ thuộc vào DTP
Cisco hỗ trợ Dynamic Trunking Protocol (DTP) để tự động thương lượng trunk.
Tuy nhiên:
- Không phải vendor nào cũng hỗ trợ DTP.
- Dễ gây lỗi trong môi trường multi-vendor.
- Có thể bị khai thác nếu cấu hình không chặt chẽ.
Best Practice:
Luôn cấu hình trunk tĩnh:
interface g1/0/1
switchport mode trunk
Hành vi sẽ dự đoán được và ổn định hơn.
Tóm tắt các Best Practice khi thiết kế VLAN
- Thiết kế VLAN dựa trên nhu cầu giao tiếp và chức năng nghiệp vụ.
- Kiểm tra giới hạn VLAN của switch trước khi triển khai.
- Không sử dụng VLAN 1 cho người dùng.
- Tạo Management VLAN riêng.
- Đưa các cổng không sử dụng vào Black Hole VLAN.
- Shutdown các cổng không sử dụng.
- Native VLAN phải đồng nhất ở hai đầu trunk.
- Không dùng VLAN 1 làm Native VLAN.
- Tag Native VLAN.
- Cấu hình trunk tĩnh thay vì dựa vào DTP.
Câu hỏi ôn tập
Sếp yêu cầu bạn bảo vệ các cổng switch không sử dụng ở tầng 2. Hai phương án nào là Best Practice?
✅ Administratively shut down the unused ports.
✅ Create a black hole VLAN, and place unused ports into that VLAN.
Hai đáp án này giúp ngăn chặn truy cập trái phép và là cấu hình được khuyến nghị trong hầu hết các hệ thống mạng doanh nghiệp hiện nay.
💬 Trong môi trường của bạn, Management VLAN, Native VLAN và Black Hole VLAN thường sử dụng VLAN ID nào? Bạn có còn để người dùng trong VLAN 1 không?