Kurumsal Network Kurulumu

Switch DHCP Snooping Yapılandırması: Trust ve Hız Sınırı

Switch'te DHCP snooping nasıl yapılandırılır? Özelliği açmak, uplink'i güvenilen yapmak, hız sınırını koymak ve doğrulamak; hepsini lab switch'inde ölçtüm.

İlker Pehlivan

Switch’te DHCP snooping’i açmak üç satırdır: özelliği açarsınız, çalışacağı VLAN’ı yazarsınız ve gerçek DHCP sunucusuna giden portu güvenilen yaparsınız. Zor olan satırlar değil, sıradır. Snooping açıldığı an VLAN’daki bütün portlar güvenilmeyen olur; uplink henüz işaretlenmemişse kendi sunucunuzun cevapları da düşer.

Bu yazıda snooping’i lab switch’imde açtım, güvenilen portu bilerek yanlış yere yazdım ve bir kullanıcı portunu sahte adres istekleriyle doldurup hız sınırının ne yaptığını ölçtüm. Snooping’in neden cevabı süzdüğünü ve sahte sunucunun logda nasıl göründüğünü DHCP snooping nedir yazımızda anlattık.

Kümenin benzetmesiyle switch bir süpermarket şubesidir ve DHCP sunucusu şubenin danışma masasıdır. Snooping’i yapılandırmak, danışma masasının kartının hangi kapıdan çıkınca geçerli olacağını yazmaktır. Eşleme şöyle:

  • Danışma masası gerçek DHCP sunucusudur.
  • Masanın kapısı güvenilen porttur: uplink, sunucu portu ya da firewall portu.
  • Kapıdaki sayaç hız sınırıdır. Bir kapıdan saniyede gelebilecek soru sayısını sınırlar.
DHCP snooping yapılandırması benzetmesi: süpermarket şubesinde danışma masası ana kapıda kart veriyor, yan kapıdaki pirinç turnike ise elinde bir deste fişle gelen adamın önünde kilitli duruyor
Kart yalnız danışma masasının kapısından çıkar ve yan kapıdaki sayaç soru yağdıranı durdurur. Switch'te o kapı güvenilen port, sayaç da hız sınırıdır.

Bu yazı switch yapılandırma rehberimizin erişim portlarını korumak adımının DHCP tarafıdır ve Kurumsal Network Kurulumu hizmetimize aittir. Aynı adımın kimlik tarafını, yani porta takılan cihazın kimliğini soran 802.1X’i switch 802.1X yapılandırması yazımızda ölçtüm.

DHCP Snooping’i Açmadan Önce: Güvenilen Portları Belirleyin

Snooping’in tek kararı hangi portun güvenilen olacağıdır ve bu karar komuttan önce verilir. Güvenilen port, gerçek DHCP cevabının geldiği porttur:

  1. Uplink. DHCP sunucusu ya da relay başka bir switch’in arkasındaysa cevap uplink’ten gelir.
  2. Sunucu portu. DHCP sunucusu bu switch’e doğrudan bağlıysa onun portu.
  3. Firewall portu. DHCP’yi firewall dağıtıyorsa ona giden port.

Kullanıcı portları bu listeye hiç girmez. Ağda DHCP’yi hangi cihazın dağıttığını DHCP nedir yazımızda anlattık. Liste hazırsa sıra şudur: önce güvenilen portlara trust yazılır, sonra snooping açılır.

Switch’te DHCP Snooping’i Açmak

Liste çıktı; şimdi özelliği açıyorum. Lab’daki VLAN 5’te gerçek bir DHCP sunucusu yoktu, bu yüzden bir uplink’i işaretlemeden başladım. DHCP snooping’i açan iki satırdan biri özelliği switch’te açar, öbürü hangi VLAN’da çalışacağını söyler. Üçüncü satır isteğe bağlıdır ve düşürülen her teklifin loga yazılmasını sağlar:

Switch Konsolu
configure
ip dhcp snooping
ip dhcp snooping vlan 5
interface gi1/0/2
ip dhcp snooping log-invalid
exit
exit

Switch’in snooping tablosu açılır açılmaz şunu gösterdi:

Switch Konsol Çıktısı
gmsw01#show ip dhcp snooping
DHCP snooping is Enabled
DHCP snooping source MAC verification is disabled
DHCP snooping is enabled on the following VLANs:
5
 Interface    Trusted     Log Invalid Pkts
-----------  ----------   ----------------
Gi1/0/2      No           Yes
Gi1/0/3      No           No
...
Gi1/0/24     No           No

Bu tabloda iki şeye bakılır:

  1. Liste yalnız VLAN 5’in portlarını gösterir. Gi1/0/2’den Gi1/0/24’e kadar olanlar VLAN 5’te. VLAN 10’daki Gi1/0/1 listede yok, çünkü snooping yalnız yazdığınız VLAN’larda çalışır.
  2. Bütün portlar Trusted No ile başlar. Güvenilmeyen port varsayılandır; hangi portun güvenilen olacağını siz yazarsınız. Snooping’i açtığınız an VLAN’daki hiçbir port DHCP cevabı geçiremez.

İkinci madde snooping’in en pahalı tuzağıdır. Gerçek DHCP sunucunuz uplink’in arkasındaysa ve o portu güvenilen yapmadan snooping’i açarsanız, kendi sunucunuzun cevapları da düşer ve yeni bağlanan hiçbir cihaz adres alamaz.

Güvenilen Port: ip dhcp snooping trust

Güvenilen port tek satırla işaretlenir. Gerçek bir ağda bu satır uplink’e yazılır. Lab’da ne olduğunu görmek için onu bilerek yanlış yere, test DHCP sunucusunun çalıştığı bilgisayarımın portuna yazdım; sahte sunucunun düzenini DHCP snooping nedir yazımızda anlattık:

Switch Konsolu
configure
interface gi1/0/2
ip dhcp snooping trust
exit
exit

Snooping açıktı, ama test sunucusu dört adımın dördünü aynı saniyede tamamladı ve switch sahte adresi yeniden aldı:

Switch Konsol Çıktısı
gmsw01#show dhcp lease
IP address: 192.168.5.50 on interface Vl5
Subnet mask: 255.255.255.0
   DHCP lease server: 192.168.5.66, State: 5 Bound
...

State: 5 Bound kiranın tamamlandığını gösterir. Kural yerindeydi; değişen tek şey hangi kapının danışma masası sayıldığıydı. Örnekteki mağaza şubesinde kullanıcı portuna trust yazmak, raf arasındaki katlanır masayı danışma masası ilan etmektir. Bu yüzden güvenilen port listesi kısa tutulur ve kayıt altında olur: uplink, DHCP sunucusunun portu ve DHCP dağıtan firewall’un portu.

DHCP Snooping Hız Sınırı: DHCP Starvation’a Karşı

Güvenilen port listesi sahte cevabı durdurur, ama güvenilmeyen porttan gelen istekleri serbest bırakır. Sunucunun adres havuzunu her biri farklı bir MAC adresi taşıyan çok sayıda istekle tüketmeye DHCP starvation denir ve snooping’in buna karşı cevabı port başına bir hız sınırıdır. Kullanıcı portuna saniyede 10 DHCP mesajı sınırı koydum:

Switch Konsolu
configure
interface gi1/0/2
ip dhcp snooping limit rate 10
exit
exit
Switch Konsol Çıktısı
gmsw01#show ip dhcp snooping interfaces gi1/0/2

Interface Trust State   Rate Limit    Burst Interval
                             (pps)          (seconds)
--------- ------------- ------------- ---------------
Gi1/0/2   No            10            1

Sonra bilgisayarımdan, her biri uydurma bir MAC adresi taşıyan DHCP adres istekleri gönderdim. VLAN’da DHCP sunucusu olmadığı için istekler hiçbir havuzu tüketmedi; ölçülen yalnız switch’in tepkisiydi. Saniyede 5 istek beş saniye boyunca gittiğinde port açık kaldı. Saniyede 30 istek gönderdiğimde switch portu gönderimin ilk saniyesinde kapattı ve nedenini loga yazdı; switch’in saati bilgisayarla aynı NTP kaynağına bağlıydı:

Switch Konsol Çıktısı
gmsw01#show logging | include Gi1/0/2
...
<189> Sep 29 09:00:55 gmsw01-1 TRAPMGR[trapTask]: traputil.c(735) 926 %% Link Down: Gi1/0/2
...
<189> Sep 29 09:00:54 gmsw01-1 TRAPMGR[dtlTask]: traputil.c(777) 924 %% DHCP Snooping error disabled interface: Gi1/0/2
<188> Sep 29 09:00:54 gmsw01-1 DHCP_SNP[dtlTask]: ds_main.c(3795) 923 %% DHCP Snooping has diagnostically disabled interface Gi1/0/2. The incoming DHCP message rate on this interface exceeded the rate limit of 10 pps (burst interval 1).

Port durumu D-Down oldu:

Switch Konsol Çıktısı
gmsw01#show interfaces status gi1/0/2

Port      Description     Duplex Speed   Neg  Link   Flow  M  VLAN
                                              State  Ctrl
--------- --------------- ------ ------- ---- ------ ----- -- -------------------
Gi1/0/2                   N/A    Unknown Auto D-Down Off   A  5

Ölçümden üç şey çıktı:

  1. Sınır istekleri yavaşlatmıyor, portu kapatıyor. D-Down portun tanı gereği kapatıldığını söyler. Porttaki bilgisayar yalnız DHCP’yi değil, bütün bağlantısını kaybetti.
  2. Port kendiliğinden açılmıyor. 86 saniye sonra hâlâ D-Down idi. Bu yazılım sürümünde kapanan portu belli bir süre sonra açan bir ayar yok; aynı eksikliği STP korumalarındaki BPDU Guard ölçümünde de gördük.
  3. Portu geri açan tek satır no shutdown. Port hemen Up oldu ve bilgisayar yeniden bağlandı.

Sınırı kullanıcı portlarına koyun. Bir bilgisayar adres alırken yalnız iki istemci mesajı gönderir, DISCOVER ve REQUEST; saniyede 10 bunun çok üstündedir. Güvenilen portlara, özellikle uplink’e sınır koymayın. Yüzlerce istemcinin mesajı oradan geçer ve sınır aşılırsa kapanan port uplink olur. Örnekteki mağaza şubesinde kapıdaki sayaç bir kişiyi dışarıda bırakmak için kapıyı kilitler; kilidi açan görevlinin elidir.

DHCP Snooping Yapılandırmasını Doğrulamak

Yapılandırma bitti. Şimdi snooping’in çalıştığını dört yerden okuyoruz:

  1. show ip dhcp snooping özelliğin açık olduğunu (DHCP snooping is Enabled), hangi VLAN’larda çalıştığını ve her portun güvenilen olup olmadığını gösterir. İlk bakılacak yer güvenilen portların listesidir: yalnız uplink ve sunucu portları Yes olmalı.
  2. show ip dhcp snooping interfaces gi1/0/2 tek bir portun güven durumunu ve hız sınırını gösterir.
  3. show ip dhcp snooping statistics bütün portların sayaçlarını gösterir.
  4. Log. DHCP snooping dropping DHCP server message received on untrusted interface satırı sahte sunucunun portunu, diagnostically disabled satırı hız sınırını aşan portu verir.

Sayaç tablosu, sahte sunucu denemesinde şuydu:

Switch Konsol Çıktısı
gmsw01#show ip dhcp snooping statistics
Interface  MAC Verify   Client Ifc   DHCP Server
           Failures     Mismatch     Msgs Rec'd
---------- ------------ ------------ ------------
Gi1/0/2    0            0            3
Gi1/0/3    0            0            0
...

DHCP Server Msgs Rec'd güvenilmeyen bir porttan gelen sunucu mesajlarını sayar. Kullanıcı portunda sıfırdan büyükse o portun ucunda bir DHCP sunucusu çalışıyordur. Bu sayaç istemci isteklerini saymaz: hız sınırı denemesinde porta yüzü aşkın istek geldiği hâlde sıfırda kaldı. Tek bir port için de sorulamıyor; show ip dhcp snooping statistics interface gi1/0/2 komutu reddedildi, tablo yalnız bütün portlar için geliyor.

Testi benim gibi switch’in kendi VLAN arayüzüyle yaptıysanız bir geri alma tuzağını da bilin. Arayüzdeki DHCP ayarını kaldırmak için yazdığım no ip address dhcp satırı reddedildi:

Switch Konsol Çıktısı
gmsw01(config-if-vlan5)#no ip address dhcp
                                      ^
Invalid IP address. IP address should be in a.b.c.d format where range for a, b, c, and d is 1-255.

Doğrusu no ip address idi. Bu satırla arayüzün adresi kalktı ve yapılandırma başlangıçtaki hâline döndü.

Switch’te DHCP Snooping Yapılandırırken Sık Yapılan Hatalar

  • Uplink’i güvenilen yapmadan snooping’i açmak. Açılış anında bütün portlar güvenilmeyendir ve gerçek sunucunun cevapları da düşer.
  • Kullanıcı portunu güvenilen yapmak. Lab’da tek bir trust satırı düşürülen teklifi yeniden geçirdi.
  • VLAN’ı yazmayı unutmak. Snooping yalnız ip dhcp snooping vlan satırında yazılı VLAN’larda çalışır; tablo da yalnız o VLAN’ın portlarını listeledi.
  • Hız sınırını uplink’e koymak. Sınır aşılınca port kapanır ve kapanan port uplink’se arkasındaki herkes kopar.
  • Kapanan portun kendiliğinden açılmasını beklemek. Lab’da port 86 saniye sonra da kapalıydı; no shutdown gerekti.
  • İstemci isteklerini istatistik sayacında aramak. Sayaç yalnız sunucu mesajlarını sayar; istek fırtınasını log ve port durumu gösterir.

Sonuç: Snooping’in Asıl Ayarı Güvenilen Port Listesidir

Snooping’i açan satırlar kısadır; asıl iş, satırlardan önce güvenilen port listesini çıkarmaktır. Lab’da yanlış porta yazılan tek bir trust satırı sahte teklifi geçirdi. Kullanıcı portuna konan saniyede 10 mesajlık sınır ise istek fırtınasında portu kapattı ve port ancak no shutdown ile açıldı.

Süpermarket şubesinde danışma masasının kartı yalnız masanın kapısından çıkınca geçerlidir ve kapıdaki sayaç soru yağdıranı dışarıda bırakır; switch’te o kapı güvenilen port, sayaç da hız sınırıdır. Önce kapıyı doğru seçin, sonra sayacı yalnız kullanıcı kapılarına koyun.

Snooping’in neden cevabı süzdüğünü ve sahte sunucunun logdaki izini DHCP snooping nedir yazımızda anlattık. Snooping’in bir switch’i canlıya alma sırasındaki yerini switch yapılandırma rehberimizde gösterdik.

Switch DHCP Snooping Yapılandırması Hakkında Sık Sorulan Sorular

Çalışır, yeter ki sunucuya giden port güvenilen olarak işaretlensin. Snooping açıldığında VLAN'daki bütün portlar güvenilmeyen olarak başlar ve bu portlardan gelen sunucu cevapları düşer. Gerçek sunucunuz uplink'in, bir sunucu portunun ya da firewall'un arkasındaysa o portu ip dhcp snooping trust ile işaretlemeden snooping'i açarsanız kendi sunucunuzun cevapları da düşer.
Yalnız gerçek DHCP sunucusuna ya da DHCP relay'e giden portları güvenilen yapın: uplink, DHCP sunucusunun bağlı olduğu port ve DHCP dağıtan firewall'un portu. Kullanıcı portları güvenilmeyen kalır. Lab'da test sunucusunun takılı olduğu portu güvenilen yapan tek satır, snooping'in düşürdüğü sahte teklifi yeniden geçirdi.
Switch istekleri yavaşlatmaz, portu kapatır. Lab'da saniyede 10 mesaj sınırı koyduğum porta saniyede 30 istek gönderdiğimde port D-Down oldu ve bağlı bilgisayar ağdan düştü. Port 86 saniye sonra da kapalıydı ve no shutdown ile açıldı. Bu yüzden sınır kullanıcı portlarına konur, uplink'e konmaz.
İlker Pehlivan
Yazan

BT Danışmanı | Ağ, Sistem ve Güvenlik Yönetimi

İlker Pehlivan, karmaşık BT altyapılarını ölçeklenebilir ve güvenli sistemlere dönüştürür. Buradaki rehberleri kendi laboratuvarında kurup ölçerek yazar.

LinkedIn

Benzer Makaleler

Kurumsal Network Kurulumu altındaki diğer 114 makale