Konfigurasi Network Proxmox: VLAN-Aware Bridge dengan Gateway MikroTik#
Overview#
Dokumen ini menjelaskan konfigurasi networking pada host Proxmox VE menggunakan single physical NIC (enp2s0) dengan VLAN-aware bridge (vmbr0). Desain ini memisahkan traffic management host dan traffic VM tanpa perlu NIC tambahan — semua VLAN di-carry lewat satu trunk port ke MikroTik.
Ringkasan Segmentasi#
| Fungsi | Interface | VLAN | Subnet | Gateway (MikroTik) |
|---|---|---|---|---|
| Management Proxmox | vmbr0.4 | 4 | 192.168.4.0/24 | 192.168.4.254 |
| VM Network | vmbr0 (VLAN tag 4 di vNIC) | 4 | 10.35.4.0/24 | 10.35.4.254 |
Catatan penting: VLAN 4 di sini meng-carry dua subnet sekaligus (192.168.4.0/24 untuk management dan 10.35.4.0/24 untuk VM). Kedua gateway (
192.168.4.254dan10.35.4.254) berada di MikroTik sebagai IP address pada interface VLAN 4 yang sama (multi-IP / secondary address). Routing antar-subnet terjadi di MikroTik, bukan di host Proxmox.
Diagram Topologi#
graph TB
subgraph MikroTik["MikroTik Router"]
VLAN4["Interface VLAN 4<br/>192.168.4.254/24 (mgmt gw)<br/>10.35.4.254/24 (VM gw)"]
end
subgraph PVE["Proxmox VE Host"]
ENP["enp2s0<br/>(physical NIC — trunk)"]
VMBR["vmbr0<br/>VLAN-aware bridge<br/>(no IP)"]
MGMT["vmbr0.4<br/>192.168.4.1/24<br/>Management IP"]
ENP --- VMBR
VMBR --- MGMT
end
subgraph VMs["Virtual Machines"]
VM1["VM 1<br/>net0: vmbr0, tag=4<br/>10.35.4.x/24"]
VM2["VM 2<br/>net0: vmbr0, tag=4<br/>10.35.4.x/24"]
end
VLAN4 ===|"Trunk (VLAN 2-4094)"| ENP
VMBR ---|"tag 4"| VM1
VMBR ---|"tag 4"| VM2ASCII Diagram (fallback)#
┌──────────────────────────────┐
│ MikroTik Router │
│ VLAN 4 interface: │
│ • 192.168.4.254/24 (mgmt) │
│ • 10.35.4.254/24 (VM) │
└──────────────┬───────────────┘
│ trunk (VLAN 2-4094)
│
┌──────────────────────────────────────┼───────────────────────────┐
│ Proxmox VE Host │ │
│ ┌─────────┴─────────┐ │
│ │ enp2s0 │ physical NIC │
│ └─────────┬─────────┘ │
│ ┌─────────┴─────────┐ │
│ │ vmbr0 │ VLAN-aware │
│ │ (no IP) │ bridge │
│ └───┬───────────┬───┘ │
│ ┌──────────────┘ └───────────┐ │
│ ┌────────┴────────┐ ┌──────────────┴───────┐ │
│ │ vmbr0.4 │ │ VM vNIC (tag=4) │ │
│ │ 192.168.4.1/24 │ │ 10.35.4.x/24 │ │
│ │ (management) │ │ gw 10.35.4.254 │ │
│ └─────────────────┘ └──────────────────────┘ │
└──────────────────────────────────────────────────────────────────┘Konfigurasi /etc/network/interfaces#
auto lo
iface lo inet loopback
iface enp2s0 inet manual
auto vmbr0
iface vmbr0 inet manual
bridge-ports enp2s0
bridge-stp off
bridge-fd 0
bridge-vlan-aware yes
bridge-vids 2-4094
auto vmbr0.4
iface vmbr0.4 inet static
address 192.168.4.1/24
gateway 192.168.4.254
iface wlp3s0 inet manual
source /etc/network/interfaces.d/*⚠️ Koreksi dari config awal: baris
bridge-vlan-awaresadalah typo — parameter yang benar adalahbridge-vlan-aware yes. Tanpayes, ifupdown2 tidak akan meng-enable VLAN filtering di bridge, dan tag VLAN di vNIC VM tidak akan berfungsi.
Penjelasan Per Bagian (dan Kenapa)#
1. iface enp2s0 inet manual
Physical NIC di-set manual tanpa IP — dia murni jadi uplink/trunk. IP management tidak boleh dipasang langsung di sini karena semua traffic harus lewat bridge supaya VLAN filtering konsisten.
2. vmbr0 — VLAN-aware bridge
bridge-ports enp2s0 # anggota bridge = NIC fisik
bridge-stp off # STP off — single uplink, tidak ada loop risk
bridge-fd 0 # forwarding delay 0 — port langsung forwarding
bridge-vlan-aware yes # enable 802.1Q VLAN filtering di bridge
bridge-vids 2-4094 # VLAN ID yang diizinkan lewat trunkKenapa VLAN-aware, bukan bikin bridge per-VLAN (vmbr4, vmbr10, dst.)?
- Scalable — tambah VLAN baru cukup set
tagdi vNIC VM, tidak perlu edit config host + reload network. - Satu bridge, banyak segment — bridge bertindak seperti managed switch: VM diberi tag VLAN di level vNIC, bridge yang handle tagging/untagging.
bridge-vids 2-4094menentukan VLAN mana yang di-allow. Bisa dipersempit (misalbridge-vids 4saja) sebagai hardening — hanya izinkan VLAN yang memang dipakai.
Perhatikan vmbr0 sendiri tidak punya IP (inet manual). Ini best practice: bridge murni L2, IP host dipasang di sub-interface VLAN.
3. vmbr0.4 — Management Interface
address 192.168.4.1/24
gateway 192.168.4.254Notasi vmbr0.4 artinya sub-interface VLAN 4 di atas vmbr0. Traffic dari interface ini keluar lewat trunk enp2s0 dengan tag VLAN 4, lalu di-terminate di MikroTik yang punya 192.168.4.254 di interface VLAN 4-nya.
Kenapa management di VLAN sendiri (bukan untagged)?
- Web UI Proxmox (
https://192.168.4.1:8006) dan SSH host terisolasi dari network VM — VM tidak bisa langsung akses management plane kecuali di-allow di firewall MikroTik. - Default gateway host mengikuti management network (
192.168.4.254), jadi semua traffic host (update, backup, dst.) lewat jalur management.
4. wlp3s0 — WiFi
Di-set manual tanpa config — WiFi tidak dipakai untuk bridging (bridging over WiFi memang bermasalah karena 802.11 tidak mendukung multiple MAC di satu client secara native). Dibiarkan idle.
Konfigurasi Sisi VM#
Saat membuat VM, set network device seperti ini:
Bridge : vmbr0
VLAN Tag : 4Atau via CLI:
qm set <VMID> --net0 virtio,bridge=vmbr0,tag=4Di dalam guest OS, IP di-set static atau via DHCP (kalau MikroTik menjalankan DHCP server di 10.35.4.0/24):
# contoh static di guest (netplan / interfaces menyesuaikan distro)
IP : 10.35.4.10/24
Gateway : 10.35.4.254
DNS : sesuai environmentGuest tidak perlu config VLAN apapun di dalamnya — tagging sudah di-handle bridge berdasarkan tag=4 di vNIC. Frame masuk ke guest sudah untagged.
Konfigurasi Sisi MikroTik (Referensi)#
Port yang menuju Proxmox harus berupa trunk yang membawa VLAN 4. Contoh (RouterOS v7, bridge VLAN filtering):
/interface bridge
add name=bridge1 vlan-filtering=yes
/interface bridge port
add bridge=bridge1 interface=ether2 comment="uplink ke Proxmox (trunk)"
/interface bridge vlan
add bridge=bridge1 tagged=bridge1,ether2 vlan-ids=4
/interface vlan
add name=vlan4 interface=bridge1 vlan-id=4
/ip address
add address=192.168.4.254/24 interface=vlan4 comment="gw management"
add address=10.35.4.254/24 interface=vlan4 comment="gw VM network"Karena kedua subnet ada di satu interface VLAN yang sama, MikroTik otomatis bisa routing antar-subnet (connected routes). Kalau mau isolasi management dari VM, tambahkan firewall filter:
/ip firewall filter
add chain=forward src-address=10.35.4.0/24 dst-address=192.168.4.0/24 \
action=drop comment="blok VM ke management" place-before=0Alternatif desain (opsional): kalau ingin isolasi L2 yang benar-benar bersih, pisahkan management dan VM ke VLAN ID berbeda (misal management tetap VLAN 4, VM pindah VLAN 35). Dua subnet dalam satu broadcast domain (seperti sekarang) tetap jalan, tapi isolasinya hanya di L3/firewall — broadcast dan ARP masih saling terlihat.
Apply & Verifikasi#
Apply config#
# reload tanpa reboot (ifupdown2, default Proxmox 7+)
ifreload -a
# atau kalau mau safe saat remote (rollback otomatis kalau putus):
# apply lewat GUI: Node → System → Network → Apply Configuration⚠️ Kalau apply remote via SSH dan config salah, host bisa unreachable. Pastikan ada akses console/IPMI sebagai fallback.
Verifikasi#
# 1. Cek bridge VLAN filtering aktif
cat /sys/class/net/vmbr0/bridge/vlan_filtering
# expected: 1
# 2. Cek VLAN table di bridge
bridge vlan show
# enp2s0 dan vmbr0 harus muncul dengan VID 2-4094 / VID 4
# 3. Cek IP management
ip addr show vmbr0.4
# expected: 192.168.4.1/24
# 4. Cek default route
ip route show default
# expected: default via 192.168.4.254 dev vmbr0.4
# 5. Test konektivitas
ping -c 3 192.168.4.254 # gw management
ping -c 3 10.35.4.254 # gw VM (dari dalam VM)Troubleshooting Cepat#
| Gejala | Kemungkinan Penyebab | Cek |
|---|---|---|
| Management tidak bisa diakses | bridge-vlan-aware typo/missing, VLAN 4 tidak di-tag di port MikroTik | bridge vlan show, config trunk MikroTik |
| VM tidak dapat network | vNIC belum di-set tag=4, DHCP tidak jalan di 10.35.4.0/24 | qm config <VMID>, tcpdump di vmbr0 |
| Host up tapi VM tidak bisa keluar | VLAN filtering aktif tapi VID tidak masuk bridge-vids | bridge vlan show |
| Intermittent / MAC flapping | STP conflict dengan MikroTik | bridge-stp off di host, cek STP di MikroTik |
# capture traffic VLAN 4 di trunk untuk debug
tcpdump -i enp2s0 -e vlan 4 -nnRingkasan#
- Satu NIC fisik (
enp2s0) → trunk ke MikroTik, semua VLAN lewat sini. vmbr0VLAN-aware = bertindak seperti managed switch untuk VM.- Management host di
vmbr0.4(192.168.4.1/24, gw192.168.4.254). - VM di VLAN 4 dengan segment
10.35.4.0/24, gw10.35.4.254, tag di-set per-vNIC. - Semua routing dan inter-subnet policy terpusat di MikroTik.