VLAN & Trunking
01 / VLAN Neden Var?
Fiziksel bir switch, varsayılan olarak tek bir broadcast domain'dir. Bir cihaz ARP broadcast gönderdiğinde, aynı switch'e bağlı tüm cihazlar bu paketi alır. VLAN, bu problemi yazılım tabanlı olarak çözer.
- Broadcast domain'i böler → network trafiğini azaltır
- Departmanları logiksel olarak izole eder (HR, IT, Guest)
- Güvenlik katmanı ekler — VLAN'lar arası trafik router/L3 switch geçmeden akmaz
- Aynı fiziksel altyapıda birden fazla logik ağ yaratır
02 / VLAN Türleri
- Data VLAN: Kullanıcı trafiği için (VLAN 10, 20, 30...)
- Voice VLAN: VoIP trafiği için, QoS önceliği gerektirir
- Management VLAN: Switch yönetimi (SSH, SNMP) — VLAN 1'den taşınmalı
- Native VLAN: Trunk port üzerinde tag'lenmeden geçen VLAN
- Default VLAN: Factory default = VLAN 1 (güvenlik riski)
03 / 802.1Q Encapsulation
IEEE 802.1Q, trunk port üzerinden geçen Ethernet frame'lerine 4 byte'lık bir tag ekler. Bu tag hangi VLAN'a ait olduğunu söyler.
802.1Q frame structure[Dest MAC 6B][Src MAC 6B][802.1Q TAG 4B][EtherType 2B][Payload][FCS] 802.1Q Tag yapısı: TPID : 0x8100 (Tag Protocol ID) PCP : 3 bit (Priority Code Point - QoS) DEI : 1 bit (Drop Eligible Indicator) VID : 12 bit (VLAN ID → 0-4095, kullanılabilir: 1-4094)
04 / Access Port
Access port, tek bir VLAN'a aittir. Son kullanıcı cihazları (PC, IP telefon, yazıcı) burada bağlıdır. Access porttan çıkan frame'ler tag'sizdir — cihaz VLAN'dan habersizdir.
cisco ios — access portinterface GigabitEthernet0/1 switchport mode access switchport access vlan 10 switchport nonegotiate ! DTP'yi kapat spanning-tree portfast ! son kullanıcı portu spanning-tree bpduguard enable ! güvenlik
05 / Trunk Port
Trunk port, birden fazla VLAN'ın trafiğini taşır. Switch-switch ve switch-router bağlantılarında kullanılır. Frame'ler 802.1Q tag ile geçer.
cisco ios — trunk portinterface GigabitEthernet0/24 switchport trunk encapsulation dot1q switchport mode trunk switchport nonegotiate switchport trunk native vlan 999 ! native VLAN'ı değiştir switchport trunk allowed vlan 10,20,30,40
06 / Native VLAN
Native VLAN, trunk port üzerinde 802.1Q tag olmadan geçen VLAN'dır. Her iki taraftaki switch'te native VLAN eşleşmelidir, aksi hâlde:
syslog — native vlan mismatch%CDP-4-NATIVE_VLAN_MISMATCH: Native VLAN mismatch Gi0/24 (VLAN 1) != Gi0/1 (VLAN 10)
07 / Allowed VLANs
Trunk port varsayılan olarak tüm VLAN'ları (1-4094) taşır. Bu güvenlik açığıdır — her trunk portunda sadece gerekli VLAN'lara izin ver.
cisco ios — allowed vlan kontrolü! Mevcut durumu gör: show interfaces trunk show interfaces GigabitEthernet0/24 trunk ! Sadece belirli VLAN'lara izin ver: switchport trunk allowed vlan 10,20,30 ! VLAN ekle/çıkar: switchport trunk allowed vlan add 40 switchport trunk allowed vlan remove 1
08 / Inter-VLAN Routing
VLAN'lar arası trafik için iki yöntem vardır:
Router on a Stick (ROAS)
cisco ios — router on a stick! Router tarafı: interface GigabitEthernet0/0.10 encapsulation dot1Q 10 ip address 192.168.10.1 255.255.255.0 ! interface GigabitEthernet0/0.20 encapsulation dot1Q 20 ip address 192.168.20.1 255.255.255.0
L3 Switch (SVI — Switched Virtual Interface)
cisco ios — l3 switch sviip routing ! interface Vlan10 ip address 192.168.10.1 255.255.255.0 no shutdown ! interface Vlan20 ip address 192.168.20.1 255.255.255.0 no shutdown
09 / VLAN Hopping Saldırısı
VLAN Hopping, saldırganın bulunduğu VLAN dışındaki VLAN'lara erişmesidir. İki yöntemi vardır:
Switch Spoofing
Saldırgan DTP negotiate ederek access portunu trunk'a dönüştürür. Tüm VLAN trafiğine erişim sağlar.
Double Tagging
Native VLAN = 1 olduğunda çalışır. Saldırgan frame'e iki 802.1Q header ekler. İlk switch native VLAN tag'ini soyar, ikinci switch iç tag'i okuyarak hedef VLAN'a teslim eder.
savunma! 1. DTP'yi kapat (her portda): switchport nonegotiate ! 2. Access portları açıkça access yap: switchport mode access ! 3. Native VLAN'ı değiştir: switchport trunk native vlan 999 ! 4. VLAN 1'i trunk'tan çıkar: switchport trunk allowed vlan remove 1
10 / VTP Tehlikesi
VTP (VLAN Trunking Protocol), VLAN veritabanını switch'ler arasında senkronize eder. Yanlış kullanımda felaket olabilir.
cisco ios — vtp güvenli kullan! VTP'yi kapat (önerilen): vtp mode transparent ! veya: vtp mode off ! VTP kullanılacaksa şifre ekle: vtp password G3rCekl1S1f3!
11 / Enterprise Konfigürasyon
cisco ios — tam enterprise vlan konfig! 1. VLAN'ları oluştur: vlan 10 name USERS vlan 20 name SERVERS vlan 30 name VOIP vlan 999 name NATIVE_UNUSED vlan 1000 name BLACKHOLE ! ! 2. Access portlar: interface range GigabitEthernet0/1-20 switchport mode access switchport access vlan 10 switchport nonegotiate spanning-tree portfast spanning-tree bpduguard enable ! ! 3. Trunk port (uplink): interface GigabitEthernet0/24 switchport trunk encapsulation dot1q switchport mode trunk switchport nonegotiate switchport trunk native vlan 999 switchport trunk allowed vlan 10,20,30 ! ! 4. Kullanılmayan portlar: interface range GigabitEthernet0/21-23 switchport mode access switchport access vlan 1000 shutdown
12 / Checklist
- VLAN 1 management VLAN olarak kullanılmıyor mu?
- Native VLAN kullanılmayan bir VLAN'a taşındı mı?
- Tüm portlarda DTP (nonegotiate) kapalı mı?
- Trunk portlarında allowed VLAN listesi kısıtlandı mı?
- Kullanılmayan portlar shutdown + blackhole VLAN'a atandı mı?
- VTP mode transparent veya off mu?