endLesS
Webmaster
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 Discover olarak 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 mesaj ACK 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ı pencereden Networking 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.
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.)
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.)
Scope,bir DHCP sunucuda tanımlanan ve istemcilere dağıtılacak IP adres aralığıdır. Bir DHCP sunucusunun istemcilerden gelecek IP adresi isteklerine cevap verebilmesi için,bu DHCP sunucuda en az bir tane scope oluşturulmalı ve aktif edilmelidir. Bir scope oluşturmak için izlenecek adımlar ise şöyledir ;
Administrative Tools’dan DHCP konsolunu çalıştırıyoruz. Açılan pencereden scope’un oluşturulacağı sunucuya mouse ile sağ tıklayıp açılan menüden New Scope seçeneğini seçiyoruz.Karşımıza “New Scope Wizard” başlıklı bir pencere çıkıyor.Bu penceredeki Next butonuna basarak ilerlediğimizde karşımıza ,oluşturacağımız scope için bir isim ve açıklama gireceğimiz Şekil 4’deki pencere çıkıyor.Uygun bir değer girip Next butonuna basıyoruz.
Daha sonra karşımıza ,oluşturacağımız scope ‘da dağıtılacak IP adres aralığını belirlediğimiz Şekil 5’deki pencere çıkar.
Bu penceredeki “Start IP address” ile “End IP address” değerlerini girerek bu scope için kullanılacak IP adres aralığını belirliyoruz. Örneğimizde oluşturduğumuz scope’u 10.1.1.10 ile 10.1.1.254 adresleri arasındaki IP adreslerini içerecek şekilde tanımladık. Bu ekranda ayrıca dağıtılacak IP adresleriyle birlikte kullanılacak Subnet mask değerinide belirliyoruz. Bu penceredeki “Length” değerini değiştirerek yada aşağıda bulunan “Subnet mask” alanına uygun bir değer girerek bu IP adres aralığı için kullanılacak subnet mask değerini belirleyebiliyorsunuz.Length alanında belirtilen değer 32 bitlik subnet mask değeri içerisinde ilk kaç bitin 1 olacağını gösterir. Uygun değerleri girdikten sonra Next butonuna basıp ilerliyoruz.
Next butonuna basıp ilerlediğimizde ise karşımıza “Lease Duration” başlıklı Şekil 7’deki pencere çıkar. Bu pencerede IP adres kiralama süresi belirlenir ve varsayılan olarak 8 gündür. Burada belirtilen süre bir istemcinin aldığı IP adresini kullanabileceği süreyi belirtir.
Eğer No seçeneğini seçerseniz bu seçenekler size sorulmayacak ve DHCP seçeneklerini kendiniz girmeniz gerekecektir. Son olarak da “Activate Scope” başlıklı pencere ile karşılaşıyoruz. DHCP sunucuda oluşturduğunuz scope’daki IP adreslerini dağıtılması için scope’un aktif hale getirilmesi gerekir. Eğer siz oluşturduğunuz scope’un hemen aktif olmasını istemiyorsanız No seçeneğini seçerek istediğiniz zaman bu scope’u aktif hale getirebilirsiniz.
Burada scope bazında geçerli olacak DHCP seçeneklerinin bazıları istemci tarafında da ayarlanabilir. Örneğin bir istemcinin kullanacağı ağ geçidi adresini manuel olarak girebilirsiniz. Bu durumda eğer DHCP sunucu da bir ağ geçidi adresi dağıtıyorsa istemci tarafında tanımlanan ağ geçidi adresi geçerli olur.Yani istemci tarafında yapılan tüm konfigürasyonlar ,DHCP tarafından gönderilen konfigürasyonların üzerine yazar.
Şekil 11’de görüldüğü gibi DHCP konsolunu açtığımızda “Server Options” isimli bir konteynır görürüz. Bu konteynır ,DHCP sunucuda bulunan tüm scope’lar için geçerli olacak seçeneklerin ayarlandığı konteynırdır. Örneğin şirketinizde bulunan DHCP sunucuda iki farklı scope bulunsun.Ayrıca bu networkte iki tane de DNS sunucu bulunsun.Bu DNS sunucuların ikisininde ağdaki tüm istemciler tarafından kullanılmasını istiyorsunuz.Bu durumda bu DNS sunucuları ,scope’ların herbirinde ayrı ayrı tanımlamak yerine “Server Options” kısmında tanımlayarak ,bu DHCP sunucudaki tüm scope’ler için kulanılmasını sağlayabilirsiniz. DHCP sunucudaki tüm scope’lar için geçerli olacak seçenekleri ayarlamak için “Server Options” konteynırına mouse ile sağ tıklayıp açılan menüden “Configure Options” seçeneğini seçiyoruz. Karşımıza Şekil 12’deki pencere çıkıyor. Bu pencerede tüm scope’ler için geçerli olacak seçenekleri teker teker seçip uygun değerleri girebilirsiniz.
DHCP Sunucunun Konfigürasyonu
DHCP sunucunun ayarlarını düzenlemek için DHCP konsolunda bulunan DHCP server’ın üzerine mouse ile sağ tıklayıp açılan menüden Properties’i seçiyoruz. Karşımıza şekil 13’deki pencere çıkıyor.
‘Automatically update statistics every’ seçeneğini seçtiğiniz zaman ,aşağıda bir zaman dilimi belirleyebileceğiniz alan aktif olacaktır. Bu alana girdiğiniz süre,DHCP sunucunun istatistiklerinin güncelleneceği periyodu belirler.
‘Enable DHCP audit logging’ seçeneğini seçtiğinizde ki bu seçenek varsayılan olarak seçilidir,DHCP sunucu her gün için bir log dosyası olmak üzere bir haftalık log dosyaları oluşturacaktır.Bu log dosyaları ASCII formatında dosyalar olup Notepad gibi bir text editör programı kullanılarak içerikleri kolaylıkla görülebilir.Log dosyaları Winnt\\\\\\\\System32\\\\\\\\Dhcp klasöründe oluşturulur.Örnek bir log dosyası aşağıdaki gibidir.
“Show the BOOTP table folder” seçeneğini seçtiğinizde ise DHCP konsoluna “BOOTP Table” adlı bir konteynır eklenir.Bu konteynıra tıkladığıızda sisteminizde bulunan BOOTP kayıtlarını görebilirsiniz.BOOTP kayıtlarının nasıl oluşturulacağı hakkında ayrıntılı bilgiyi Windows 2000 Help’inden bulabilirsiniz.
‘Automatically update DHCP client information in DNS’ seçeneği DHCP sunucunun ,istemci bilgilerini DNS sunucuda otomatik olarak güncellemesini sağlar.Eğer bu seçeneği seçmezseniz DHCP sunucunuz ile DNS sunucunuz birbirleriyle entegre bir şekilde çalışmayacaktır. ‘Update DNS only if DHCP client request’ seçeneği DNS sunucudaki istemci kayıtlarının ,sadece istemcilerin istekte bulunması halinde güncellemelerini sağlar. Eğer siz istemci kayıtlarının her zaman DNS sunucuda güncellenmelerini istiyorsanız o zaman ‘Always update DNS’ seçeneğini seçmelisiniz. ‘Discard forward (name-to-address) lookups when lease expires’ seçeneği, istemci bilgisayarlardan kiralama süreleri bitemlerin kayıtlarının DNS sunucudan silinmesini sağlar.’ Enable updates for DNS clients that do not support dynamic update’ seçeneği ise ,kendi kayıtlarını DNS sunucuda güncelleyemeyen istemcilerin (örneğin Windows 95/98 veya Windows NT ) kayıtlarının DHCP sunucu tarafından güncellenmelerini sağlar.
Advanced tabına tıkladığımızda ise karşımıza Şekil 15’deki pencere çıkar.Bu pencerede bulunan “Conflict detection attempts” kısmında belirtilen sayı ,DHCP sunucunun IP havuzundaki bir IP adresini bir istemciye kiraya vermeden önce bu IP adresinin kullanımda olup olmadığını kaç kez test edeceğini belirler.Eğer buradaki değer 0’ın haricinde bir sayı ise DHCP sunucu, IP adres havuzundaki adreslerin hangisinin istemcilere kiraya verilmeye uygun olduğunu bu IP adreslerine ping atarak anlar.Ping işlemi başarılı olan IP adresleri network’te kullanılıyor demektir ve DHCP sunucu bu IP adreslerinin kullanımda olduğunu bildiği için istemcilerden gelen IP isteklerinde bu IP adreslerini istemcilere önermez.Burada belirtilen değerin 2’den büyük bir değer olmaması önerilir.Zira burada belirlediğiniz değer DHCP sunucunun yükünü arttıracaktır.
“Audit log file path” kısmında belirtilen yol ise DHCP sunucunun audit loglarını tutacağı klasörü belirtir.Varsayılan olarak log dosyaları “C:\\\\\\\\WINNT\\\\\\\\System32\\\\\\\\dhcp” klasoründe tutulur.”Database path” kısmında belirtilen yol ise DHCP veritabanının tutulacağı klasorü belirtir.Veritabanı dosyaları varsayılan olarak log dosyalarıyla aynı klasorde tutulur.
Network Grup/
DHCP sunucunun konfigürasyonu hakkında detaylı bilgileri öğrendikten sonra şimdide biraz DHCP konsolu ile neler yapabileceğimize bir göz atalım. DHCP konsolunu açtığımızda karşımıza çıkan pencerenin sol tarafında DHCP sunucular listelenir. Bu sunucuların yanında bulunan + işaretine tıkladığımızda ise ,sunucuda oluşturulan scope’ların listelendiğini görürüz. Bir scope’da ‘Address Pool’,’Address Leases’, ‘Reservations’ ve ‘Scope Options’ isimli dört tane konteynır bulunur. ‘Address Pool’ konteynırına tıkladığımızda ,scope oluşturulurken tanımlanan başlangıç ve bitiş IP adresleri ve varsa bu adres aralığında bulunan fakat istemcilere dağıtılmasına izin verilmeyen IP adresleri listelenir.(Şekil 18)
’Address Leases’ konteynırına tıkladığınızda ise DHCP sunucunun bu scope’dan hangi IP adreslerini hangi bilgisayara atadığını görebilirsiniz
Networkdeki bazı bilgisayarların her zaman aynı IP adresini kullanmaları gerekebilir. Bu durumda ya bu bilgisayarların IP adreslerini manuel olarak girmeli yada DHCP sunucuda bu IP adreslerini sadece bu bilgisayarların kullanabileceği şekilde saklamalısınız. İşte bu işleme ‘Address Reservation’ işlemi denir ve bir scope’da tanımlanan adres rezarvasyonlarını ‘Reservations’ konteynırına tıklayarak görebilirsiniz. Bu işlemi gerçekleştirmek için istemci bilgisayarın MAC adresinin bilinmesi gerekir. MAC adresi 48 bit uzunluğunda bir sayı olup herbir network kartı için tektir. Bir bilgisayarın MAC adresini öğrenmek için komut satırından ipconfig /all konutunu girmelisiniz.Bu komutun çalıştırılmasından sonra ekrana yazılan bilgiler arasında ,istemcinin kullandığı network kartının MAC adresi de bulunur. Address Reservation işlemi için izlemeniz gereken adımlar ise şöyledir;
İlk önce rezerve edilecek IP adresinin bulunduğu scope’daki “Reservations” konteynırına mouse ile sağ tıklanıp ve açılan menüden “New Reservation” seçeneğini seçiyoruz.Karşımıza Şekil 20’deki pencere çıkıyor.Bu pencerede bulunan “Reservation Name” kısmına yaptığımız bu rezervasyona uygun bir isim yazıyoruz. ”IP Adress” kısmına ise istemciye verilmesini istediğimiz IP adresini yazıyoruz.”MAC Adress” kısmına ise bir önceki adımda nasıl öğrenilebiceğini anlattığımız MAC adresini yazıyoruz. “Description” kısmına da uygun bir açıklama girerek Add butonuna basıp rezervasyon işlemini bitiriyoruz.
Peki bu rezervasyon işleminin bize ne tür faydaları var? Yani biz, rezerve ettiğimiz IP adreslerini direkt olarak gidip istemci bilgisayarlara manuel olarak girebilir ve bu IP adresini DHCP sunucudaki “Exclusion Range” ‘da tanımlayabiliriz.Bu durumda bu istemci problemsiz bir şekilde network’e katılır ve çalışmaya başlar. Ama biz bu istemci için DHCP sunucunun bize sağlamış olduğu kolaylıkları kullanamayız.Yani farzedelim ki network’de kullandığımız WINS sunucunun IP adresi değişti.Bu durumda IP adresleri manuel olarak girilen tüm istemci bilgisayarlarda bu WINS sunucunun adresi teker teker manuel olarak değiştirilmelidir.Ama bu istemcileri DHCP client olarak konfigüre edip daha sonra DHCP sunucuda bu isteciler için birer rezervasyon tanımlamış olsaydık bu değişikliği herbir bilgisayara ayrı ayrı gidip manuel olarak yapmamıza gerek kalmayacaktı ve sadece DHCP sunucuda yapılacak olan WINS sunucunun IP adres değişiminden haberdar olacaklardı
Bunun haricinde ,DHCP sunucuda rezerve edilmiş IP adresleri için ait oldukları scope’da geçerli olan DHCP seçeneklerinin haricinde (örneğin DNS sunucu adresi yada WINS sunucu adresi gibi) ,sadece rezerve edilen istemci için geçerli olacak DHCP seçenekleri belirleyebiliyorsunuz. Aşağıdaki şekilde,DHCP sunucudaki bir scope’da tanımlanan bir rezervasyon için ayarlanabilecek rezervasyon seçeklerini görebilirsiniz
DHCP Seçenekleri
DHCP seçenekleri ,DHCP sunucuyu kullanan istemcilere IP adresi ve subnet mask değerlerinin dışında atanan diğer network parametreleridir.(Örneğin DNS sunucu adresi,varsayılan ağ geçidi adresi ,WINS sunucu adresi vb gibi )Bu seçenekler DHCP sunucuda dört farklı düzeyde uygulanabilir. Bunlar;
Server Seçenekleri
Scope Seçenekleri
İstemci Seçenekeleri
Class Seçenekleri
Server seçenekleri,DHCP sunucuda tanımlanan tüm scopelarda geçerli olacak seçeneklerdir. Örneğin şirketinizin DNS sunucusunun,DHCP sunucuda tanımlanan iki farklı scope’daki istemciler tarafından kullanılmasını istiyorsanız o zaman bu DNS sunucunun IP adresini Server seçenekleri (Server Options) konteynırında tanımlamalısınız.
Scope seçenekleri ise sadece o scope’dan IP adresi alan istemcileri etkileyecek seçeneklerdir.Örneğin herbir scope’un ait olduğu subnetlerin varsayılan ağ geçidi adresi (default gateway) farklı olabilir. Bu durumda her bir scope için farklı bir ağ geçidi adresi tanımlamamız gerekebilir. Bunu scope seçeneklerini kullanarak gerçekleştirebiliriz.
İstemci seçenekleri ise belirlenen üreticiye ve kullanıcı gurubuna göre geçerli olacak seçeneklerdir. Bu üreticilerin ve kullanıcı gruplarının hangileri olduğunu görmek için Server,Scope yada istemci seçeneklerinin ayarlandığı herhangi bir penceredeki “Advanced“ tabına basarak görebilirsiniz.Burada belirlediğiniz seçenekler sadece seçilen üretici ve kullanıcı gurubu için geçerli olacaktır.(Bu seçenekler eğer şirketinize RRAS üzerinden bağlanan kullanıcılara DHCP üzerinden IP adresi dağıtıyorsanız bir hayli işinize yarayacaktır.)
Şimdi bu seçeneklerin nasıl ayarlandığına bir göz atalım. İlk önce seçeneklerin hangi düzeyde etkili olacağını belirlemelisiniz. Biz örneğimizde Server seçeneklerini konfigüre edeceğiz. Bunun için DHCP konsolunda bulunan “Server Options” konteynırına mouse ile sağ tıklayıp açılan menüden “Configure Options” seçeneğini seçiyoruz.Karşımıza Şekil 23’deki pencere çıkıyor. Bu pencerede herbirinin başında 003,044 ,046 gibi rakamlar bulunan bir çok seçenek var. Biz burada bu seçeneklerden en çok kullanılanlarından bahsedeceğiz. Örneğin 003 Router seçeneğini seçtiğinizde bu pencerenin alt tarafında ,DHCP sunucudaki tüm tanımlı scope’larda geçerli olacak bir varsayılan ağ geçidi adresi girebileceğimiz kısım aktif olacaktır. Bunun haricinde 006 nolu seçenek DNS sunucuyu ,015 nolu seçenek Domain ismini ,044 WINS sunucunun adresini ve 046 ise adres çözümlemede kullanılacak yöntemi belirler.Bu son seçenek üzerinde biraz duralım.Network’de bilgisayar isimleri çözülürken kullanılacak metodu belirler bu seçenek.Yani istemci ,NetBIOS isimlerini çözümlerken ilk önce broadcast yapıp daha sonra mı WINS sunucudan soracağını ,yoksa tam tersi bir sorgulama mı gerçekleştireceğini ,yada sadece WINS sunucudan sorgulama veya sadece broadcast yöntemiyle isim çözmeye çalışma yöntemlerinden hangisini kullanacağını bu seçenekdeki değere bakarak anlar.Bu seçeneğin alabileceği değerler ve anlamları aşağıda verilmiştir.
0x1=B-node (Sadece broadcast yöntemi kullanılır.)
0x2=P-node (Sadece WINS sunucular kullanılır.)
0x4=M-node (İlk önce broadcast yöntemi kullanılar,eğer başarılı olamazsa WINS sunuculara başvurulur)
0x8=H-node (İlk önce WINS sunuculara gidilir eğer isim çözümleme işlemi başarısız olursa broadcast yöntemi kullanılır.)
Yönlendirici (Router) Kullanılan Network’lerde DHCP Sunucu Konfigürasyonu
Yönlendiriciler, altağları(subnet) birleştirmek için kullanılan cihazlardır. Yönlendiricilerin en temel vazifeleri birleştirdiği ağlar arasındaki paket alış verişini en etkin biçimde yerine getirmektir. Yönlendiricilerin özeliklerinden birisi de kendisine bağlı subnetlerden herhangi birisinden gelen broadcast mesajlarının diğer subnetlere iletilmesini önlemektir. Fakat DHCP ,broadcast temelli bir servistir ve DHCP mesajları yönlendirici kullanılan network’de sadece DHCP sunucunun bulunduğu subnetdeki istemciler ve sunucu arasında alınıp verilebilecektir. Bu durumda diğer subnetlerdeki istemciler herhangi bir şekilde DHCP sunucuyla iletişime geçemeyecek ve geçerli bir IP adresi alamayacaktır.
Yönlendirici kullanılan networklerde DHCP servisinin düzgün çalışabilmesi için izlenebilecek üç farklı yöntem vardır. Bunlar;
a) Her bir subnet’e bir DHCP sunucu kurulur. Böylece her bir subnet için gerekli olan konfigürasyonlar bu sunucu üzerinde gerçekleştirilir.
b) Subnetleribirleştiren yönlendiriciyi DHCP mesajlarını geçirecek şekilde (RFC 1542 uyumlu) konfigüre etmek .Bu durumda yönlendirici ,subnetler arasında sadece DHC Pbroadcast mesajlarını geçirecek ve diğer broadcast mesajların geçmesini engelleyecektir. Böylece sbnetlerin herhangi birisine kurduğunuz bir DHCP sunucu ile tüm subnetlerdeki istemcilere hizmet verebilirsiniz.
c) Her bir subnet’de bir tane DHCP Relay Agent bulundurmak.DHCP Relay Agent kendi dubnet’inden yapılan DHCP broadcast mesajlarını alarak yönlendiriciden geçebilecek hale getirir yani direkt olaak DHCP sunucuya yollar ve DHCP sunucudan gelen yanıtı da kendi subnet’ine broadcast yoluyla yollar.
Windows 2000 yüklü bir bilgisayara DHCP Relay Agent ‘ı kurmak için aşağıdaki adımları izlemeniz gerekiyor.
İlk önce Administrative Tools’dan Routing and Remote Access konsolunu açıyoruz.Açılan pencereden IP Routing konteynırınını + işaretine basarak genişletiyoruz.Ardından Generel konteynırına mouse ile sağ tıklayıp açılan menüden “New Routing Protocol” seçeneğini seçiyoruz.
Boot Threshold :Bu parametre ,hem lokal subnetdeki hemde yönlendiriciyle ayrılmış subnetdeki DHCP sunucuları birlikte kullanacaksanız önem kazanır. Şöyle ki,burada belirtilen değer süresi boyunca lokal DHCP sunucu istemcilere cevap vermezse DHCP Relay Agent istemcilerden gelen isteği diğer subnetdeki DHCP sunucuya gönderir. Böyle bir yapıyı kullanmak size hata toleransı sağlar.
İstemci Tarafında Yapılacak Ayarlar
Yukarıda geniş detaylarıyla ele aldığımız DHCP mekanizmasını ek***siz tamamladıktan sonra sıra geldi networkde bulunan istemci bilgisayarlarabu DHCP mekanizmasını kullanmalarını söylemeye.Bunun için Microsoft istemcilerde bilgisayarın TCP/IP özelliklerine girip IP adresini otomatik al seçeneğini seçmemiz gerekiyor.
İstemci tarafında TCP/IP özellikleri görebilmek için kullanabileceğimiz bazı komutlar mevcut.Bunlar ipconfig ve winipcfg komutlarıdır.Bu komutlardan winipcfg komutunu sadece Windows 98 ailesinde kullanabilirsiniz. Örneğin bir istemcinin DHCP sunucudan aldığı parametreleri görmek istiyorsak bu istemcinin komut satırından ipconfig /all komutunu çalıştırmalıyız. Bu komut çalıştıktan sonra ekrana bu istemcinin DHCP sunucudan aldığı IP adresi ve diğer DHCP seçenekleri (örneğin istemcinin kullanacağı DNS server’ın adresi ,varsayılan ağ geçidi adresi,WINS sunucu adresi ,kiralama süresi gbi) yazdırılacaktır.Eğer bir istemcinin DHCP sunucudan aldığı IP adresini bırakmasını ve yeni bu DHCP sunucudan yeni bir IP adresi almasını istiyorsanız sırasıyla ipconfig /release ve ipconfig /renew komutlarını çalıştırmanız yeterlidir.
DHCP Veritabanı
DHCP sunucuda bulunan DHCP veritabanı varsayılan olarak 60 dakikada bir yedeklenir.Veritabanının yedeklendiği yer ise Winnt\\\\\\\\System32\\\\\\\\DHCP\\\\\\\\Backup\\\ \\\\\Jet\\\\\\\\New klasorünün içidir. Yedek alma zaman aralığını registry ile oynayarak değiştirebilirsiniz.Bunun için Registry’deki
HKEY_LOCAL_MECHINE\\\\\\\\SYSTEM\\\\\\\\CurrentCon trolSet\\\\\\\\Ser vices\\\\\\\\DHCPServer\\\\\\\\Parameters
yolunu izleyerek burada bulunan BackupInterval anahtarındaki değeri istediğiniz bir değerle değiştirerek yedekleme zaman aralığını değiştirebilirsiniz.
DHCP veritabanı ,DHCP servisinin her başlamasında kontrol edilir ve herhangi bir bozulma olduğu anlaşılırsa yedekten onarılır.Bu işlem DHCP servisi tarafından otomatik olarak yapılır. Bu işlemi manuel olarak yapmak istersek registry’deki
HKEY_LOCAL_MECHINE\\\\\\\\SYSTEM\\\\\\\\CurrentCon trolSet\\\\\\\\Ser vices\\\\\\\\DHCPServer\\\\\\\\Parameters
yolunu izleyerek burada bulunan RestoreFlag parametresini 1 yapmamız gerekiyor.Ardından DHCP servisini yeniden başlatırsanız DHCP veritabanı onarılacaktır. Onarım işlemi başarıyla tamamlandıktan sonra RestoreFlag parametresi 0’a eşitlenecektir.
Bu veritabanını yeniden yüklemenin bir diğer yolu da Winnt\\\\\\\\System32\\\\\\\\Dhcp\\\\\\\\Backup\\\ \\\\\Jet\\\\\\\\New klasorünün içindekileri Winnt\\\\\\\\System32\\\\\\\\Dhcp klasörü içine kopyalayıp DHCP servisini yeniden başlatmaktır.
DHCP veritabanının boyutu ,DHCP sunucunun hizmet verdiği istemci sayısına bağlı olarak değişir ve istemcilerin her IP adresi alışlarında bu veritabanı büyür.Bu veritabanını belli aralıklarla küçültmek gerekir.Bu küçültme işlemi sırasında DHCP veritabanında bulunan geçersi kayıtlar silinir ve böylece dosyanın boyutu küçülür.
DHCP veritabanını küçültme işleminde dinamik ve offline olmak üzere iki metod kullanılır.Dinamik güncelleme işlemi DHCP sunucunun boş olduğu zamanlarda otomatik olarak başlar.DHCP sunucudaki veritabanında herhangi bir güncelleme olmadığı bir zamanda bu veritabanı otomatik olarak birleştirilmeye başlanır.Offline birleştirme işleminde ise Jetpack komutu kullanılır.Offline birleştirme işlemi eğer DHCP sunucu çok yoğunsa yani dinamik birleştirme yapacak kadar boş kalmıyorsa gerçekleştirilebilir.Jetpack komutunun syntax’ı aşağıdaki gibidir.
jetpack <database_adı> <geçici_database_adı>
database_adı: DHCP sunucuda bulunan orjinal DHCP veritabanın adıdır.
geçici_database_adı:Birlekştirme işlemi sırasında kullanılanacak geçici bir veritabanı dosyası adıdır.
Örneğin komut satırında Winnt\\\\\\\\System32\\\\\\\\dhcp klasorüne geçip aşağıdaki komutu çalıştırırsak DHCP veritabanını offline olarak birleştirmiş oluruz.
jetpack dhcp.mdb tmp.mdb
Bu işlemi yaparken dikkat etmemiz gereken önemli bir noktada şudur;Offline birleştirme işlemi sırasında DHCP servisi çalışmamalıdır.Bu servisi net stop dhcpserver komutunu girerek durdurabileceğiniz gibi Computer Management konsolundaki Services’den de durdurabilirsiniz.Birleştirme işlemi bittikten sonra bu servisi net start dhcpserver komutunu girerek tekrar başlatabilirsiniz.
Windows 2000 ile gelen DHCP servisinin güzel özelliklerinden biriside DHCP sunucu hakkında istatistiksel bilgiler verebilmesidir.Bu istatistikleri görmek için DHCP konsolunda bulunan DHCP sunucunun üzerine mouse ile sağ tıklayıp açılan menüden “Display Statistics” seçeneğini seçiyoruz.Karşımıza Şekil 29’deki pencere çıkıyor.Bu pencerede ,seçilen DHCP sunucuda bulunan scope sayısı,toplam IP adresi ,bu IP adreslerini kaçının kullanımda olduğu gibi bilgiler bulunur.
İleri Düzey DHCP Ayarları
SuperScope:
Superscope,birden fazla scope’un bir scope gibi yönetilmesini sağlar.Genellikle DHCP sunucunun, aynı fiziksel subnetde birden fazla IP subnetine hizmet vermesi gereken durumlarda kullanılır.Peki bu duruma neden ihtiyaç duyarız? Bunu şöyle bir örnekle açıklamaya çalışalım.Örneğin çalıştığınız şirket zamanında bir adet C sınıfı IP adresi almış ve istemci bilgisayarlar bu IP adreslerini kullanıyorlar.Daha sonra şirketinizde çalışan eleman sayısı artmış ve buna bağlı olarak da networkdeki istemci bilgisayar sayısı artmıştır.Bu durumda şirketinize ikinci bir C sınıfı IP adresi alarak yeni istemcilere bu IP adres aralığındaki adreslerden dağıtmak isteyeceksiniz.Kullandığınız IP adres aralıkları farklı olduğu için bunları bir scope’da toplayamayacaksınız.Bu engeli aşmak için her iki IP adres aralığını kapsayan birer adet scope tanımlayıp bu iki scope’u içine alan bir superscope oluşturmalıyız.Böylece DHCP sunucumuz her iki IP subnetine’de hizmet verecektir.
Superscope oluşturmak için daha önceden tanımlanmış en az bir tane scope oluşturulmuş olmalıdır.Superscope oluşturulcuktan sonra bu superscope’a scope’lar eklenebilir yada çıkartılabilir.Şimdi sırasıyla Superscope oluşturmak için izlenmesi gereken adımları izleyelim.
İlk önce DHCP konsolunda DHCP sunucunun üzerine mouse ile sağ tıklayıp açılan menüden “New Superscope” seçeneğini seçiyoruz.Karşımıza çıkan Hoşgeldiniz ekranını Next butonuna basarak geçiyoruz.Bir sonraki pencerede oluşturacağımız superscope için bir isim girmemiz isteniyor.Uygun değeri girip Next butonuna bastığımızda karşımıza bu superscope’un içereceği scope’ların seçimin yapıldığı Şekil 30’deki pencere ile karşılaşırız.Bu pencerede listelenen scope’ları Shift tuşuna basarak seçiyoruz.Scope’ları seçtikten sonra Next butonuna basarak superscope oluşturma işlemini bitiriyoruz.
Netsh Komutunu Kullanarak DHCP Sunucuyu Komut Satırından Yönetmek:
Netsh, Windows 2000’in bazı network bileşenlerinin (örneğin yönlendirme arayüzlerinin,RAS,DHCP ve WINS gibi servislerin) komut satırından yönetilmesini sağlayan bir yardımcı programdır.Bu program üç farklı modda çalışabilir;
Online:Bu modda ,Netsh komut satırından girilen komutlar hemen çalıştırılırlar.
Offline:Bu modda ,Netsh komut satırından girilen komutlar biriktirilirler ve kullanıcının coommit komutunu girmesiyle toplu halde çalıştırlırlar.
Script :Bu modda etsh komutlarını içerien bir script dosyası exec komutu yardımıyla çalıştırılır.
Netsh ,Netsh Helper DLL olarak adlandırılan dosyaları kullanır. Sisteminizde yüklü bulunan Helper DLL’leri görmek için komut satırına geçip netsh yazarak netsh komut satırını çalıştırın.Netsh komut satırına geçtikten sonra show helper komutunu yazarsanız Şekil 31’da gösterilen şekilde görüldüğü gibi sisteminizde yüklü bulunan Helper DLL’leri görebilirsiniz.
i şekilde de görüldüğü gibi DHCP için kullanılan Helper DLL’inin adı DHCPMON.DLL’dir.
Bu kadarlık Netsh girişinden sonra bu konut satırını kullanarak DHCP sunucuyu nasıl konfigüre edebileceğimize değinebiliriz.Netsh komut satırına geçtiğimizde komut satırı netsh> şeklinde olacaktır.Netsh komut satırını çalıştırdıktan sonra dhcp yazarak dhcp altbileşenine geçiş yapıyoruz.Komut satırı bu sefer dhcp> şeklini alacaktır.Burada kullanabileceğimiz komutların bir listesini görmek için list komutunu yazıyoruz.Karşımıza bulunduğumuz düzeyde kullanabileceğimiz komut listesi çıkıyor.
Bu düzeyde kullanabileceğiniz komutlar add server,delete server, show server ve server [\\\\\\\\\\\\\\\\servername/ipaddress] komutlarıdır.Örneğin burada show server komutunu girerek Active Directory ‘de tanımlı DHCP sunucuların bir listesini görebilirsiniz.Yönetmek istediğiniz sunucuya bağlanmak için ise komut satırına şunları yazmalısınız.Örneğimizde bağlanacağımız DHCP sunucunun ismi halil’dir.(Eğer lokal bilgisayarda yüklü bulunan DHCP servisini konfigüre edecekseniz sunucu ismini yazmanıza gerek yoktur.)
server \\\\\\\\\\\\\\\\halil
Bu komutu girdikten sonra komut satırı dhcp server> şeklinde değişecektir.Buda demektir ki artık DHCP sunucumuzu konfigüre edeceğimiz düzeye indik.Şimdi bu düzeyde kullanabileceğimiz komutları görmek için de list komutunu yazıyoruz.Karşımıza DHCP sunucuda kullanabileceğimiz 44 adet komut sıralanıyor.
Bu komutların ne işe yaradığını yanlarındaki açıklamaları okuyarak ögrenebilirsiniz.Örneğin bağlı bulunduğunuz DHCP sunucuda yeni bir scope oluşturmak istiyorsanız aşağıdaki şekide gösterildiği gibi bir komut girmeniz gerekiyor.
dhcp server>add scope 10.1.3.0 255.255.255.0 “turkmcse 3.scope”
Yukarıdaki komutu çalıştırdıktan sonra eğer komut başarıyla yürütülmüşse “Command completed successfully” mesajını alırsınız. Bu komutu çalıştırarak turkmcse 3. scope isimli bir scope oluşturduk.(Şekil 34)
Oluşturduğumuz bu scope’un IP adres aralığını tanımlaması yapmak için komut satırından scope düzeyine geçiyoruz.Bunu aşağıdaki komutu yazarak gerçekleştiriyoruz.
dhcp server>scope 10.1.3.0
Yukarıdaki komutu yazıp enter tuşuna basarsak komut satırı dhcp server scope> şeklini alacaktır.Bu bizin scope düzeyine geçtiğimizi gösterir.Şimdi bu scope için bir IP adres aralığı tanımlayalım.Bunun için aşağıdaki komutu çalıştırıyoruz.
dhcp server scope>add iprange 10.1.3.10 10.1.3.250
Böylece oluşturduğumuz turkmcse 3. scope adlı scope’da tanımlı IP adres aralığını 10.1.3.10 ile 10.1.3.250 arasında olacak şekilde ayarlamış olduk.Eğer oluşturduğunuz scope içinde istemcilere dağıtılmasını istemediğiniz IP adres aralığı vasa bunuda aşağıdaki komutu kullanarak belirliyorsunuz.
dhcp server scope>add excluderange 10.1.3.40 10.1.3.50
Netsh komut satırını kullanarak DHCP konsolunda gerçekleştirebildiğiniz tüm ayarları yapabilirsiniz.
Cisco Router’ın DHCP Relay Agent Olarak Konfigüre Edilmesi
Bu bölümde Cisco router’ların nasıl DHCP Relay Agent olarak konfigüre edileceğini inceleyeceğiz.Burada kullanılan komutlar Cisco router’larda geçerlidir (Cisco 2500 serisi).Eğer kullandığınız router farklı bir marka ise gerekli komut setlerini değiştirmeniz gerekebilir.
Öncelikle router’a bağlantı sağlanır.Bu bağlantıyı telnet yada konsol portundan gerçekleştirebilirsiniz.Bağlantı gerçekleştikten sonra User moda düşersiniz.User modundan Privileged moda geçmek için ise aşağıdaki komutu yazıp enter’a basıyoruz.
Router> Enable
Ardından privileged moda geçmek içi bir şifre tanımlanmışsa bu şifreyi giriyoruz.Şifreyi doğru girdikten sonra komut satırının aşağıdaki şekle dönüşmesi gerekiyor.
Router#
Privileged moddan konfigürasyon moduna geçiyoruz.Bunun için aşağıdaki komutu çalıştırıyoruz.
Router# config terminal
Enter configuration commands, one per line. End with CTRL/Z.
Router (config)#
Konfigürasyon moduna giriş yaptıktan sonra sırasıyla aşağıdaki iki komutu giriyoruz.
Router (config)# ip forward-protocol udp 67
Router (config)# ip forward-protocol udp 68
Bu komutlar router’a UDP protokolu 67 ve 68 nolu UDP portlarından gelecek broadcast mesajlarını geçirmesini söyler. Eğer bu komutlarda port numarasını belirtmezseniz router tüm broadcast mesajlarını geçirecektir ki bu durum istenmeyen bir durumdur.
Daha sonra aşağıdaki iki komutu girerek router’ın DHCP Relay Agent olarak çalışmasını sağlıyoruz.
Router (config)# interface ethernet 0
Router (config-if)# ip helper-address 10.1.1.1
Burada router’in ethernet 0 arayüzünün bağlı bulunduğu subnetdeki istemciler için DHCP Relay Agent görevi üstleneceğini varsayıyoruz.Ayrıca ikinci komutda girilen IP adresi ise kullanacağımız DHCP sunucunun IP adresidir.Yaptığımız değişikliklerin kalıcı olması için aşağıdaki komutları yazıp router’dan çıkıyoruz.
Router (config-if)# exit
Router (config)# exit
Router# copy running-config startup-config
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 Discover olarak 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 mesaj ACK 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ı pencereden Networking 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.
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.)
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.)
Scope,bir DHCP sunucuda tanımlanan ve istemcilere dağıtılacak IP adres aralığıdır. Bir DHCP sunucusunun istemcilerden gelecek IP adresi isteklerine cevap verebilmesi için,bu DHCP sunucuda en az bir tane scope oluşturulmalı ve aktif edilmelidir. Bir scope oluşturmak için izlenecek adımlar ise şöyledir ;
Administrative Tools’dan DHCP konsolunu çalıştırıyoruz. Açılan pencereden scope’un oluşturulacağı sunucuya mouse ile sağ tıklayıp açılan menüden New Scope seçeneğini seçiyoruz.Karşımıza “New Scope Wizard” başlıklı bir pencere çıkıyor.Bu penceredeki Next butonuna basarak ilerlediğimizde karşımıza ,oluşturacağımız scope için bir isim ve açıklama gireceğimiz Şekil 4’deki pencere çıkıyor.Uygun bir değer girip Next butonuna basıyoruz.
Daha sonra karşımıza ,oluşturacağımız scope ‘da dağıtılacak IP adres aralığını belirlediğimiz Şekil 5’deki pencere çıkar.
Bu penceredeki “Start IP address” ile “End IP address” değerlerini girerek bu scope için kullanılacak IP adres aralığını belirliyoruz. Örneğimizde oluşturduğumuz scope’u 10.1.1.10 ile 10.1.1.254 adresleri arasındaki IP adreslerini içerecek şekilde tanımladık. Bu ekranda ayrıca dağıtılacak IP adresleriyle birlikte kullanılacak Subnet mask değerinide belirliyoruz. Bu penceredeki “Length” değerini değiştirerek yada aşağıda bulunan “Subnet mask” alanına uygun bir değer girerek bu IP adres aralığı için kullanılacak subnet mask değerini belirleyebiliyorsunuz.Length alanında belirtilen değer 32 bitlik subnet mask değeri içerisinde ilk kaç bitin 1 olacağını gösterir. Uygun değerleri girdikten sonra Next butonuna basıp ilerliyoruz.
Next butonuna basıp ilerlediğimizde ise karşımıza “Lease Duration” başlıklı Şekil 7’deki pencere çıkar. Bu pencerede IP adres kiralama süresi belirlenir ve varsayılan olarak 8 gündür. Burada belirtilen süre bir istemcinin aldığı IP adresini kullanabileceği süreyi belirtir.
Eğer No seçeneğini seçerseniz bu seçenekler size sorulmayacak ve DHCP seçeneklerini kendiniz girmeniz gerekecektir. Son olarak da “Activate Scope” başlıklı pencere ile karşılaşıyoruz. DHCP sunucuda oluşturduğunuz scope’daki IP adreslerini dağıtılması için scope’un aktif hale getirilmesi gerekir. Eğer siz oluşturduğunuz scope’un hemen aktif olmasını istemiyorsanız No seçeneğini seçerek istediğiniz zaman bu scope’u aktif hale getirebilirsiniz.
Burada scope bazında geçerli olacak DHCP seçeneklerinin bazıları istemci tarafında da ayarlanabilir. Örneğin bir istemcinin kullanacağı ağ geçidi adresini manuel olarak girebilirsiniz. Bu durumda eğer DHCP sunucu da bir ağ geçidi adresi dağıtıyorsa istemci tarafında tanımlanan ağ geçidi adresi geçerli olur.Yani istemci tarafında yapılan tüm konfigürasyonlar ,DHCP tarafından gönderilen konfigürasyonların üzerine yazar.
Şekil 11’de görüldüğü gibi DHCP konsolunu açtığımızda “Server Options” isimli bir konteynır görürüz. Bu konteynır ,DHCP sunucuda bulunan tüm scope’lar için geçerli olacak seçeneklerin ayarlandığı konteynırdır. Örneğin şirketinizde bulunan DHCP sunucuda iki farklı scope bulunsun.Ayrıca bu networkte iki tane de DNS sunucu bulunsun.Bu DNS sunucuların ikisininde ağdaki tüm istemciler tarafından kullanılmasını istiyorsunuz.Bu durumda bu DNS sunucuları ,scope’ların herbirinde ayrı ayrı tanımlamak yerine “Server Options” kısmında tanımlayarak ,bu DHCP sunucudaki tüm scope’ler için kulanılmasını sağlayabilirsiniz. DHCP sunucudaki tüm scope’lar için geçerli olacak seçenekleri ayarlamak için “Server Options” konteynırına mouse ile sağ tıklayıp açılan menüden “Configure Options” seçeneğini seçiyoruz. Karşımıza Şekil 12’deki pencere çıkıyor. Bu pencerede tüm scope’ler için geçerli olacak seçenekleri teker teker seçip uygun değerleri girebilirsiniz.
DHCP Sunucunun Konfigürasyonu
DHCP sunucunun ayarlarını düzenlemek için DHCP konsolunda bulunan DHCP server’ın üzerine mouse ile sağ tıklayıp açılan menüden Properties’i seçiyoruz. Karşımıza şekil 13’deki pencere çıkıyor.
‘Automatically update statistics every’ seçeneğini seçtiğiniz zaman ,aşağıda bir zaman dilimi belirleyebileceğiniz alan aktif olacaktır. Bu alana girdiğiniz süre,DHCP sunucunun istatistiklerinin güncelleneceği periyodu belirler.
‘Enable DHCP audit logging’ seçeneğini seçtiğinizde ki bu seçenek varsayılan olarak seçilidir,DHCP sunucu her gün için bir log dosyası olmak üzere bir haftalık log dosyaları oluşturacaktır.Bu log dosyaları ASCII formatında dosyalar olup Notepad gibi bir text editör programı kullanılarak içerikleri kolaylıkla görülebilir.Log dosyaları Winnt\\\\\\\\System32\\\\\\\\Dhcp klasöründe oluşturulur.Örnek bir log dosyası aşağıdaki gibidir.
“Show the BOOTP table folder” seçeneğini seçtiğinizde ise DHCP konsoluna “BOOTP Table” adlı bir konteynır eklenir.Bu konteynıra tıkladığıızda sisteminizde bulunan BOOTP kayıtlarını görebilirsiniz.BOOTP kayıtlarının nasıl oluşturulacağı hakkında ayrıntılı bilgiyi Windows 2000 Help’inden bulabilirsiniz.
‘Automatically update DHCP client information in DNS’ seçeneği DHCP sunucunun ,istemci bilgilerini DNS sunucuda otomatik olarak güncellemesini sağlar.Eğer bu seçeneği seçmezseniz DHCP sunucunuz ile DNS sunucunuz birbirleriyle entegre bir şekilde çalışmayacaktır. ‘Update DNS only if DHCP client request’ seçeneği DNS sunucudaki istemci kayıtlarının ,sadece istemcilerin istekte bulunması halinde güncellemelerini sağlar. Eğer siz istemci kayıtlarının her zaman DNS sunucuda güncellenmelerini istiyorsanız o zaman ‘Always update DNS’ seçeneğini seçmelisiniz. ‘Discard forward (name-to-address) lookups when lease expires’ seçeneği, istemci bilgisayarlardan kiralama süreleri bitemlerin kayıtlarının DNS sunucudan silinmesini sağlar.’ Enable updates for DNS clients that do not support dynamic update’ seçeneği ise ,kendi kayıtlarını DNS sunucuda güncelleyemeyen istemcilerin (örneğin Windows 95/98 veya Windows NT ) kayıtlarının DHCP sunucu tarafından güncellenmelerini sağlar.
Advanced tabına tıkladığımızda ise karşımıza Şekil 15’deki pencere çıkar.Bu pencerede bulunan “Conflict detection attempts” kısmında belirtilen sayı ,DHCP sunucunun IP havuzundaki bir IP adresini bir istemciye kiraya vermeden önce bu IP adresinin kullanımda olup olmadığını kaç kez test edeceğini belirler.Eğer buradaki değer 0’ın haricinde bir sayı ise DHCP sunucu, IP adres havuzundaki adreslerin hangisinin istemcilere kiraya verilmeye uygun olduğunu bu IP adreslerine ping atarak anlar.Ping işlemi başarılı olan IP adresleri network’te kullanılıyor demektir ve DHCP sunucu bu IP adreslerinin kullanımda olduğunu bildiği için istemcilerden gelen IP isteklerinde bu IP adreslerini istemcilere önermez.Burada belirtilen değerin 2’den büyük bir değer olmaması önerilir.Zira burada belirlediğiniz değer DHCP sunucunun yükünü arttıracaktır.
“Audit log file path” kısmında belirtilen yol ise DHCP sunucunun audit loglarını tutacağı klasörü belirtir.Varsayılan olarak log dosyaları “C:\\\\\\\\WINNT\\\\\\\\System32\\\\\\\\dhcp” klasoründe tutulur.”Database path” kısmında belirtilen yol ise DHCP veritabanının tutulacağı klasorü belirtir.Veritabanı dosyaları varsayılan olarak log dosyalarıyla aynı klasorde tutulur.
Network Grup/
DHCP sunucunun konfigürasyonu hakkında detaylı bilgileri öğrendikten sonra şimdide biraz DHCP konsolu ile neler yapabileceğimize bir göz atalım. DHCP konsolunu açtığımızda karşımıza çıkan pencerenin sol tarafında DHCP sunucular listelenir. Bu sunucuların yanında bulunan + işaretine tıkladığımızda ise ,sunucuda oluşturulan scope’ların listelendiğini görürüz. Bir scope’da ‘Address Pool’,’Address Leases’, ‘Reservations’ ve ‘Scope Options’ isimli dört tane konteynır bulunur. ‘Address Pool’ konteynırına tıkladığımızda ,scope oluşturulurken tanımlanan başlangıç ve bitiş IP adresleri ve varsa bu adres aralığında bulunan fakat istemcilere dağıtılmasına izin verilmeyen IP adresleri listelenir.(Şekil 18)
’Address Leases’ konteynırına tıkladığınızda ise DHCP sunucunun bu scope’dan hangi IP adreslerini hangi bilgisayara atadığını görebilirsiniz
Networkdeki bazı bilgisayarların her zaman aynı IP adresini kullanmaları gerekebilir. Bu durumda ya bu bilgisayarların IP adreslerini manuel olarak girmeli yada DHCP sunucuda bu IP adreslerini sadece bu bilgisayarların kullanabileceği şekilde saklamalısınız. İşte bu işleme ‘Address Reservation’ işlemi denir ve bir scope’da tanımlanan adres rezarvasyonlarını ‘Reservations’ konteynırına tıklayarak görebilirsiniz. Bu işlemi gerçekleştirmek için istemci bilgisayarın MAC adresinin bilinmesi gerekir. MAC adresi 48 bit uzunluğunda bir sayı olup herbir network kartı için tektir. Bir bilgisayarın MAC adresini öğrenmek için komut satırından ipconfig /all konutunu girmelisiniz.Bu komutun çalıştırılmasından sonra ekrana yazılan bilgiler arasında ,istemcinin kullandığı network kartının MAC adresi de bulunur. Address Reservation işlemi için izlemeniz gereken adımlar ise şöyledir;
İlk önce rezerve edilecek IP adresinin bulunduğu scope’daki “Reservations” konteynırına mouse ile sağ tıklanıp ve açılan menüden “New Reservation” seçeneğini seçiyoruz.Karşımıza Şekil 20’deki pencere çıkıyor.Bu pencerede bulunan “Reservation Name” kısmına yaptığımız bu rezervasyona uygun bir isim yazıyoruz. ”IP Adress” kısmına ise istemciye verilmesini istediğimiz IP adresini yazıyoruz.”MAC Adress” kısmına ise bir önceki adımda nasıl öğrenilebiceğini anlattığımız MAC adresini yazıyoruz. “Description” kısmına da uygun bir açıklama girerek Add butonuna basıp rezervasyon işlemini bitiriyoruz.
Peki bu rezervasyon işleminin bize ne tür faydaları var? Yani biz, rezerve ettiğimiz IP adreslerini direkt olarak gidip istemci bilgisayarlara manuel olarak girebilir ve bu IP adresini DHCP sunucudaki “Exclusion Range” ‘da tanımlayabiliriz.Bu durumda bu istemci problemsiz bir şekilde network’e katılır ve çalışmaya başlar. Ama biz bu istemci için DHCP sunucunun bize sağlamış olduğu kolaylıkları kullanamayız.Yani farzedelim ki network’de kullandığımız WINS sunucunun IP adresi değişti.Bu durumda IP adresleri manuel olarak girilen tüm istemci bilgisayarlarda bu WINS sunucunun adresi teker teker manuel olarak değiştirilmelidir.Ama bu istemcileri DHCP client olarak konfigüre edip daha sonra DHCP sunucuda bu isteciler için birer rezervasyon tanımlamış olsaydık bu değişikliği herbir bilgisayara ayrı ayrı gidip manuel olarak yapmamıza gerek kalmayacaktı ve sadece DHCP sunucuda yapılacak olan WINS sunucunun IP adres değişiminden haberdar olacaklardı
Bunun haricinde ,DHCP sunucuda rezerve edilmiş IP adresleri için ait oldukları scope’da geçerli olan DHCP seçeneklerinin haricinde (örneğin DNS sunucu adresi yada WINS sunucu adresi gibi) ,sadece rezerve edilen istemci için geçerli olacak DHCP seçenekleri belirleyebiliyorsunuz. Aşağıdaki şekilde,DHCP sunucudaki bir scope’da tanımlanan bir rezervasyon için ayarlanabilecek rezervasyon seçeklerini görebilirsiniz
DHCP Seçenekleri
DHCP seçenekleri ,DHCP sunucuyu kullanan istemcilere IP adresi ve subnet mask değerlerinin dışında atanan diğer network parametreleridir.(Örneğin DNS sunucu adresi,varsayılan ağ geçidi adresi ,WINS sunucu adresi vb gibi )Bu seçenekler DHCP sunucuda dört farklı düzeyde uygulanabilir. Bunlar;
Server Seçenekleri
Scope Seçenekleri
İstemci Seçenekeleri
Class Seçenekleri
Server seçenekleri,DHCP sunucuda tanımlanan tüm scopelarda geçerli olacak seçeneklerdir. Örneğin şirketinizin DNS sunucusunun,DHCP sunucuda tanımlanan iki farklı scope’daki istemciler tarafından kullanılmasını istiyorsanız o zaman bu DNS sunucunun IP adresini Server seçenekleri (Server Options) konteynırında tanımlamalısınız.
Scope seçenekleri ise sadece o scope’dan IP adresi alan istemcileri etkileyecek seçeneklerdir.Örneğin herbir scope’un ait olduğu subnetlerin varsayılan ağ geçidi adresi (default gateway) farklı olabilir. Bu durumda her bir scope için farklı bir ağ geçidi adresi tanımlamamız gerekebilir. Bunu scope seçeneklerini kullanarak gerçekleştirebiliriz.
İstemci seçenekleri ise belirlenen üreticiye ve kullanıcı gurubuna göre geçerli olacak seçeneklerdir. Bu üreticilerin ve kullanıcı gruplarının hangileri olduğunu görmek için Server,Scope yada istemci seçeneklerinin ayarlandığı herhangi bir penceredeki “Advanced“ tabına basarak görebilirsiniz.Burada belirlediğiniz seçenekler sadece seçilen üretici ve kullanıcı gurubu için geçerli olacaktır.(Bu seçenekler eğer şirketinize RRAS üzerinden bağlanan kullanıcılara DHCP üzerinden IP adresi dağıtıyorsanız bir hayli işinize yarayacaktır.)
Şimdi bu seçeneklerin nasıl ayarlandığına bir göz atalım. İlk önce seçeneklerin hangi düzeyde etkili olacağını belirlemelisiniz. Biz örneğimizde Server seçeneklerini konfigüre edeceğiz. Bunun için DHCP konsolunda bulunan “Server Options” konteynırına mouse ile sağ tıklayıp açılan menüden “Configure Options” seçeneğini seçiyoruz.Karşımıza Şekil 23’deki pencere çıkıyor. Bu pencerede herbirinin başında 003,044 ,046 gibi rakamlar bulunan bir çok seçenek var. Biz burada bu seçeneklerden en çok kullanılanlarından bahsedeceğiz. Örneğin 003 Router seçeneğini seçtiğinizde bu pencerenin alt tarafında ,DHCP sunucudaki tüm tanımlı scope’larda geçerli olacak bir varsayılan ağ geçidi adresi girebileceğimiz kısım aktif olacaktır. Bunun haricinde 006 nolu seçenek DNS sunucuyu ,015 nolu seçenek Domain ismini ,044 WINS sunucunun adresini ve 046 ise adres çözümlemede kullanılacak yöntemi belirler.Bu son seçenek üzerinde biraz duralım.Network’de bilgisayar isimleri çözülürken kullanılacak metodu belirler bu seçenek.Yani istemci ,NetBIOS isimlerini çözümlerken ilk önce broadcast yapıp daha sonra mı WINS sunucudan soracağını ,yoksa tam tersi bir sorgulama mı gerçekleştireceğini ,yada sadece WINS sunucudan sorgulama veya sadece broadcast yöntemiyle isim çözmeye çalışma yöntemlerinden hangisini kullanacağını bu seçenekdeki değere bakarak anlar.Bu seçeneğin alabileceği değerler ve anlamları aşağıda verilmiştir.
0x1=B-node (Sadece broadcast yöntemi kullanılır.)
0x2=P-node (Sadece WINS sunucular kullanılır.)
0x4=M-node (İlk önce broadcast yöntemi kullanılar,eğer başarılı olamazsa WINS sunuculara başvurulur)
0x8=H-node (İlk önce WINS sunuculara gidilir eğer isim çözümleme işlemi başarısız olursa broadcast yöntemi kullanılır.)
Yönlendirici (Router) Kullanılan Network’lerde DHCP Sunucu Konfigürasyonu
Yönlendiriciler, altağları(subnet) birleştirmek için kullanılan cihazlardır. Yönlendiricilerin en temel vazifeleri birleştirdiği ağlar arasındaki paket alış verişini en etkin biçimde yerine getirmektir. Yönlendiricilerin özeliklerinden birisi de kendisine bağlı subnetlerden herhangi birisinden gelen broadcast mesajlarının diğer subnetlere iletilmesini önlemektir. Fakat DHCP ,broadcast temelli bir servistir ve DHCP mesajları yönlendirici kullanılan network’de sadece DHCP sunucunun bulunduğu subnetdeki istemciler ve sunucu arasında alınıp verilebilecektir. Bu durumda diğer subnetlerdeki istemciler herhangi bir şekilde DHCP sunucuyla iletişime geçemeyecek ve geçerli bir IP adresi alamayacaktır.
Yönlendirici kullanılan networklerde DHCP servisinin düzgün çalışabilmesi için izlenebilecek üç farklı yöntem vardır. Bunlar;
a) Her bir subnet’e bir DHCP sunucu kurulur. Böylece her bir subnet için gerekli olan konfigürasyonlar bu sunucu üzerinde gerçekleştirilir.
b) Subnetleribirleştiren yönlendiriciyi DHCP mesajlarını geçirecek şekilde (RFC 1542 uyumlu) konfigüre etmek .Bu durumda yönlendirici ,subnetler arasında sadece DHC Pbroadcast mesajlarını geçirecek ve diğer broadcast mesajların geçmesini engelleyecektir. Böylece sbnetlerin herhangi birisine kurduğunuz bir DHCP sunucu ile tüm subnetlerdeki istemcilere hizmet verebilirsiniz.
c) Her bir subnet’de bir tane DHCP Relay Agent bulundurmak.DHCP Relay Agent kendi dubnet’inden yapılan DHCP broadcast mesajlarını alarak yönlendiriciden geçebilecek hale getirir yani direkt olaak DHCP sunucuya yollar ve DHCP sunucudan gelen yanıtı da kendi subnet’ine broadcast yoluyla yollar.
Windows 2000 yüklü bir bilgisayara DHCP Relay Agent ‘ı kurmak için aşağıdaki adımları izlemeniz gerekiyor.
İlk önce Administrative Tools’dan Routing and Remote Access konsolunu açıyoruz.Açılan pencereden IP Routing konteynırınını + işaretine basarak genişletiyoruz.Ardından Generel konteynırına mouse ile sağ tıklayıp açılan menüden “New Routing Protocol” seçeneğini seçiyoruz.
Boot Threshold :Bu parametre ,hem lokal subnetdeki hemde yönlendiriciyle ayrılmış subnetdeki DHCP sunucuları birlikte kullanacaksanız önem kazanır. Şöyle ki,burada belirtilen değer süresi boyunca lokal DHCP sunucu istemcilere cevap vermezse DHCP Relay Agent istemcilerden gelen isteği diğer subnetdeki DHCP sunucuya gönderir. Böyle bir yapıyı kullanmak size hata toleransı sağlar.
İstemci Tarafında Yapılacak Ayarlar
Yukarıda geniş detaylarıyla ele aldığımız DHCP mekanizmasını ek***siz tamamladıktan sonra sıra geldi networkde bulunan istemci bilgisayarlarabu DHCP mekanizmasını kullanmalarını söylemeye.Bunun için Microsoft istemcilerde bilgisayarın TCP/IP özelliklerine girip IP adresini otomatik al seçeneğini seçmemiz gerekiyor.
İstemci tarafında TCP/IP özellikleri görebilmek için kullanabileceğimiz bazı komutlar mevcut.Bunlar ipconfig ve winipcfg komutlarıdır.Bu komutlardan winipcfg komutunu sadece Windows 98 ailesinde kullanabilirsiniz. Örneğin bir istemcinin DHCP sunucudan aldığı parametreleri görmek istiyorsak bu istemcinin komut satırından ipconfig /all komutunu çalıştırmalıyız. Bu komut çalıştıktan sonra ekrana bu istemcinin DHCP sunucudan aldığı IP adresi ve diğer DHCP seçenekleri (örneğin istemcinin kullanacağı DNS server’ın adresi ,varsayılan ağ geçidi adresi,WINS sunucu adresi ,kiralama süresi gbi) yazdırılacaktır.Eğer bir istemcinin DHCP sunucudan aldığı IP adresini bırakmasını ve yeni bu DHCP sunucudan yeni bir IP adresi almasını istiyorsanız sırasıyla ipconfig /release ve ipconfig /renew komutlarını çalıştırmanız yeterlidir.
DHCP Veritabanı
DHCP sunucuda bulunan DHCP veritabanı varsayılan olarak 60 dakikada bir yedeklenir.Veritabanının yedeklendiği yer ise Winnt\\\\\\\\System32\\\\\\\\DHCP\\\\\\\\Backup\\\ \\\\\Jet\\\\\\\\New klasorünün içidir. Yedek alma zaman aralığını registry ile oynayarak değiştirebilirsiniz.Bunun için Registry’deki
HKEY_LOCAL_MECHINE\\\\\\\\SYSTEM\\\\\\\\CurrentCon trolSet\\\\\\\\Ser vices\\\\\\\\DHCPServer\\\\\\\\Parameters
yolunu izleyerek burada bulunan BackupInterval anahtarındaki değeri istediğiniz bir değerle değiştirerek yedekleme zaman aralığını değiştirebilirsiniz.
DHCP veritabanı ,DHCP servisinin her başlamasında kontrol edilir ve herhangi bir bozulma olduğu anlaşılırsa yedekten onarılır.Bu işlem DHCP servisi tarafından otomatik olarak yapılır. Bu işlemi manuel olarak yapmak istersek registry’deki
HKEY_LOCAL_MECHINE\\\\\\\\SYSTEM\\\\\\\\CurrentCon trolSet\\\\\\\\Ser vices\\\\\\\\DHCPServer\\\\\\\\Parameters
yolunu izleyerek burada bulunan RestoreFlag parametresini 1 yapmamız gerekiyor.Ardından DHCP servisini yeniden başlatırsanız DHCP veritabanı onarılacaktır. Onarım işlemi başarıyla tamamlandıktan sonra RestoreFlag parametresi 0’a eşitlenecektir.
Bu veritabanını yeniden yüklemenin bir diğer yolu da Winnt\\\\\\\\System32\\\\\\\\Dhcp\\\\\\\\Backup\\\ \\\\\Jet\\\\\\\\New klasorünün içindekileri Winnt\\\\\\\\System32\\\\\\\\Dhcp klasörü içine kopyalayıp DHCP servisini yeniden başlatmaktır.
DHCP veritabanının boyutu ,DHCP sunucunun hizmet verdiği istemci sayısına bağlı olarak değişir ve istemcilerin her IP adresi alışlarında bu veritabanı büyür.Bu veritabanını belli aralıklarla küçültmek gerekir.Bu küçültme işlemi sırasında DHCP veritabanında bulunan geçersi kayıtlar silinir ve böylece dosyanın boyutu küçülür.
DHCP veritabanını küçültme işleminde dinamik ve offline olmak üzere iki metod kullanılır.Dinamik güncelleme işlemi DHCP sunucunun boş olduğu zamanlarda otomatik olarak başlar.DHCP sunucudaki veritabanında herhangi bir güncelleme olmadığı bir zamanda bu veritabanı otomatik olarak birleştirilmeye başlanır.Offline birleştirme işleminde ise Jetpack komutu kullanılır.Offline birleştirme işlemi eğer DHCP sunucu çok yoğunsa yani dinamik birleştirme yapacak kadar boş kalmıyorsa gerçekleştirilebilir.Jetpack komutunun syntax’ı aşağıdaki gibidir.
jetpack <database_adı> <geçici_database_adı>
database_adı: DHCP sunucuda bulunan orjinal DHCP veritabanın adıdır.
geçici_database_adı:Birlekştirme işlemi sırasında kullanılanacak geçici bir veritabanı dosyası adıdır.
Örneğin komut satırında Winnt\\\\\\\\System32\\\\\\\\dhcp klasorüne geçip aşağıdaki komutu çalıştırırsak DHCP veritabanını offline olarak birleştirmiş oluruz.
jetpack dhcp.mdb tmp.mdb
Bu işlemi yaparken dikkat etmemiz gereken önemli bir noktada şudur;Offline birleştirme işlemi sırasında DHCP servisi çalışmamalıdır.Bu servisi net stop dhcpserver komutunu girerek durdurabileceğiniz gibi Computer Management konsolundaki Services’den de durdurabilirsiniz.Birleştirme işlemi bittikten sonra bu servisi net start dhcpserver komutunu girerek tekrar başlatabilirsiniz.
Windows 2000 ile gelen DHCP servisinin güzel özelliklerinden biriside DHCP sunucu hakkında istatistiksel bilgiler verebilmesidir.Bu istatistikleri görmek için DHCP konsolunda bulunan DHCP sunucunun üzerine mouse ile sağ tıklayıp açılan menüden “Display Statistics” seçeneğini seçiyoruz.Karşımıza Şekil 29’deki pencere çıkıyor.Bu pencerede ,seçilen DHCP sunucuda bulunan scope sayısı,toplam IP adresi ,bu IP adreslerini kaçının kullanımda olduğu gibi bilgiler bulunur.
İleri Düzey DHCP Ayarları
SuperScope:
Superscope,birden fazla scope’un bir scope gibi yönetilmesini sağlar.Genellikle DHCP sunucunun, aynı fiziksel subnetde birden fazla IP subnetine hizmet vermesi gereken durumlarda kullanılır.Peki bu duruma neden ihtiyaç duyarız? Bunu şöyle bir örnekle açıklamaya çalışalım.Örneğin çalıştığınız şirket zamanında bir adet C sınıfı IP adresi almış ve istemci bilgisayarlar bu IP adreslerini kullanıyorlar.Daha sonra şirketinizde çalışan eleman sayısı artmış ve buna bağlı olarak da networkdeki istemci bilgisayar sayısı artmıştır.Bu durumda şirketinize ikinci bir C sınıfı IP adresi alarak yeni istemcilere bu IP adres aralığındaki adreslerden dağıtmak isteyeceksiniz.Kullandığınız IP adres aralıkları farklı olduğu için bunları bir scope’da toplayamayacaksınız.Bu engeli aşmak için her iki IP adres aralığını kapsayan birer adet scope tanımlayıp bu iki scope’u içine alan bir superscope oluşturmalıyız.Böylece DHCP sunucumuz her iki IP subnetine’de hizmet verecektir.
Superscope oluşturmak için daha önceden tanımlanmış en az bir tane scope oluşturulmuş olmalıdır.Superscope oluşturulcuktan sonra bu superscope’a scope’lar eklenebilir yada çıkartılabilir.Şimdi sırasıyla Superscope oluşturmak için izlenmesi gereken adımları izleyelim.
İlk önce DHCP konsolunda DHCP sunucunun üzerine mouse ile sağ tıklayıp açılan menüden “New Superscope” seçeneğini seçiyoruz.Karşımıza çıkan Hoşgeldiniz ekranını Next butonuna basarak geçiyoruz.Bir sonraki pencerede oluşturacağımız superscope için bir isim girmemiz isteniyor.Uygun değeri girip Next butonuna bastığımızda karşımıza bu superscope’un içereceği scope’ların seçimin yapıldığı Şekil 30’deki pencere ile karşılaşırız.Bu pencerede listelenen scope’ları Shift tuşuna basarak seçiyoruz.Scope’ları seçtikten sonra Next butonuna basarak superscope oluşturma işlemini bitiriyoruz.
Netsh Komutunu Kullanarak DHCP Sunucuyu Komut Satırından Yönetmek:
Netsh, Windows 2000’in bazı network bileşenlerinin (örneğin yönlendirme arayüzlerinin,RAS,DHCP ve WINS gibi servislerin) komut satırından yönetilmesini sağlayan bir yardımcı programdır.Bu program üç farklı modda çalışabilir;
Online:Bu modda ,Netsh komut satırından girilen komutlar hemen çalıştırılırlar.
Offline:Bu modda ,Netsh komut satırından girilen komutlar biriktirilirler ve kullanıcının coommit komutunu girmesiyle toplu halde çalıştırlırlar.
Script :Bu modda etsh komutlarını içerien bir script dosyası exec komutu yardımıyla çalıştırılır.
Netsh ,Netsh Helper DLL olarak adlandırılan dosyaları kullanır. Sisteminizde yüklü bulunan Helper DLL’leri görmek için komut satırına geçip netsh yazarak netsh komut satırını çalıştırın.Netsh komut satırına geçtikten sonra show helper komutunu yazarsanız Şekil 31’da gösterilen şekilde görüldüğü gibi sisteminizde yüklü bulunan Helper DLL’leri görebilirsiniz.
i şekilde de görüldüğü gibi DHCP için kullanılan Helper DLL’inin adı DHCPMON.DLL’dir.
Bu kadarlık Netsh girişinden sonra bu konut satırını kullanarak DHCP sunucuyu nasıl konfigüre edebileceğimize değinebiliriz.Netsh komut satırına geçtiğimizde komut satırı netsh> şeklinde olacaktır.Netsh komut satırını çalıştırdıktan sonra dhcp yazarak dhcp altbileşenine geçiş yapıyoruz.Komut satırı bu sefer dhcp> şeklini alacaktır.Burada kullanabileceğimiz komutların bir listesini görmek için list komutunu yazıyoruz.Karşımıza bulunduğumuz düzeyde kullanabileceğimiz komut listesi çıkıyor.
Bu düzeyde kullanabileceğiniz komutlar add server,delete server, show server ve server [\\\\\\\\\\\\\\\\servername/ipaddress] komutlarıdır.Örneğin burada show server komutunu girerek Active Directory ‘de tanımlı DHCP sunucuların bir listesini görebilirsiniz.Yönetmek istediğiniz sunucuya bağlanmak için ise komut satırına şunları yazmalısınız.Örneğimizde bağlanacağımız DHCP sunucunun ismi halil’dir.(Eğer lokal bilgisayarda yüklü bulunan DHCP servisini konfigüre edecekseniz sunucu ismini yazmanıza gerek yoktur.)
server \\\\\\\\\\\\\\\\halil
Bu komutu girdikten sonra komut satırı dhcp server> şeklinde değişecektir.Buda demektir ki artık DHCP sunucumuzu konfigüre edeceğimiz düzeye indik.Şimdi bu düzeyde kullanabileceğimiz komutları görmek için de list komutunu yazıyoruz.Karşımıza DHCP sunucuda kullanabileceğimiz 44 adet komut sıralanıyor.
Bu komutların ne işe yaradığını yanlarındaki açıklamaları okuyarak ögrenebilirsiniz.Örneğin bağlı bulunduğunuz DHCP sunucuda yeni bir scope oluşturmak istiyorsanız aşağıdaki şekide gösterildiği gibi bir komut girmeniz gerekiyor.
dhcp server>add scope 10.1.3.0 255.255.255.0 “turkmcse 3.scope”
Yukarıdaki komutu çalıştırdıktan sonra eğer komut başarıyla yürütülmüşse “Command completed successfully” mesajını alırsınız. Bu komutu çalıştırarak turkmcse 3. scope isimli bir scope oluşturduk.(Şekil 34)
Oluşturduğumuz bu scope’un IP adres aralığını tanımlaması yapmak için komut satırından scope düzeyine geçiyoruz.Bunu aşağıdaki komutu yazarak gerçekleştiriyoruz.
dhcp server>scope 10.1.3.0
Yukarıdaki komutu yazıp enter tuşuna basarsak komut satırı dhcp server scope> şeklini alacaktır.Bu bizin scope düzeyine geçtiğimizi gösterir.Şimdi bu scope için bir IP adres aralığı tanımlayalım.Bunun için aşağıdaki komutu çalıştırıyoruz.
dhcp server scope>add iprange 10.1.3.10 10.1.3.250
Böylece oluşturduğumuz turkmcse 3. scope adlı scope’da tanımlı IP adres aralığını 10.1.3.10 ile 10.1.3.250 arasında olacak şekilde ayarlamış olduk.Eğer oluşturduğunuz scope içinde istemcilere dağıtılmasını istemediğiniz IP adres aralığı vasa bunuda aşağıdaki komutu kullanarak belirliyorsunuz.
dhcp server scope>add excluderange 10.1.3.40 10.1.3.50
Netsh komut satırını kullanarak DHCP konsolunda gerçekleştirebildiğiniz tüm ayarları yapabilirsiniz.
Cisco Router’ın DHCP Relay Agent Olarak Konfigüre Edilmesi
Bu bölümde Cisco router’ların nasıl DHCP Relay Agent olarak konfigüre edileceğini inceleyeceğiz.Burada kullanılan komutlar Cisco router’larda geçerlidir (Cisco 2500 serisi).Eğer kullandığınız router farklı bir marka ise gerekli komut setlerini değiştirmeniz gerekebilir.
Öncelikle router’a bağlantı sağlanır.Bu bağlantıyı telnet yada konsol portundan gerçekleştirebilirsiniz.Bağlantı gerçekleştikten sonra User moda düşersiniz.User modundan Privileged moda geçmek için ise aşağıdaki komutu yazıp enter’a basıyoruz.
Router> Enable
Ardından privileged moda geçmek içi bir şifre tanımlanmışsa bu şifreyi giriyoruz.Şifreyi doğru girdikten sonra komut satırının aşağıdaki şekle dönüşmesi gerekiyor.
Router#
Privileged moddan konfigürasyon moduna geçiyoruz.Bunun için aşağıdaki komutu çalıştırıyoruz.
Router# config terminal
Enter configuration commands, one per line. End with CTRL/Z.
Router (config)#
Konfigürasyon moduna giriş yaptıktan sonra sırasıyla aşağıdaki iki komutu giriyoruz.
Router (config)# ip forward-protocol udp 67
Router (config)# ip forward-protocol udp 68
Bu komutlar router’a UDP protokolu 67 ve 68 nolu UDP portlarından gelecek broadcast mesajlarını geçirmesini söyler. Eğer bu komutlarda port numarasını belirtmezseniz router tüm broadcast mesajlarını geçirecektir ki bu durum istenmeyen bir durumdur.
Daha sonra aşağıdaki iki komutu girerek router’ın DHCP Relay Agent olarak çalışmasını sağlıyoruz.
Router (config)# interface ethernet 0
Router (config-if)# ip helper-address 10.1.1.1
Burada router’in ethernet 0 arayüzünün bağlı bulunduğu subnetdeki istemciler için DHCP Relay Agent görevi üstleneceğini varsayıyoruz.Ayrıca ikinci komutda girilen IP adresi ise kullanacağımız DHCP sunucunun IP adresidir.Yaptığımız değişikliklerin kalıcı olması için aşağıdaki komutları yazıp router’dan çıkıyoruz.
Router (config-if)# exit
Router (config)# exit
Router# copy running-config startup-config
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 Discover olarak 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 mesaj ACK 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ı pencereden Networking 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.
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.)
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.)
Scope,bir DHCP sunucuda tanımlanan ve istemcilere dağıtılacak IP adres aralığıdır. Bir DHCP sunucusunun istemcilerden gelecek IP adresi isteklerine cevap verebilmesi için,bu DHCP sunucuda en az bir tane scope oluşturulmalı ve aktif edilmelidir. Bir scope oluşturmak için izlenecek adımlar ise şöyledir ;
Administrative Tools’dan DHCP konsolunu çalıştırıyoruz. Açılan pencereden scope’un oluşturulacağı sunucuya mouse ile sağ tıklayıp açılan menüden New Scope seçeneğini seçiyoruz.Karşımıza “New Scope Wizard” başlıklı bir pencere çıkıyor.Bu penceredeki Next butonuna basarak ilerlediğimizde karşımıza ,oluşturacağımız scope için bir isim ve açıklama gireceğimiz Şekil 4’deki pencere çıkıyor.Uygun bir değer girip Next butonuna basıyoruz.
Daha sonra karşımıza ,oluşturacağımız scope ‘da dağıtılacak IP adres aralığını belirlediğimiz Şekil 5’deki pencere çıkar.
Bu penceredeki “Start IP address” ile “End IP address” değerlerini girerek bu scope için kullanılacak IP adres aralığını belirliyoruz. Örneğimizde oluşturduğumuz scope’u 10.1.1.10 ile 10.1.1.254 adresleri arasındaki IP adreslerini içerecek şekilde tanımladık. Bu ekranda ayrıca dağıtılacak IP adresleriyle birlikte kullanılacak Subnet mask değerinide belirliyoruz. Bu penceredeki “Length” değerini değiştirerek yada aşağıda bulunan “Subnet mask” alanına uygun bir değer girerek bu IP adres aralığı için kullanılacak subnet mask değerini belirleyebiliyorsunuz.Length alanında belirtilen değer 32 bitlik subnet mask değeri içerisinde ilk kaç bitin 1 olacağını gösterir. Uygun değerleri girdikten sonra Next butonuna basıp ilerliyoruz.
Next butonuna basıp ilerlediğimizde ise karşımıza “Lease Duration” başlıklı Şekil 7’deki pencere çıkar. Bu pencerede IP adres kiralama süresi belirlenir ve varsayılan olarak 8 gündür. Burada belirtilen süre bir istemcinin aldığı IP adresini kullanabileceği süreyi belirtir.
Eğer No seçeneğini seçerseniz bu seçenekler size sorulmayacak ve DHCP seçeneklerini kendiniz girmeniz gerekecektir. Son olarak da “Activate Scope” başlıklı pencere ile karşılaşıyoruz. DHCP sunucuda oluşturduğunuz scope’daki IP adreslerini dağıtılması için scope’un aktif hale getirilmesi gerekir. Eğer siz oluşturduğunuz scope’un hemen aktif olmasını istemiyorsanız No seçeneğini seçerek istediğiniz zaman bu scope’u aktif hale getirebilirsiniz.
Burada scope bazında geçerli olacak DHCP seçeneklerinin bazıları istemci tarafında da ayarlanabilir. Örneğin bir istemcinin kullanacağı ağ geçidi adresini manuel olarak girebilirsiniz. Bu durumda eğer DHCP sunucu da bir ağ geçidi adresi dağıtıyorsa istemci tarafında tanımlanan ağ geçidi adresi geçerli olur.Yani istemci tarafında yapılan tüm konfigürasyonlar ,DHCP tarafından gönderilen konfigürasyonların üzerine yazar.
Şekil 11’de görüldüğü gibi DHCP konsolunu açtığımızda “Server Options” isimli bir konteynır görürüz. Bu konteynır ,DHCP sunucuda bulunan tüm scope’lar için geçerli olacak seçeneklerin ayarlandığı konteynırdır. Örneğin şirketinizde bulunan DHCP sunucuda iki farklı scope bulunsun.Ayrıca bu networkte iki tane de DNS sunucu bulunsun.Bu DNS sunucuların ikisininde ağdaki tüm istemciler tarafından kullanılmasını istiyorsunuz.Bu durumda bu DNS sunucuları ,scope’ların herbirinde ayrı ayrı tanımlamak yerine “Server Options” kısmında tanımlayarak ,bu DHCP sunucudaki tüm scope’ler için kulanılmasını sağlayabilirsiniz. DHCP sunucudaki tüm scope’lar için geçerli olacak seçenekleri ayarlamak için “Server Options” konteynırına mouse ile sağ tıklayıp açılan menüden “Configure Options” seçeneğini seçiyoruz. Karşımıza Şekil 12’deki pencere çıkıyor. Bu pencerede tüm scope’ler için geçerli olacak seçenekleri teker teker seçip uygun değerleri girebilirsiniz.
DHCP Sunucunun Konfigürasyonu
DHCP sunucunun ayarlarını düzenlemek için DHCP konsolunda bulunan DHCP server’ın üzerine mouse ile sağ tıklayıp açılan menüden Properties’i seçiyoruz. Karşımıza şekil 13’deki pencere çıkıyor.
‘Automatically update statistics every’ seçeneğini seçtiğiniz zaman ,aşağıda bir zaman dilimi belirleyebileceğiniz alan aktif olacaktır. Bu alana girdiğiniz süre,DHCP sunucunun istatistiklerinin güncelleneceği periyodu belirler.
‘Enable DHCP audit logging’ seçeneğini seçtiğinizde ki bu seçenek varsayılan olarak seçilidir,DHCP sunucu her gün için bir log dosyası olmak üzere bir haftalık log dosyaları oluşturacaktır.Bu log dosyaları ASCII formatında dosyalar olup Notepad gibi bir text editör programı kullanılarak içerikleri kolaylıkla görülebilir.Log dosyaları Winnt\\\\\\\\System32\\\\\\\\Dhcp klasöründe oluşturulur.Örnek bir log dosyası aşağıdaki gibidir.
“Show the BOOTP table folder” seçeneğini seçtiğinizde ise DHCP konsoluna “BOOTP Table” adlı bir konteynır eklenir.Bu konteynıra tıkladığıızda sisteminizde bulunan BOOTP kayıtlarını görebilirsiniz.BOOTP kayıtlarının nasıl oluşturulacağı hakkında ayrıntılı bilgiyi Windows 2000 Help’inden bulabilirsiniz.
‘Automatically update DHCP client information in DNS’ seçeneği DHCP sunucunun ,istemci bilgilerini DNS sunucuda otomatik olarak güncellemesini sağlar.Eğer bu seçeneği seçmezseniz DHCP sunucunuz ile DNS sunucunuz birbirleriyle entegre bir şekilde çalışmayacaktır. ‘Update DNS only if DHCP client request’ seçeneği DNS sunucudaki istemci kayıtlarının ,sadece istemcilerin istekte bulunması halinde güncellemelerini sağlar. Eğer siz istemci kayıtlarının her zaman DNS sunucuda güncellenmelerini istiyorsanız o zaman ‘Always update DNS’ seçeneğini seçmelisiniz. ‘Discard forward (name-to-address) lookups when lease expires’ seçeneği, istemci bilgisayarlardan kiralama süreleri bitemlerin kayıtlarının DNS sunucudan silinmesini sağlar.’ Enable updates for DNS clients that do not support dynamic update’ seçeneği ise ,kendi kayıtlarını DNS sunucuda güncelleyemeyen istemcilerin (örneğin Windows 95/98 veya Windows NT ) kayıtlarının DHCP sunucu tarafından güncellenmelerini sağlar.
Advanced tabına tıkladığımızda ise karşımıza Şekil 15’deki pencere çıkar.Bu pencerede bulunan “Conflict detection attempts” kısmında belirtilen sayı ,DHCP sunucunun IP havuzundaki bir IP adresini bir istemciye kiraya vermeden önce bu IP adresinin kullanımda olup olmadığını kaç kez test edeceğini belirler.Eğer buradaki değer 0’ın haricinde bir sayı ise DHCP sunucu, IP adres havuzundaki adreslerin hangisinin istemcilere kiraya verilmeye uygun olduğunu bu IP adreslerine ping atarak anlar.Ping işlemi başarılı olan IP adresleri network’te kullanılıyor demektir ve DHCP sunucu bu IP adreslerinin kullanımda olduğunu bildiği için istemcilerden gelen IP isteklerinde bu IP adreslerini istemcilere önermez.Burada belirtilen değerin 2’den büyük bir değer olmaması önerilir.Zira burada belirlediğiniz değer DHCP sunucunun yükünü arttıracaktır.
“Audit log file path” kısmında belirtilen yol ise DHCP sunucunun audit loglarını tutacağı klasörü belirtir.Varsayılan olarak log dosyaları “C:\\\\\\\\WINNT\\\\\\\\System32\\\\\\\\dhcp” klasoründe tutulur.”Database path” kısmında belirtilen yol ise DHCP veritabanının tutulacağı klasorü belirtir.Veritabanı dosyaları varsayılan olarak log dosyalarıyla aynı klasorde tutulur.
Network Grup/
DHCP sunucunun konfigürasyonu hakkında detaylı bilgileri öğrendikten sonra şimdide biraz DHCP konsolu ile neler yapabileceğimize bir göz atalım. DHCP konsolunu açtığımızda karşımıza çıkan pencerenin sol tarafında DHCP sunucular listelenir. Bu sunucuların yanında bulunan + işaretine tıkladığımızda ise ,sunucuda oluşturulan scope’ların listelendiğini görürüz. Bir scope’da ‘Address Pool’,’Address Leases’, ‘Reservations’ ve ‘Scope Options’ isimli dört tane konteynır bulunur. ‘Address Pool’ konteynırına tıkladığımızda ,scope oluşturulurken tanımlanan başlangıç ve bitiş IP adresleri ve varsa bu adres aralığında bulunan fakat istemcilere dağıtılmasına izin verilmeyen IP adresleri listelenir.(Şekil 18)
’Address Leases’ konteynırına tıkladığınızda ise DHCP sunucunun bu scope’dan hangi IP adreslerini hangi bilgisayara atadığını görebilirsiniz
Networkdeki bazı bilgisayarların her zaman aynı IP adresini kullanmaları gerekebilir. Bu durumda ya bu bilgisayarların IP adreslerini manuel olarak girmeli yada DHCP sunucuda bu IP adreslerini sadece bu bilgisayarların kullanabileceği şekilde saklamalısınız. İşte bu işleme ‘Address Reservation’ işlemi denir ve bir scope’da tanımlanan adres rezarvasyonlarını ‘Reservations’ konteynırına tıklayarak görebilirsiniz. Bu işlemi gerçekleştirmek için istemci bilgisayarın MAC adresinin bilinmesi gerekir. MAC adresi 48 bit uzunluğunda bir sayı olup herbir network kartı için tektir. Bir bilgisayarın MAC adresini öğrenmek için komut satırından ipconfig /all konutunu girmelisiniz.Bu komutun çalıştırılmasından sonra ekrana yazılan bilgiler arasında ,istemcinin kullandığı network kartının MAC adresi de bulunur. Address Reservation işlemi için izlemeniz gereken adımlar ise şöyledir;
İlk önce rezerve edilecek IP adresinin bulunduğu scope’daki “Reservations” konteynırına mouse ile sağ tıklanıp ve açılan menüden “New Reservation” seçeneğini seçiyoruz.Karşımıza Şekil 20’deki pencere çıkıyor.Bu pencerede bulunan “Reservation Name” kısmına yaptığımız bu rezervasyona uygun bir isim yazıyoruz. ”IP Adress” kısmına ise istemciye verilmesini istediğimiz IP adresini yazıyoruz.”MAC Adress” kısmına ise bir önceki adımda nasıl öğrenilebiceğini anlattığımız MAC adresini yazıyoruz. “Description” kısmına da uygun bir açıklama girerek Add butonuna basıp rezervasyon işlemini bitiriyoruz.
Peki bu rezervasyon işleminin bize ne tür faydaları var? Yani biz, rezerve ettiğimiz IP adreslerini direkt olarak gidip istemci bilgisayarlara manuel olarak girebilir ve bu IP adresini DHCP sunucudaki “Exclusion Range” ‘da tanımlayabiliriz.Bu durumda bu istemci problemsiz bir şekilde network’e katılır ve çalışmaya başlar. Ama biz bu istemci için DHCP sunucunun bize sağlamış olduğu kolaylıkları kullanamayız.Yani farzedelim ki network’de kullandığımız WINS sunucunun IP adresi değişti.Bu durumda IP adresleri manuel olarak girilen tüm istemci bilgisayarlarda bu WINS sunucunun adresi teker teker manuel olarak değiştirilmelidir.Ama bu istemcileri DHCP client olarak konfigüre edip daha sonra DHCP sunucuda bu isteciler için birer rezervasyon tanımlamış olsaydık bu değişikliği herbir bilgisayara ayrı ayrı gidip manuel olarak yapmamıza gerek kalmayacaktı ve sadece DHCP sunucuda yapılacak olan WINS sunucunun IP adres değişiminden haberdar olacaklardı
Bunun haricinde ,DHCP sunucuda rezerve edilmiş IP adresleri için ait oldukları scope’da geçerli olan DHCP seçeneklerinin haricinde (örneğin DNS sunucu adresi yada WINS sunucu adresi gibi) ,sadece rezerve edilen istemci için geçerli olacak DHCP seçenekleri belirleyebiliyorsunuz. Aşağıdaki şekilde,DHCP sunucudaki bir scope’da tanımlanan bir rezervasyon için ayarlanabilecek rezervasyon seçeklerini görebilirsiniz
DHCP Seçenekleri
DHCP seçenekleri ,DHCP sunucuyu kullanan istemcilere IP adresi ve subnet mask değerlerinin dışında atanan diğer network parametreleridir.(Örneğin DNS sunucu adresi,varsayılan ağ geçidi adresi ,WINS sunucu adresi vb gibi )Bu seçenekler DHCP sunucuda dört farklı düzeyde uygulanabilir. Bunlar;
Server Seçenekleri
Scope Seçenekleri
İstemci Seçenekeleri
Class Seçenekleri
Server seçenekleri,DHCP sunucuda tanımlanan tüm scopelarda geçerli olacak seçeneklerdir. Örneğin şirketinizin DNS sunucusunun,DHCP sunucuda tanımlanan iki farklı scope’daki istemciler tarafından kullanılmasını istiyorsanız o zaman bu DNS sunucunun IP adresini Server seçenekleri (Server Options) konteynırında tanımlamalısınız.
Scope seçenekleri ise sadece o scope’dan IP adresi alan istemcileri etkileyecek seçeneklerdir.Örneğin herbir scope’un ait olduğu subnetlerin varsayılan ağ geçidi adresi (default gateway) farklı olabilir. Bu durumda her bir scope için farklı bir ağ geçidi adresi tanımlamamız gerekebilir. Bunu scope seçeneklerini kullanarak gerçekleştirebiliriz.
İstemci seçenekleri ise belirlenen üreticiye ve kullanıcı gurubuna göre geçerli olacak seçeneklerdir. Bu üreticilerin ve kullanıcı gruplarının hangileri olduğunu görmek için Server,Scope yada istemci seçeneklerinin ayarlandığı herhangi bir penceredeki “Advanced“ tabına basarak görebilirsiniz.Burada belirlediğiniz seçenekler sadece seçilen üretici ve kullanıcı gurubu için geçerli olacaktır.(Bu seçenekler eğer şirketinize RRAS üzerinden bağlanan kullanıcılara DHCP üzerinden IP adresi dağıtıyorsanız bir hayli işinize yarayacaktır.)
Şimdi bu seçeneklerin nasıl ayarlandığına bir göz atalım. İlk önce seçeneklerin hangi düzeyde etkili olacağını belirlemelisiniz. Biz örneğimizde Server seçeneklerini konfigüre edeceğiz. Bunun için DHCP konsolunda bulunan “Server Options” konteynırına mouse ile sağ tıklayıp açılan menüden “Configure Options” seçeneğini seçiyoruz.Karşımıza Şekil 23’deki pencere çıkıyor. Bu pencerede herbirinin başında 003,044 ,046 gibi rakamlar bulunan bir çok seçenek var. Biz burada bu seçeneklerden en çok kullanılanlarından bahsedeceğiz. Örneğin 003 Router seçeneğini seçtiğinizde bu pencerenin alt tarafında ,DHCP sunucudaki tüm tanımlı scope’larda geçerli olacak bir varsayılan ağ geçidi adresi girebileceğimiz kısım aktif olacaktır. Bunun haricinde 006 nolu seçenek DNS sunucuyu ,015 nolu seçenek Domain ismini ,044 WINS sunucunun adresini ve 046 ise adres çözümlemede kullanılacak yöntemi belirler.Bu son seçenek üzerinde biraz duralım.Network’de bilgisayar isimleri çözülürken kullanılacak metodu belirler bu seçenek.Yani istemci ,NetBIOS isimlerini çözümlerken ilk önce broadcast yapıp daha sonra mı WINS sunucudan soracağını ,yoksa tam tersi bir sorgulama mı gerçekleştireceğini ,yada sadece WINS sunucudan sorgulama veya sadece broadcast yöntemiyle isim çözmeye çalışma yöntemlerinden hangisini kullanacağını bu seçenekdeki değere bakarak anlar.Bu seçeneğin alabileceği değerler ve anlamları aşağıda verilmiştir.
0x1=B-node (Sadece broadcast yöntemi kullanılır.)
0x2=P-node (Sadece WINS sunucular kullanılır.)
0x4=M-node (İlk önce broadcast yöntemi kullanılar,eğer başarılı olamazsa WINS sunuculara başvurulur)
0x8=H-node (İlk önce WINS sunuculara gidilir eğer isim çözümleme işlemi başarısız olursa broadcast yöntemi kullanılır.)
Yönlendirici (Router) Kullanılan Network’lerde DHCP Sunucu Konfigürasyonu
Yönlendiriciler, altağları(subnet) birleştirmek için kullanılan cihazlardır. Yönlendiricilerin en temel vazifeleri birleştirdiği ağlar arasındaki paket alış verişini en etkin biçimde yerine getirmektir. Yönlendiricilerin özeliklerinden birisi de kendisine bağlı subnetlerden herhangi birisinden gelen broadcast mesajlarının diğer subnetlere iletilmesini önlemektir. Fakat DHCP ,broadcast temelli bir servistir ve DHCP mesajları yönlendirici kullanılan network’de sadece DHCP sunucunun bulunduğu subnetdeki istemciler ve sunucu arasında alınıp verilebilecektir. Bu durumda diğer subnetlerdeki istemciler herhangi bir şekilde DHCP sunucuyla iletişime geçemeyecek ve geçerli bir IP adresi alamayacaktır.
Yönlendirici kullanılan networklerde DHCP servisinin düzgün çalışabilmesi için izlenebilecek üç farklı yöntem vardır. Bunlar;
a) Her bir subnet’e bir DHCP sunucu kurulur. Böylece her bir subnet için gerekli olan konfigürasyonlar bu sunucu üzerinde gerçekleştirilir.
b) Subnetleribirleştiren yönlendiriciyi DHCP mesajlarını geçirecek şekilde (RFC 1542 uyumlu) konfigüre etmek .Bu durumda yönlendirici ,subnetler arasında sadece DHC Pbroadcast mesajlarını geçirecek ve diğer broadcast mesajların geçmesini engelleyecektir. Böylece sbnetlerin herhangi birisine kurduğunuz bir DHCP sunucu ile tüm subnetlerdeki istemcilere hizmet verebilirsiniz.
c) Her bir subnet’de bir tane DHCP Relay Agent bulundurmak.DHCP Relay Agent kendi dubnet’inden yapılan DHCP broadcast mesajlarını alarak yönlendiriciden geçebilecek hale getirir yani direkt olaak DHCP sunucuya yollar ve DHCP sunucudan gelen yanıtı da kendi subnet’ine broadcast yoluyla yollar.
Windows 2000 yüklü bir bilgisayara DHCP Relay Agent ‘ı kurmak için aşağıdaki adımları izlemeniz gerekiyor.
İlk önce Administrative Tools’dan Routing and Remote Access konsolunu açıyoruz.Açılan pencereden IP Routing konteynırınını + işaretine basarak genişletiyoruz.Ardından Generel konteynırına mouse ile sağ tıklayıp açılan menüden “New Routing Protocol” seçeneğini seçiyoruz.
Boot Threshold :Bu parametre ,hem lokal subnetdeki hemde yönlendiriciyle ayrılmış subnetdeki DHCP sunucuları birlikte kullanacaksanız önem kazanır. Şöyle ki,burada belirtilen değer süresi boyunca lokal DHCP sunucu istemcilere cevap vermezse DHCP Relay Agent istemcilerden gelen isteği diğer subnetdeki DHCP sunucuya gönderir. Böyle bir yapıyı kullanmak size hata toleransı sağlar.
İstemci Tarafında Yapılacak Ayarlar
Yukarıda geniş detaylarıyla ele aldığımız DHCP mekanizmasını ek***siz tamamladıktan sonra sıra geldi networkde bulunan istemci bilgisayarlarabu DHCP mekanizmasını kullanmalarını söylemeye.Bunun için Microsoft istemcilerde bilgisayarın TCP/IP özelliklerine girip IP adresini otomatik al seçeneğini seçmemiz gerekiyor.
İstemci tarafında TCP/IP özellikleri görebilmek için kullanabileceğimiz bazı komutlar mevcut.Bunlar ipconfig ve winipcfg komutlarıdır.Bu komutlardan winipcfg komutunu sadece Windows 98 ailesinde kullanabilirsiniz. Örneğin bir istemcinin DHCP sunucudan aldığı parametreleri görmek istiyorsak bu istemcinin komut satırından ipconfig /all komutunu çalıştırmalıyız. Bu komut çalıştıktan sonra ekrana bu istemcinin DHCP sunucudan aldığı IP adresi ve diğer DHCP seçenekleri (örneğin istemcinin kullanacağı DNS server’ın adresi ,varsayılan ağ geçidi adresi,WINS sunucu adresi ,kiralama süresi gbi) yazdırılacaktır.Eğer bir istemcinin DHCP sunucudan aldığı IP adresini bırakmasını ve yeni bu DHCP sunucudan yeni bir IP adresi almasını istiyorsanız sırasıyla ipconfig /release ve ipconfig /renew komutlarını çalıştırmanız yeterlidir.
DHCP Veritabanı
DHCP sunucuda bulunan DHCP veritabanı varsayılan olarak 60 dakikada bir yedeklenir.Veritabanının yedeklendiği yer ise Winnt\\\\\\\\System32\\\\\\\\DHCP\\\\\\\\Backup\\\ \\\\\Jet\\\\\\\\New klasorünün içidir. Yedek alma zaman aralığını registry ile oynayarak değiştirebilirsiniz.Bunun için Registry’deki
HKEY_LOCAL_MECHINE\\\\\\\\SYSTEM\\\\\\\\CurrentCon trolSet\\\\\\\\Ser vices\\\\\\\\DHCPServer\\\\\\\\Parameters
yolunu izleyerek burada bulunan BackupInterval anahtarındaki değeri istediğiniz bir değerle değiştirerek yedekleme zaman aralığını değiştirebilirsiniz.
DHCP veritabanı ,DHCP servisinin her başlamasında kontrol edilir ve herhangi bir bozulma olduğu anlaşılırsa yedekten onarılır.Bu işlem DHCP servisi tarafından otomatik olarak yapılır. Bu işlemi manuel olarak yapmak istersek registry’deki
HKEY_LOCAL_MECHINE\\\\\\\\SYSTEM\\\\\\\\CurrentCon trolSet\\\\\\\\Ser vices\\\\\\\\DHCPServer\\\\\\\\Parameters
yolunu izleyerek burada bulunan RestoreFlag parametresini 1 yapmamız gerekiyor.Ardından DHCP servisini yeniden başlatırsanız DHCP veritabanı onarılacaktır. Onarım işlemi başarıyla tamamlandıktan sonra RestoreFlag parametresi 0’a eşitlenecektir.
Bu veritabanını yeniden yüklemenin bir diğer yolu da Winnt\\\\\\\\System32\\\\\\\\Dhcp\\\\\\\\Backup\\\ \\\\\Jet\\\\\\\\New klasorünün içindekileri Winnt\\\\\\\\System32\\\\\\\\Dhcp klasörü içine kopyalayıp DHCP servisini yeniden başlatmaktır.
DHCP veritabanının boyutu ,DHCP sunucunun hizmet verdiği istemci sayısına bağlı olarak değişir ve istemcilerin her IP adresi alışlarında bu veritabanı büyür.Bu veritabanını belli aralıklarla küçültmek gerekir.Bu küçültme işlemi sırasında DHCP veritabanında bulunan geçersi kayıtlar silinir ve böylece dosyanın boyutu küçülür.
DHCP veritabanını küçültme işleminde dinamik ve offline olmak üzere iki metod kullanılır.Dinamik güncelleme işlemi DHCP sunucunun boş olduğu zamanlarda otomatik olarak başlar.DHCP sunucudaki veritabanında herhangi bir güncelleme olmadığı bir zamanda bu veritabanı otomatik olarak birleştirilmeye başlanır.Offline birleştirme işleminde ise Jetpack komutu kullanılır.Offline birleştirme işlemi eğer DHCP sunucu çok yoğunsa yani dinamik birleştirme yapacak kadar boş kalmıyorsa gerçekleştirilebilir.Jetpack komutunun syntax’ı aşağıdaki gibidir.
jetpack <database_adı> <geçici_database_adı>
database_adı: DHCP sunucuda bulunan orjinal DHCP veritabanın adıdır.
geçici_database_adı:Birlekştirme işlemi sırasında kullanılanacak geçici bir veritabanı dosyası adıdır.
Örneğin komut satırında Winnt\\\\\\\\System32\\\\\\\\dhcp klasorüne geçip aşağıdaki komutu çalıştırırsak DHCP veritabanını offline olarak birleştirmiş oluruz.
jetpack dhcp.mdb tmp.mdb
Bu işlemi yaparken dikkat etmemiz gereken önemli bir noktada şudur;Offline birleştirme işlemi sırasında DHCP servisi çalışmamalıdır.Bu servisi net stop dhcpserver komutunu girerek durdurabileceğiniz gibi Computer Management konsolundaki Services’den de durdurabilirsiniz.Birleştirme işlemi bittikten sonra bu servisi net start dhcpserver komutunu girerek tekrar başlatabilirsiniz.
Windows 2000 ile gelen DHCP servisinin güzel özelliklerinden biriside DHCP sunucu hakkında istatistiksel bilgiler verebilmesidir.Bu istatistikleri görmek için DHCP konsolunda bulunan DHCP sunucunun üzerine mouse ile sağ tıklayıp açılan menüden “Display Statistics” seçeneğini seçiyoruz.Karşımıza Şekil 29’deki pencere çıkıyor.Bu pencerede ,seçilen DHCP sunucuda bulunan scope sayısı,toplam IP adresi ,bu IP adreslerini kaçının kullanımda olduğu gibi bilgiler bulunur.
İleri Düzey DHCP Ayarları
SuperScope:
Superscope,birden fazla scope’un bir scope gibi yönetilmesini sağlar.Genellikle DHCP sunucunun, aynı fiziksel subnetde birden fazla IP subnetine hizmet vermesi gereken durumlarda kullanılır.Peki bu duruma neden ihtiyaç duyarız? Bunu şöyle bir örnekle açıklamaya çalışalım.Örneğin çalıştığınız şirket zamanında bir adet C sınıfı IP adresi almış ve istemci bilgisayarlar bu IP adreslerini kullanıyorlar.Daha sonra şirketinizde çalışan eleman sayısı artmış ve buna bağlı olarak da networkdeki istemci bilgisayar sayısı artmıştır.Bu durumda şirketinize ikinci bir C sınıfı IP adresi alarak yeni istemcilere bu IP adres aralığındaki adreslerden dağıtmak isteyeceksiniz.Kullandığınız IP adres aralıkları farklı olduğu için bunları bir scope’da toplayamayacaksınız.Bu engeli aşmak için her iki IP adres aralığını kapsayan birer adet scope tanımlayıp bu iki scope’u içine alan bir superscope oluşturmalıyız.Böylece DHCP sunucumuz her iki IP subnetine’de hizmet verecektir.
Superscope oluşturmak için daha önceden tanımlanmış en az bir tane scope oluşturulmuş olmalıdır.Superscope oluşturulcuktan sonra bu superscope’a scope’lar eklenebilir yada çıkartılabilir.Şimdi sırasıyla Superscope oluşturmak için izlenmesi gereken adımları izleyelim.
İlk önce DHCP konsolunda DHCP sunucunun üzerine mouse ile sağ tıklayıp açılan menüden “New Superscope” seçeneğini seçiyoruz.Karşımıza çıkan Hoşgeldiniz ekranını Next butonuna basarak geçiyoruz.Bir sonraki pencerede oluşturacağımız superscope için bir isim girmemiz isteniyor.Uygun değeri girip Next butonuna bastığımızda karşımıza bu superscope’un içereceği scope’ların seçimin yapıldığı Şekil 30’deki pencere ile karşılaşırız.Bu pencerede listelenen scope’ları Shift tuşuna basarak seçiyoruz.Scope’ları seçtikten sonra Next butonuna basarak superscope oluşturma işlemini bitiriyoruz.
Netsh Komutunu Kullanarak DHCP Sunucuyu Komut Satırından Yönetmek:
Netsh, Windows 2000’in bazı network bileşenlerinin (örneğin yönlendirme arayüzlerinin,RAS,DHCP ve WINS gibi servislerin) komut satırından yönetilmesini sağlayan bir yardımcı programdır.Bu program üç farklı modda çalışabilir;
Online:Bu modda ,Netsh komut satırından girilen komutlar hemen çalıştırılırlar.
Offline:Bu modda ,Netsh komut satırından girilen komutlar biriktirilirler ve kullanıcının coommit komutunu girmesiyle toplu halde çalıştırlırlar.
Script :Bu modda etsh komutlarını içerien bir script dosyası exec komutu yardımıyla çalıştırılır.
Netsh ,Netsh Helper DLL olarak adlandırılan dosyaları kullanır. Sisteminizde yüklü bulunan Helper DLL’leri görmek için komut satırına geçip netsh yazarak netsh komut satırını çalıştırın.Netsh komut satırına geçtikten sonra show helper komutunu yazarsanız Şekil 31’da gösterilen şekilde görüldüğü gibi sisteminizde yüklü bulunan Helper DLL’leri görebilirsiniz.
i şekilde de görüldüğü gibi DHCP için kullanılan Helper DLL’inin adı DHCPMON.DLL’dir.
Bu kadarlık Netsh girişinden sonra bu konut satırını kullanarak DHCP sunucuyu nasıl konfigüre edebileceğimize değinebiliriz.Netsh komut satırına geçtiğimizde komut satırı netsh> şeklinde olacaktır.Netsh komut satırını çalıştırdıktan sonra dhcp yazarak dhcp altbileşenine geçiş yapıyoruz.Komut satırı bu sefer dhcp> şeklini alacaktır.Burada kullanabileceğimiz komutların bir listesini görmek için list komutunu yazıyoruz.Karşımıza bulunduğumuz düzeyde kullanabileceğimiz komut listesi çıkıyor.
Bu düzeyde kullanabileceğiniz komutlar add server,delete server, show server ve server [\\\\\\\\\\\\\\\\servername/ipaddress] komutlarıdır.Örneğin burada show server komutunu girerek Active Directory ‘de tanımlı DHCP sunucuların bir listesini görebilirsiniz.Yönetmek istediğiniz sunucuya bağlanmak için ise komut satırına şunları yazmalısınız.Örneğimizde bağlanacağımız DHCP sunucunun ismi halil’dir.(Eğer lokal bilgisayarda yüklü bulunan DHCP servisini konfigüre edecekseniz sunucu ismini yazmanıza gerek yoktur.)
server \\\\\\\\\\\\\\\\halil
Bu komutu girdikten sonra komut satırı dhcp server> şeklinde değişecektir.Buda demektir ki artık DHCP sunucumuzu konfigüre edeceğimiz düzeye indik.Şimdi bu düzeyde kullanabileceğimiz komutları görmek için de list komutunu yazıyoruz.Karşımıza DHCP sunucuda kullanabileceğimiz 44 adet komut sıralanıyor.
Bu komutların ne işe yaradığını yanlarındaki açıklamaları okuyarak ögrenebilirsiniz.Örneğin bağlı bulunduğunuz DHCP sunucuda yeni bir scope oluşturmak istiyorsanız aşağıdaki şekide gösterildiği gibi bir komut girmeniz gerekiyor.
dhcp server>add scope 10.1.3.0 255.255.255.0 “turkmcse 3.scope”
Yukarıdaki komutu çalıştırdıktan sonra eğer komut başarıyla yürütülmüşse “Command completed successfully” mesajını alırsınız. Bu komutu çalıştırarak turkmcse 3. scope isimli bir scope oluşturduk.(Şekil 34)
Oluşturduğumuz bu scope’un IP adres aralığını tanımlaması yapmak için komut satırından scope düzeyine geçiyoruz.Bunu aşağıdaki komutu yazarak gerçekleştiriyoruz.
dhcp server>scope 10.1.3.0
Yukarıdaki komutu yazıp enter tuşuna basarsak komut satırı dhcp server scope> şeklini alacaktır.Bu bizin scope düzeyine geçtiğimizi gösterir.Şimdi bu scope için bir IP adres aralığı tanımlayalım.Bunun için aşağıdaki komutu çalıştırıyoruz.
dhcp server scope>add iprange 10.1.3.10 10.1.3.250
Böylece oluşturduğumuz turkmcse 3. scope adlı scope’da tanımlı IP adres aralığını 10.1.3.10 ile 10.1.3.250 arasında olacak şekilde ayarlamış olduk.Eğer oluşturduğunuz scope içinde istemcilere dağıtılmasını istemediğiniz IP adres aralığı vasa bunuda aşağıdaki komutu kullanarak belirliyorsunuz.
dhcp server scope>add excluderange 10.1.3.40 10.1.3.50
Netsh komut satırını kullanarak DHCP konsolunda gerçekleştirebildiğiniz tüm ayarları yapabilirsiniz.
Cisco Router’ın DHCP Relay Agent Olarak Konfigüre Edilmesi
Bu bölümde Cisco router’ların nasıl DHCP Relay Agent olarak konfigüre edileceğini inceleyeceğiz.Burada kullanılan komutlar Cisco router’larda geçerlidir (Cisco 2500 serisi).Eğer kullandığınız router farklı bir marka ise gerekli komut setlerini değiştirmeniz gerekebilir.
Öncelikle router’a bağlantı sağlanır.Bu bağlantıyı telnet yada konsol portundan gerçekleştirebilirsiniz.Bağlantı gerçekleştikten sonra User moda düşersiniz.User modundan Privileged moda geçmek için ise aşağıdaki komutu yazıp enter’a basıyoruz.
Router> Enable
Ardından privileged moda geçmek içi bir şifre tanımlanmışsa bu şifreyi giriyoruz.Şifreyi doğru girdikten sonra komut satırının aşağıdaki şekle dönüşmesi gerekiyor.
Router#
Privileged moddan konfigürasyon moduna geçiyoruz.Bunun için aşağıdaki komutu çalıştırıyoruz.
Router# config terminal
Enter configuration commands, one per line. End with CTRL/Z.
Router (config)#
Konfigürasyon moduna giriş yaptıktan sonra sırasıyla aşağıdaki iki komutu giriyoruz.
Router (config)# ip forward-protocol udp 67
Router (config)# ip forward-protocol udp 68
Bu komutlar router’a UDP protokolu 67 ve 68 nolu UDP portlarından gelecek broadcast mesajlarını geçirmesini söyler. Eğer bu komutlarda port numarasını belirtmezseniz router tüm broadcast mesajlarını geçirecektir ki bu durum istenmeyen bir durumdur.
Daha sonra aşağıdaki iki komutu girerek router’ın DHCP Relay Agent olarak çalışmasını sağlıyoruz.
Router (config)# interface ethernet 0
Router (config-if)# ip helper-address 10.1.1.1
Burada router’in ethernet 0 arayüzünün bağlı bulunduğu subnetdeki istemciler için DHCP Relay Agent görevi üstleneceğini varsayıyoruz.Ayrıca ikinci komutda girilen IP adresi ise kullanacağımız DHCP sunucunun IP adresidir.Yaptığımız değişikliklerin kalıcı olması için aşağıdaki komutları yazıp router’dan çıkıyoruz.
Router (config-if)# exit
Router (config)# exit
Router# copy running-config startup-config
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 Discover olarak 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 mesaj ACK 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ı pencereden Networking 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.
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.)
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.)
Scope,bir DHCP sunucuda tanımlanan ve istemcilere dağıtılacak IP adres aralığıdır. Bir DHCP sunucusunun istemcilerden gelecek IP adresi isteklerine cevap verebilmesi için,bu DHCP sunucuda en az bir tane scope oluşturulmalı ve aktif edilmelidir. Bir scope oluşturmak için izlenecek adımlar ise şöyledir ;
Administrative Tools’dan DHCP konsolunu çalıştırıyoruz. Açılan pencereden scope’un oluşturulacağı sunucuya mouse ile sağ tıklayıp açılan menüden New Scope seçeneğini seçiyoruz.Karşımıza “New Scope Wizard” başlıklı bir pencere çıkıyor.Bu penceredeki Next butonuna basarak ilerlediğimizde karşımıza ,oluşturacağımız scope için bir isim ve açıklama gireceğimiz Şekil 4’deki pencere çıkıyor.Uygun bir değer girip Next butonuna basıyoruz.
Daha sonra karşımıza ,oluşturacağımız scope ‘da dağıtılacak IP adres aralığını belirlediğimiz Şekil 5’deki pencere çıkar.
Bu penceredeki “Start IP address” ile “End IP address” değerlerini girerek bu scope için kullanılacak IP adres aralığını belirliyoruz. Örneğimizde oluşturduğumuz scope’u 10.1.1.10 ile 10.1.1.254 adresleri arasındaki IP adreslerini içerecek şekilde tanımladık. Bu ekranda ayrıca dağıtılacak IP adresleriyle birlikte kullanılacak Subnet mask değerinide belirliyoruz. Bu penceredeki “Length” değerini değiştirerek yada aşağıda bulunan “Subnet mask” alanına uygun bir değer girerek bu IP adres aralığı için kullanılacak subnet mask değerini belirleyebiliyorsunuz.Length alanında belirtilen değer 32 bitlik subnet mask değeri içerisinde ilk kaç bitin 1 olacağını gösterir. Uygun değerleri girdikten sonra Next butonuna basıp ilerliyoruz.
Next butonuna basıp ilerlediğimizde ise karşımıza “Lease Duration” başlıklı Şekil 7’deki pencere çıkar. Bu pencerede IP adres kiralama süresi belirlenir ve varsayılan olarak 8 gündür. Burada belirtilen süre bir istemcinin aldığı IP adresini kullanabileceği süreyi belirtir.
Eğer No seçeneğini seçerseniz bu seçenekler size sorulmayacak ve DHCP seçeneklerini kendiniz girmeniz gerekecektir. Son olarak da “Activate Scope” başlıklı pencere ile karşılaşıyoruz. DHCP sunucuda oluşturduğunuz scope’daki IP adreslerini dağıtılması için scope’un aktif hale getirilmesi gerekir. Eğer siz oluşturduğunuz scope’un hemen aktif olmasını istemiyorsanız No seçeneğini seçerek istediğiniz zaman bu scope’u aktif hale getirebilirsiniz.
Burada scope bazında geçerli olacak DHCP seçeneklerinin bazıları istemci tarafında da ayarlanabilir. Örneğin bir istemcinin kullanacağı ağ geçidi adresini manuel olarak girebilirsiniz. Bu durumda eğer DHCP sunucu da bir ağ geçidi adresi dağıtıyorsa istemci tarafında tanımlanan ağ geçidi adresi geçerli olur.Yani istemci tarafında yapılan tüm konfigürasyonlar ,DHCP tarafından gönderilen konfigürasyonların üzerine yazar.
Şekil 11’de görüldüğü gibi DHCP konsolunu açtığımızda “Server Options” isimli bir konteynır görürüz. Bu konteynır ,DHCP sunucuda bulunan tüm scope’lar için geçerli olacak seçeneklerin ayarlandığı konteynırdır. Örneğin şirketinizde bulunan DHCP sunucuda iki farklı scope bulunsun.Ayrıca bu networkte iki tane de DNS sunucu bulunsun.Bu DNS sunucuların ikisininde ağdaki tüm istemciler tarafından kullanılmasını istiyorsunuz.Bu durumda bu DNS sunucuları ,scope’ların herbirinde ayrı ayrı tanımlamak yerine “Server Options” kısmında tanımlayarak ,bu DHCP sunucudaki tüm scope’ler için kulanılmasını sağlayabilirsiniz. DHCP sunucudaki tüm scope’lar için geçerli olacak seçenekleri ayarlamak için “Server Options” konteynırına mouse ile sağ tıklayıp açılan menüden “Configure Options” seçeneğini seçiyoruz. Karşımıza Şekil 12’deki pencere çıkıyor. Bu pencerede tüm scope’ler için geçerli olacak seçenekleri teker teker seçip uygun değerleri girebilirsiniz.
DHCP Sunucunun Konfigürasyonu
DHCP sunucunun ayarlarını düzenlemek için DHCP konsolunda bulunan DHCP server’ın üzerine mouse ile sağ tıklayıp açılan menüden Properties’i seçiyoruz. Karşımıza şekil 13’deki pencere çıkıyor.
‘Automatically update statistics every’ seçeneğini seçtiğiniz zaman ,aşağıda bir zaman dilimi belirleyebileceğiniz alan aktif olacaktır. Bu alana girdiğiniz süre,DHCP sunucunun istatistiklerinin güncelleneceği periyodu belirler.
‘Enable DHCP audit logging’ seçeneğini seçtiğinizde ki bu seçenek varsayılan olarak seçilidir,DHCP sunucu her gün için bir log dosyası olmak üzere bir haftalık log dosyaları oluşturacaktır.Bu log dosyaları ASCII formatında dosyalar olup Notepad gibi bir text editör programı kullanılarak içerikleri kolaylıkla görülebilir.Log dosyaları Winnt\\\\\\\\System32\\\\\\\\Dhcp klasöründe oluşturulur.Örnek bir log dosyası aşağıdaki gibidir.
“Show the BOOTP table folder” seçeneğini seçtiğinizde ise DHCP konsoluna “BOOTP Table” adlı bir konteynır eklenir.Bu konteynıra tıkladığıızda sisteminizde bulunan BOOTP kayıtlarını görebilirsiniz.BOOTP kayıtlarının nasıl oluşturulacağı hakkında ayrıntılı bilgiyi Windows 2000 Help’inden bulabilirsiniz.
‘Automatically update DHCP client information in DNS’ seçeneği DHCP sunucunun ,istemci bilgilerini DNS sunucuda otomatik olarak güncellemesini sağlar.Eğer bu seçeneği seçmezseniz DHCP sunucunuz ile DNS sunucunuz birbirleriyle entegre bir şekilde çalışmayacaktır. ‘Update DNS only if DHCP client request’ seçeneği DNS sunucudaki istemci kayıtlarının ,sadece istemcilerin istekte bulunması halinde güncellemelerini sağlar. Eğer siz istemci kayıtlarının her zaman DNS sunucuda güncellenmelerini istiyorsanız o zaman ‘Always update DNS’ seçeneğini seçmelisiniz. ‘Discard forward (name-to-address) lookups when lease expires’ seçeneği, istemci bilgisayarlardan kiralama süreleri bitemlerin kayıtlarının DNS sunucudan silinmesini sağlar.’ Enable updates for DNS clients that do not support dynamic update’ seçeneği ise ,kendi kayıtlarını DNS sunucuda güncelleyemeyen istemcilerin (örneğin Windows 95/98 veya Windows NT ) kayıtlarının DHCP sunucu tarafından güncellenmelerini sağlar.
Advanced tabına tıkladığımızda ise karşımıza Şekil 15’deki pencere çıkar.Bu pencerede bulunan “Conflict detection attempts” kısmında belirtilen sayı ,DHCP sunucunun IP havuzundaki bir IP adresini bir istemciye kiraya vermeden önce bu IP adresinin kullanımda olup olmadığını kaç kez test edeceğini belirler.Eğer buradaki değer 0’ın haricinde bir sayı ise DHCP sunucu, IP adres havuzundaki adreslerin hangisinin istemcilere kiraya verilmeye uygun olduğunu bu IP adreslerine ping atarak anlar.Ping işlemi başarılı olan IP adresleri network’te kullanılıyor demektir ve DHCP sunucu bu IP adreslerinin kullanımda olduğunu bildiği için istemcilerden gelen IP isteklerinde bu IP adreslerini istemcilere önermez.Burada belirtilen değerin 2’den büyük bir değer olmaması önerilir.Zira burada belirlediğiniz değer DHCP sunucunun yükünü arttıracaktır.
“Audit log file path” kısmında belirtilen yol ise DHCP sunucunun audit loglarını tutacağı klasörü belirtir.Varsayılan olarak log dosyaları “C:\\\\\\\\WINNT\\\\\\\\System32\\\\\\\\dhcp” klasoründe tutulur.”Database path” kısmında belirtilen yol ise DHCP veritabanının tutulacağı klasorü belirtir.Veritabanı dosyaları varsayılan olarak log dosyalarıyla aynı klasorde tutulur.
Network Grup/
DHCP sunucunun konfigürasyonu hakkında detaylı bilgileri öğrendikten sonra şimdide biraz DHCP konsolu ile neler yapabileceğimize bir göz atalım. DHCP konsolunu açtığımızda karşımıza çıkan pencerenin sol tarafında DHCP sunucular listelenir. Bu sunucuların yanında bulunan + işaretine tıkladığımızda ise ,sunucuda oluşturulan scope’ların listelendiğini görürüz. Bir scope’da ‘Address Pool’,’Address Leases’, ‘Reservations’ ve ‘Scope Options’ isimli dört tane konteynır bulunur. ‘Address Pool’ konteynırına tıkladığımızda ,scope oluşturulurken tanımlanan başlangıç ve bitiş IP adresleri ve varsa bu adres aralığında bulunan fakat istemcilere dağıtılmasına izin verilmeyen IP adresleri listelenir.(Şekil 18)
’Address Leases’ konteynırına tıkladığınızda ise DHCP sunucunun bu scope’dan hangi IP adreslerini hangi bilgisayara atadığını görebilirsiniz
Networkdeki bazı bilgisayarların her zaman aynı IP adresini kullanmaları gerekebilir. Bu durumda ya bu bilgisayarların IP adreslerini manuel olarak girmeli yada DHCP sunucuda bu IP adreslerini sadece bu bilgisayarların kullanabileceği şekilde saklamalısınız. İşte bu işleme ‘Address Reservation’ işlemi denir ve bir scope’da tanımlanan adres rezarvasyonlarını ‘Reservations’ konteynırına tıklayarak görebilirsiniz. Bu işlemi gerçekleştirmek için istemci bilgisayarın MAC adresinin bilinmesi gerekir. MAC adresi 48 bit uzunluğunda bir sayı olup herbir network kartı için tektir. Bir bilgisayarın MAC adresini öğrenmek için komut satırından ipconfig /all konutunu girmelisiniz.Bu komutun çalıştırılmasından sonra ekrana yazılan bilgiler arasında ,istemcinin kullandığı network kartının MAC adresi de bulunur. Address Reservation işlemi için izlemeniz gereken adımlar ise şöyledir;
İlk önce rezerve edilecek IP adresinin bulunduğu scope’daki “Reservations” konteynırına mouse ile sağ tıklanıp ve açılan menüden “New Reservation” seçeneğini seçiyoruz.Karşımıza Şekil 20’deki pencere çıkıyor.Bu pencerede bulunan “Reservation Name” kısmına yaptığımız bu rezervasyona uygun bir isim yazıyoruz. ”IP Adress” kısmına ise istemciye verilmesini istediğimiz IP adresini yazıyoruz.”MAC Adress” kısmına ise bir önceki adımda nasıl öğrenilebiceğini anlattığımız MAC adresini yazıyoruz. “Description” kısmına da uygun bir açıklama girerek Add butonuna basıp rezervasyon işlemini bitiriyoruz.
Peki bu rezervasyon işleminin bize ne tür faydaları var? Yani biz, rezerve ettiğimiz IP adreslerini direkt olarak gidip istemci bilgisayarlara manuel olarak girebilir ve bu IP adresini DHCP sunucudaki “Exclusion Range” ‘da tanımlayabiliriz.Bu durumda bu istemci problemsiz bir şekilde network’e katılır ve çalışmaya başlar. Ama biz bu istemci için DHCP sunucunun bize sağlamış olduğu kolaylıkları kullanamayız.Yani farzedelim ki network’de kullandığımız WINS sunucunun IP adresi değişti.Bu durumda IP adresleri manuel olarak girilen tüm istemci bilgisayarlarda bu WINS sunucunun adresi teker teker manuel olarak değiştirilmelidir.Ama bu istemcileri DHCP client olarak konfigüre edip daha sonra DHCP sunucuda bu isteciler için birer rezervasyon tanımlamış olsaydık bu değişikliği herbir bilgisayara ayrı ayrı gidip manuel olarak yapmamıza gerek kalmayacaktı ve sadece DHCP sunucuda yapılacak olan WINS sunucunun IP adres değişiminden haberdar olacaklardı
Bunun haricinde ,DHCP sunucuda rezerve edilmiş IP adresleri için ait oldukları scope’da geçerli olan DHCP seçeneklerinin haricinde (örneğin DNS sunucu adresi yada WINS sunucu adresi gibi) ,sadece rezerve edilen istemci için geçerli olacak DHCP seçenekleri belirleyebiliyorsunuz. Aşağıdaki şekilde,DHCP sunucudaki bir scope’da tanımlanan bir rezervasyon için ayarlanabilecek rezervasyon seçeklerini görebilirsiniz
DHCP Seçenekleri
DHCP seçenekleri ,DHCP sunucuyu kullanan istemcilere IP adresi ve subnet mask değerlerinin dışında atanan diğer network parametreleridir.(Örneğin DNS sunucu adresi,varsayılan ağ geçidi adresi ,WINS sunucu adresi vb gibi )Bu seçenekler DHCP sunucuda dört farklı düzeyde uygulanabilir. Bunlar;
Server Seçenekleri
Scope Seçenekleri
İstemci Seçenekeleri
Class Seçenekleri
Server seçenekleri,DHCP sunucuda tanımlanan tüm scopelarda geçerli olacak seçeneklerdir. Örneğin şirketinizin DNS sunucusunun,DHCP sunucuda tanımlanan iki farklı scope’daki istemciler tarafından kullanılmasını istiyorsanız o zaman bu DNS sunucunun IP adresini Server seçenekleri (Server Options) konteynırında tanımlamalısınız.
Scope seçenekleri ise sadece o scope’dan IP adresi alan istemcileri etkileyecek seçeneklerdir.Örneğin herbir scope’un ait olduğu subnetlerin varsayılan ağ geçidi adresi (default gateway) farklı olabilir. Bu durumda her bir scope için farklı bir ağ geçidi adresi tanımlamamız gerekebilir. Bunu scope seçeneklerini kullanarak gerçekleştirebiliriz.
İstemci seçenekleri ise belirlenen üreticiye ve kullanıcı gurubuna göre geçerli olacak seçeneklerdir. Bu üreticilerin ve kullanıcı gruplarının hangileri olduğunu görmek için Server,Scope yada istemci seçeneklerinin ayarlandığı herhangi bir penceredeki “Advanced“ tabına basarak görebilirsiniz.Burada belirlediğiniz seçenekler sadece seçilen üretici ve kullanıcı gurubu için geçerli olacaktır.(Bu seçenekler eğer şirketinize RRAS üzerinden bağlanan kullanıcılara DHCP üzerinden IP adresi dağıtıyorsanız bir hayli işinize yarayacaktır.)
Şimdi bu seçeneklerin nasıl ayarlandığına bir göz atalım. İlk önce seçeneklerin hangi düzeyde etkili olacağını belirlemelisiniz. Biz örneğimizde Server seçeneklerini konfigüre edeceğiz. Bunun için DHCP konsolunda bulunan “Server Options” konteynırına mouse ile sağ tıklayıp açılan menüden “Configure Options” seçeneğini seçiyoruz.Karşımıza Şekil 23’deki pencere çıkıyor. Bu pencerede herbirinin başında 003,044 ,046 gibi rakamlar bulunan bir çok seçenek var. Biz burada bu seçeneklerden en çok kullanılanlarından bahsedeceğiz. Örneğin 003 Router seçeneğini seçtiğinizde bu pencerenin alt tarafında ,DHCP sunucudaki tüm tanımlı scope’larda geçerli olacak bir varsayılan ağ geçidi adresi girebileceğimiz kısım aktif olacaktır. Bunun haricinde 006 nolu seçenek DNS sunucuyu ,015 nolu seçenek Domain ismini ,044 WINS sunucunun adresini ve 046 ise adres çözümlemede kullanılacak yöntemi belirler.Bu son seçenek üzerinde biraz duralım.Network’de bilgisayar isimleri çözülürken kullanılacak metodu belirler bu seçenek.Yani istemci ,NetBIOS isimlerini çözümlerken ilk önce broadcast yapıp daha sonra mı WINS sunucudan soracağını ,yoksa tam tersi bir sorgulama mı gerçekleştireceğini ,yada sadece WINS sunucudan sorgulama veya sadece broadcast yöntemiyle isim çözmeye çalışma yöntemlerinden hangisini kullanacağını bu seçenekdeki değere bakarak anlar.Bu seçeneğin alabileceği değerler ve anlamları aşağıda verilmiştir.
0x1=B-node (Sadece broadcast yöntemi kullanılır.)
0x2=P-node (Sadece WINS sunucular kullanılır.)
0x4=M-node (İlk önce broadcast yöntemi kullanılar,eğer başarılı olamazsa WINS sunuculara başvurulur)
0x8=H-node (İlk önce WINS sunuculara gidilir eğer isim çözümleme işlemi başarısız olursa broadcast yöntemi kullanılır.)
Yönlendirici (Router) Kullanılan Network’lerde DHCP Sunucu Konfigürasyonu
Yönlendiriciler, altağları(subnet) birleştirmek için kullanılan cihazlardır. Yönlendiricilerin en temel vazifeleri birleştirdiği ağlar arasındaki paket alış verişini en etkin biçimde yerine getirmektir. Yönlendiricilerin özeliklerinden birisi de kendisine bağlı subnetlerden herhangi birisinden gelen broadcast mesajlarının diğer subnetlere iletilmesini önlemektir. Fakat DHCP ,broadcast temelli bir servistir ve DHCP mesajları yönlendirici kullanılan network’de sadece DHCP sunucunun bulunduğu subnetdeki istemciler ve sunucu arasında alınıp verilebilecektir. Bu durumda diğer subnetlerdeki istemciler herhangi bir şekilde DHCP sunucuyla iletişime geçemeyecek ve geçerli bir IP adresi alamayacaktır.
Yönlendirici kullanılan networklerde DHCP servisinin düzgün çalışabilmesi için izlenebilecek üç farklı yöntem vardır. Bunlar;
a) Her bir subnet’e bir DHCP sunucu kurulur. Böylece her bir subnet için gerekli olan konfigürasyonlar bu sunucu üzerinde gerçekleştirilir.
b) Subnetleribirleştiren yönlendiriciyi DHCP mesajlarını geçirecek şekilde (RFC 1542 uyumlu) konfigüre etmek .Bu durumda yönlendirici ,subnetler arasında sadece DHC Pbroadcast mesajlarını geçirecek ve diğer broadcast mesajların geçmesini engelleyecektir. Böylece sbnetlerin herhangi birisine kurduğunuz bir DHCP sunucu ile tüm subnetlerdeki istemcilere hizmet verebilirsiniz.
c) Her bir subnet’de bir tane DHCP Relay Agent bulundurmak.DHCP Relay Agent kendi dubnet’inden yapılan DHCP broadcast mesajlarını alarak yönlendiriciden geçebilecek hale getirir yani direkt olaak DHCP sunucuya yollar ve DHCP sunucudan gelen yanıtı da kendi subnet’ine broadcast yoluyla yollar.
Windows 2000 yüklü bir bilgisayara DHCP Relay Agent ‘ı kurmak için aşağıdaki adımları izlemeniz gerekiyor.
İlk önce Administrative Tools’dan Routing and Remote Access konsolunu açıyoruz.Açılan pencereden IP Routing konteynırınını + işaretine basarak genişletiyoruz.Ardından Generel konteynırına mouse ile sağ tıklayıp açılan menüden “New Routing Protocol” seçeneğini seçiyoruz.
Boot Threshold :Bu parametre ,hem lokal subnetdeki hemde yönlendiriciyle ayrılmış subnetdeki DHCP sunucuları birlikte kullanacaksanız önem kazanır. Şöyle ki,burada belirtilen değer süresi boyunca lokal DHCP sunucu istemcilere cevap vermezse DHCP Relay Agent istemcilerden gelen isteği diğer subnetdeki DHCP sunucuya gönderir. Böyle bir yapıyı kullanmak size hata toleransı sağlar.
İstemci Tarafında Yapılacak Ayarlar
Yukarıda geniş detaylarıyla ele aldığımız DHCP mekanizmasını ek***siz tamamladıktan sonra sıra geldi networkde bulunan istemci bilgisayarlarabu DHCP mekanizmasını kullanmalarını söylemeye.Bunun için Microsoft istemcilerde bilgisayarın TCP/IP özelliklerine girip IP adresini otomatik al seçeneğini seçmemiz gerekiyor.
İstemci tarafında TCP/IP özellikleri görebilmek için kullanabileceğimiz bazı komutlar mevcut.Bunlar ipconfig ve winipcfg komutlarıdır.Bu komutlardan winipcfg komutunu sadece Windows 98 ailesinde kullanabilirsiniz. Örneğin bir istemcinin DHCP sunucudan aldığı parametreleri görmek istiyorsak bu istemcinin komut satırından ipconfig /all komutunu çalıştırmalıyız. Bu komut çalıştıktan sonra ekrana bu istemcinin DHCP sunucudan aldığı IP adresi ve diğer DHCP seçenekleri (örneğin istemcinin kullanacağı DNS server’ın adresi ,varsayılan ağ geçidi adresi,WINS sunucu adresi ,kiralama süresi gbi) yazdırılacaktır.Eğer bir istemcinin DHCP sunucudan aldığı IP adresini bırakmasını ve yeni bu DHCP sunucudan yeni bir IP adresi almasını istiyorsanız sırasıyla ipconfig /release ve ipconfig /renew komutlarını çalıştırmanız yeterlidir.
DHCP Veritabanı
DHCP sunucuda bulunan DHCP veritabanı varsayılan olarak 60 dakikada bir yedeklenir.Veritabanının yedeklendiği yer ise Winnt\\\\\\\\System32\\\\\\\\DHCP\\\\\\\\Backup\\\ \\\\\Jet\\\\\\\\New klasorünün içidir. Yedek alma zaman aralığını registry ile oynayarak değiştirebilirsiniz.Bunun için Registry’deki
HKEY_LOCAL_MECHINE\\\\\\\\SYSTEM\\\\\\\\CurrentCon trolSet\\\\\\\\Ser vices\\\\\\\\DHCPServer\\\\\\\\Parameters
yolunu izleyerek burada bulunan BackupInterval anahtarındaki değeri istediğiniz bir değerle değiştirerek yedekleme zaman aralığını değiştirebilirsiniz.
DHCP veritabanı ,DHCP servisinin her başlamasında kontrol edilir ve herhangi bir bozulma olduğu anlaşılırsa yedekten onarılır.Bu işlem DHCP servisi tarafından otomatik olarak yapılır. Bu işlemi manuel olarak yapmak istersek registry’deki
HKEY_LOCAL_MECHINE\\\\\\\\SYSTEM\\\\\\\\CurrentCon trolSet\\\\\\\\Ser vices\\\\\\\\DHCPServer\\\\\\\\Parameters
yolunu izleyerek burada bulunan RestoreFlag parametresini 1 yapmamız gerekiyor.Ardından DHCP servisini yeniden başlatırsanız DHCP veritabanı onarılacaktır. Onarım işlemi başarıyla tamamlandıktan sonra RestoreFlag parametresi 0’a eşitlenecektir.
Bu veritabanını yeniden yüklemenin bir diğer yolu da Winnt\\\\\\\\System32\\\\\\\\Dhcp\\\\\\\\Backup\\\ \\\\\Jet\\\\\\\\New klasorünün içindekileri Winnt\\\\\\\\System32\\\\\\\\Dhcp klasörü içine kopyalayıp DHCP servisini yeniden başlatmaktır.
DHCP veritabanının boyutu ,DHCP sunucunun hizmet verdiği istemci sayısına bağlı olarak değişir ve istemcilerin her IP adresi alışlarında bu veritabanı büyür.Bu veritabanını belli aralıklarla küçültmek gerekir.Bu küçültme işlemi sırasında DHCP veritabanında bulunan geçersi kayıtlar silinir ve böylece dosyanın boyutu küçülür.
DHCP veritabanını küçültme işleminde dinamik ve offline olmak üzere iki metod kullanılır.Dinamik güncelleme işlemi DHCP sunucunun boş olduğu zamanlarda otomatik olarak başlar.DHCP sunucudaki veritabanında herhangi bir güncelleme olmadığı bir zamanda bu veritabanı otomatik olarak birleştirilmeye başlanır.Offline birleştirme işleminde ise Jetpack komutu kullanılır.Offline birleştirme işlemi eğer DHCP sunucu çok yoğunsa yani dinamik birleştirme yapacak kadar boş kalmıyorsa gerçekleştirilebilir.Jetpack komutunun syntax’ı aşağıdaki gibidir.
jetpack <database_adı> <geçici_database_adı>
database_adı: DHCP sunucuda bulunan orjinal DHCP veritabanın adıdır.
geçici_database_adı:Birlekştirme işlemi sırasında kullanılanacak geçici bir veritabanı dosyası adıdır.
Örneğin komut satırında Winnt\\\\\\\\System32\\\\\\\\dhcp klasorüne geçip aşağıdaki komutu çalıştırırsak DHCP veritabanını offline olarak birleştirmiş oluruz.
jetpack dhcp.mdb tmp.mdb
Bu işlemi yaparken dikkat etmemiz gereken önemli bir noktada şudur;Offline birleştirme işlemi sırasında DHCP servisi çalışmamalıdır.Bu servisi net stop dhcpserver komutunu girerek durdurabileceğiniz gibi Computer Management konsolundaki Services’den de durdurabilirsiniz.Birleştirme işlemi bittikten sonra bu servisi net start dhcpserver komutunu girerek tekrar başlatabilirsiniz.
Windows 2000 ile gelen DHCP servisinin güzel özelliklerinden biriside DHCP sunucu hakkında istatistiksel bilgiler verebilmesidir.Bu istatistikleri görmek için DHCP konsolunda bulunan DHCP sunucunun üzerine mouse ile sağ tıklayıp açılan menüden “Display Statistics” seçeneğini seçiyoruz.Karşımıza Şekil 29’deki pencere çıkıyor.Bu pencerede ,seçilen DHCP sunucuda bulunan scope sayısı,toplam IP adresi ,bu IP adreslerini kaçının kullanımda olduğu gibi bilgiler bulunur.
İleri Düzey DHCP Ayarları
SuperScope:
Superscope,birden fazla scope’un bir scope gibi yönetilmesini sağlar.Genellikle DHCP sunucunun, aynı fiziksel subnetde birden fazla IP subnetine hizmet vermesi gereken durumlarda kullanılır.Peki bu duruma neden ihtiyaç duyarız? Bunu şöyle bir örnekle açıklamaya çalışalım.Örneğin çalıştığınız şirket zamanında bir adet C sınıfı IP adresi almış ve istemci bilgisayarlar bu IP adreslerini kullanıyorlar.Daha sonra şirketinizde çalışan eleman sayısı artmış ve buna bağlı olarak da networkdeki istemci bilgisayar sayısı artmıştır.Bu durumda şirketinize ikinci bir C sınıfı IP adresi alarak yeni istemcilere bu IP adres aralığındaki adreslerden dağıtmak isteyeceksiniz.Kullandığınız IP adres aralıkları farklı olduğu için bunları bir scope’da toplayamayacaksınız.Bu engeli aşmak için her iki IP adres aralığını kapsayan birer adet scope tanımlayıp bu iki scope’u içine alan bir superscope oluşturmalıyız.Böylece DHCP sunucumuz her iki IP subnetine’de hizmet verecektir.
Superscope oluşturmak için daha önceden tanımlanmış en az bir tane scope oluşturulmuş olmalıdır.Superscope oluşturulcuktan sonra bu superscope’a scope’lar eklenebilir yada çıkartılabilir.Şimdi sırasıyla Superscope oluşturmak için izlenmesi gereken adımları izleyelim.
İlk önce DHCP konsolunda DHCP sunucunun üzerine mouse ile sağ tıklayıp açılan menüden “New Superscope” seçeneğini seçiyoruz.Karşımıza çıkan Hoşgeldiniz ekranını Next butonuna basarak geçiyoruz.Bir sonraki pencerede oluşturacağımız superscope için bir isim girmemiz isteniyor.Uygun değeri girip Next butonuna bastığımızda karşımıza bu superscope’un içereceği scope’ların seçimin yapıldığı Şekil 30’deki pencere ile karşılaşırız.Bu pencerede listelenen scope’ları Shift tuşuna basarak seçiyoruz.Scope’ları seçtikten sonra Next butonuna basarak superscope oluşturma işlemini bitiriyoruz.
Netsh Komutunu Kullanarak DHCP Sunucuyu Komut Satırından Yönetmek:
Netsh, Windows 2000’in bazı network bileşenlerinin (örneğin yönlendirme arayüzlerinin,RAS,DHCP ve WINS gibi servislerin) komut satırından yönetilmesini sağlayan bir yardımcı programdır.Bu program üç farklı modda çalışabilir;
Online:Bu modda ,Netsh komut satırından girilen komutlar hemen çalıştırılırlar.
Offline:Bu modda ,Netsh komut satırından girilen komutlar biriktirilirler ve kullanıcının coommit komutunu girmesiyle toplu halde çalıştırlırlar.
Script :Bu modda etsh komutlarını içerien bir script dosyası exec komutu yardımıyla çalıştırılır.
Netsh ,Netsh Helper DLL olarak adlandırılan dosyaları kullanır. Sisteminizde yüklü bulunan Helper DLL’leri görmek için komut satırına geçip netsh yazarak netsh komut satırını çalıştırın.Netsh komut satırına geçtikten sonra show helper komutunu yazarsanız Şekil 31’da gösterilen şekilde görüldüğü gibi sisteminizde yüklü bulunan Helper DLL’leri görebilirsiniz.
i şekilde de görüldüğü gibi DHCP için kullanılan Helper DLL’inin adı DHCPMON.DLL’dir.
Bu kadarlık Netsh girişinden sonra bu konut satırını kullanarak DHCP sunucuyu nasıl konfigüre edebileceğimize değinebiliriz.Netsh komut satırına geçtiğimizde komut satırı netsh> şeklinde olacaktır.Netsh komut satırını çalıştırdıktan sonra dhcp yazarak dhcp altbileşenine geçiş yapıyoruz.Komut satırı bu sefer dhcp> şeklini alacaktır.Burada kullanabileceğimiz komutların bir listesini görmek için list komutunu yazıyoruz.Karşımıza bulunduğumuz düzeyde kullanabileceğimiz komut listesi çıkıyor.
Bu düzeyde kullanabileceğiniz komutlar add server,delete server, show server ve server [\\\\\\\\\\\\\\\\servername/ipaddress] komutlarıdır.Örneğin burada show server komutunu girerek Active Directory ‘de tanımlı DHCP sunucuların bir listesini görebilirsiniz.Yönetmek istediğiniz sunucuya bağlanmak için ise komut satırına şunları yazmalısınız.Örneğimizde bağlanacağımız DHCP sunucunun ismi halil’dir.(Eğer lokal bilgisayarda yüklü bulunan DHCP servisini konfigüre edecekseniz sunucu ismini yazmanıza gerek yoktur.)
server \\\\\\\\\\\\\\\\halil
Bu komutu girdikten sonra komut satırı dhcp server> şeklinde değişecektir.Buda demektir ki artık DHCP sunucumuzu konfigüre edeceğimiz düzeye indik.Şimdi bu düzeyde kullanabileceğimiz komutları görmek için de list komutunu yazıyoruz.Karşımıza DHCP sunucuda kullanabileceğimiz 44 adet komut sıralanıyor.
Bu komutların ne işe yaradığını yanlarındaki açıklamaları okuyarak ögrenebilirsiniz.Örneğin bağlı bulunduğunuz DHCP sunucuda yeni bir scope oluşturmak istiyorsanız aşağıdaki şekide gösterildiği gibi bir komut girmeniz gerekiyor.
dhcp server>add scope 10.1.3.0 255.255.255.0 “turkmcse 3.scope”
Yukarıdaki komutu çalıştırdıktan sonra eğer komut başarıyla yürütülmüşse “Command completed successfully” mesajını alırsınız. Bu komutu çalıştırarak turkmcse 3. scope isimli bir scope oluşturduk.(Şekil 34)
Oluşturduğumuz bu scope’un IP adres aralığını tanımlaması yapmak için komut satırından scope düzeyine geçiyoruz.Bunu aşağıdaki komutu yazarak gerçekleştiriyoruz.
dhcp server>scope 10.1.3.0
Yukarıdaki komutu yazıp enter tuşuna basarsak komut satırı dhcp server scope> şeklini alacaktır.Bu bizin scope düzeyine geçtiğimizi gösterir.Şimdi bu scope için bir IP adres aralığı tanımlayalım.Bunun için aşağıdaki komutu çalıştırıyoruz.
dhcp server scope>add iprange 10.1.3.10 10.1.3.250
Böylece oluşturduğumuz turkmcse 3. scope adlı scope’da tanımlı IP adres aralığını 10.1.3.10 ile 10.1.3.250 arasında olacak şekilde ayarlamış olduk.Eğer oluşturduğunuz scope içinde istemcilere dağıtılmasını istemediğiniz IP adres aralığı vasa bunuda aşağıdaki komutu kullanarak belirliyorsunuz.
dhcp server scope>add excluderange 10.1.3.40 10.1.3.50
Netsh komut satırını kullanarak DHCP konsolunda gerçekleştirebildiğiniz tüm ayarları yapabilirsiniz.
Cisco Router’ın DHCP Relay Agent Olarak Konfigüre Edilmesi
Bu bölümde Cisco router’ların nasıl DHCP Relay Agent olarak konfigüre edileceğini inceleyeceğiz.Burada kullanılan komutlar Cisco router’larda geçerlidir (Cisco 2500 serisi).Eğer kullandığınız router farklı bir marka ise gerekli komut setlerini değiştirmeniz gerekebilir.
Öncelikle router’a bağlantı sağlanır.Bu bağlantıyı telnet yada konsol portundan gerçekleştirebilirsiniz.Bağlantı gerçekleştikten sonra User moda düşersiniz.User modundan Privileged moda geçmek için ise aşağıdaki komutu yazıp enter’a basıyoruz.
Router> Enable
Ardından privileged moda geçmek içi bir şifre tanımlanmışsa bu şifreyi giriyoruz.Şifreyi doğru girdikten sonra komut satırının aşağıdaki şekle dönüşmesi gerekiyor.
Router#
Privileged moddan konfigürasyon moduna geçiyoruz.Bunun için aşağıdaki komutu çalıştırıyoruz.
Router# config terminal
Enter configuration commands, one per line. End with CTRL/Z.
Router (config)#
Konfigürasyon moduna giriş yaptıktan sonra sırasıyla aşağıdaki iki komutu giriyoruz.
Router (config)# ip forward-protocol udp 67
Router (config)# ip forward-protocol udp 68
Bu komutlar router’a UDP protokolu 67 ve 68 nolu UDP portlarından gelecek broadcast mesajlarını geçirmesini söyler. Eğer bu komutlarda port numarasını belirtmezseniz router tüm broadcast mesajlarını geçirecektir ki bu durum istenmeyen bir durumdur.
Daha sonra aşağıdaki iki komutu girerek router’ın DHCP Relay Agent olarak çalışmasını sağlıyoruz.
Router (config)# interface ethernet 0
Router (config-if)# ip helper-address 10.1.1.1
Burada router’in ethernet 0 arayüzünün bağlı bulunduğu subnetdeki istemciler için DHCP Relay Agent görevi üstleneceğini varsayıyoruz.Ayrıca ikinci komutda girilen IP adresi ise kullanacağımız DHCP sunucunun IP adresidir.Yaptığımız değişikliklerin kalıcı olması için aşağıdaki komutları yazıp router’dan çıkıyoruz.
Router (config-if)# exit
Router (config)# exit
Router# copy running-config startup-config