← Network Makalelerine Dön
CCNPSwitching802.1QL2 Segmentation

VLAN & Trunking

VLAN & Trunking
Bu makale VLAN'ı yalnızca "segmentasyon" olarak değil, 802.1Q encapsulation detayları, trunk port davranışı, native VLAN güvenlik riski ve VLAN hopping saldırısı perspektifinden inceler.

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.

Önemli: VLAN = L2 segmentasyon. VLAN'lar arası haberleşme için mutlaka L3 gerekir (Router veya L3 switch).

02 / VLAN Türleri

Güvenlik Notu: VLAN 1 asla Management VLAN olarak kullanılmamalıdır. VLAN 1 switch'in control plane trafiğini taşır.
Why trunks
Şekil 1 — Her VLAN için ayrı kablo gerekmesi problemi ve 802.1Q trunk çözümü
Trunk link
Şekil 2 — Tek bir trunk link üzerinden birden fazla VLAN

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)
Kapasite: 12 bit VID = maksimum 4094 benzersiz VLAN (0 ve 4095 rezerve).
802.1Q header
Şekil 3 — 802.1Q Tag yapısı: TPID, PCP, DEI, VID alanları
VLAN tagging
Şekil 4 — VLAN tagging süreci: tag ekleme ve soyma animasyonu

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 port
interface 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 port
interface 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
DTP Riski: Cisco switch'ler varsayılan olarak DTP (Dynamic Trunking Protocol) çalıştırır. Saldırgan DTP negotiate ederek trunk açabilir. Her zaman 'switchport nonegotiate' kullan.
DTP
Şekil 5 — DTP (Dynamic Trunking Protocol) negotiation süreci

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)
VLAN Hopping Hazırlığı: Varsayılan native VLAN 1'dir. Saldırgan double-tagging ile native VLAN üzerinden başka VLAN'lara sıçrayabilir. Native VLAN'ı kullanılmayan bir VLAN'a (ör: 999) taşı.

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 svi
ip 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
📌
Performans: L3 switch SVI, ROAS'tan çok daha performanslıdır. Production ortamda tercih edilmeli.

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.

Gerçek Olay: Ağa eklenen eski bir switch, daha yüksek revision number ile VTP güncelleme gönderir. Tüm network'teki VLAN'lar silinir. Tüm portlar VLAN 1'e düşer. Tam outage.
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