DHCP Haqqında
DHCP (İngilis Dynamic Host Configuration Protocol), sadə olaraq sistemdəki kompüterlərə IP ünvanlarını və buna əlavə olaraq müxtəlif parametrləri təyin etmək üçün istifadə edilən xidmətdir. DHCP’nin təməl xüsusiyyəti sistemi quran kəslərin tək tək bütün maşınları gəzib eyni və ya oxşar parametrləri dəfələrlə əliylə girməsini maneə törətmək, beləcə zaman qazanmaq və sistem idarəçisinin işini asanlaşdırmaqdır.
DHCP’nin üstünlükləri
Disksiz iş stansiyaları: Əslində DHCP ilk olaraq diskə sahib olmayan kompüterlərə IP məlumatlarını təqdim etmək üçün hazırlanmışdı. Bu cür iş stansiyaları üzərində hər hansı bir yedekleme aracı olmadığı üçün açılış əsnasında şəbəkə IP məlumatlarının köçürülməsi zəruri idi. Açılış zamanı ilk olaraq ehtiyac duyulan məlumat isə, sizin də asanca tapa biləcəyiniz kimi, sadə bir IP’dir. Bu məlumat alındığı anda (Linux istifadə edilməsi vəziyyətində) nüvə disksiz maşına asanlıqla transfer edilə bilər.
Ağda daşına bilər kompüterlərin varlığı: Bir dizüstü kompüteri sıxlıqla yanınızda gezdiriyorsanız, bu kompüteri hər apardığınızda yerdə şəbəkə məlumatlarını dəyişdirmənin nə qədər cansıxıcı olduğunu bilirsiniz. DHCP’nin istifadə şəbəkələrdə, avtomatik olaraq alınan bu məlumatlar hər yeni ağa bağlandığınız zaman yenilənir və əllə əməliyyat edərək zaman kaybetmeniz maneə törədilər.
DNS rəhbərliyinin kolaylaşması: DHCP sayəsində IP ünvanlarının statik olaraq təyin olunması maneə törədilər. Sabit IP verilməsi halında çox diqqət istəyən bu əməliyyat, DHCP köməyiylə gərəksiz hala gəlir. On kompüterli bir yerə sistem kurduğumuzu düşünək. İstifadəçilər həm öz aralarında haberleşecekler, həm də internetdə gəzib, e-poçt alıb verəcəklər. Bunun üçün müəyyən bir IP bloku təyin edib, DHCP üzərindən kompüterlərə dağıtacağız. İstəsəniz indi kompüterlər üçün tanımlayacağımız parametrləri bir nəzərdən keçirək.
1-Hər maşının bir-birindən fərqli IP ünvanı olması lazımlıdır. Heç bir IP-biriylə çakışmamalıdır.
2-Hər ethernet kartına aid müəyyən bir şəbəkə maskası olmalı və eyni alt şəbəkə üzərində bu ağ maskalarının eyni olması lazımlıdır.
3-Əgər sistemin İnternetə əlaqəsi var isə İnternetə bağlanacaq olan kompüterlərin keçid (gateway) IP ünvanının olması şərtdir.
4-Son olaraq ən az bir, tercihen iki DNS IP ünvanının də əvvəlcədən müəyyən olması lazımlıdır. Yuxarıdakı siyahıya baxaraq ənənəvi üsullar ilə (DHCP istifadə zaman) ən az 4 dəyərin hər kompüter üçün girilməsi lazım olduğunu də dərhal söyləyə bilərik. Əgər 20 makinelik bir şəbəkənin var isə, hər kompüteri tək-tək girib ümumi 80 nömrəni yazmaq məcburiyyətindəsiniz. Əgər bənzəri bir əməliyyatı daha geniş bir şəbəkədə (250 kompüter) etmək istəsəniz, gerisini siz düşünün.
DHCP’nin Əmək PrinsipləriDHCP server bu kimi vəziyyətlərdə imdadımıza qaçan ən böyük köməkçimiz oluyor.Peki, açıldığı zaman IP ünvanı olmayan bir maşın, necə olur da DHCP server bu məlumatları alır, saxlayır və açılışda istifadə edə?
DHCP discover
Kompüter ilk dəfə açıldığında əvvəlcə bütün ağa DHCPDISCOVER mesajını yollar.Bu mesajın məzmunu “Sistemdə hər hansı bir DHCP server var mu? Əgər var isə bir IP ünvanı istəyirəm” olaraq yekunlaşdırıla bilər. Şübhəsiz ağa göndərilən DHCP istək paketi maraq ediyorsunuzdur.İstekte edilən IP ünvanı, MAC ünvanı və ya paketi göndərən maşının IP ünvanı bilinmədiyindən, paketin məzmunu aşağıdakı şəkildə meydana gələcək:
1-Hədəf IP ünvanı (Bilmirəm): 255.255.255.255 (broadcast)
2-Hədəf MAC ünvanı (Bilmirəm): FF.FF.FF.FF.FF.FF.FF (broadcast)
3-Mənbə IP Adresi (Bilmirəm): 0.0.0.0
4-Qaynaq MAC Adresi: 00-A0-CC-66-73-1F (Öz kartımızı MAC ünvanını bilmək qədər təbii bir şey ola bilməz)DHCP offer
DHCP müştəri tərəfindən sistemə atılan nəşr paketi (broadcast packet) DHCP server tərəfindən alınır.IP bazası dindirilir, istekçiye veriləcək IP ünvanı və kirayə müddəti müəyyən edilir. Serverdən çıxan istəyin təsdiqlənməsi üçün istekçiye bu təyin olunan məlumatlar öncə yollanır.
Sistemdə birdən çox DHCP server bilər. Bu vəziyyətdə müştəri ağa bir istək göndərdiyi zaman ən sürətli DHCP offer mesaj yollayan IP məlumatlarını mənimsəyəcək və bu tanımlarla ağa birləşdirəcək.
1-Hədəf IP ünvanı (Hələ təsdiqlənmədi): 0.0.0.0
2-Hədəf MAC ünvanı (bilinir, müştəri makina): 00-A0-CC-66-73-1F
3-Mənbə IP Adresi (bilinir, DHCP server): 10.0.0.1
4-Qaynaq MAC Adresi (bil inir, DHCP server): 00-A0-C0-B6-12-6F
DHCP requestDHCP OFFER mesajını alan DHCP müştəri özünə həvalə edilmiş IP ünvanını kiraladığına dair serverə bir nəşr mesajı yollar, əgər DHCP müştəri birdən çox DHCP OFFER mesajı almış isə ikinci bir broadcast mesajı daha yollar və digər DHCP serverlərə təşəkkür edib artıq bi IP ünvanına sahib olduğunu bildirir.
DHCP acknowledgement
DHCP Request mesajını sahəyə DHCP server artıq DHCP müştəri üçün lazımlı qeydləri reallaşdırıb ona lazımlı olan IP, şəbəkə maskası, DNS ünvanı və ya ünvanlarını yollayacaktır.
Gələk icarəsi hadisəsinə. Bəzi proqramçılar, yaratdıqları hər şeyə statistikalar istiqamətində əlavələr etməyə huşunu itirirlər. Necə ki DHCP serveri da yaradarkən müştərilər veriləcək IP ünvanlarının kiralanması lazım olduğunu düşünmüşlər, eynilə ev sahibi və kiracılarda olduğu kimi. Müəyyən parametrləri verdikdən sonra geri qalan işin hamısını server ilə müştəri öz arasında halledecektir.
DHCP ilə IP Adresi VerilməsiBir Linux maşını bir DHCP server və ya DHCP müştəri olaraq çalışa bilər. Linuxda ön qurğulu olaraq gələn xidmətlər arasından yalnız DHCP’nin konfiqurasiya faylları yoxdur və əllə yaradılmaları lazımdır. Üzərində çalışacağımız iki əhəmiyyətli fayl var: -dhcp.conf: Bütün nizamlamalar bu fayl sayəsində reallaşar. -dhcpd.leases: icarəyə IP ünvan məlumatlarını tutmaqla məsuldur. Bu dosyları yaratmaq üçün touch əmri istifadə edilə bilər. dhcpd.conf faylı / etc kataloq, dhcpd.leases isə / var / lib / dhcp silsiləsinin altında yaratılmalıdır.
cd / etc
pwd
/ etc
touch dhcpd.conf
cd / var / lib / dhcp
pwd
/ Var / lib / dhcp
touch dhcpd.leasesBurada diqqət edəcəyimiz nöqtə, dhcpd.leases faylının heç bir zaman əllə düzenlenmemesi lazım olduğudur. İndi aşağıdakı sətirləri tək-tək /etc/dhcpd.conf faylına daxil edin. Söz mövzusu sətirlərlə əlaqədar şərhlər hər sətirin altında yerləşir. Konfiqurasiya faylı içində okunurluğu artırmaq üçün nişa nı və boşluq xarakteri istifadə edilə bilər.
DDNS-update-style interim;
default-lease-time 600;
default-lease-time parametri, DHCP müştərilər veriləcək IP ünvanlarının kirayə müddəti bildirir. Bu dəyər saniyə cinsindəndir, nümunədə 10 dəqiqəlik icarə müddəti verilmişdir. Bu müddət əslinə baxsanız olduqca qısa və sistemdə gərəksiz yol yaratabilir.Dilerseniz bu əməliyyat üçün bu süredaha çox ola bilər. (Məsələn 3 və ya 5 gündəlik kimi).
max-lease-time 7200;
default-lease-time dəyərindəki müddət daxilində kirayə yenilenmemiş isə DHCP istekçiye max-lease-time dəyəri boyunce müddət tanınır. Əgər yenilenmezse nə olar desəniz, sadə:Özünüzü qapı qarşısında taparsınız.
option subnet-mask 255.255.255.0;DHCP istəkçilərin daxil olacağı alt şəbəkə maskası (subnet) göstərilir.
option broadcast-address 192.168.1.255;DHCP müştərilər daxil olduqları şəbəkənin nəşr (broadcast) ünvanını verir.
option routers 192.168.1.254;Əgər sistemdə bir gateway (keçid) və ya router (istiqamətləndirici) var isə DHCP müştərilər bunların IP ünvanları göstərilir.
option NetBIOS-name-servers 192.168.1.1,192.168.1.2;Əgər sistemdə bir və ya birdən çox WINS server var isə DHCP müştərilər bunların IP ünvanları göstərilir.
option domain-name-servers 192.168.1.1,192.168.1.2;DHCP istəkçilərin istifadə etməsi lazım olan DNS serverlərin IP ünvanları domain-name-servers ilə belirtilir.Eğer birdən çox IP ünvanı veriləcəksə aralarında vergül olmalıdır.
option domain-name “alanim.org”;DHCP istəkçilərin olacağı, daxil olacağı domen göstərilir.
subnet 192.168.1.0 netmask 255.255.255.0 {DHCP serverin hansı IP şəbəkəsi üzərindən IP ünvanı paylayacağı belirtilir.Subnet paramatresinin olduğu sətirin sonunda, bu IP ünvanına aid olan digər parametrlərin ifadə məqsədiylə mötərizə açılmıştır.Parantez kapatılana qədər söz mövzusu IP ünvanı üçün
DHCP serverin digər parametrləri təyin olunar.
range 192.168.1.10 192.168.1.100;DHCP serverin hansı IP ünvanı aralığında IP paylayacağı göstərilir.
}
Yuxarıda parantezi bağladıq. DHCP istifadə bir sistemdə, bəzi hallarda şəbəkədə elə maşınlar bilər ki bunlara hər zaman eyni IP ünvanları verilmelidir.Örnek olaraq sistemdəki DNS server, web server, verilənlər bazası server üçün istifadə maşınların IP ünvanlarının dəyişməsi halında hər şey qarmaqarışıq olabilir.Zira bu serverlərin istifadə IP ünvanları səhvən DHCP server ilə başqa maşınlar üçün təyin oluna bilər.
Bir Makineye Sabit IP VerilməsiAğda elə maşınlar vardır ki bunların mütləq hər zaman eyni IP ünvanına ehtiyacları olur. Məsələn sistemdə DNS server, web server, verilənlər bazası server, hətta başqa bir DHCP server varsa bu kimi vəziyyətlərdə seçebileceğimiz iki variant var. Birincisi; bu tip funksiyaları olan maşınlara IP ünvanlarını statik girmək, digəri də aşağıdakı kimi bir yol izləmək.
host argelinux1 {
hardware ethernet 08: 00: 2b: 4c: 59: 23;
# 08: 00: 2b: 4c: 59: 23
Fixed-address 192.168.1.222;
}
Yuxarıda verdiyiniz Ip, dağıtdığının IP aralığı içində olsa belə normal bir kompüterə qətiliklə verilməz, ifadə MAC adresinə sahib ethernet kartının olduğu maşın üçün ayrılır.Yukarıda host ilə başlayan sətirin dərhal sonundakı argelinux1 adı maşının tam adını karşılamayabilir.Önemli olan ethernet MAC ünvanının tutmasıdır.Peki bu MAC ünvanını necə tapacaqsınız? Linux altında “ipconfig” əmri bizə ethernet kartı məlumatlarının yanında MAC adresini də verirdi. DHCP serveri işlətmək üçün istəsəniz /etc/init.d qovluğuna keçib ./dhcpd start əmrini verə bilər, və ya hər hansı bir dizindeyken aşağıdakı sətiri tətbiq edə bilərsiniz.
service dhcpd start
Unutmadan, hər açılışda DHCP serverin işini istəyirsinizsə ntsysv əmrini işlədib DHCP qutucuğunu işarələməniz kafi olacaktır.Ya da /etc/init.d dizinindeki rc.local faylı sonuna /etc/init.d/dhcpd start sətirini əlavə də bu əməliyyat gerçekleştirilebilir.İlk üsul standart üsulların xaricinə çıkılmaması baxımından daha uyğundur.
Birdən çox Ethernet kartı ilə iş
DHCP heyəti bir Linux sistemdə, əgər birdən çox ethernet kartı varsa, yalnız tək bir ethernet kartının IP paylaması etməsini istədiyiniz vəziyyətlər olabilir.özellikle eyni maşında birdən çox sevis işlədən firmalarda tək Linux serverə squid proxy, firewall, e-poçt serveri, DHCP server və s . köçürüldüyü zaman bu vəziyyət ortaya çıkar.Zira ümumiyyətlə çalışan iki ethernet kartı var, ancaq yalnız birinin təsirli olması tələb olunur. Bu vəziyyətdə işimizi asanlaşdıran bir parametr bizim üçün Dhcpd proqramına eth0 parametrini əlavə etsəniz yalnız eth0 üzərindən gələn istəklər dinlenecektir. Bənzər şəkildə eth0 yerinə eth1 yazmanız vəziyyətində istirahət ethernet kartı eth1 olacaq. Elə isə dhcp proqramını işlədən / etc başlanğıc betiklerini dəyişdirməmiz lazımlıdır. /etc/init.d/dhcp faylının bir qismini araşdıraq:start ()
{
echo -n $ “Starting dhcpd:”
daemon / usr / sbin / dhcpd
RETVAL = $?
echo
[$ RETVAL -eq 0] && touch / var / lock / subsys / dhcpd
return $ RETVAL
}Edilməsi lazım olan əməliyyat, “daemon / usr / sbin / dhcpd” sətirini “daemon / usr / dhcpd eth0” olaraq değiştirmek.DHCP xidmətinin yenidən başladın halında artıq yalnız eth0 üzərindən gələn istəklər cavablandırılacaq.