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.

vlan

 

Ả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.

Trunk Port Vs Access Port Port Types

 

Ả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

Network Interface

 

Kiểm tra địa chỉ ip:

vNode Tutorial
ip -br addr

Ipaddr

 

Kiểm tra cấu hình Linux Bridge:

vNode Tutorial
cat /etc/network/interfaces

Config Interface

 

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)

Create Vlan Aware

 

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.

Create Vlan Aware1

 

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.

Create Vlan Aware2

 

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

Vmbr1

 

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

Config Vmbr

 

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

Config Vmbr1

 

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

Ip Vm

 

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

Vm Config

 

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

Ping Vm

 

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 Vm1

 

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: