Ana Sayfa  |  Makaleler  | Programlama  | Haberler Forum  |  İpuçları  |  Download  |  E-Mail
     
       
       
         
           
           
           
           
       
   
   
 
DHCP : Dynamic Host Configuration Protocol
( soner.sag@linuxprompt.com )

 

Giriş

DHCP protokolu BOOTP protokolunun devamidir. DHCP, Dhcp kullanmak üzere yapilandirilmis uçbirimlere merkezi ve otomatik olarak network bilgilerinin atanmasi ile TCP/IP bilgilerinin yapilandirilmasini sağlar. DHCP servisi ile manuel olarak ip adresinin verilmesinden ortaya cikan bazi problemlerin elimine edilmesini amaçlamaktadır.

Network 'den haberleşmenin temeli her isteminin Ip Adresi, Netmask ihtiyaca göre de Gateway ve Dns e sahip olmasıdır. Küçük bir ağda bu bilgilerin statik olarak girilmesi sorun olmazken büyük bir network de büyük bir kargaşaya sebep olabilir. Bu bilgilerin karışmaması için de not edilmesi ve gereksiz bu bilgilerin saklanması gerekir. Hem zaman hemde iş gücü olarak bakıldığında gereksiz bir yük getiren bu statik yapılandırma çok küçük ağlar dışında tavsiye edilmez. Oysa ki orta ve büyük ölçekli bir ağda, ağın yapısını bilen bir IT personeli kısa bir veya birkaç konfigurasyon ile kontrolü sistem yönetimine katabilir. Sistem yönetimde olması kullanıcının Ağ bilgilerinin sürekli kontrolde tutulması da demektir.

DHCP 'nin diğer kullanım alanları disk barındırmayan, işletim sistemlerini dahi networkten alan ortamlardır. Diski, disk sürücüsü ve CD-ROM 'u bulunmayan bilgisayarların, ağdaki diğer tüm bilgisayarlar gibi networkden yararlanmaları için BOOTP protokolünü kullanılır. Pratikte Disksiz sistem BOOTP ile Ağ bilgilerini alır TFTP veya NFS ile İşletim sistemlerini yüklerler. Bu yapı network 'e yük getireceğinden network alt yapısının yüksek hızlı tasarlanması gerekmektedir.

DHCP sunucusu özellikle Laptop, PDA gibi gezici bireysel cihazların kullanımında da rahatlık sağlar. Sürekli Ağ ayarını değiştirilmesi gerekmez.


DHCP Server 'ın dosya sisteminde /var/lib/dhcpd.leases dosyasinda hangi bilgisayara hangi IP nin verildigi yazilir. Network 'e bağlı tüm istemciler bu dosyada belirtilen network bilgilerini alırlar. Bu sayede dhcp serveri acip kapatsaniz bile istemciler kismindan herhangi bir sorun yaşanmaz. /var/lib/dhcp/dhcp.leases dosyasında bir istemciye ait örnek aşağıdaki gibidir.

 

lease 10.1.1.24 {

starts 1 2008/11/17 09:49:43;

ends 2 2008/11/18 09:49:43;

hardware ethernet 00:50:c2:99:02:0e;

}


10.1.1.24 Ip istemciye verilen Ip adresidir. Starts dhcp kirasının başlangıç tarihi ve saatidir. İstemcinin en alt satırda istemcinin MAC adresi yazılıdır.

TCP bilindiği gibi ortak bir haberleşme standartıdır. Yani muhattabınız ister LİNUX isterse de Microsoft olsun siz bir IP sunucusu iseniz talep geldiğinde IP verirsiniz. Şimdi işlerin DHCP sunucu tarafında nasıl yürüdüğünü görelim.


SUNUCU = SERVER
ISTEMCI = CLIENT

DHCP DISCOVER


İstemci 255.255.255.255 Nolu Ip ye DHCP DISCOVER mesajı gönderir. ( IP talebinde bulunur )

DHCP OFFER


Server uygun gördüğü Ip teklifini istemciye gönderir.


DHCP REQUEST

İstemci verilen IP teklifini kabul eder. DHCP REQUEST ile geri döner

DHCPACK

(DHCP ACKNOWLEDGE)


Sunucu bu teklifi kabul ettiğine dair DHCPACK gönderir.


Daha açik bir şekilde sunucu logları ile bakarak ağınızda nasıl oluyor bakalım.

1 -Ağınıza gelen bir istemci öncelikle 255.255.255.255 numaralı ip ye “DHCP Discover” gönderir. Bu tüm ağa yapılmış bir talepdir. Çünkü 255.255.255.255 ip numarasını tüm ağı kapsamakta olan Network 'ün yayın adresidir. Zaten mesajdan da anlaşılacağı üzere DHCP keşfidir. Ağda DHCP sunucu aranmaktadır.

Aşağıda Linux sistemde çalışan bir DHCP sunucusunun logları kullanılmıştır.

Apr 3 10:09:38 pera*** dhcpd: DHCPDISCOVER from 00:50:c2:99:03:b1 via eth0


2 - DHCP Discover 'ı alan DHCP Sunucusu Ağımızı nasıl konfigure etmişsek bu ayarları içeren “DHCP Offer” mesajını yollar. Yani gelen isteğe sadece Ip Adresi, Alt Ağ Maskesi ve gateway vermek istiyorsak ve /etc/dhcp3/dhcpd.conf dosyasında bunları belirtmişsek bu mesajla bu bilgiler yollanır.

Apr 3 10:09:38 pera*** dhcpd: DHCPOFFER on 10.1.1.10 to 00:50:c2:99:03:b1 via eth0


3 - Bu talebi kabul eden PC tüm ağa yani 255.255.255.255 den DHCP REQUEST mesajını yollar. Bu Ip' yi kiralama talebidir.

Apr 3 10:09:38 pera*** dhcpd: DHCPREQUEST for 10.1.1.10 from 00:50:c2:99:03:b1 via eth0

4 - DHCP REQUEST 'i alan DHCP Sunucu bu onayı kabul ettiğine dair DHCPACK ( DHCP Acknowledge ) mesajını döndürür.

Apr 3 10:09:38 pera*** dhcpd: DHCPACK on 10.1.1.10 to 00:50:c2:99:03:b1 via eth0

Bu aşamada PC Ağ Bilgilerini almıştır.

YÜKLEME

linuxprompt~# dpkg -l|grep "dhcp3-server"

komutundan sonra boş bir satirla karşilaşirsanız dhcp3-server yüklü değildir.

Yüklü bir sistemde komutun çıktısı aşağıdaki gibi olur.

ii dhcp3-server 3.0.4-13 DHCP server for automatic IP address assignm

dhcp3-server 'ı yüklemek için aşağıdaki komut verilir.

linuxprompt~# apt-get install dhcp3-server

AYARLAR

/etc/dhcp3/dhcpd.conf

Basit bir DHCP sunucu Konfigurasyonu

linuxprompt~# vi /etc/dhcp3/dhcpd.conf

Ip Dagitilacak sistemlere verilecek bilgiler dhcpd.conf dosyasinin içinden ayarlanmaktadir.

# Dagitilacak DNS Sunucu IP adresleri veya isterseniz dns serverin ismini #girebilirsiniz.
option domain-name-servers 10.1.1.1;

#IP Dağıtılacak istemcilere domainleri belirtilir.
options domain-name "linuxprompt.com";

#IP Dağıtılacak istemcilere alt ağ maskesi belirtilir.
option subnet-mask 255.255.255.0;

#IP Dağıtılacak istemcilere yayın adresleri belirtilir.

option broadcast-address 10.1.1.255;

#IP Dağıtılacak istemcilere gateway belirtilir.
option routers 10.1.1.1;

# Standart kira suresi sn cinsinden

default-lease-time 600;

# Maksimum kira suresi sn cinsinden
max-lease-time 7200;

# Dagitimi yapilacak network adresi ve alt ağ maskesi

subnet 192.168.202.0 netmask 255.255.255.0 {

# IP dağıtılacak IP aralığı

range 10.1.1.20 10.1.1.254;

}

#Statik ayarlar.

host Client_1{

#Statik olarak IP Dağıtılacak istemcilerin MAC adreslerine göre IP veriliyor.

hardware ethernet 00:84:C0:76:C4:38;
fixed-address 10.1.1.12;


}

 

 

Yazan : Soner SAĞ
Email : soner.sag@linuxprompt.com