VLAN Tìm Hiểu Và Cấu Hình
1. Giới thiệu
Như ở tiêu đề, trong lab này chúng ta sẽ tìm hiểu sâu hơn về VLAN (Virtual Local Area Network) và thực hành cấu hình VLAN trên Proxmox VE để phân chia hệ thống mạng thành nhiều vùng độc lập.
Đây là một trong những kỹ năng quan trọng khi triển khai Proxmox trong môi trường doanh nghiệp, trung tâm dữ liệu hoặc hệ thống Home Lab.
2. Kiến thức lý thuyết.
2.1. VLAN là gì?
VLAN (Virtual Local Area Network) là công nghệ cho phép một mạng vật lý chia thành nhiều mạng LAN logic độc lập.
Thông thường nếu như có nhiều máy tính hoặc máy chủ cùng kết nối vào một switch, chúng có thể nằm trên một mạng LAN và liên kết với nhau.
Tuy nhiên trong trường hợp có nhiều phòng ban hoặc nhiều nhóm máy chủ, việc sử dụng chung một mạng LAN có thể gây khó khăn trong quá trình phân chia quyền truy cập.

Ảnh nguồn: network-switch
Một số lợi ích của VLAN:
- Phân chia mạng: Tách các nhóm máy chủ hoặc thiết bị dành cho những mạng logic riêng biệt.
- Tăng cường bảo mật: Hạn chế trực tiếp giữa các nhóm thiết bị ở những VLAN khác nhau.
- Dễ dàng quản lý: Có thể quản lý phòng ban, chức năng hoặc mục đích sử dụng.
- Tối ưu hệ thống: Giảm phạm vi Broadcast Domain, hạn chế lưu lượng Broadcast không cần thiết
2.2. VLAN hoạt động như thế nào?
VLAN hoạt động dựa trên chuẩn IEEE 802.1Q. Khi một thiết bị gửi dữ liệu qua mạng VLAN. Switch có thể gắn thêm một VLAN tag vào Ethernet Frame để xác định dữ liệu đó thuộc VLAN nào.
Có một số khái niệm sau cần phải nắm:
a) VLAN ID
VLAN ID là mã định danh của mỗi VLAN, được sử dụng để phân biệt các mạng logic.
- VLAN 10: Mạng dành cho Web Server.
- VLAN 20: Mạng dành cho Database Server.
- VLAN 30: Mạng dành cho Management.
Theo chuẩn IEEE 802.1Q thì VLAN ID có thể nằm trong 0-4095. Trong đó VLAN 1 thường được sử dụng làm mặc định. Các VLAN thông thường có thể sử dụng ID từ 1 đến 4094
b) Access Port
Access Port là cổng Switch được gắn vào một VLAN cụ thể.
Thiết bị kết nối với Access Port thường không cần tự gắn VLAN Tag. Switch sẽ xử lý việc phân loại dữ liệu vào VLAN tương ứng.
c) Trunk Port
Trunk Port là cổng cho phép nhiều dữ liệu của nhiều VLAN trên cùng một kết nối. Khác với Access Port là cần phải gắn VLAN Tag để phân biệt các VLAN.
Ví dụ một Trunk Port có thể truyền đồng thời VLAN 10, VLAN 20 và VLAN 30.

Ảnh nguồn: splashaccess
d) VLAN Tag
VLAN là thông tin được thêm vào Ethernet Frame theo chuẩn IEEE 802.1Q.
Tag này giúp thiết bị mạng xác định frame đang thuộc VLAN nào.
Trong Proxmox, khi cấu hình VLAN Tag cho card mạng của máy ảo, Proxmox sẽ xử lý việc gắn tag và loại bỏ tag thông qua Linux Bridge.
3. VLAN trong Proxmox VE
Trong Proxmox VE, VLAN có thể được triển khai thông qua Linux Bridge.
Linux bridge lúc này giống vai trò của một Switch ảo, cho phép nhiều máy ảo cùng kết nối vào cùng một Bridge nhưng thuộc VLAN khác nhau.
Proxmox hỗ trợ một số phương pháp triển khai VLAN như sau:
| Phương pháp | Ý nghĩa |
| VLAN-aware Linux Bridge | Cho phép gán VLAN trực tiếp cho card mạng VM |
| Traditional VLAN | Tạo VLAN interface riêng, ví dụ vmbr0.10 |
| Open vSwitch VLAN | Sử dụng tính năng VLAN của Open Switch |
| Guest configured VLAN | Cấu hình VLAN trực tiếp bên trong hệ điều hành máy ảo |
4. Thực hiện cấu hình VLAN trên Proxmox
Bước 1: Kiểm tra cấu hình hiện tại
Trước khi cấu hình, chúng ta cần kiểm tra card mạng và Linux Bridge đang hoạt động trên Proxmox
Chạy lệnh sau:
vNode Tutorial
ip -br link

Kiểm tra địa chỉ ip:
vNode Tutorial
ip -br addr

Kiểm tra cấu hình Linux Bridge:
vNode Tutorial
cat /etc/network/interfaces

Ví dụ: Hệ thống đang sử dụng là nic0 là card mạng vật lý và vmbr0 làm Linux Bridge chính.
Bước 2: Tạo Linux Bridge VLAN-aware
Truy cập giao diện quản trị Proxmox VE. Truy cập node (1) > Network (2) > Create (3) > Linux Bridge (3)

Tích chọn VLAN aware > Create. Trong đó:
- Name: Tên Linux Bridge mới được tạo.
- Bridge ports: Không kết nối Linux Bridge với card mạng vật lý.
- VLAN aware: Cho phép Linux Bridge xử lý các VLAN Tag.
- Autostart: Tự động kích hoạt Linux Bridge khi Proxmox khởi động.

Sau khi tạo xong thì cần bấm Apply Configuration hoặc Reboot để thay đổi để cấu hình mạng mới được áp dụng.

Sau khi cấu hình, file cấu hình trong /etc/network/interfaces sẽ có dạng

Bước 3: Gán VLAN Tag cho máy ảo
Sau khi đã tạo được Linux Bridge, ta sẽ tiến hành gán VLAN cho từng máy ảo.
Tại giao diện quản trị chọn VM 101 (1) > Hardware (2) > Network Device (3) > Edit hoặc click đúp

Cấu hình như sau:
- Bridge: Chọn Linux Bridge mà bạn vừa tạo
- VLAN Tag: 10
- Model: VirtlO (paravirtualized)
Nhấn OK để lưu cấu hình. Thực hiện tương tự với các VM còn lại
| Máy ảo | Bridge | VLAN Tag |
| VM101 | vmbr1 | 10 |
| VM102 | vmbr1 | 10 |
| VM103 | vmbr1 | 20 |

Bước 4: Cấu hình IP cho máy ảo
Đầu tiên mở file cấu hình IP cho từng máy ảo. Dùng lệnh sau để mở:
vNode Tutorial
sudo nano /etc/netplan/50-cloud-init.yaml
Cấu hình tương tự như đây:
| Máy ảo | IP |
| VM101 | 192.168.10.10 |
| VM102 | 192.168.10.20 |
| VM103 | 192.168.10.30 |
vNode Tutorial
network:
version: 2
ethernets:
ens18:
dhcp4: false
addresses:
- 192.168.10.10/24
Sau khi cấu hình xong file thì bấm Ctrl + X > Y > Enter lưu. Sau đó chạy lệnh dưới đây để áp dụng cấu hình
vNode Tutorial
sudo netplan apply
Sau khi cấu hình xong cả 3 VM. Chạy lệnh dưới đây để kiểm tra ip.
vNode Tutorial
ip -br addr

Lưu ý: Trong lab này chưa cấu hình Gateway vì chưa triển khai thiết bị định tuyến giữa các VLAN.
5. Kiểm tra hoạt động của VLAN
Bước 1: Kiểm tra VLAN trên Proxmox
Trên Proxmox thực hiện lệnh. Lệnh này sẽ hiển thị các thông tin VLAN được cấu hình trên các cổng của Linux Bridge
vNode Tutorial
bridge vlan show
Kiểm tra cấu hình VM:
vNode Tutorial
qm config 101 qm config 102 qm config 103
Tìm đến dòng net0 để kiểm tra thông tin Linux Bridge và VLAN Tag
Ví dụ như trong ảnh: net0: virtio=BC:24:11:1D:B5:F3,bridge=vmbr1,firewall=1,tag=10
- bridge=vmbr1: Card mạng VM kết nối với Linux Bridge vmbr1
- tag=10: Card mạng thuộc VLAN 10

Bước 2: Kiểm tra kết nối giữa các máy ảo cùng VLAN
Trên VM 101 chạy lệnh. IP ở trong ảnh là IP của VM 102 ping thành công.
vNode Tutorial
ping -c 4 192.168.10.20

Bước 3: Kiểm tra kết nối giữa các VLAN khác nhau
Tiếp tục ở trên VM 101 chạy lệnh:
vNode Tutorial
ping -c 4 192.168.10.30

Ping thất bại. Nguyên nhân là do VM 101 và VM 103 ở 2 VLAN khác nhau. Trong mô hình hiện tại chưa có Router hoặc thiết bị layer 3 thực hiện định tuyến giữa VLAN 10 và VLAN 20.
6. Kết luận
Như vậy ở trong lab này vNode cùng các bạn đã tìm hiểu khái niệm VLAN, cách hoạt động cũng như là cách triển khai thông qua VLAN-aware Linux Bridge.
Tài liệu tham khảo:
