DHCP Server
9.1 DHCP nedir?
Bildiğiniz gibi bir ağda bulunan bilgisayarın birbirleri ile iletişim işinde bulunabilmeleri ve yine bu ağdaki internet bağlantısından faydalanabilmeleri için TCP/IP ayarları ile IP adreslerinin doğru yapılandırılmış olması gerekiyor. Belki 3-4 bilgisayarın olduğu ufak bir ağda bu ayarları yapmak kolay gözükebilir ama 30-40 bilgisayardan bahsettiğimizde, ki bu rakam çok daha fazla olabilir, bu iş tam bir eziyete dönüşebilir. Hem de hata yapma olasılığı da oldukça yükselir. DHCP ise bu konuda en büyük yardımcıdır.

İstemci bilgisayarlar eğer “otomatik IP” adresi alacak şekilde yapılandırılmışlarsa, ilk açıldıklarında yerel ağda kendilerine IP adresi verecek bir sunucu ararlar. Bu noktada DHCP sunucu, kendisine ulaşan isteklere karşılık, kendi IP havuzundan bir IP adresini istemciye gönderir. İstemci de açık olduğu sürece bu IP adresi ile TCP/IP hizmetlerinden faydalanır. İstemci kapandığında aldığı IP adresini bırakmış olur. Bu işleme “Kiralama (lease)” denir.
DHCP sunucu ile istemci bilgisayarlara IP adresinin yanı sıra Subnet mask, Default Gateway, DNS sunucu, WINS sunucu gibi bilgiler de gönderilebilir.
9.2 DHCP nasıl çalışır?
İstemci bilgisayar açıldığında ağa DHCPDiscover bilgisi gönderir. Bunu Bir DHCP server aldığında bu istemciye DHCPOffer sinyali göndererek bu istemciye IP adresi sağlayabilieceğini belirtir. İstemci DHCPRequest bilgisi ile IP isteğinde bulunur. DHCP server IP adresini verir ve DHCPAck bilgisi gönderir.

9.3 DHCP istemcileri
Linux, Windows, MacOS işletim sistemlerinin tamamı DHCP protokolü ile IP yapılandırmayı destekler.
9.3.1 Windows DHCP istemci yapılandırma
Windows Network Ayarlarında TCP/IP yapılandırması bölümünden “Obtain IP address automatically” seçildiğinde Windows bilgisayarı bir DHCP istemcisi olur.

9.3.2 Redhat Linux DHCP istemci yapılandırma

Dikkat
Linux’un DHCP istemcisi olmasi için
dhclient-3.0pl1-9.i386.rpm
RPM paketi kurulu olmalıdır. Kurulu değil ise
rpm –ivh dhclient-3.0pl1-9.i386.rpm
komut ile kurunuz.
redhat-config-network aracı ile bir ethernet bağlantısı oluşturulduğunda, oluşan bağlantının özellkiler bölümüne girilir. Aşağıdaki ekranda DHCP seçilir.

9.4 DHCP Server Kurulumu
DHCP sunucu kurmak için DHCP RPM paketini kurmak yeterlidir.
# rpm –ivh dhcp-3.0p11-9.i386.rpm
DHCP sunucu DAEMON programını başlatmak
# /etc/init.d/dhcpd start
9.5 DHCP Server Konfigürasyonu
DHCP sunucunun yapılandırma dosyası /etc/dhcpd.conf dosyasıdır. Bu dosyada genel yapılandırmaların yanı sıra, makinalara ait özel yapılandırmalar da bulunur. Bu dosyada IP havuzları (scope) ve DNS güncelleme ile ilgili ayarlamalar bulunur.

Dikkat
DHCP RPM paketleri kurulduğunda
/etc/dhcpd.conf
adlı konfigürasyon dosyası otomatik olarak oluşmaz. Bu dosya el ile oluşturulur.
Sunucu, kendisine gelen istekleri /var/lib/dhcp/leases adlı metin dosyada tutar. DHCP sunucudan IP alan makinalar ile ilgili bilgiler bu dosyadan görülebilir.

Dikkat
DHCP RPM paketleri kurulduğunda
/var/lib/dhcp/leases
adlı kiralama veritabanı (Lease Database) dosyası otomatik olarak oluşmaz. Bu
dosya el ile oluşturulmalıdır.
# touch /var/lib/dhcp/leases
Bu dosya oluşturulmadan DHCP servisi başlatılmaya çalışılırsa, DHCP servisi
daemon programı Hata verecektir.
Dikkat
DHCP sunucusu olarak görev yapacak makinanın IP adresi sabit olmalı ve DHCP ile dağıtımı yapılacak IP adreslerinin bloğundan olmalıdır. Aksi halde DHCP sunucusu çalışmayacaktır.
Örneğin 192.168.2.3 IP numaralı bir makinada 10.0.0.20 – 10.0.0.60 arası IP havuzu oluşturulmaya çalışılırsa DHCP sunucu başlamayacak, hata verecektir. ([FAILED])
9.6 dhcpd.conf
#
# global options
#
# Kiralama Sureleri
default-lease-time 86400; #saniye (1 gun)
max-lease-time 86400; #saniye (1 gun)
# Domain Name ve DNS ayarlari
option domain-name “mayasoft.com.tr”; #Domain Adi
option domain-name-servers 10.0.0.5; #DNS sunucu
# (Eger Varsa) WINS sunucu yapilandirmasi
option netbios-name-servers 10.0.0.6; #WINS sunucu
option netbios-node-type 8; #WINS Node tipi
# ag ayarlari
option subnet-mask 255.255.255.0;
option broadcast-address 10.0.0.255;
option routers 10.0.0.254;
# DDNS kullanilacaksa
ddns-update-style ad-hoc;
ddns-updates on;
ddns-domainname “mayasoft.com.tr”;
ddns-rev-domainname “in-addr.arpa”;
zone mayasoft.com.tr. { primary 10.0.0.5; }
# DDNS kullanilmayacaksa
#ddns-update-style none;
#
# Subnet No 1
#
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.12 10.0.0.20;
}
# sabit IP atanacak istemciler
group {
host ws001 {
hardware ethernet 00:59:BA:CC:91:2A;
fixed-address 10.0.0.23;
}
host ws002 {
hardware ethernet 00:D0:09:30:6A:1C;
fixed-address 10.0.0.37;
}
host ws003 {
hardware ethernet 00:D0:09:30:28:B2;
fixed-address 10.0.0.51;
}
}
DDNS nedir?
DDNS(Dynamic DNS) , DHCP sunucudan IP alan bilgisayarların adlarının otomatik olarak DNS sunucuya kaydettirilmesi demektir.
DDNS kullanılmayacak olsa bile dhcpd.conf dosyasında ddns-update-style direktifi olmalıdır, aksi halde DHCP sunucu başlamayacaktır.
DDNS kullanılmayacaksa
ddns-update-style none;
yazılmalıdır.
Dikkat
DHCP iletişim sürecini izlemek için
# tail –f /var/log/messages
Komutu kullanılabilir.
9.7 NetBIOS Node türleri
NetBIOS düğüm türü yapılandırması yalnızca Windows İstemciler içindir. Windows İstemcilerin Ağdaki diğer makinaların isimlerini çözümlemek için hangi yöntemi kullanacaklarını belirtir.
Değer Node tipi Davranış
1 B-Node Broadcast – No WINS
2 P-Node Peer – WINS only
3 M-Node Mixed – Broadcast then WINS
4 H-Node Hybrid – WINS then Broadcast
9.8 DHCP’nin diger option’ları
DHCP ile birçok bilgi istemci bilgisayarlara gönderilebilir. Yukarıdaki konfigürasyon dosyasında listelenmeyen opsiyonlar ilgili manual’a bakılarak öğrenilebilir.
# man dhcp-options
9.9 DHCP ile IP almış bilgisayarlara ait bilgiler (Lease Database)
DHCP ile IP almış bilgisayarlar ile ilgili bilgileri görmek için
# cat /var/lib/dhcp/dhcpd.leases
9.10 DHCP problemleri
a) Windows Makine DHCP sunucuya ulaşamazsa
Windows istemciler DHCP sunucuya ulaşamzsa, işletim sistemi tarafından 169.254.X.Y gibi bir IP adresi atanır. Bir Windows istemci bu tür bir IP adresi almışsa sunucu ile arasındaki kablo bağlantısı kontrol edilmelidir.
b) Linux Makine DHCP sunucuya ulaşamazsa
Linux makinası DHCP sunucuya ulaşamazsa IP adresi almaz. DHCP sunucuyu test etmek için
# dhclient
komutu ile manuel olarak IP alma işlemi gerçekleştirilebilir. Bir hata oluşursa ekrandan görüntülenecektir.
Kolaylıklar