Cấu hình VLAN Trunking trên Proxmox nhờ tính năng VLAN Aware

VLAN Aware là gì, và vì sao nó tạo ra trunking

Mặc định, một Linux bridge trong Proxmox (vmbr0) là một bridge "phẳng" — nó không hiểu khái niệm VLAN tag, mọi frame đi qua đều được coi như thuộc cùng một mạng. Nếu cắm một trunk từ switch vào bridge kiểu này, các tag 802.1Q sẽ bị bridge bỏ qua hoặc xử lý sai, VM không thể tách theo VLAN được.
Khi bạn bật VLAN aware cho bridge, bridge chuyển sang hoạt động giống một switch layer 2 thật sự có hỗ trợ 802.1Q:
• Nó đọc và giữ nguyên VLAN tag trên các frame đi qua thay vì bỏ qua.
• Nó có thể nhận nhiều VLAN cùng lúc trên một cổng vật lý duy nhất — đây chính là hành vi của một trunk port.
• Với từng cổng ảo bên trong (tức là card mạng của từng VM), bridge có thể "tag" hoặc "untag" theo đúng VLAN ID được gán, y hệt cách một switch vật lý phân biệt access port và trunk port.
Nói ngắn gọn: VLAN aware không tạo ra VLAN, nó cho bridge khả năng làm trunk — nhận nhiều VLAN trên một đường vật lý và phân phối đúng VLAN cho đúng VM.

Chuẩn bị

• Một node Proxmox VE, có cổng NIC vật lý (ví dụ eno1) đã nối vào một cổng trunk trên switch (switch phải cho phép các VLAN cần dùng đi qua ở dạng tagged — đây là điều kiện phía switch, không thuộc phạm vi bài này).
• Bridge vmbr0 mặc định đang gắn với NIC đó.

Bật VLAN Aware cho bridge

Qua giao diện web:

1. Vào Node → System → Network.
2. vmbr0 → Edit.
3. Tick vào ô VLAN aware.
4. Nhấn OK, rồi Apply Configuration để áp dụng.

Cấu hình VLAN Trunking trên Proxmox nhờ tính năng VLAN Aware - ảnh 1

Qua file /etc/network/interfaces:

bash
auto vmbr0
iface vmbr0 inet static
    address 192.168.1.10/24
    gateway 192.168.1.1
    bridge-ports eno1
    bridge-stp off
    bridge-fd 0
    bridge-vlan-aware yes
    bridge-vids 2-4094

Hai dòng quan trọng nhất tạo nên hành vi trunk:
• bridge-vlan-aware yes: bật chế độ xử lý tag 802.1Q — đây là công tắc chính biến bridge thành trunk.
• bridge-vids 2-4094: khai báo dải VLAN ID mà bridge được phép nhận diện và chuyển tiếp. Có thể thu hẹp lại, ví dụ bridge-vids 10,20,30, nếu chỉ dùng đúng ba VLAN đó — tránh việc bridge "mở cửa" cho toàn bộ 4094 VLAN khi không cần thiết.
Áp dụng thay đổi:

bash
systemctl restart networking

hoặc ifreload -a nếu node dùng ifupdown2 (mặc định từ Proxmox 7 trở đi).

Gán VM vào VLAN cụ thể

Sau khi bridge đã ở chế độ VLAN aware, việc phân VM vào VLAN nào chỉ còn là cấu hình trên từng card mạng ảo — không cần đụng lại đến bridge nữa cho mỗi VLAN mới.
1. Chọn VM → Hardware → network device (net0) → Edit.
2. Nhập số vào ô VLAN Tag, ví dụ 10.
3. OK, khởi động lại VM nếu cần.
Ví dụ: mình tag VLAN10 cho VM Windows 10, máy sẽ nhận IP thuộc dải VLAN 10 sau khi lưu cấu hình.

Cấu hình VLAN Trunking trên Proxmox nhờ tính năng VLAN Aware - ảnh 2

Từ thời điểm này, bridge sẽ tự tag frame ra là VLAN 10 khi đi ra ngoài qua eno1, và tự untag khi đưa vào VM — đúng cơ chế của một trunk port kết hợp với access port ảo cho từng VM. Muốn thêm VLAN mới, chỉ cần đổi số trong ô này ở VM tương ứng, không phải sửa lại bridge hay file cấu hình mạng.

Vì sao cách này gọn hơn tạo nhiều bridge riêng


Nhiều bridge (vmbr0.10, vmbr0.20...)Một bridge VLAN aware
Thêm VLAN mớiPhải thêm bridge, sửa /etc/network/interfaces, restart networkingChỉ sửa VLAN Tag trên VM, không đụng cấu hình mạng host
Số bridge cần quản lýTăng theo số VLANLuôn chỉ một bridge
Rủi ro khi thao tácCao hơn (sửa network config mỗi lần)Thấp hơn, thao tác gói gọn trong VM

Đây là lý do VLAN aware gần như là lựa chọn mặc định khi cấu hình trunking trên Proxmox hiện nay, trừ khi bạn có nhu cầu đặc biệt cần tách bridge vật lý riêng cho từng VLAN.

Lưu ý khi bật VLAN Aware

Nếu IP quản trị của Proxmox đang gán trực tiếp trên vmbr0 (không qua VLAN nào), sau khi bật VLAN aware, IP đó sẽ đi ra như untagged/native — cổng switch phải khớp đúng VLAN native đó thì node mới không bị rớt mạng quản trị. Cách an toàn hơn là tách IP quản trị ra một VLAN sub-interface riêng (vmbr0.10) thay vì để trực tiếp trên vmbr0.

Tổng kết

Tính năng VLAN aware cho phép một bridge duy nhất trên Proxmox đóng vai trò trunk port: nhận nhiều VLAN trên cùng một cổng vật lý, và phân phối đúng VLAN cho từng VM chỉ bằng một trường VLAN Tag đơn giản. Đây là cách trunking gọn, dễ mở rộng nhất trên Proxmox — bật một lần trên bridge, sau đó việc thêm VLAN mới chỉ còn là cấu hình phía VM.

Tags:
Chia sẻ:

Bình luận (0)