VLAN Access ve Trunk Portlar

VLAN networkünüzü istediğiniz gibi segmentlere ayırmanıza olanak sağlayan bir yapıdır. Bu sayede güvenlik sınırlandırmalarına, QoS ve network bölümlendirmesine olanak sağlar.

Trunk interface’ler VLAN’lere switchleri aşarak ilerleme imkanı tanır. 4094 tane VLAN numarası kullanılabilir. Bir kısmı reserved’dir. (Bu nedenle rakam değişebilir.) VLAN’ler farklı switchler arasında gidebilir.

Trunking switchler arası kullanılmakla kalmaz. ROAS örneğinde olduğu gibi router-switch arasındaki , VLAN’ler arası veri geçişini sağlayan router’a bağlı interface de trunk tipinde bir interface’dir. Benzer şekilde IP telefonlar kendilerine bağlı cihazlar bulundurabilir ve aralarında VLAN aksiyonu gerçekleşir. Serverlar yine trunk interface’lere bağlı bulunabilir.

Özellikle VMware gibi sanal server üzerinde barınan,

  • Remote Desktop Terminal Server
  • Domain Controller
  • File Server
  • Print Server

farklı serverlar farklı VLAN’lere dahil edilir. Trunk port ile VMware server’a tagged trafik yollanarak her birini ayrı bir VLAN’e koyma imkanımız olur.

Switchler arası tagleme işlemi 802.1Q protokolü ile yapılır. Bu protokolün en önemli güzelliği endüstri standardı olmasıdır. Farklı cihazların  (VMware Server, Cisco Switch, Grandstream Cisco -olmayan bir IP telefon, HP Switch) hepsi bu standart protokolü kullandığından bütün bu farklı cihazlara taglanan trafiği yollayabiliriz.

Her zaman böyde değildi. Daha önce Cisco’nun kullandığı ISL protokolü vardı. Yalnız Cisco cihazlarda kullanılıyordu. Artık Cisco bile kullanılmasını önermiyor.

Tag her bir trunk interface’ine eklenir ve varolan her access porttan kaldırılır. Bu durumda trunk olmayan her interface access porttur.

Yukarıdaki görselde access olarak belirtilmiştir.

Default olarak her port dynamic-desirable’dır. Trunk olmak ister. Durumu DTP protokolü ile karşı tarala beraber kararlaştırılır.

enable mode’a, configuration mode’a ve ardından interface interface-adi ile ilgili port’un interface’ine gidildikten sonra;

  • switchport mode access ile port access moduna geçirilirse access olur.
  • switchport mode trunk ile trunk moduna geçirilirse trunk olur.
  • switchport mode dynamic auto ile DTP ile kararlaştırılır. Karşı tarafın isteğine göre belirlenir.
  • switchport mode dynamic desirable ile DTP ile kararlaştırılır. Trunk olmak ister.
  • switcport nonegotiate ile DTP kapatılır.

Access portlar üzerindeki cihazlar yalnızca bir VLAN’a erişebilir. Her zaman yalnızca bir VLAN’a erişebilecektir. Bazı cihazlar access portları untagged port olarak isimlendirirler. Çünkü burası tag’in kaldırıldığı yerdir.

Dinamik Portların Riski

Trunk portların nerelerde konfigüre edileceği konusunda seçici olmalıyız. Trunk portları teker teker elle konfigüre ederiz. Eğer dikkat etmezsek örneğin access olması gereken bir portu trunk port olarak tanımlarsak zararlı kullanıcıya “VLAN Hopping Atack” (VLAN sıçrama atağı ) yapma fırsatı tanımış oluruz.  Kullanıcı VLAN’ler arası sıçrayabilir. Kullanıcı örneğin kendi VLAN’inde kısıtlamaları ( bandwidth kısıtlaması, içerik filtreleme) ile otururken trunk port ile negotiate edebildiğini fark ederek kendini daha yetkili bir VLAN’e kaydırır. Bu da bütün network’ün belada olduğunu gösterir.

Böyle bir durumu engellemek istiyoru. Bunun için DTP’yi ve trunk portları daha yakından inceleyelim.

  • Trunk portları aktifleştirmek:
    • Manual Configuration (trunk/nonegotiate)
    • Dynamic Configuration (dynamic auto/dynamic desirable) (X KÖTÜ X)
  • Dinamik konfigürasyon problemli olabilir, nonegotiate kullanın.

DTP – Dynamic Trunking Protocol

Cisco switchlerin çoğunda DTP default olarak aktif bulunmaktadır. Başka bir switch takıldığında bunu farkederek trunk porta geçişi beraber kararlaştırırlar. Bilgisayar takıldığında bu sefer yine access port olarak kararlaştırılır.

Peki biri internetten aldığı managed switch’i takarse ne olur? Cihazlar trunk porta geçer. Kötü niyetli kullanıcı internetten aldığı switch’in portlarını istediği VLAN’e atayabilir. Aslında internetten switch almasına gerek de yok. Bilgisayarın kendini de switch gibi gösterebilir. Yani DTP çok güzel niyetleri olsa da konu implementasyona gelince kötüdür.

switchport mode ? dediğimizde dört mode görüyoruz. Öncelikli olan access, trunk ve dynamic’tir. Dynamic bir çok cisco switch’de defaulttur.

switchport mode dynamic ? dediğimizde ise auto ve desirable modlarını görüyoruz. Bunları pasif ve aktif olarak düşünebiliriz. Fesirable aktiftir. Port trunk olmak ister. Eğer her iki taraf da istekliyse zaten anında trunk olurlar. (Karşılıklı DTP mesajı göndererek.) Biri desirable diğeri auto ise yine trunk olurlar. Auto pasif taraftır. Karşı taraf desirable ise trunk olur. Auto ise trunk olmadan access port olarak kalırlar. Auto DTP mesajı göndermez. Kimse hamle yapmadığından access olarak kalırlar. Bu yaklaşım güvenliksiz olması sebebiyle hatalıdır. Bu nedenle hardcoded olarak trunk portları ayarlamak daha iyidir.

switchport mode trunk’u iki tarafta da yazacağız bu durumda. Bu komutu kullandığınızda DTP kullanmıyorum diye düşünseniz de yine de ben trunk’um mesajı yollayacaktır. Böylece karşı taraf auto olsa bile trunk’a döner.  Genelde yalnızca bir tarafı hardcoded olarak yapsanız bile bu güvenlik açısından kötü (safe-bad) bir tercih olacaktır. Ama burada dinamik konfigürasyon portların aktif hale gelme süresi aççısından da hatalıdır. Bu nedenle ikinci bir komutu (switchport nonegotiate) kullanırız. Bu komut DTP’yi kapatır. Bu sayede poertlar daha hızlı up olur. Eğer network çalışanı iseniz downtimeların her saniyesi sizin için önemlidir. Önrneğin yedektedki bir hattınız var. Bakcup link’in derhal aktif olmasını istersiniz.

Native VLAN

Trunk portlar etiketli (tagged) trafiği gönderip alırlar. Peki trafik tagsiz olursa ne olur? Native VLAN trunk portlara gönderilen etiketsiz trafiği göndermek için kullanılır. Örneğin switchport trunk native vlan 6 dersek vlan tag’i olmadan gönderilen trafik vlan 5’de yer alacaktır.

Peki nasıl oluyor da tagsiz trafik üretilebiliyor?

  • Switch Kaynaklı Trafik: Örneğin CDP default olarak 60 saniyede bir multicast mesaj göndererek “ben bir switch’im, hostname’im budur, IOS versiyonum budur, bu portlara sahibim” der. Bu gayet kullanışlıdır. Çünkü bu switchlerden birine gidip “sh cdp neighbours” komutunu girdiğinizde bütün bağlı bulunan Cisco cihazları görebilirsiniz. Bu sayede network diyagramı oluşturabilirsiniz. Bu trafik native VLAN’e gider. Örneğin telnet yapıtor olalım yine native vlan’e gider.
  • Geçiş Cihazları: Hub kullanılan eski bir topolohide aradaki cihazları n trafiğinative vlan’de bulunur.
  • Sanal Sunucular: Sanal serverların bulunduğu bir ortamda örn VMware Server’ın kendisinin ürettiği trafik native vlan’a gider.

Sonuç olarak native-vlan untagged trafik durumunda trunk portun hangi VLAN’da olacağıdır.

Her trunk bir native-vlan barındırır default olarak bu VLAN1’dir. Yanlış konfigüre ederseniz tehlikeli olabilir. (Az önce 5 vermemiz gibi) Diğer taraf 1 kaldı. Bu native-vlan uyuşmazlığı anlamına gelir. Switch konsol çıktıları vererek bizi uyarır.

VTP – VLAN Trunking Protocol

VLAN trunking protocol yanlış isimlendirilmiş bir protokoldür. İsmine rağmen trunking protocol değildir. Cisco tarafından Cisco cihazlarda kullanılmak için geliştirilmiştir. VLAN’lar arası replikasyonu gerçekleştirmek için kullanılır. VTP trunk linkler üzerinden çalışır. Fakat bir trunking protokol değildir.

Yalnızca iki trunking protokol vardır. ISL ve 802.1Q Kullanılan se yalnızca 802.1Q’dur.

Her switch 1 VLAN ile başlar. VLAN1 fakat VLAN sayısının 20’ye 30’a çıkması olağan bir durumdur. Siz bir VLAN2 eklediğinizde otomatik olarak diğe switchlere kopyalanır. Bu aşamadan sonra tek yapmanız gereken gidip portları VLAN’lere atamaktır. Bu noktaya kadar işler görünse de Cisco bile bu protokolün devamlı olarak kullanılmasını tavsiye etmez. Zararı faydasından daha ağır basmaktadır.

VTP çalışma mekanizması çok basittir. Bütün switchler başlangıçlarında açıldıklarında REV #0 ve VLAN1 ile başlar. Kimin vlan database’inin son versiyonunu barındırdığını bu şekilde tutar. Siz bir cihaza VLAN2’yi eklediğinizde revizyon numarası artar. VLAN’lar konfigürasyon silinse bile orada kalır. Çünkü VLAN flash bellekte VLAN.dat dosyası içerisinde tutulur. Running-conf içerisinde değildir.

Örn yanlışlıkla üzerinde çalışma yaptığınız eski bir switch taktığınızda. Bu eski VLAN database’ini siler. Yerine kendi VLAN.dat dosyasını kaydeder. Bu durumda bütün portların atandığı VLAN’leri sildiniz. Bütün switchlerin bütün portları turuncu yanacaktır. Yedekten döndürdüğünüzde bile üzerine yazar. Yeşil çakan led’ler göremezsiniz. Bütün portlara atanan VLAN’ler artık olmadığı bu durumda tüm network down olur. Yedekten döndürseniz bile REV numarası düşük olduğundan tekrar silecektir. Böyle bir durumda yapmanız gereken switchlerden birine girerek manual olarak VLAN’leri oluşturmanızdır. REV artacağından yeni VLAN’a kopyalanır.

Bu sebeple VTP’nin kullanılması tavsiye edilmez. Bazen kurulum aşamasında kullanılıp sonrasında kaldırılır.

Switch’i açtığımızda hangi VTP versiyonunun çalıştığını aşağıdaki komutla görebiliriz.

VTP eskidir. Hem versiyon 1 hem de 2 eskidir. Configuration revision bahsettiğimiz revision numarası. VTP operating mode’un server olduğunu görüyoruz. VTP maksimum 1005 tane cihazda çalışabilir.

VTP’nin kullanılabileceği 3 mod var:

  • Client
  • Server
  • Transparent

Transparent VTP’yi kapatmak anlamına geliyor. Kutudan çıktığında her cihaz serverdır. Bu hepsinde modifiye etme yetkisi olduğu anlamına gelir. Client’e geçirirseniz yalnızca serverlardan güncelleme alabilirler. Transparent da VTP advertisementını geçirir. Bir sonrakine geçecektir. Best-practice her birini el ile güncel tutmaktır.

Domain name başlangıçta boş. Bu da gelen ilk VTP advertisement’ını kabul edeceği anlamına gelir. Tamamen yeni switchleri kolayca başlamak için yapılmış bu özellik switch’i neredeyse plug and play durumuna getirse de (vlan databaseini direk kopyaladığı için tek yapılması gereken vlanleri portlara atamak) güvenlik perspektifinden pek uygun değil.

Etiketler:

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir