VLAN yapılandırması, tek bir fiziksel switch'i birden fazla mantıksal broadcast domainine bölerek ağ trafiğini izole ettiğim yöntemdir. Her departman veya sunucu grubu için ayrı switch almak yerine, portlara VLAN ID'ler atarım ve ayrımı switch'in donanımına bırakırım. Doğru yapıldığında VLAN segmentasyonu hem güvenliği hem de performansı artırır — misafirler production veritabanlarına ulaşamaz ve broadcast storm'lar kendi içinde kalır. Yanlış yapıldığında ise sessiz paket kayıpları, uyuşmayan native VLAN'lar ve gece 2'de gelen telefonlar seni bekler. İşte production'da VLAN'ları ve trunk portları nasıl yapılandırdığım ve en sık gördüğüm hatalar.
VLAN Segmentasyonunun Güvenlik ve Performans İçin Önemi
Benim ortamımda düz (flat) ağlar bir yükümlülüktür. Her cihaz aynı broadcast domaininde bulunduğunda, ele geçirilmiş tek bir cihaz tüm subnet'i ARP spoofing ile zehirleyebilir ve yanlış yapılandırılmış bir NIC'ten gelen bir broadcast storm her şeyi yıkar. VLAN segmentasyonu bunu, switch'in Layer 2'de zorladığı sınırlar oluşturarak çözer.
Güvenlik tarafı nettir: VLAN 10'daki bir web sunucusu, ben bir router veya firewall üzerinden açıkça izin vermedikçe VLAN 30'daki bir veritabanıyla konuşamaz. Inter-VLAN routing bir bağlantı yolu olmaktan çıkar, bir politika uygulama noktasına dönüşür.
Performans tarafı da aynı kadar gerçek. Broadcast trafiği — ARP, DHCP, mDNS, NetBIOS — kendi VLAN'ı içinde kalır. 200 cihazlı düz bir ağda bu gürültü birikir. Her biri 50 cihazdan oluşan dört VLAN'a bölersen, her segment daha sessiz ve daha öngörülebilir bir ağ elde eder.
Access Port vs Trunk Port: Temelleri Doğru Anlamak
İnsanların ilk VLAN dağıtımlarında çoğunlukla takıldığı yer burasıdır. Anlaman gereken iki port modu var:
- Access port — tam olarak tek bir VLAN'a aittir. Uç cihazlar buraya takılır. Switch, host'a doğru giden çıkışta VLAN etiketini soyar, böylece host 802.1Q etiketlerini hiç görmez.
- Trunk port — switch'ler arasında veya switch'ten router/firewall'a birden fazla VLAN taşır. Çerçeveler 802.1Q başlıklarıyla etiketlenir, böylece alan cihaz her çerçevenin hangi VLAN'a ait olduğunu bilir.
Klasik hata: Bir uç host'u trunk porta takıp neden yanlış VLAN'dan IP aldığını veya hiç IP alamadığını merak etmek. Ya da daha kötüsü — switch-to-switch bağlantısını access portlara takıp sadece tek bir VLAN'ın trafik geçtiğini izlemek.
Adım Adım: Cisco Switch Üzerinde VLAN Yapılandırması
Production'da dağıttığım pratik bir yapılandırma. Senaryo: üç VLAN — management (10), servers (20) ve guest (30) — inter-VLAN routing için firewall'a giden bir trunk bağlantısıyla.
Önce VLAN'ları oluştur ve isimlendir:
Switch# configure terminal
Switch(config)# vlan 10
Switch(config-vlan)# name MANAGEMENT
Switch(config-vlan)# vlan 20
Switch(config-vlan)# name SERVERS
Switch(config-vlan)# vlan 30
Switch(config-vlan)# name GUEST
Switch(config-vlan)# exit
Sonra access portları uç cihazlara ata. Gig1/0/1 portu bir management iş istasyonuna gidiyor:
Switch(config)# interface gigabitethernet 1/0/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10
Switch(config-if)# spanning-tree portfast
Switch(config-if)# exit
Son kullanıcı portlarında switchport mode access komutunu her zaman açıkça belirtirim. Dinamik müzakere modunda (dynamic desirable veya dynamic auto) bırakmak bir güvenlik riskidir — rogue bir cihaz trunk müzakere edip tüm VLAN trafiğini alabilir.
Switch-to-Switch Bağlantıları İçin Trunk Port Yapılandırması
Firewall veya core switch'e giden uplink'in üç VLAN'ı da taşıması gerekiyor. Trunk'ı şu şekilde yapılandırıyorum:
Switch(config)# interface gigabitethernet 1/0/24
Switch(config-if)# switchport trunk encapsulation dot1q
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan 10,20,30
Switch(config-if)# switchport trunk native vlan 999
Switch(config-if)# exit
Açıklamaya değer birkaç nokta:
switchport trunk allowed vlan 10,20,30— sadece bu bağlantıdan geçmesi gereken VLAN'lara izin ver. Production'da bir trunk'ın tüm VLAN'lara (1-4094) izin vermesini asla bırakmam. Birisi core switch'te yeni bir VLAN oluşturduğunda, bunun otomatik olarak her edge switch'te görünmemesi gerekir.switchport trunk native vlan 999— native VLAN, trunk üzerinde etiketsiz gönderilen VLAN'dır. Bunu varsayılan olarak kullanılmayan bir VLAN'a (999) ayarlarım. Bu, VLAN hopping adı verilen klasik bir saldırıyı engeller; saldırgan etiketsiz trafik gönderir ve bu trafik native VLAN'a düşer — varsayılan VLAN 1'de bırakılırsa genellikle geniş erişimi vardır.
Saha'da Gördüğüm Yaygın VLAN Yanlış Yapılandırmaları
Yıllar içinde çok sayıda bozuk VLAN kurulumunu düzelttim. Tekrar eden sorunlar şunlar:
- Native VLAN uyuşmazlığı — trunk'ın bir tarafında native VLAN 1, diğerinde 999. CDP/LLDP native VLAN mismatch uyarıları görürsün ve etiketsiz trafik düşer veya yanlış yere gider. İki tarafı da kontrol et.
- VLAN veritabanında VLAN oluşturmayı unutmak — bir porta
switchport access vlan 50atarsın ama VLAN 50 switch'te yok. Port suspended durumuna geçer. VLAN'ın var olduğunu doğrulamak içinshow vlan briefçalıştır. - Trunk'ın tüm VLAN'lara izin vermesi — laboratuvarda pratik, production'da tehlikeli. Trunk tamamen açık olduğundan yanlış yapılandırılmış bir sunucu NIC'inin her VLAN'ı multicast trafiğiyle boğduğunu gördüm.
- Inter-VLAN routing kontrolünün olmaması — switch'te ACL olmadan routing'i (
ip routing) açarsan, her VLAN diğer her VLAN'la konuşabilir. Bu, segmentasyonun amacını ortadan kaldırır. Bir firewall üzerinden route et ve gerçek politikalar yaz. - VLAN 1'in kullanımda olması — VLAN 1 varsayılandır ve her yönetim protokolü (CDP, VTP, STP) üzerinde çalışır. Ben yönetimi özel bir VLAN'a taşırım ve VLAN 1'i hiçbir şey için kullanmaktan kaçınırım.
VLAN Yapılandırmanı Doğrulama
Dağıtımdan sonra, uzaklaşmadan önce her zaman şu komutlarla doğrularım:
Switch# show vlan brief
Switch# show interfaces trunk
Switch# show interfaces gigabitethernet 1/0/24 switchport
show vlan brief, VLAN'ların var olduğunu ve hangi portların atandığını doğrular. show interfaces trunk, aktif trunk'ları, izin verilen VLAN'ları ve native VLAN'ı gösterir — uyuşmazlıkları en çok burada yakalarım. show interfaces <port> switchport, tek bir portun yapılandırmasının tam resmini verir: mod, access VLAN, trunk native VLAN ve etiketleme durumu.
VLAN'lar arasında trafik akmıyorsa, sırayla üç şeyi kontrol et:
- VLAN her iki switch'te de var (
show vlan brief) - Trunk o VLAN'a izin veriyor (
show interfaces trunk) - Router veya firewall'un o VLAN'da bir interface'i ve doğru gateway IP'si var
Son Düşünceler
VLAN segmentasyonu, her gün karşılığını veren temel konulardan biridir — daha az broadcast storm, daha net güvenlik sınırları ve bir şey bozulduğunda daha kolay sorun giderme. Access ve trunk portlarını ve native VLAN tuzağını anladığında yapılandırmanın kendisi basittir. Disiplin detaylarda gizlidir: izin verilen VLAN'ları kısıtla, VLAN 1'den kaçın, bir firewall üzerinden route et ve ayrılmadan önce doğrula.
Segmentasyonun ötesinde daha geniş ağ performans sorunlarıyla ilgileniyorsan, daha önceki bir yazıda ağ yavaşlığının gerçek nedenini bulmanın yollarından bahsettiğim gibi (https://furkanikkan.com/urun/ag-yavasliginin-gercek-nedenini-bulmanin-7-yolu-50), VLAN yapılandırması genellikle ilk adımdır — önce trafiği izole et, sonra ölç. Segmentleyemediğin bir şeyi düzeltmek zordur.
Kapak görseli: Unknown · CC0 (Openverse / kamu malı) · https://www.rawpixel.com/image/6038427/photo-image-public-domain-technology-line
