Jump to content

Mikrotik 4: VLAN

From Haidhi Wiki

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. Interface ether1, 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 mendapat 172.16.20.x.
  • trace Staff1 → Staff2: langsung sampai (satu VLAN, di-switch).
  • trace Staff1 → Tamu: lewat 172.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 LAN dengan 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 ke vlan10. 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-cctv di 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. vlan10 hanya menerima frame bertag 10, sehingga frame polos jatuh ke ether2 yang 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.