Mikrotik 4: VLAN
Tujuan
- Paham VLAN, tag 802.1Q, access port, dan trunk port.
- Bisa membuat VLAN interface dan gateway per VLAN di RouterOS.
- Bisa melihat tag VLAN di Wireshark.
- Paham dua kesalahan klasik: VLAN ditentukan port switch, dan trunk yang tidak sepakat di kedua ujung.
Konsep
Masalah yang diselesaikan VLAN
Tanpa VLAN, setiap segmen butuh port router, switch, dan jalur kabel sendiri. Lima segmen (staff, tamu, CCTV, server, manajemen) berarti lima port router, lima switch, lima kabel.
VLAN (Virtual LAN) memecah satu switch fisik menjadi beberapa switch virtual yang terisolasi di Layer 2. Setiap VLAN punya nomor (VLAN ID, 1–4094). Perangkat di VLAN berbeda tidak bisa saling meng-ARP, persis seperti berada di switch berbeda.
Tag 802.1Q
Satu kabel bisa membawa banyak VLAN karena setiap frame diberi tag (label) berisi VLAN ID. Standarnya IEEE 802.1Q.
Frame biasa: [Dst MAC][Src MAC][Type][ Data ][FCS]
Frame 802.1Q: [Dst MAC][Src MAC][TAG][Type][ Data ][FCS]
└ 4 byte tambahan
Isi tag (4 byte):
| Bagian | Ukuran | Fungsi |
|---|---|---|
| TPID | 16 bit | Penanda 0x8100: "frame ini bertag 802.1Q"
|
| PRI (PCP) | 3 bit | Prioritas untuk QoS (misalnya VoIP didahulukan) |
| DEI | 1 bit | Tanda boleh dibuang lebih dulu saat padat |
| VLAN ID | 12 bit | Nomor VLAN (212 = 4096, dipakai 1–4094) |
Contoh di Wireshark:
Ethernet II, Src: 00:50:79:66:68:00, Dst: ... 802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 10 ← tag Internet Protocol Version 4, Src: 172.16.10.x, Dst: 8.8.8.8
Access port vs trunk port
| Access port | Trunk port | |
|---|---|---|
| Membawa | Satu VLAN | Banyak VLAN |
| Frame | Untagged | Tagged |
| Tersambung ke | PC, printer, CCTV | Switch lain, router, server Proxmox |
PC tidak tahu apa-apa soal VLAN. PC mengirim frame polos. Switch menempelkan tag saat frame masuk dari access port, dan melepas tag saat frame keluar ke access port. Tag hanya hidup di jalur trunk.
Native VLAN: VLAN yang lewat trunk tanpa tag. Di switch GNS3, kolom VLAN pada port dot1q adalah native VLAN (default 1).
Router-on-a-stick
Setiap VLAN adalah segmen terpisah, sehingga butuh subnet dan gateway sendiri. Router cukup tersambung ke switch dengan satu kabel trunk, lalu membuat satu VLAN interface per VLAN (misalnya vlan10, vlan20). Setiap VLAN interface diberi IP gateway. Satu kabel, banyak gateway.
Keuntungan dan harga yang dibayar
Keuntungan
- Hemat port router: satu port trunk bisa membawa banyak segmen.
- Hemat switch: satu switch fisik dipakai bersama semua segmen.
- Hemat kabel antar lantai/ruangan: cukup satu trunk per switch.
- Fleksibel: memindahkan PC ke segmen lain cukup mengubah setting port switch.
Harga yang dibayar
- Bandwidth trunk dibagi semua VLAN. Traffic antar VLAN naik ke router lewat trunk lalu turun lagi lewat trunk yang sama.
- Single point of failure: trunk putus = semua VLAN di switch itu putus.
- Butuh managed switch. Switch unmanaged tidak mengerti tag.
- CPU router mengerjakan semua routing antar VLAN.
Solusi umum: trunk di port cepat (SFP+ 10 Gbps), bonding/LACP (beberapa kabel menjadi satu trunk dengan cadangan), atau switch Layer 3 untuk routing antar VLAN di kantor besar.
Managed vs unmanaged switch
| Unmanaged | Managed (termasuk "smart/easy smart") | |
|---|---|---|
| Setup | Colok langsung jalan | Colok langsung jalan, tapi bisa dikonfigurasi |
| IP / web UI | Tidak ada | Ada (web UI, SSH/CLI, port console) |
| VLAN | Tidak | Ya |
| Fitur lain | – | Monitoring per port, port mirroring, LACP, STP, limit bandwidth |
| Contoh | Switch 5–8 port murah | MikroTik CRS/CSS, Cisco Catalyst, TP-Link Easy Smart/JetStream, UniFi |
Managed switch baru berperilaku seperti unmanaged: semua port default access VLAN 1.
Jebakan di kantor
- Unmanaged switch di access port VLAN 10 → semua perangkat di switch kecil itu masuk VLAN 10. Normal dan sering disengaja.
- Unmanaged switch di trunk port → perangkat hanya mendapat native VLAN, sementara frame bertag VLAN lain ikut diteruskan. Gejalanya: "PC di ruangan ini dapat IP dari segmen yang salah."
Lab
Topologi
[NAT]
│
ether1 (WAN, DHCP client)
│
[CHR]
ether2
║ trunk (VLAN 10 + 20)
║
[Switch1]
port1 port2 port3
VLAN10 VLAN10 VLAN20
│ │ │
Staff1 Staff2 Tamu
vlan10 → 172.16.10.1/24 (staff)
vlan20 → 172.16.20.1/24 (tamu)
Konvensi alamat: range privat 172.16.0.0/12, dengan oktet ketiga = VLAN ID (VLAN 10 → 172.16.10.0/24). Memudahkan saat VLAN sudah puluhan.
1. Persiapan host dan project
sudo virsh net-start default 2>/dev/null
sudo iptables -I DOCKER-USER -i virbr0 -j ACCEPT
sudo iptables -I DOCKER-USER -o virbr0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
- GNS3: File → New blank project (contoh nama:
fase2-vlan). - Perangkat: NAT, MikroTik CHR, Ethernet switch, 3 VPCS (beri nama Staff1, Staff2, Tamu).
2. Konfigurasi switch GNS3
Nyalakan View → Show interface labels untuk melihat nomor port tiap kabel, lalu klik kanan switch → Configure.
Untuk setiap port: klik barisnya di daftar Ports, isi VLAN dan Type, lalu klik Add (menimpa setting port dengan nomor yang sama). Akhiri dengan Apply → OK. Kalau perubahan tidak tersimpan, stop switch dulu.
| Port | Ke | VLAN | Type |
|---|---|---|---|
| 0 | CHR ether2 |
1 | dot1q
|
| 1 | Staff1 | 10 | access
|
| 2 | Staff2 | 10 | access
|
| 3 | Tamu | 20 | access
|
dot1q = trunk 802.1Q. QinQ EtherType dibiarkan 0x8100 (hanya dipakai pada type qinq). Sesuaikan nomor port dengan label kabel.
3. Setup dasar CHR
Di console:
/system identity set name=router-vlan
/ip address print
Catat IP WAN di ether1, connect Winbox, lalu:
- IP → Firewall → NAT:
srcnat, Out. Interfaceether1,masquerade - IP → DNS: centang Allow Remote Requests
- Tes:
/ping 8.8.8.8 count=3
4. VLAN interface dan gateway
| Winbox | Isian | CLI |
|---|---|---|
| Interfaces → VLAN → New | vlan10, VLAN ID 10, Interface ether2 |
/interface vlan add name=vlan10 vlan-id=10 interface=ether2
|
| Interfaces → VLAN → New | vlan20, VLAN ID 20, Interface ether2 |
/interface vlan add name=vlan20 vlan-id=20 interface=ether2
|
| IP → Addresses → New | 172.16.10.1/24 di vlan10, comment VLAN10-staff |
/ip address add address=172.16.10.1/24 interface=vlan10 comment=VLAN10-staff
|
| IP → Addresses → New | 172.16.20.1/24 di vlan20, comment VLAN20-tamu |
/ip address add address=172.16.20.1/24 interface=vlan20 comment=VLAN20-tamu
|
ether2 sendiri tidak diberi IP. Ia hanya kabel trunk, sedangkan kerja Layer 3 ada di vlan10 dan vlan20. Sama seperti aturan bridge: IP di interface logis, bukan di port fisik.
5. DHCP per VLAN
Setiap VLAN butuh pool, network, dan server sendiri karena subnetnya berbeda.
Lewat DHCP Setup (jalankan untuk vlan10, lalu vlan20): wizard membuat pool otomatis. Ubah Addresses to Give Out menjadi .100–.200 agar .2–.99 tetap kosong untuk perangkat statis.
Manual:
| Bagian | VLAN 10 | VLAN 20 |
|---|---|---|
| Pool | 172.16.10.100-172.16.10.200 |
172.16.20.100-172.16.20.200
|
| Network | 172.16.10.0/24, gateway & DNS 172.16.10.1 |
172.16.20.0/24, gateway & DNS 172.16.20.1
|
| Server | Interface vlan10 |
Interface vlan20
|
Periksa: pool di subnet yang benar, gateway/DNS = .1, server menempel di vlan10/vlan20 (bukan ether2). Rule NAT tidak perlu diubah.
Verifikasi
ip dhcp
show ip
ping 8.8.8.8
trace <IP PC lain>
- Staff1 dan Staff2 mendapat
172.16.10.x, Tamu mendapat172.16.20.x. traceStaff1 → Staff2: langsung sampai (satu VLAN, di-switch).traceStaff1 → Tamu: lewat172.16.10.1(beda VLAN, di-route).
Ketiganya tersambung ke switch fisik yang sama, tapi VLAN memisahkan mereka di Layer 2.
Kalau PC hanya menampilkan "DDD", periksa dulu kecocokan nomor port switch dengan label kabel.
Latihan dan pembahasan
Soal 1: melihat tag
Soal: capture Wireshark di kabel CHR ↔ Switch1 (trunk) dan Switch1 ↔ Staff1 (access), lalu ping dari Staff1. Di mana ada tag 802.1Q? VLAN ID-nya berapa?
Pembahasan
- Trunk: ada baris
802.1Q Virtual LANdengan ID 10 dan ID 20. Meskipun ping hanya dari Staff1 (VLAN 10), traffic Tamu (ARP, DHCP renew) juga lewat kabel yang sama. Bukti satu trunk membawa banyak VLAN. - Access: tidak ada tag, frame polos.
- Alur: Staff1 mengirim frame polos → Switch1 menempelkan tag
ID: 10→ CHR membaca tag dan menyerahkan frame kevlan10. Arah balik, switch melepas tag sebelum frame sampai ke Staff1.
Soal 2: menambah VLAN CCTV
Soal: buat VLAN 30 (172.16.30.0/24) dengan PC4 sampai bisa internetan.
Pembahasan
| Di mana | Perubahan |
|---|---|
| Router | Interfaces → VLAN: vlan30, ID 30, di ether2
|
| Router | IP → Addresses: 172.16.30.1/24 di vlan30
|
| Router | DHCP: pool, network (gateway/DNS 172.16.30.1), server di vlan30
|
| Router | NAT: tidak perlu diubah |
| Switch | Port PC4: access VLAN 30
|
| Switch | Port trunk: tidak diubah (di GNS3) |
- Jangan lupa IP gateway di
vlan30. DHCP Setup bisa berjalan tanpanya, tapi PC akan mendapat gateway yang tidak ada di router. - Trunk di GNS3 otomatis membawa semua VLAN. Di banyak switch sungguhan (termasuk MikroTik), trunk harus didaftarkan VLAN mana saja yang boleh lewat. Lupa menambahkan VLAN baru ke trunk = PC di VLAN itu "DDD" terus, padahal konfigurasi lain sudah benar.
- Beri comment
VLAN30-cctvdi semua objek terkait.
Soal 3: memindahkan VLAN tanpa menyentuh PC
Soal: ubah port Tamu dari access VLAN 20 menjadi access VLAN 10, tanpa mengubah PC. Lalu ip dhcp -x dan ip dhcp.
Hasil: Tamu mendapat 172.16.10.x.
Pembahasan: VLAN sebuah PC ditentukan oleh port switch tempat ia tersambung. PC tidak tahu dan tidak bisa memilih.
- Enak: memindahkan karyawan ke segmen lain cukup mengubah port switch.
- Bahaya: siapa pun yang mencolok laptop ke port staff langsung masuk jaringan staff. Keamanan port fisik penting. Solusi lanjutannya 802.1X (perangkat harus login sebelum port dibuka), yaitu fitur di menu Dot1X RouterOS.
Soal 4: trunk yang salah
Soal: ubah port trunk (port 0) dari dot1q menjadi access VLAN 10.
Hasil: Staff1 dan Tamu sama-sama tidak bisa internetan, tapi dengan alasan berbeda.
Normal (dot1q): switch ══[tag 10][tag 20]══► CHR → vlan10 / vlan20 ✅
Salah (access 10): switch ───[polos, VLAN 10 saja]──► CHR → ether2 (tanpa IP) ❌
VLAN 20 → tidak dikirim sama sekali ❌
- Staff1: switch mengirim traffic VLAN 10 ke CHR tanpa tag.
vlan10hanya menerima frame bertag 10, sehingga frame polos jatuh keether2yang tidak punya IP. ARP ke gateway tidak pernah terjawab. - Tamu: port 0 sekarang hanya anggota VLAN 10, sehingga frame VLAN 20 tidak pernah dikirim keluar. Tamu terkurung di dalam switch.
Pelajaran: kedua ujung trunk harus sepakat. Kalau satu sisi mengirim bertag dan sisi lain menunggu polos (atau sebaliknya), link terlihat menyala (lampu hijau, interface Running), tapi traffic tidak tersambung. Sering terjadi saat mengganti switch atau saat ada yang "merapikan" konfigurasi.
Kesalahan umum
| Gejala | Penyebab | Solusi |
|---|---|---|
| PC "DDD" setelah setting VLAN | Nomor port switch tidak cocok dengan kabel | Cek Show interface labels |
| PC dapat IP tapi tidak bisa internetan | IP gateway belum dipasang di VLAN interface | IP → Addresses di vlanXX
|
| PC di VLAN baru "DDD" padahal router benar | VLAN belum didaftarkan di trunk switch | Tambahkan VLAN ke daftar trunk |
| Link menyala tapi semua VLAN putus | Trunk tidak sepakat (tagged vs untagged) | Samakan konfigurasi kedua ujung |
| PC dapat IP dari segmen yang salah | Port switch salah VLAN, atau unmanaged switch di trunk port | Periksa port dan perangkat yang tersambung |
| Comment tidak sesuai isi | Typo saat membuat objek | Perbaiki, karena comment adalah dokumentasi |
Ringkasan
- VLAN memecah satu switch menjadi beberapa segmen Layer 2 terpisah.
- Tag 802.1Q (4 byte, berisi VLAN ID) hanya ada di trunk. PC selalu mengirim frame polos.
- Access = satu VLAN untagged. Trunk = banyak VLAN tagged.
- Router-on-a-stick: satu trunk, satu VLAN interface + gateway per VLAN.
- VLAN ditentukan port switch, bukan PC.
- Kedua ujung trunk harus sepakat.