DHCP

DHCP (Dynamic Host Configuration Protocol) Nedir?

DHCP (Dynamic Host Configuration Protocol), bir ağ üzerindeki cihazlara dinamik olarak IP adresleri ve diğer ağ yapılandırma bilgilerini otomatik olarak tahsis eden bir ağ yönetim protokolüdür. DHCP'nin temel amacı, ağ yöneticilerinin IP adreslerini manuel olarak dağıtma gereksinimini ortadan kaldırarak, ağ yönetimini kolaylaştırmaktır. Bu yazıda DHCP'nin nasıl çalıştığını, sürecin adımlarını ve DHCP'nin sunduğu avantajları detaylı bir şekilde inceleyeceğiz.


DHCP Nasıl Çalışır?

DHCP'nin çalışma prensibi oldukça basittir. Bir cihaz (örneğin bir bilgisayar veya akıllı telefon) bir ağa bağlandığında, otomatik olarak bir IP adresi ve gerekli ağ bilgilerini almak için bir DHCP sunucusuyla iletişim kurar. Bu süreç, dört temel adımdan oluşur:

  1. DISCOVER

  2. OFFER

  3. REQUEST

  4. ACKNOWLEDGE

Şimdi ise bu adımları açıklayalım.

1-) DHCP DISCOVER

Bu ilk adımda, ağdaki bir cihaz bir IP adresi ve diğer yapılandırma bilgilerini talep etmek için bir DHCP Discover mesajı gönderir. Bu mesaj, ağdaki tüm DHCP sunucularına yayınlanır. Bu yayın mesajı, IP adresi ataması yapabilecek bir sunucu arar.

Client (0.0.0.0) ---> DHCP Discover ---> Broadcast (255.255.255.255)
İstemci IP'si Neden 0.0.0.0?

Bir cihaz (istemci), ağa ilk bağlandığında henüz kendisine bir IP adresi atanmış değildir. Bu nedenle, DHCP sürecinin başında kendisini "0.0.0.0" IP adresi ile tanıtır. Bu adres, istemcinin henüz ağda geçerli bir IP adresi olmadığını belirtmek için kullanılır.

2-) DHCP OFFER

DHCP sunucusu, bir DHCP Discover mesajı aldığında, uygun bir IP adresi ve diğer ağ yapılandırma bilgilerini içeren bir DHCP Offer mesajı ile yanıt verir. Bu mesajda genellikle IP adresi, alt ağ maskesi, varsayılan ağ geçidi ve DNS sunucu bilgileri bulunur.

DHCP Server (192.168.1.1) ---> DHCP Offer ---> Client (0.0.0.0)

3-) DHCP REQUEST

DHCP istemcisi, kendisine sunulan IP adresini ve diğer yapılandırma bilgilerini kabul etmek için bir DHCP Request mesajı gönderir. Bu adım, istemcinin belirli bir DHCP sunucusundan gelen teklifi kabul ettiğini ve atanan IP adresini kullanmak istediğini belirtir.

Client (0.0.0.0) ---> DHCP Request ---> DHCP Server (192.168.1.1)

4-) DHCP ACKNOWLEDGE

Son adımda, DHCP sunucusu bir DHCP Acknowledge (ACK) mesajı göndererek, istemcinin talebini onaylar ve IP adresi atamasını kesinleştirir. Bu noktada, istemci atanan IP adresini kullanmaya başlar ve ağa tam erişim sağlar.

DHCP Server (192.168.1.1) ---> DHCP ACK ---> Client (192.168.1.100)

DHCP'nin Avantajları

1-) Kolay Yönetim

DHCP, IP adresi tahsisini otomatik hale getirerek ağ yönetimini büyük ölçüde basitleştirir. Ağ yöneticileri, her cihaz için manuel olarak IP adresi atamak zorunda kalmazlar.

2-) Hataların Azaltılması

Manuel IP adresi atama işlemi sırasında yapılan hatalar, ağda çakışmalara ve bağlantı sorunlarına yol açabilir. DHCP, bu tür hataların önüne geçer.

3-) Dinamik IP Atama

DHCP, cihazların ağdan ayrıldıklarında IP adreslerini geri alır ve başka cihazlara yeniden tahsis edebilir. Bu, IP adreslerinin daha verimli kullanılmasını sağlar.

4-) Merkezi Yönetim

DHCP, ağ yöneticilerinin tüm ağ yapılandırma bilgilerini merkezi bir yerden yönetmesine olanak tanır. Bu, ağ değişikliklerini uygulamayı ve yönetmeyi kolaylaştırır.


DHCP Yapılandırma Örnekleri

Bir DHCP sunucusunu yapılandırmak, ağdaki cihazlara otomatik olarak IP adresleri ve diğer yapılandırma bilgileri sağlamak için gereklidir. Aşağıda sizlere örnek olarak yaygın bir DHCP yapılandırma örneği sunulmuştur. Gelin bir bakalım..

1. DHCP Sunucusunun Kurulumu:

Linux tabanlı bir sistemde DHCP sunucusu olarak hizmet vermek için isc-dhcp-server paketini kullanabiliriz.

sudo apt-get update
sudo apt-get install isc-dhcp-server

2. Yapılandırma Dosyasının Düzenlenmesi:

/etc/dhcp/dhcpd.conf dosyasını açalım ve aşağıdaki ayarları ekleyelim.

default-lease-time 600;
max-lease-time 7200;
authoritative;

subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.100 192.168.1.200;
    option routers 192.168.1.1;
    option subnet-mask 255.255.255.0;
    option domain-name-servers 8.8.8.8, 8.8.4.4;
    option domain-name "example.com";
}

Yukarıdaki conf dosyasında, bir DHCP sunucusunun ağdaki istemcilere IP adresleri ve diğer ağ yapılandırma bilgilerini nasıl dağıtacağını tanımlar.

Şimdi ise bu kodlar ne işe yarıyor onlara bakalım:

  • default-lease-time 600;

    • Anlamı: Varsayılan kira süresi 600 saniye (10 dakika) olarak ayarlanmıştır.

    • Görevi: Bu, istemcinin kiraladığı IP adresini kullanabileceği varsayılan süreyi belirtir. İstemci bu süre dolmadan önce IP adresini yenilemezse, kira süresi dolmuş olur.

  • max-lease-time 7200;

    • Anlamı: Maksimum kira süresi 7200 saniye (2 saat) olarak ayarlanmıştır.

    • Görevi: Bu, bir istemciye kiralanabilecek IP adresinin en uzun süresini belirtir. Bu süreden sonra istemci IP adresini yenilemek zorundadır.

  • authoritative;

    • Anlamı: Bu sunucunun yetkili DHCP sunucusu olduğunu belirtir.

    • Görevi: Bu ayar, bu sunucunun DHCP taleplerine yanıt verme yetkisi olduğunu belirtir. Ağda birden fazla DHCP sunucusu varsa, bu sunucunun talepleri yönetme yetkisi olduğunu belirtir.

  • subnet 192.168.1.0 netmask 255.255.255.0 {

    • Anlamı: 192.168.1.0/24 alt ağı için yapılandırma başlatır.

    • Görevi: Alt ağın IP adres aralığını ve alt ağ maskesini tanımlar. Bu alt ağ içinde DHCP sunucusunun nasıl davranacağını belirtir.

  • range 192.168.1.100 192.168.1.200;

    • Anlamı: 192.168.1.100 ile 192.168.1.200 arasındaki IP adresleri dağıtılabilir.

    • Görevi: Bu, DHCP sunucusunun bu alt ağda dağıtabileceği IP adreslerinin aralığını belirler.

  • option routers 192.168.1.1;

    • Anlamı: Varsayılan ağ geçidi olarak 192.168.1.1 IP adresi kullanılır.

    • Görevi: DHCP istemcilerine varsayılan ağ geçidi adresini sağlar. İstemciler bu adresi, alt ağın dışına çıkmak için kullanırlar.

  • option subnet-mask 255.255.255.0;

    • Anlamı: Alt ağ maskesi olarak 255.255.255.0 kullanılır.

    • Görevi: DHCP istemcilerine bu alt ağ maskesini gönderir. Bu maske, alt ağın boyutunu ve yapılandırmasını belirler.

  • option domain-name-servers 8.8.8.8, 8.8.4.4;

    • Anlamı: DNS sunucuları olarak 8.8.8.8 ve 8.8.4.4 IP adresleri kullanılır.

    • Görevi: DHCP istemcilerine kullanacakları DNS sunucularını belirtir. Bu örnekte, Google DNS sunucuları kullanılmıştır.

  • option domain-name "example.com";

    • Anlamı: Alan adı olarak "example.com" kullanılır.

    • Görevi: DHCP istemcilerine bu alan adını sağlar. İstemciler, DNS taleplerinde bu alan adını kullanabilir.

Kodların ne işe yaradığını öğrenmiş olduk. Şimdi ise akılda daha iyi kalması için özet bir şekilde bakalım.

  1. İstemciler 192.168.1.100 ile 192.168.1.200 arasında IP adresleri alacaklar.

  2. Varsayılan ağ geçidi 192.168.1.1 olacak.

  3. Alt ağ maskesi 255.255.255.0 olacak.

  4. DNS sunucuları 8.8.8.8 ve 8.8.4.4 olacak.

  5. İstemciler "example.com" alan adını kullanacaklar.

3. DHCP Sunucusunun Başlatılması:

sudo systemctl restart isc-dhcp-server

Son olarak yukarıdaki kodumuzu yazıyoruz. Bunu yazma amacımız yapılandırma değişikliklerinden sonra bunların uygulanabilmesi ve hizmetlerin doğru çalışması için gereklidir.

  • Bu basit yapılandırma, 192.168.1.0/24 ağı için IP adresi tahsisi yapacak ve istemcilere ağ geçidi, alt ağ maskesi ve DNS sunucusu bilgilerini sağlayacaktır.


DHCP Özeti

DHCP, modern ağlarda IP adresi yönetimini ve diğer ağ yapılandırma bilgilerinin dağıtımını büyük ölçüde kolaylaştıran önemli bir protokoldür. Manuel IP adresi atama işlemlerini otomatikleştirerek ağ yönetimini basitleştirir, hataları azaltır ve ağ kaynaklarının daha verimli kullanılmasını sağlar. Hem küçük hem de büyük ölçekli ağlarda DHCP'nin kullanımı, ağ yönetiminin vazgeçilmez bir parçası haline gelmiştir.

  • Umarım faydalı bir yazı olmuştur. Keyifli kodlamalar..

Last updated