hoatranlab.io.vn Zalo: 0917516878 Hotline: 0917516878 [email protected]
HoaTranLab HoaTranLab
Buổi 0 / 14

Chuẩn Bị Hạ Tầng Lab — Proxmox + pfSense + VLAN

Proxmox VE 9.01 · pfSense · Multi-VLAN · DHCP Relay

Tiến độ khóa họcChuẩn bị / Buổi 0
~4 giờ Beginner Proxmox pfSense ESXi 8.0 U3 vCenter 8.0 U3
Nội dung thực hành trên ESXi 8.0 Update 3 & vCenter Server 8.0 Update 3 (Build 24022515)

Mục Tiêu Buổi Học

  • Hiểu mô hình hạ tầng lab: FortiGate → Proxmox → pfSense → ESXi
  • Cấu hình Proxmox VLAN Aware bridge (vmbr0)
  • Cài đặt và cấu hình pfSense làm Inter-VLAN Router + DHCP Relay
  • Tạo DHCP Scopes trên DC (10.100.100.3) cho 6 VLAN
  • Cấu hình VMkernel adapters trên ESXi cho từng VLAN
  • Xác minh luồng DHCP Relay hoạt động end-to-end

Hạ Tầng Hiện Tại (Đã Xác Nhận)

Thành phầnIPVai trò
FortiGate 70F10.100.100.1 (gateway)Firewall / Router ra internet
PC / Proxmox VE 9.0110.100.100.5Hypervisor — 1 cổng LAN duy nhất
Domain Controller (DC)10.100.100.3AD DS + DNS + DHCP Server (đã cài)
ESXi 0110.100.100.10Host trong Cluster-Production
ESXi 0210.100.100.7Host trong Cluster-Production
ESXi 0310.100.100.8Host trong Cluster-Production
ESXi 0410.100.100.9Host trong Cluster-Production
vCenter Server10.100.100.11Quản lý DC-HaNoi / Cluster-Production
pfSense (sẽ cài)10.100.100.2Inter-VLAN Router + DHCP Relay

Hiện trạng: Tất cả thiết bị đang chạy trên cùng 1 subnet phẳng 10.100.100.0/24 (không có VLAN). FortiGate 70F là gateway ra internet. Mục tiêu: thêm pfSense để tạo các VLAN cho VMkernel traffic (vMotion, vSAN, iSCSI...) và VM workload.

1. Phân Tích Logic Mô Hình Mạng

1.1 Tại sao cần pfSense?

Hiện tại, mọi thiết bị (DC, ESXi, vCenter, Proxmox) đều nằm trên cùng 1 subnet 10.100.100.0/24. Để triển khai VMware vSphere đúng chuẩn, cần tách traffic theo chức năng:

  • vMotion — cần VLAN riêng (băng thông lớn, không nên lẫn với management)
  • vSAN — cần VLAN riêng (traffic storage nặng)
  • iSCSI — cần 2 VLAN riêng (multipath A + B)
  • VM workload — tách Production / Development / DMZ

pfSense đóng vai trò inter-VLAN router — là gateway cho tất cả VLAN mới. Đồng thời chạy DHCP Relay để chuyển tiếp DHCP request từ các VLAN về DC (10.100.100.3).

1.2 Tại sao DC, pfSense, ESXi đều trên cùng 10.100.100.0/24?

Logic quan trọng:

  • Tất cả thiết bị quản lý (DC, pfSense, ESXi management, vCenter, Proxmox) phải nằm trên cùng 1 subnet để giao tiếp trực tiếp với nhau.
  • Subnet này là 10.100.100.0/24 — mạng hiện tại, kết nối ra FortiGate.
  • Các VLAN mới (10, 20, 30, 40, 41, 50) là mạng bổ sung cho ESXi VMkernel traffic, KHÔNG thay thế mạng management.
  • pfSense kết nối cả hai phía: vừa trên 10.100.100.0/24 (để nói chuyện với DC/FortiGate), vừa làm gateway cho các VLAN mới.

1.3 Vai trò từng thiết bị

Thiết bịVai trò trong mô hình
FortiGate 70FGateway ra internet cho mạng 10.100.100.0/24
pfSenseInter-VLAN Router + DHCP Relay. Là gateway cho VLAN 10/20/30/40/41/50. Kết nối tới FortiGate qua 10.100.100.0/24 để cung cấp internet cho các VLAN.
DCDHCP Server (cấp IP cho tất cả VLAN). DNS Server. Active Directory.
ESXi 01–04Nhận trunk (tất cả VLAN). Tạo VMkernel adapters trên mỗi VLAN. Chạy VM workload.
vCenterQuản lý tập trung 4 ESXi hosts. Tạo Distributed Switch cho đồng bộ VLAN.

2. Quy Hoạch VLAN / IP

2.1 Mạng quản lý (Native / Untagged — đã có)

SubnetGatewayThành viên
10.100.100.0/24 (native, không tag VLAN)FortiGate: 10.100.100.1DC (.3), Proxmox (.5), ESXi (.7,.8,.9,.10), vCenter (.11), pfSense (.2)

2.2 VMkernel VLANs — Traffic ESXi (pfSense là gateway)

VLANMục đíchSubnetpfSense GWVMkernelDHCP Range
VLAN 10ESXi Management (phụ)10.100.10.0/2410.100.10.1vmk0.100 – .200
VLAN 20vMotion10.100.20.0/2410.100.20.1vmk1.100 – .200
VLAN 30vSAN10.100.30.0/2410.100.30.1vmk2.100 – .200
VLAN 40iSCSI Network A10.100.40.0/2410.100.40.1vmk3.100 – .200
VLAN 41iSCSI Network B10.100.41.0/2410.100.41.1vmk4.100 – .200
VLAN 50Storage / NFS10.100.50.0/2410.100.50.1.100 – .200

2.3 VM Network VLANs — Cho VM workload (triển khai sau)

VLANMục đíchPort Group trên vDSGhi chú
VLAN 100Production VMsVLAN100-Production= Native network (10.100.100.0/24)
VLAN 200Development VMsVLAN200-DevSubnet tự chọn khi triển khai
VLAN 300DMZ / Internet-facingVLAN300-DMZSubnet tự chọn khi triển khai
VLAN 400Management VMsVLAN400-ManagementSubnet tự chọn khi triển khai

VLAN 100 = Native network: Mạng 10.100.100.0/24 hiện tại chính là VLAN 100 (Production). Các VM trên ESXi kết nối Port Group không tag VLAN sẽ nằm trên mạng này.

3. Sơ Đồ Network Topology

Kiến trúc mạng — FortiGate → Proxmox → pfSense → VLAN

FortiGate 70F — 10.100.100.1 PC / Proxmox 9.01 — 10.100.100.5 (1 LAN) vmbr0 — Linux Bridge (VLAN Aware: 10, 20, 30, 40, 41, 50) Native / Untagged — Subnet 10.100.100.0/24 (Management — tất cả thiết bị quản lý nằm ở đây) pfSense WAN: 10.100.100.2 + VLAN interfaces Inter-VLAN Router + DHCP Relay DC 10.100.100.3 AD + DNS + DHCP Server vCenter 10.100.100.11 ESXi 01–04 (Management IPs) .10 | .7 | .8 | .9 (trên native 10.100.100.x) pfSense VLAN Interfaces (NIC 2 — Trunk) Mỗi VLAN trên pfSense = 1 gateway cho subnet riêng VLAN 10 ESXi Mgmt 10.100.10.0/24 GW: 10.100.10.1 VLAN 20 vMotion 10.100.20.0/24 GW: 10.100.20.1 VLAN 30 vSAN 10.100.30.0/24 GW: 10.100.30.1 VLAN 40 iSCSI-A 10.100.40.0/24 GW: 10.100.40.1 VLAN 41 iSCSI-B 10.100.41.0/24 GW: 10.100.41.1 VLAN 50 Storage/NFS 10.100.50.0/24 GW: 10.100.50.1 4 ESXi Hosts — Mỗi host nhận TRUNK tất cả VLAN ESXi 01 — .10 VMkernel: vmk0:V10 | vmk1:V20 | vmk2:V30 vmk3:V40 | vmk4:V41 + VM Network: V100/200/300/400 ESXi 02 — .7 VMkernel: vmk0:V10 | vmk1:V20 | vmk2:V30 vmk3:V40 | vmk4:V41 + VM Network: V100/200/300/400 ESXi 03 — .8 VMkernel: vmk0:V10 | vmk1:V20 | vmk2:V30 vmk3:V40 | vmk4:V41 + VM Network: V100/200/300/400 ESXi 04 — .9 VMkernel: vmk0:V10 | vmk1:V20 | vmk2:V30 vmk3:V40 | vmk4:V41 + VM Network: V100/200/300/400 Luồng DHCP Relay ① ESXi vmk (ví dụ vmk1 trên VLAN 20) gửi DHCP Discover (broadcast trên VLAN 20) ② pfSense (10.100.20.1 — gateway VLAN 20) nhận broadcast → chuyển thành unicast gửi đến DC (10.100.100.3) ③ DC nhận request, thấy đến từ subnet 10.100.20.0/24 → tìm scope VLAN20 → DHCP Offer (IP 10.100.20.x) ④ DC trả Offer cho pfSense → pfSense relay về VLAN 20 → ESXi vmk1 nhận IP 10.100.20.x ✓ ⚠ DC và pfSense phải cùng trên 10.100.100.0/24 để pfSense gửi unicast đến DC được!

Bước 1: Cấu Hình Proxmox Network (VLAN Aware)

1.1 Truy cập Proxmox

URL: https://10.100.100.5:8006

1.2 Bật VLAN Aware trên vmbr0

Datacenter → Node → Network → vmbr0 → Edit → Tick "VLAN Aware" ✓ → OK → Apply Configuration

1.3 Hoặc cấu hình CLI

nano /etc/network/interfaces
auto lo
iface lo inet loopback

auto eno1
iface eno1 inet manual

auto vmbr0
iface vmbr0 inet static
    address 10.100.100.5/24
    gateway 10.100.100.1
    bridge-ports eno1
    bridge-stp off
    bridge-fd 0
    bridge-vlan-aware yes
    bridge-vids 10 20 30 40 41 50 100 200 300 400
# Áp dụng:
ifreload -a

# Kiểm tra:
bridge vlan show

Lưu ý: eno1 là tên card mạng vật lý. Kiểm tra bằng ip link show. Có thể là enp0s3, eth0...

Bước 2: Download & Tạo VM pfSense trên Proxmox

2.1 Download pfSense ISO

  1. Truy cập https://www.pfsense.org/download/
  2. Chọn: Architecture: AMD64, Installer: CD Image (ISO)
  3. Download file .iso.gz → giải nén ra .iso
  4. Upload lên Proxmox: Datacenter → local (storage) → ISO Images → Upload

2.2 Tạo VM pfSense

Proxmox → Create VM

TabThông sốGiá trị
GeneralVM ID / Name100 / pfSense-Router
OSTypeOther (FreeBSD)
OSISO imagepfSense ISO đã upload
SystemBIOSSeaBIOS (mặc định)
DisksSize16 GB
CPUCores2
MemoryRAM2048 MB (2 GB)
NetworkNIC 1Bridge: vmbr0, VLAN Tag: trống, Model: VirtIO

2.3 Thêm NIC thứ 2

Sau khi tạo VM: VM → Hardware → Add → Network Device

Thông sốGiá trịGiải thích
Bridgevmbr0Cùng bridge với NIC 1
VLAN TagTrống (không điền)= Trunk — nhận TẤT CẢ VLAN
ModelVirtIOHiệu suất tốt nhất

Tại sao 2 NIC?

  • NIC 1 (vtnet0) → WAN: Kết nối vào mạng management 10.100.100.0/24. pfSense dùng interface này để nói chuyện với DC (10.100.100.3) và FortiGate (10.100.100.1).
  • NIC 2 (vtnet1) → LAN + VLANs: Trunk — pfSense tạo VLAN sub-interfaces (10, 20, 30, 40, 41, 50) trên NIC này. Đây là nơi pfSense làm gateway cho các VLAN.
  • Cả 2 NIC đều trên vmbr0, không VLAN tag — ở tầng Proxmox là giống nhau, nhưng pfSense xử lý logic riêng.

Bước 3: Cài Đặt pfSense (Console)

3.1 Start VM & Mở Console

VM pfSense → Start → Console

3.2 Cài đặt pfSense

  1. Chờ boot menu → chọn Install pfSense
  2. Keymap: Default
  3. Partition: Auto (ZFS) hoặc Auto (UFS) (UFS đơn giản hơn)
  4. Chọn disk: da0 hoặc vtbd0
  5. Confirm → cài đặt...
  6. Khi xong → Reboot
  7. Quan trọng: Sau reboot, vào VM → Hardware → CD/DVD Drive → Do not use any media để tháo ISO

3.3 Cấu hình interfaces ban đầu (Console menu)

# === Bước 1: VLANs ===
Should VLANs be set up now [y|n]? → y

# Nhập VLAN trên NIC 2 (vtnet1 — trunk):
Enter the parent interface name for the new VLAN: vtnet1
Enter the VLAN tag: 10
(nhấn Enter)

# Tiếp tục thêm:
Enter the parent interface name: vtnet1
Enter the VLAN tag: 20
(nhấn Enter)

# Lặp lại cho: 30, 40, 41, 50
# Sau khi thêm hết, nhấn Enter (để trống) để kết thúc

# === Bước 2: Assign interfaces ===
Enter the WAN interface name: vtnet0
Enter the LAN interface name: vtnet1.10
Enter the Optional 1 interface name: vtnet1.20
Enter the Optional 2 interface name: vtnet1.30
Enter the Optional 3 interface name: vtnet1.40
Enter the Optional 4 interface name: vtnet1.41
Enter the Optional 5 interface name: vtnet1.50
(nhấn Enter để kết thúc)

# Confirm: y

3.4 Đặt IP cho WAN (Menu Option 2)

# Chọn Option 2 — Set interface(s) IP address
# Chọn interface: 1 (WAN - vtnet0)

Configure IPv4 address WAN interface via DHCP? → n
Enter the new WAN IPv4 address: 10.100.100.2
Enter the new WAN IPv4 subnet bit count: 24

For a WAN, enter the new WAN IPv4 upstream gateway: 10.100.100.1

Configure IPv6? → n
Do you want to revert to HTTP as the webConfigurator protocol? → n

3.5 Đặt IP cho LAN — VLAN 10 (Menu Option 2)

# Chọn Option 2 → interface 2 (LAN - vtnet1.10)

Configure IPv4 via DHCP? → n
Enter the new LAN IPv4 address: 10.100.10.1
Subnet bit count: 24
upstream gateway: (Enter — bỏ trống, không cần gateway cho LAN)

Enable DHCP server on LAN? → n    ← QUAN TRỌNG: chọn NO!

Luôn chọn NO khi hỏi "Enable DHCP server"! DC sẽ cấp DHCP, không phải pfSense.

3.6 Đặt IP cho các OPT interfaces còn lại

Lặp lại Option 2 cho từng interface:

InterfaceGán vàoIP/Subnet
OPT1 (vtnet1.20)VLAN 20 — vMotion10.100.20.1/24
OPT2 (vtnet1.30)VLAN 30 — vSAN10.100.30.1/24
OPT3 (vtnet1.40)VLAN 40 — iSCSI-A10.100.40.1/24
OPT4 (vtnet1.41)VLAN 41 — iSCSI-B10.100.41.1/24
OPT5 (vtnet1.50)VLAN 50 — Storage10.100.50.1/24

Bước 4: Cấu Hình pfSense qua Web UI

4.1 Truy cập WebGUI

Vì pfSense mặc định chặn WebGUI trên WAN, bạn cần mở trước từ console:

# Trong pfSense console, chọn Option 8 (Shell)
# Chạy lệnh:
pfctl -d
# (Tắt tạm firewall — chỉ để truy cập WebGUI lần đầu)

Mở trình duyệt: https://10.100.100.2 → Đăng nhập: admin / pfsense

Sau khi cấu hình xong firewall rules, firewall sẽ tự bật lại khi reboot.

4.2 Setup Wizard

  1. Hostname: pfSense, Domain: lab.local
  2. DNS: 10.100.100.3 (DC) + 8.8.8.8 (backup)
  3. Time Zone: Asia/Ho_Chi_Minh
  4. WAN: Static IPv4 — 10.100.100.2/24, Gateway: 10.100.100.1
  5. Uncheck "Block private networks""Block bogon networks" trên WAN (vì WAN là mạng private 10.x)
  6. LAN: 10.100.10.1/24
  7. Đổi mật khẩu admin
  8. Finish

4.3 Đặt tên cho OPT interfaces

Interfaces → OPT1 → Enable ✓ → Description: VLAN20_vMotion → Save

InterfaceDescriptionIPv4
OPT1VLAN20_vMotion10.100.20.1/24
OPT2VLAN30_vSAN10.100.30.1/24
OPT3VLAN40_iSCSI_A10.100.40.1/24
OPT4VLAN41_iSCSI_B10.100.41.1/24
OPT5VLAN50_Storage10.100.50.1/24

Mỗi interface: Enable ✓ → IPv4 Static → nhập IP → Save → Apply Changes

4.4 Firewall Rules — Cho phép traffic

Firewall → Rules → Cho MỖI interface (LAN, OPT1–5), thêm rule:

ActionProtocolSourceDestination
PassAny* (any)* (any)

Ghi chú bảo mật: Rule "Pass Any Any" mở toàn bộ traffic — tốt cho lab/testing. Sau khi mọi thứ hoạt động, quay lại siết chặt rules theo nhu cầu.

4.5 Tắt NAT cho traffic nội bộ

  1. Firewall → NAT → Outbound
  2. Chọn Manual Outbound NAT rule generation
  3. Save
  4. Xóa tất cả auto-generated rules trừ rule cuối cùng
  5. Chỉ giữ lại 1 rule: Source 10.100.100.0/24 → WAN → NAT to WAN address

Tại sao? Nếu không tắt NAT, khi ESXi (VLAN 20) liên lạc với DC (10.100.100.3), pfSense sẽ đổi source IP thành 10.100.100.2. DC sẽ không biết request đến từ VLAN nào → DHCP Relay không hoạt động đúng.

Bước 5: Cấu Hình DHCP Scopes Trên DC (10.100.100.3)

5.1 Mở DHCP Manager

Server Manager → Tools → DHCP

Nếu chưa cài DHCP role: Add Roles → DHCP Server → Install

5.2 Tạo Scope cho mỗi VLAN

IPv4 → Click phải → New Scope

Scope NameStart IPEnd IPSubnet MaskRouter (Gateway)DNS
VLAN10-ESXi-Mgmt10.100.10.10010.100.10.200255.255.255.010.100.10.110.100.100.3
VLAN20-vMotion10.100.20.10010.100.20.200255.255.255.010.100.20.110.100.100.3
VLAN30-vSAN10.100.30.10010.100.30.200255.255.255.010.100.30.110.100.100.3
VLAN40-iSCSI-A10.100.40.10010.100.40.200255.255.255.010.100.40.110.100.100.3
VLAN41-iSCSI-B10.100.41.10010.100.41.200255.255.255.010.100.41.110.100.100.3
VLAN50-Storage10.100.50.10010.100.50.200255.255.255.010.100.50.110.100.100.3

DNS cho tất cả scope: Trỏ về 10.100.100.3 (DC — vì DC là DNS Server). Router/Gateway = IP pfSense tương ứng.

5.3 Activate tất cả Scopes

Khi tạo scope, chọn "Yes, I want to activate this scope now".

IPv4
├── Scope [10.100.10.0]  VLAN10-ESXi-Mgmt  ✔ Active
├── Scope [10.100.20.0]  VLAN20-vMotion     ✔ Active
├── Scope [10.100.30.0]  VLAN30-vSAN        ✔ Active
├── Scope [10.100.40.0]  VLAN40-iSCSI-A     ✔ Active
├── Scope [10.100.41.0]  VLAN41-iSCSI-B     ✔ Active
└── Scope [10.100.50.0]  VLAN50-Storage      ✔ Active

Bước 6: Cấu Hình DHCP Relay Trên pfSense

6.1 Tắt DHCP Server (nếu đang bật)

Services → DHCP Server → Kiểm tra từng tab interface → Bỏ tick Enable → Save

6.2 Bật DHCP Relay

  1. Services → DHCP Relay
  2. Tick Enable DHCP Relay
  3. Interface(s): Giữ Ctrl + Click chọn: LAN (VLAN 10), VLAN20_vMotion, VLAN30_vSAN, VLAN40_iSCSI_A, VLAN41_iSCSI_B, VLAN50_Storage
  4. Destination server: 10.100.100.3 (IP của DC)
  5. Click Save

Điều kiện bắt buộc:

  • DHCP Server trên pfSense phải TẮT trên tất cả interfaces trước khi bật Relay.
  • pfSense PHẢI có route đến DC (10.100.100.3). Vì WAN (vtnet0) ở trên cùng subnet 10.100.100.0/24, pfSense đã kết nối trực tiếp → OK.

Bước 7: Cấu Hình vSwitch/Port Group Trên ESXi

7.1 Điều chỉnh NIC ESXi trên Proxmox

Quan trọng: NIC của VM ESXi trên Proxmox phải KHÔNG có VLAN tag (trunk). Nếu đang có VLAN tag, xóa đi: VM ESXi → Hardware → Network Device → Edit → Xóa VLAN Tag → OK

7.2 Truy cập ESXi Web UI

https://10.100.100.10 (ESXi 01) hoặc qua vCenter https://10.100.100.11/ui

7.3 Tạo Port Groups trên vSwitch

Networking → Virtual switches → vSwitch0 → Add port group

Port Group NameVLAN IDLoại sử dụng
VLAN10-Management10VMkernel (vmk0) — Management
VLAN20-vMotion20VMkernel (vmk1) — vMotion
VLAN30-vSAN30VMkernel (vmk2) — vSAN
VLAN40-iSCSI-A40VMkernel (vmk3) — iSCSI
VLAN41-iSCSI-B41VMkernel (vmk4) — iSCSI
VLAN100-Production0 (native)VM Network — Production VMs
VLAN200-Dev200VM Network — Dev VMs
VLAN300-DMZ300VM Network — DMZ
VLAN400-Management400VM Network — Mgmt VMs

7.4 Tạo VMkernel Adapters

Networking → VMkernel NICs → Add VMkernel NIC

  • vmk0 → Port Group VLAN10-Management → Services: Management ✓ → IPv4: DHCP
  • vmk1 → Port Group VLAN20-vMotion → Services: vMotion ✓ → IPv4: DHCP
  • vmk2 → Port Group VLAN30-vSAN → Services: vSAN ✓ → IPv4: DHCP
  • vmk3 → Port Group VLAN40-iSCSI-A → IPv4: DHCP
  • vmk4 → Port Group VLAN41-iSCSI-B → IPv4: DHCP

Dùng vDS qua vCenter: Truy cập vCenter (10.100.100.11) → DC-HaNoi → Networking → New Distributed Switch → Thêm các Port Groups ở trên → Thêm cả 4 ESXi hosts vào vDS. Chỉ cần cấu hình 1 lần, tự đồng bộ cho tất cả hosts!

Lặp lại cho ESXi 02, 03, 04 (hoặc dùng vDS để đồng bộ tự động).

Kiểm Tra & Xác Minh

Kiểm tra 1: VMkernel nhận IP từ DHCP

# Trên ESXi (SSH hoặc console):
esxcli network ip interface ipv4 get

# Kết quả mong đợi:
# vmk0  10.100.10.x   255.255.255.0  DHCP
# vmk1  10.100.20.x   255.255.255.0  DHCP
# vmk2  10.100.30.x   255.255.255.0  DHCP
# vmk3  10.100.40.x   255.255.255.0  DHCP
# vmk4  10.100.41.x   255.255.255.0  DHCP

Kiểm tra 2: DHCP Leases trên DC

DHCP Manager → Scope VLAN20 → Address Leases — phải thấy ESXi đã nhận IP.

Kiểm tra 3: Ping giữa các VLAN

# Từ ESXi 01 (SSH), ping pfSense gateway:
vmkping -I vmk1 10.100.20.1     # vMotion gateway
vmkping -I vmk2 10.100.30.1     # vSAN gateway

# Từ DC (10.100.100.3), ping pfSense:
ping 10.100.100.2    # pfSense WAN
ping 10.100.10.1     # pfSense VLAN 10 GW (qua routing)

Kiểm tra 4: pfSense DHCP Relay logs

Status → System Logs → DHCP — xem log relay

Checklist tổng hợp

Hạng mụcKết quả mong đợi
Proxmox vmbr0 VLAN awarebridge vlan show hiện VLAN 10–50
pfSense boot OKConsole hiện menu, WAN IP = 10.100.100.2
pfSense 6 VLAN interfacesLAN + OPT1–5 có đúng IP
pfSense Firewall rulesPass Any Any trên mỗi interface
pfSense DHCP RelayEnabled, trỏ về 10.100.100.3
DC 6 DHCP ScopesTất cả Active
ESXi NIC = trunk (no VLAN tag)Proxmox VM Hardware → VLAN tag trống
ESXi Port GroupsVLAN 10/20/30/40/41 tạo đúng
ESXi vmk nhận IP DHCPvmk0–vmk4 có IP 10.100.X.x
Ping inter-VLANvmkping thành công

Troubleshooting

1. Không truy cập được pfSense WebGUI

Nguyên nhânCách sửa
Firewall chặn WANConsole → Option 8 (Shell) → pfctl -d
IP WAN saiConsole → Option 2 → Set lại IP 10.100.100.2
"Block private networks" đang bậtWizard hoặc Interfaces → WAN → Uncheck "Block private networks"

2. ESXi vmk không nhận IP DHCP

Nguyên nhânCách sửa
ESXi NIC có VLAN tag ở ProxmoxXóa VLAN tag → để trunk
Port Group VLAN ID saiESXi Networking → kiểm tra Port Group → đúng VLAN ID
pfSense DHCP Relay chưa bậtServices → DHCP Relay → Enable ✓
pfSense DHCP Server đang bậtTắt DHCP Server trên tất cả interfaces trước
DC Scope chưa ActiveDHCP Manager → Right-click Scope → Activate
pfSense firewall chặn DHCPThêm Pass Any Any rule cho interface

3. Không ping được giữa VLAN

Nguyên nhânCách sửa
pfSense firewall chặnFirewall → Rules → Pass Any Any cho mỗi interface
NAT gây lỗiFirewall → NAT → Outbound → Manual → Xóa rules không cần
Gateway sai trong DHCP ScopeDC DHCP → Scope Options → Router = pfSense IP

4. Debug commands

# pfSense Shell (Option 8):
pfctl -d                          # Tắt firewall tạm
pfctl -e                          # Bật lại firewall
ifconfig                          # Xem tất cả interfaces + IP
cat /tmp/dhcrelay.log             # Log DHCP relay

# Proxmox:
bridge vlan show                  # Xem VLAN trên bridge
tcpdump -i vmbr0 -n port 67      # Bắt DHCP traffic

# ESXi SSH:
esxcli network ip interface ipv4 get    # Xem IP vmk
esxcli network vswitch standard list    # Xem vSwitch
vmkping -I vmk1 10.100.20.1            # Ping qua vmk cụ thể