AGCIYIZ.NET Network Kontrol Altında

10Ağu/101

ISC-DHCP (LINUX DHCP SERVER)

 Bu ayki yazımda sizlere linux bir sistem üzerinde DHCP server kurulumu ve bu kurulum ile standart olarak gelen dhcpd.conf dosyasının özelliklerinden bahsedeceğim. Ama DHCP sunucu kurulumuna geçmeden önce kısaca DHCP’nin ne olduğundan ve ne işe yaradığından söz edelim.  İngilizcesi “Dynamic Host Configuration Protocol “ olan DHCP; bir networkte bulunan cihazların network içinde veya dışında paket alışverişi yapabilmeleri için yerel networke bağlı bir sunucu makine üzerine veya bir router üzerine kurulan DHCP sunucusu tarafından ip atanarak internet ortamında bir isim kazanmalarını sağlamaktır. Bu sayede kullanıcıları statik olarak IP yazmaktan kurtarıp bu kullanıcıların; IP, Alt Ağ Maskesi, Varsayılan Ağ Geçidi, DNS Adresleri ve diğer IP Parametreleri gibi bilgilerinin otomatik olarak atanmasını sağlar. Ben de linux sistem üzerinde bir DHCP sunucu kurulumunu (ISC-DHCP) sizlere aktarmaya çalışacağım. Kuruluma başlamadan önce networkümün durumunun aşağıdaki koşullara göre şekillenmiş olduğunu varsaydım:

  • Network: 192.168.1.0, Alt Ağ Maskesi: 255.255.255.0
  • Varsayılan Ağ Geçidi: 192.168.1.254
  • DNS Sunucunun IP’si: 192.168.1.20
  • (192.168.1.150 - 192.168.1.229) arasında dinamik olarak kullanıcılara atanabilecek kullanılmamış 80 adet IP var.
  • DHCP sunucusu için kullandığım sistem  Debian Sarge Server,  hostname sunucu.ornek.com IP addresi 192.168.1.100

 

Sunucuyu bu Debian sisteme kurmak için kullanacağımız komut şudur:

apt-get install dhcp3-server

Ardından şu sorular karşımıza gelir:

On what network interfaces should the DHCP server listen? <-- eth0

Please configure the DHCP server as soon as the installation finishes. <-- Ok

The version 3 DHCP server is now non-authoritative by default <-- Ok

Kurulumun sonunda aşağıdaki hatalar alınır. Bu hataların alınmasının sebebi henüz elle yapmamız gereken bazı  konfigürasyonların bulunması:

Generating /etc/default/dhcp3-server...
Starting DHCP server: dhcpd3 failed to start - check syslog for diagnostics.
invoke-rc.d: initscript dhcp3-server, action "start" failed.

Şimdi DHCP sunucusunu tam anlamıyla konfigüre etmemiz gerekiyor. IP dağıtacağı networkü belirtmeden ve sunucumuzun bu networkün bu içerisinde olmasını sağlamadan DHCP sunucusu başlamayacaktır.

Sunucunun indirilmesi ile beraber dhcpd.conf dosyası  /etc/dhcp3/dhcpd.conf olarak kaydedilmiştir.  Sunucumuzun işleyişi ile ilgili yapacağımız değişiklikler bu dosya üzerinden olacaktır.

vim  /etc/dhcp3/dhcpd.conf komutunu yürüterek dhcpd.conf dosyasını editörde görüntülememiz mümkün olur. Bu komutu girdikten sonra karşımıza içeriği aşağıdaki gibi olan bir .conf dosyası gelecektir.

ddns-update-style none;

option domain-name-servers 192.168.1.20;

default-lease-time 72000;

max-lease-time 108000;

authoritative;

subnet 192.168.1.0 netmask 255.255.255.0 {

        range 192.168.1.150 192.168.1.229;

        option subnet-mask 255.255.255.0;

        option broadcast-address 192.168.1.255;

        option routers 192.168.1.254;

}

Bu konfigürasyon dosyasındaki komutların ne işe yaradığını kısaca şu şekilde özetleyebiliriz:   

  • ddns-update-style: Eğer ki networkünüzde bir sunucunun IP Adresi değişmiş ise DHCP sunucunuza DNS sunucu adresini güncellemesini bu komut ile söyleyebilirsiniz. Ancak networklerde sunucu IP’leri genelde statik olarak atanır ve değişmemesi sağlanır bu yüzden bu komutun yanına “none” getiriyoruz.
  • option domain-name-servers: Bu komut DHCP sunucusu tarafından istemci bilgisayarlara hangi DNS sunucularını atayacağımızı belirler. Virgüllerle ayırarak birden fazla DNS sunucusu belirtilebilir.
  • default-lease-time, max-lease-time: IP verilen bir istemciye bu IP’nin nekadar bir süreyle verildiği belirlenebilir. Bu süre en fazla max-lease-time da belirlenen kadar olur.
  • authoritative: Bu satır yazılmamışsa veya yorum satırı haline getirilmişse bu demek olur ki sunucunun bilmediği ve conf dosyasında belirtilen network segmentine göre yanlış IP almış istemcilere kullandıkları IP’lerin yanlış olduğunu gönderen DHCPNAK paketi gönderilmez. Bu istemediğimiz bir durum olduğu için bu komutu uygularız.
  • subnet: IP dağıtmamız beklenen network.
  • netmask: IP atanacak networkün alt ağ maskesi.
  • range: DHCP sunucusuna; istemcilerine hangi aralıktan IP atayacağını tanımlar.
  • option broadcast-address: Kullanılacak broadcast adresi.
  • option routers: İstemcilere DHCP sunucusu tarafından atanacak ağ geçidini tanımlar.

DHCP sunucumuzun konfigürasyon dosyasını hazırladıktan sonra aşağıda gösterildiği gibi yeniden başlatabiliriz:

/etc/init.d/dhcp3-server restart

DHCP sunucusu mevcut tüm IP kiralarını /var/lib/dhcp3/dhcpd.leases altındaki dosyaya yazar. Bu sayede bir istemci için kiralanan IP’nin başka bir istemciye verilmesi engellenmiş olur.  DHCP sunucusunun mevcut durumunu ve ne aşamada hangi IP’lerin atanıp hangi DHCP mesajlaşmalarının sağlandığını  /var/log/syslog veya /var/log/messages dosyasında gözlemleyebiliriz. Bu dosya genel olarak aşağıdaki örnekte gösterildiği gibi görünmektedir:

Aug 1 12:01:20 sunucu dhcpd: DHCPDISCOVER from 00:1a:4a:8c:d7:3a via eth0
Aug 1 12:01:20 sunucu dhcpd: DHCPOFFER on 192.168.1.169 to 00:0c:76:8b:c4:16 (BLG30187) via eth0
Aug 1 12:01:21 sunucu dhcpd: DHCPDISCOVER from 00:1a:4a:8c:d7:3a (BLG30187) via eth0
Aug 1 12:01:21 sunucu dhcpd: DHCPOFFER on 192.168.1.169 to 00:0c:76:8b:c4:16 (BLG30187) via eth0
Aug 1 12:01:41 sunucu dhcpd: DHCPDISCOVER from 00:1a:4a:8c:d7:3a (BLG30187) via eth0
Aug 1 12:01:41 sunucu dhcpd: DHCPOFFER on 192.168.1.169 to 00:0c:76:8b:c4:16 (BLG30187) via eth0
Aug 1 12:01:41 sunucu dhcpd: Wrote 1 leases to leases file.
Aug 1 12:01:41 sunucu dhcpd: DHCPREQUEST for 192.168.1.169 (192.168.1.100) from 00:1a:4a:8c:d7:3a  (BLG30187) via eth0
Aug 1 12:01:31 sunucu dhcpd: DHCPACK on 192.168.1.169 to 00:1a:4a:8c:d7:3a (BLG30187) via eth0

Bir sonraki yazımızda buluşmak üzere sağlıcakla kalın.

Bu yazıyı beğendiniz mi?

RSS Kaynağımıza abone olun!

Hakkında Safter Arslan

Açıklama yok. Lütfen profilinizi tamamlayın.
Yorumlar (1) Geri izlemeler (0)
  1. Öncelikle elinize sağlık…

    Peki 3 ethernet olduğunu kabul edersek şöyleki

    10.0.0.1 – eth0
    192.168.1.1 – eth1
    192.168.2.1 – eth2

    hepsinde ayrı bir switch var bu switche bağlı pcler bağlı olduğu switche bağlı eth üzerinden o grubun IP aralağında nasıl IP alır, dhcpd.conf dosyası nasıl bir şekil alır ?

    Diğer konus ise, bu gruplara mac adresine göre IP ataması yapılması durumunda MACi listede yer almayan cihaza atanacak IP 192.168.10.1 ağında olacaklar. Bunun ayarları nasıl gerçekleşir ?


Yorum gönder.


Geri izleme yok.

Creative Commons Lisans