Linux server üzərindən DHCP serverin konfigurasiyası

Hər kəsə salamlar,

Praktik məqalədə Linux server üzərindən İSC DHCP serverin sazlanması ilə məşğul olacağıq. ƏS kimi RHEL əsaslı Centos istifadə edəcəyik, siz isə bu məqsədlə  istənilən linux distributivini istifadə edə bilərsiniz.

İlk öncə serverin bəzi konfigurasiyaları ilə  tanış olaq :

OS: Centos 6.4

Hostname : dhcpserver.test.local

İP: 192.168.101.5

root istifadəçisi altında sistemə daxil oluruq ( production sistemlərdə birbaşa root istifadəçisindən istifadəni məsləhət görmürəm, ancaq test mühiti olduğu üçün biz bu faktoru ignor edirik) və DHCP serverin işləməsi üçün vacib olan paketləri yükləyirik:

[box type=”shadow” align=”alignleft” ]

[[email protected] ~]# yum install dhcp -y                                                                                                                                             [/box]

Bundan sonra serverin konfigurasiyasına başlamaq olar. Serverin əsas konfigurasiya faylı ilkin yüklənmə vaxtı boş yaradılan  /etc/dhcp/dhcpd.conf faylıdır. Ümumi nümunə konfigurasiya faylı – /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample, bu faylda dəyişikliklər etməklə işlək konfigurasiya faylı almaq olar. Misal olaraq konfigurasiya faylını təqdim edirəm:

[box type=”shadow” align=”alignleft”

[[email protected] ~]# cat /etc/dhcp/dhcpd.conf
# dhcpd.conf
#
# DHCP serverin numune fayli
#

# Butun subnetlere tetbiq olunacaq sazlamalar …
   option domain-name “test.local”;
   option domain-name-servers ns1.example.org, ns2.example.org;

   default-lease-time 1200;
   max-lease-time 5400;

# Dynamic DNS yenilemelerini aktiv/deaktiv etmek uchun ashagidaki paramtrden istifade edirik
# Bizde DNS server olmadigi uchun parametri kommentleyirik.
#ddns-update-style none;

# Eger DHCP server shebekede avtorativ serverdise, ashagidaki parametr aktiv olunmalidir.
   authoritative;
# Subnetin sazlamalari
   subnet 192.168.101.0 netmask 255.255.255.0 {
   range 192.168.101.50 192.168.101.100;
   option domain-name-servers 8.8.8.8;
   option domain-name “example.local”;
   option routers 192.168.101.1;
   option broadcast-address 192.168.101.254;
   default-lease-time 600;
   max-lease-time 7200;
 }

# Shebekede olan mueyyen server ve mashinlarin onceden mueyyen olunmush unvani
# almalari uchun host parametrinden istifade olunur. Bu zaman nezere almaq
# lazimdir ki, gosterilen static unvanlar hech bir dynamic range-a daxil olmali deyil.
   host name_server {
   hardware ethernet 52:54:00:3b:06:84;
   fixed-address 192.168.101.20;

[/box]

Konfigurasiya faylında  eyni parametrlər global və hər hansı subnetə aid formada verilə bilər, bu zaman hər hansı subnetə verilən konfigurasiya global parametrlərdən üstün olur. Məsələn,  subnet seksiyasında göstərilən option domain-name “example.local” parametri global konfigurasiyada göstərillən option domain-name “test.local”   parametrindən üstün olacaq. Bəzi parametrlərin izahı (parametrlərin tam siyahısı ilə man dhcp-optionsman dhcpd.conf faylında tanış ola bilərsiniz) :

 subnet 192.168.101.0 netmask 255.255.255.0 – subnetin nömrəsi və maskı;

 range 192.168.101.50 192.168.101.100 – DHCP sorğulara ötürüləcək İP ünvanlar aralığı;

option domain-name-servers 8.8.8.8 –  Sorğularda ötürüləcək DNS serverlərin siyahısı;

option routers 192.168.101.1 – Sorğulara cavabda ötürüləcək gateway-ların siyahısı;

default-lease-time 600    –  Əgər klient sorğuda lease vaxtı tələb etmirsə, default olaraq alacağı vaxt;

max-lease-time 7200 –  Klientin sorğuda lease vaxt tələb etdiyi halda veriləcək maksimal vaxt.

Statik ünvanların ( və ya reserved addresses) siyahısı host paramteri vasitəsilə tənzimlənir:

   host name_server {
   hardware ethernet 52:54:00:3b:06:84;
   fixed-address 192.168.101.54;

Default olaraq dhcpd serverdəki bütün interfeyslərdə “qulaq asır”. Əgər serverinizin bir neçə interfeysi varsa və sizə bu interfeyslərin siyahısnı limitləmək lazımdırsa, bunu /etc/sysconfig/dhcpd faylında DHCPARGS parametri vasitəsilə tənzimləyə bilərsiniz

[box type=”shadow” align=”alignleft” ]

[[email protected] ~]# cat /etc/sysconfig/dhcpd

# Command line options here

DHCPDARGS=eth1                                                                                                                                                                            

[/box]

Lazımi dəyişiklikləri etdikdən sonra servizi başlada və statusunu yoxlaya bilərsiniz:

[box type=”shadow” align=”alignleft” ]

[[email protected] ~]# service dhcpd start

Starting dhcpd: [ OK ]

[[email protected] ~]# netstat -tulnp | grep 67

udp 0 0 0.0.0.0:67 0.0.0.0:* 2345/dhcpd                                                                                                                                                 [/box]

Server başladıldıqdan sonra istənilən DHCP klientdən İP almağa çalışaq ( bizim halımızda bu RHEL ƏS  olacaq, amma prinsipcə klientin heç bir fərqi yoxdur)

[box type=”shadow” align=”alignleft” ]

[[email protected]~]#dhclient ens3                                                                                                                                                                                                              

[/box]

Klientlərin lease vaxtları və digər parametrləri DHCP serverdə göstərilən faylda yerləşir – /var/lib/dhcpd/dhcpd.leases.

Əgər firewall istifadə edirsinizsə, UDP 67-ci portu buraxmağı unutmayın və dhcpd servizi autorstarta əlavə edin:

[box type=”shadow” align=”alignleft” ] [[email protected] ~]# iptables -A INPUT -m state –state NEW -p udp –dport 67 -j ACCEPT
[[email protected] ~]# chkconfig dhcpd on                                                                                                                                                                                            
[/box]

Əgər konfigurasiyadan sonra klientlərin İP almaqla bağlı problemləri varsa,  problemin araşdırılması üçün trafik analiz programı olan tcpdump istifadə edə bilərsiniz, amma məhz DHCP-nin problemlərinin analizi üçün xüsusi hazırlanmış dhcpdump komandasından istifadə edə bilərsiniz (paket rəsmi repo-larda yoxdur, rpmforge və ya  digər 3rd party repozitorilərdən tapa bilərsiniz).

Səs: +20. Bəyənilsin Zəifdir

Müəllif: Fərid Səmədov

Şərhlər ( 4 )

  1. Çox sağ olun, Fərid bəy. İnşAllah davamlı olar.

    • Ali / . Dərc edilib:A 15/01/2014 at 6:34 PM
      Səs: 0. Bəyənilsin Zəifdir

    Təşəkkürlər qardaş davamı gəlsin İNŞALLAH!

  2. Qardaş aramıza xoş gəldin. Davamlı olsun.

    Uğurlar

  3. Uğurlar və təşəkkürlər..

Şərh yazın