EnderUnix Software Development Team

Giris

26 Mayis 2001

        DHCP (Dynamic Host Configuration Protocol)

                   Sunucu ve Istemci Konfigurasyonu

DHCP cok fazla bilgisayarin oldugu bir agda tek tek her bilgisayar icin konfigurasyon yapmak yerine her bilgisayarin her acilista  makinanin duzenli olarak calismasi icin  gerekli olan bilgilerin(IP, DNS Server, Gateway.. )  otomatik olmasini saglayan bir protokoldur.

Bu dokumanda FreeBSD, OpenBSD,NetBSD ve Linux uzerinde DHCP kurulum ve konfigurasyonu anlatilacaktir. DHCP server  kurmanin ne kadar kolay oldugunu goreceksiniz.

 

Genel Notlar
Bu dokumanin en guncel hali; http://www.enderunix.org/docs/dhcp.html adresindedir.

Aksi belirtilmedigi takdirde bu kabil dokumanlarin haklarý  yazan yazarlarda saklidir. Bu dokuman da, parca parca ya da tamamen herhangi bir sekilde, yazarinin izni dahilinde dagitilabilir.

Yazar, bu dokumani okuyanlarin ugrayacaklari herhangi bir zarardan oturu sorumluluk kabul etmez. Use at your own risk!

Eger, herhangi bir konuda yardima ihtiyaciniz olursa, roots@enderunix.org  adresine mail atabilirsiniz.!

 

DHCP  Kurulumu
 

FreeBSD :

#cd /usr/ports/net/isc-dhcp2

#make install

 

OpenBSD ve NetBSD:

Kurulu olarak gelmektedir.

 Linux:

Redhat ve  Mandrake CD de gelmektedir.

rpm -ivh dhcpd-version.rpm dhclient-versiyon.rpm

 

DHCP Konfigurasyonu

dhcp konfigurasyonu icin dhcpd.conf  dosyasi kullanilir. Bu dosya FreeBSD de /usr/local/etc/dhcpd.conf  , OpenBSD,NetBSD , Linux(rpm ile kurduysaniz) te /etc/dhtpd.conf dir.

Ornek bir dhcpd.conf dosyasi su sekildedir.

---------------------dhcpd.conf-----------------------

 

subnet 200.201.202.0 255.255.255.0  {

range 200.201.202.20 200.201.202.240;

options domain-name-servers 200.201.202.2 , ns2.enderunix.com ;

options domain-name "enderunix.com";

options routers  200.201.202.1 ;

options broadcast-address 200.201.202.255

default-lease-time 600;

max-lease-time 7200;

   }

 

host freefall {

hardware ethernet 08:00:07:26:c0:a5;

fixed-address freefall.enderunix.com;

}

-------------------dhpcd.conf end-------------------------

yukaridaki ifadelerin ne manaya geldigini aciklayalim.

 

subnet 200.201.202.0 255.255.255.0  { 

dhcp serverin hizmet verecegi IP uzayini ve bu uzayin netmask i belirtilir.

range 200.201.202.20 200.201.202.240; 

istemcilerin hangi IP araliginda IP alacagini belirtiyoruz . Burada  istemciler 20 dan 240 kadar IP leri rastgele  alacaklardir. bu IP araligi birden fazlada olabilir yani diyelim ki  istemcilerin 20 den 100 kadar ve 150 dan 240  araliklarinda IP alsin istiyorsak.

range 200.201.202.20 200.201.202.100; 

range 200.201.202.150 200.201.202.240; 

seklinde 2 tane range (aralik) girilebilir.

options domain-name-servers 200.201.202.2 , ns2.enderunix.com ;

istemcilerin dns serverlari belirtilir. isterseniz IP adresi isterseniz dns serverin ismini girebilirsiniz.

options domain-name "enderunix.com";

istemcilerin domainleri belirtilir.

options routers  200.201.202.1 ;

istemcilerin gatewayi olan server veya routerin IP sini belirtir.

options broadcast-address 200.201.202.255

subnetin broadcast adresini belirtir.

default-lease-time 600;

ontanimli kiralama suresi diye cevirebiliriz yani bir istemci kendisine atanan IP yi ne zamana kadar kullanmasina izin verilecegini saniye olarak belirtir.

max-lease-time 7200;

bir istemcinin kendisine tahsis edilen IP en fazla ne kadar sure ile kullanacagini saniye olarak belirtir   (burada 2 saatdir ( 7200 saniye)

 }

ifadesi ile bu subnet ile ilgile konfigurasyonun bittigini belirtilir.

Not:dhcp serverin bu subnet hizmet verebilmesi icin bu subnetle fiziksel baglantisi olmasi gerekmektedir.

ve yukaridaki 

options domain-name-servers 200.201.202.2 , ns2.enderunix.com ;

options domain-name "enderunix.com";

default-lease-time 600;

max-lease-time 7200;

gibi parametreleri  

subnet 200.201.202.0 255.255.255.0  { 

ifadesinin yukarisina yazarak bu bilgilerin dhcp serverin destekledigi tum subnet ler icin gecerli olmasini saglayabilirsiniz. bu sayede tum subnetler icin tek tek bu degerleri girmenize gerek yok.

son olarakta  belirli makinalarin herzaman ayni ip veya ismi almasi icin ne yapilacagi gosterelim. 

host freefall {

hardware ethernet 08:00:07:26:c0:a5;

fixed-address freefall.enderunix.com;

}

yukarida MAC adresi 08:00:07:26:c0:a5; olan bilgisayarin 

isminin freefall.enderunix.com olacagi belirtilir.isim yerine 

fixed-address 200.201.2002.99; 

parametresi kullanilarak hep bu IP yi almasi saglanir.

 

 

DHCP nin calistirilmasi
DHCP nin calismasi icin /var/db/dhcpd.leases dosyasinin olmasi lazim yoksa

#touch  /var/db/dhcpd.leases 

komutu ile dosyasi olusturunuz.

dhcpd.leases dosyasinda hangi bilgisayara hangi IP nin verildigi yazilir. bu sayede dhcp serveri acip kapatsaniz bile  istemciler kismindan herhangi bir sorun olusmaz. 

dhcp yi calistirmak icin basitce

root# dhcpd

komutunu vermeniz yeterlidir.

dhcpd.conf dosyasinda herhangi bir degisiklik yaptiktan sonra degisikligi aktif hale getirmek icin dhcpd processini kill edin ve tekrar dhcpd daemonu nu baslatin.

#kill -HUP  parametresini kullanmaniz degisikligin aktif olmasini saglamaz.

Istemcilerin Ayarlanmasi

DHCP serveri kurduk sira geldi istemcileri ayarlamaya

FreeBSD:

hostname="freefall.enderunix.com" 

ifconfig_fxp0="inet 200.201.202.60 netmask 255.255.255.0" 

defaultrouter="200.2001.201.1"

gibi ifadelerin basina # koyurak iptal edin.

daha sonra

ifconfig_fxp0="DHCP"

parametresini ekleyin. fxp0 ifadesini sizin ethernet interfacesinizin ismiyle degistirin. 

OpenBSD ve NetBSD:

echo  dhcp >/etc/hostname.fxp0

komutunu vermeniz yeterlidir.

fxp0 ifadesini sizin ethernet interfacesinizin ismiyle degistirin. 

 Linux:

Redhat ve Mandrake de /etc/sysconfig/network-scripts/ifcfg-eth0 dosyasina  

BOOTPROTO=dhcp

yazmaniz yeterli.

UNIX lerde 

#dhclient fxp0  

komutunu vererek manual olarak dhclienti calistirabilirsiniz. fxp0 ifadesi sizin ethernet interfacesiniz ile degistiriniz.

 

Windows:

Start->Settings -> Control Panel ->Network ->TCP/IP -> Obtain an IP address automatically 

ve windowsunuz reboot edin :)

DHCP Serverin acilista calismasi:
FreeBSD:

dhcp.sh diye bir dosya olusturun ve icini

#!/bin/sh

/usr/local/sbin/dhcpd -q

ifadelerini ekleyin ve bu dosyayi /usr/local/etc/rc.d altina kopyalayin

#cp  dhcp.sh /usr/local/etc/rc.d

#chmod 755 /usr/local/etc/rc.d/dhcpd.sh

OpenBSD ve NetBSD :

/etc/rc.conf dosyasinda

dhcpd_flags="YES"

yazmaniz yeterli.

Linux:

/etc/rc.d/rc.local dosyasina

/usr/sbin/dhcpd -q

yazmaniz yeterli

 

Kaynaklar:

man dhcpd

man dhcpd.conf

FreeBSD Handbook ( http://freebsd.enderunix.org)