Windows 2000 Server’da DHCP - 1


Giriş
Bir çok network protokolü,networkdeki bilgisayarlara bir tanımlayıcı atarlar.Bu tanımlayıcı network üzerinde tek olmalıdır.NetBEUI protokolu ,tanımlayacı olarak bilgisayarlara atanan ve 16 karakterlik NetBIOS isimlerini kullanır.TCP/IP protokolu ise tanımlayıcı olarak IP adreslerini kullanır.Böylece network üzerindeki her bir bilgisayarda diğerlerinden farklı olan ve aynı anda iki bilgisayarda bulunması mümkün olmayan bir tanımlayıcı kullanılmış olur.          
Bu makalemizde ,Windows 2000’deki DHCP servisini kullanarak, networkde bulunan bilgisayarlara nasıl otomatik IP  adreslerinin dağıtıldığını ayrıntılarıyla inceleyeceğiz.Bunun haricinde Windows 2000 ile gelen DHCP servisinin ,Windows NT 4.0 ile birlikte gelen DHCP servisiyle karşılaştırılması ve yeni gelen özellikleri de ayrıntılarıyla inceleyeceğiz.

                TCP/IP protokolünü kullanıldığı nertworklerde,herbir bilgisayarı tanımlamak için 32 bit uzunluğundaki IP adresleri kullanılır.Bu 32 bitlik sayı ,oktet olarak adlandırılan 8 bitlik dört parçaya ayrılarak ve aralarına nokta konularak gösterilir.Bir TCP/IP networkünde aynı IP adresine sahip birden fazla bilgisayar bulunamaz.Bu yüzden IP adreslerini bilgisayarlara atanması işi çok önemlidir ve oldukça dikkat etmeyi gerektirir.
          Eğer kullandığınız ağda 10 tane bilgisayar varsa ,siz bu bilgisayarların IP adreslerini manuel olarak rahatlıkla girebilirsiniz ve aynı IP adresini birden fazla bilgisayara verme ihtimaliniz çok düşüktür.Ama ağınızdaki bilgisayarların sayısı yüzler hatta binlerle ifade ediliyorsa bu işlemler o kadar basit olmayacaktır.Yani bu işlem hem oldukça ciddi bir zaman alacaktır hemde hata yapma ihtimali çok yülsektir.İşte bu yorucu işi bizim yerimize üstlenecek ve bu işi hiç hata yapmadan yerine getirebilecek bir mekanizmadır DHCP.Yani tüm bu bilgisayarlara IP adreslerini ,subnet mask değerlerini ,varsayılan ağ geçidi adresini ve daha birçok TCP/IP protokol parametresini bizim yerimize istemcilere dağıtacak ve bu işlemleri yaparkende kesinlikle hata yapmayacak bir hizmetdir DHCP.
          Bu servis,yukarıda da değindiğimiz gibi sadece istemcilere IP adreslerini dağıtmakla kalmıyor,bunun yanında TCP/IP networkünde kullanılan bir çok parametrenin de merkezi bir noktadan dağıtılmasına imkan tanıyor. Örneğin şirketinizde bir tane DNS (Domain Name Service) sunucu ,bir tane de WINS(Windows Internet Name Service) sunucu bulunsun.Eğer biz DHCP sunucu kullanamadan ,ağdaki tüm bilgisayarların IP adreslerini manuel olarak gireceksek bu iki sunucunun adreslerini de herbir bilgisayarda ayrı ayrı tanımlamamız gerekir.Fakat ileride herhangi bir sebepte dolayı (örneğin sistem çökmeleri) bu DNS yada WINS sunucuların IP adreslerinde bir değişiklik olursa bu durumda ağdaki tüm bilgisayarlara gidip teker teker bu sunucuların IP adreslerini düzeltmemiz gerekecek.İşte bu noktada imdadımıza DHCP server yetişiyor ve bu tip durumlarda  DNS yada WINS sunucunun IP adreslerini herbir bilgisayarda teker teker değiştirmek yerine sadece DHCP sunucuda değiştirmemiz sorunu çözüyor.
Peki DHCP ‘nin çalışma mekanizması nasıldır?Birazda bu konuyu inceleyelim.Bir istemci bilgisayarın DHCP server’dan bir IP adresi alması işlemi dört aşamada gerçekleşir. 
1)    DHCP Discover
2)    DHCP Offer
3)    DHCP Request         
4)    DHCP Acknowledgment 
Bu adımları teker teker inceleyelim. IP adresini DHCP server’dan alacak şekilde konfigüre edilin istemci bilgisayar açıldığında, network ortamına DHCP Discoverolarak adlandırılan bir paketi broadcast ( hedef adresi 255.255.255.255 olan paket) olarak  yollar ve ortamdaki DHCP sunucunun kendisine cevap vermesini bekler.Burada istemci bilgisayar henüz bir IP adresine sahip olmadığı için gönderdiği broadcast paketdeki kaynak IP adresi 0.0.0.0 ‘dır.DHCP server bu istemciden gelen mesajı aldıktan sonra bu istemciye DHCP Offer olarak adlandırılan bir paket yollar.Bu pakette, DHCP sunucu istemciye kullanabileceği bir IP adresi,subnet mask , bu IP adresinin kiralama süresi ve DHCP serverin IP adresi gibi bilgiler bulunur.Gönderilen bu paket de broadcast olarak yollanır.İstemci bu paketi aldıktan sonra paketi yollayan DHCP server’a DHCP Request olarak adlandırılan bir paket yollar.Ardından bu paketi alan DHCP sunucu, istemciye önerdiği IP adresini DHCP veritabanına, belirlenen kiralama dönemi boyunca kullanılmak üzere yazar.Ardından istemciye bu işlemin tamamlandığını belirten DHCP Acknowledgment   paketini yollar.Bu pakette ayrıca DHCP sunucu tarafından atanan DHCP seçenekleride (örneğin varsayılan ağ geçidi adresi,DNS ve WINS sunucu adresleri gibi) istemciye yollanır.Bu son mesajACK olarak da bilinir.Ayrıca DHCP sunucu herhangi bir sebepten dolayı bu işlem blogunu yerine getiremezse istemciye NACK(Negative ACK) mesajı yollanır.
          Yukarıda bir çok yerde kiralama süresinden bahsettik.Peki nedir bu kiralama süresi? İstemci bilgisayarlara DHCP server tarafından verilen IP adresleri belli bir süreliğine verilir.Yani bir istemciye verilen IP adresi, her zaman aynı  istemci tarafından kullanacak diye bir şey yok.Windows 2000’de kurulan DHCP sunucuda varsayılan olarak IP adres kiralama süresi 8 gündür.Bu süreyi isteğinize bağlı olarak değiştirebilirsiniz.İstemci bilgisayarlar belirlediğiniz kiralama süresini yarılayınca DHCP sunucuya kullandıkları IP adresinin kiralama süresinin uzatılmasını belirten bir mesaj yollarlar(bu mesaj direkt olarak DHCP sunucuya yollanır) ve genelliklede kiralama süreleri uzatılır.Eğer istemci DHCP sunucudan kiralama süresi uzatma mesajına herhangi bir yanıt alamazsa geriye kalan zamanın yarısı kadar süre sonra kiralama süresi uzatma isteğini yineler (yani uzatma süresinin yüzde 87.5’luk dilimi bitince).Bu mesaj network’e broadcast yoluyla iletilir. Eğer istemci kiralama süresi içerisinde ,herhangi bir şekilde kiralama süresini uzatamazsa kiralama süresi bitiminde yeni bir IP adresi alması için gerekli olan adımları yineler ve yeni bir IP adresi almaya çalışır.
Bu girişten sonra şimdi DHCP mekanizmasının çalışması için gerekli olan bileşenleri ve bu bileşenlerin Windows 2000 Server’da nasıl konfiğüre edildiğine geçebiliriz.Öncelikle networkünüzde DHCP hizmetini verecek bir sunucuya ihtiyacınız var.Bu sunucu networkde bulunan bir Windows 2000 Server yada Advanced Server olabilir.Ayrıca bu bilgisayarın IP adresinin statik olması yani  IP adresinin manuel olarak girilmesi gerekir.Bu bilgisayara DHCP servisini kurmak için Control Panel ->Add/Remove Programs->Add/Remove Windows Components yolunu izliyoruz.Karşımıza çıkan Windows Components Wizard başlıklı penceredenNetworking Services seceneğini seçip Details butonuna basıyoruz.Karşımıza Şekil 1’deki pencere çıkıyor.Bu pencerede listelenmiş servislerden Dynamic Host Configuration Protocol (DHCP) servisini seçip OK butonuna basıyoruz.Ardından Windows Components Wizard başlıklı pencereye geri dönüyoruz ve bu pencerede Next butonuna basarak DHCP servisinin yüklenmesi işlemini başlatıyoruz.
 
Şekil 1
DHCP servisini kurduktan sonra sıra bu sunucuyu Active Directory’de yetkilendirmeye geldi. Peki bu işlemi neden yapıyoruz?Yaptığımız bu işlem ,mevcut Active Directory yapınızın içerisinde yetkilendirilmemiş DHCP sunucuların  IP adresini dağıtması engeller. Şöyle ki ,eğer şirketinizde sizden habersiz,birisi bilgisayarına DHCP servisini kurmuş ve IP adresi dağıtmak istiyor olabilir. Bu durumda, eğer Active Directory’de yetkilendirme işlemi olmasaydı sizin kurduğunuz DHCP server ile o kişinin kurduğu DHCP server aynı anda aynı ağa hizmet vermeye başlayacak ve ağ yapınız karışacaktır.İşte bu gibi durumları önlemek için Active Directory’de yetkilendirme (Authorizing) işlemi gereklidir.Eğer DHCP server olarak konfigüre edeceğiniz bilgisayar bir domain’e katılmayacaksa o zaman bu sunucunun Active Directory’de yetkilendirilmesine gerek yoktur.
Yetkilendire işlemini gerçekleştirmek için aşağıdaki adımları izliyoruz.Administrative Tools’dan DHCP’yi seçiyoruz.Karşımıza DHCP sunucunun konfigürasyonun yapıldığı pencere çıkıyor.Bu pencerede sol tarafta bulunan  DHCP server’ın üzerine mouse ile sağ tıklayıp açılan menüden Authorize seçeneğini seçiyoruz.Şekil 2’de görüldüğü gibi DHCP konsolunda yetkilendirilmemiş sunucuların yanında aşağı yönde kırmızı renkli bir ok işareti bulunur. Eğer sunucunuz Active Directory’de yetkilendirilmişse bu ok işareti yukarı yönde ve yeşil renkte olacaktır.
Eğer DHCP sunucuyu Active Directory yapısının içerisinde kullanmayacaksanız dikkat etmeniz gereken önemli bir nokta vardır.Bu da  Active Directory yapısını kurmadan önce kullandığınız DHCP sunucu, ağınızda Actve directory yapısını kullanmaya başladığınız anda bunu algılayacak ve DHCP servisi vermeyi durduracaktır.
Windows 2000 ile gelen DHCP servisinin en güzel özelliklerinden birisi de ,Active Directory yapısının olmazsa olmazı olan DNS ile entegre bir şekilde çalışabilmesidir. Bu sayede DHCP sunucu IP adresini dağıttığı istemcilerin host kayıtlarını ,dinamik güncellemeyi destekleyen DNS sunuculara otomatik olarak girebilir. (Eğer DNS sunucu olarak bir Windows 2000 Server bilgisayarı konfigüre etmişseniz ,dinamik güncelleme hakkında endişelenmenize gerek yoktur.Çünkü Windows 2000 DNS sunucuları dinamik güncellmeyi destekler.)
 
Şekil 2 
DHCP sunucunun DNS sunucu ile entegre çalışması için yapmanız gereken ayarlar ise şöyledir. Administrative Tools’dan DHCP konsolunu çalıştırıyoruz.Karşımıza çıkan ekranda sol tarafta listelenen DHCP sunucuya mouse ile sağ tıklayıp açılan menüden Properties’i seçiyoruz.Karşımıza çıkan penceredeki DNS tabına tıklıyoruz.Şekil 3’deki pencere ile karşılaşıyoruz.Bu pencerede bulunan “Automatically update DHCP client information in DNS” seçeneğini aktif hale getirirseniz DHCP sunucunuzu dinamik güncellemeyi destekleyen DNS sunucusuyla birlikte çalışacak şekilde ayarlamış olursunuz.Ayrıca “Enable updates for DNS client that do not support dynamic update”seçeneğini seçtiğimizde dinamik güncellemeyi desteklemeyen istemci bilgisayarlar için DHCP sunucu ,bu istemcilerin host kayıtlarını DNS sunucuya girecektir. Burada dinamik güncellemeyi desteklemeyen istemcilerden bahsettik. Peki bu istemciler hangileridir? Windows 95/98 ve Windows NT yüklü istemciler dinamik güncellemeyi desteklemezler. Ama varsayılan olarak tüm Windows 2000 istemciler dinamik güncellemeyi desteklerler ve kendi host kayıtlarını kendileri DNS sunucuya girebilirler.(Windows 2000 istemciler dinamik güncellemeyle DNS sunucuları üzerindeki sadece host ismi-IP adresi (forward lookup)kayıtlarını girebilirler.Eğer siz Windows 2000 yüklü istemci bilgisayarlara ait IP adresi-host ismi (reverse lookup) kayıtlarının da girilmesini istiyorsanız bunu DHCP sunucuyu konfigüre ederek gerçekleştirebilirsiniz. Bunun için Şekil 3’deki pencerede bulunan “Always update DNS” seçeneğini seçmeniz gerekir.)
 
                                                           Şekil 3

xxxxxx