Jump to content
PingLord

DHCP - Protocol si instalare+configurare server

Recommended Posts

Posted

Azi avem tutorialul despre DHCP :

1.Protocolul DHCP

2.Compilare si instalare server

3.Configurare server

1.Protocolul DHCP (Dynamic Host Configuration Protocol) este definit in RFC2131 si se foloseste pentru configurarea automata a placii de retea (IP, Network Mask, Default Gateway, DNS Servers etc).

DHCP ruleaza client-server, serverul fiind acela care inchiriaza o anumita configuratie clientului pentru o anumita perioada de timp numita "lease time".

DHCP este urmasul protocolului BOOTP.

Toate sistemele de operare moderne includ un client de DHCP.

Cel mai folosit server DHCP OpenSource este cel de la ISC (Internet System Consortium).

Modul de operare se imparte in 4 etape distincte si exista 4 tipuri de mesaje care se schimba intre client si server :

1. DHCP Discovery

Clientul trimite DHCP Discovery folosind IP destinatie de tip "limited broadcast" si anume 255.255.255.255 iar ca IP sursa 0.0.0.0

Se foloseste protocolul UDP. Clientul utilizeaza portul 68, iar serverul 67. Acestea nu trebuie sa fie filtrate de vreun firewall.

IP Sursa=0.0.0.0

IP Destinatie=255.255.255.255

Port Sursa=68

Port Destinatie=67

2. DHCP Offer

Serverele DHCP (pot exista mai multe intr-un LAN) care au primit DHCP Discovery raspund cu un mesaj numit DHCP Offer in care ofera clientului o anumita configuratie (IP, Masca, DG, DNS etc). Configuratia poate fi statica, stabilita de catre administrator in functie de MAC.

IP Sursa=Server_IP

IP Destinatie=255.255.255.255

Port Sursa=67

Port Destinatie=68

3. DHCP Request

Clientul alege o oferta (daca exista mai multe servere de la care a primit) trimitand un pachet numit DHCP Request - in general pe prima primita - si trimite un broadcast in care isi face cunoscuta alegerea. In pachet se gaseste IP-ul serverului ales astfel incat toate celelalte servere sa cunoasca alegerea clientului si sa elibereze oferta facuta in caz ca nu a fost aleasa de client.

IP Sursa=0.0.0.0

IP Destinatie=255.255.255.255

Port Sursa=68

Port Destinatie=67

4. DHCP Acknowledgment

Serverul ales trimite DHCPACK clientului in care precizeaza "lease time" precum si alte informatii necesare.

IP Sursa= DHCP_Server_IP

IP Destinatie=255.255.255.255

Port Sursa=67

Port Destinatie=68

In momentul in care "lease time" pentru oferta primita expira, clientul trebuie sa reinnoiasca configuratia de la server. Acesta trimite doar DHCP Request pentru aceiasi configuratie, iar serverul raspunde cu DHCP ACK.

2.Compilare si instalare server

ISC este o organizatie non-profit al carei scop este dezvoltarea de software pentru Internet. Cele mai cunoscute aplicatii sunt serverul DNS numit BIND si serverul DHCP. Ambele sunt si cele mai folosite servere de DNS respectiv de DHCP OpenSource.

ISC DHCP reprezinta o suita de programe (dhcp daemon, dhpc client si dhcp relay agent) care implementeaza toate aspectele protocolului DHCP definit in RFC2131.

Pasi de urmat :

1.Download sursele ultimei versiuni ISC DHCP de pe site-ul producatorului Internet Systems Consortium | Internet Systems Consortium

wget -c http://ftp.isc.org/isc/dhcp/dhcp-3.0.7.tar.gz

2.Decomprimare si dezarhivare arhiva

tar -xzvf dhcp-3.0.7.tar.gz

3.Rularea scriptului configure care verifica sistemul si anume daca acesta contine toate componentele necesare compilarii si instalarii serverului DHCP.

./configure

4.Compilarea

Recomand compilarea oricarei aplicatii de catre un user neprivilegiat.In urma compilarii rezulta din fisierele sursa fisiere executabile

make

5.Instalarea

Instalarea presupune doar mutarea fisierelor executabile rezultate in urma compilarii in directoarele corespunzatoare precum /sbin/, /usr/bin etc. Comanda poate fi executata doar de root

make install

3.Configurarea serverului

Ca si in cazul celorlalte servere configurarea serverului dhcp presupune editarea catorva fisiere text de configurare.

Serverul ISC DHCP foloseste 2 fisiere:

1. In fisierul /var/state/dhcp/dhcpd.leases se pastreaza informatii despre configuratiile inchiriate deja clientilor, leased time pentru fiecare etc

FOARTE IMPORTANT : Dupa instalarea serverului fisierul /var/state/dhcp/dhcpd.leases nu exista.El trebuie creat manual.

touch /var/state/dhcp/dhcpd.leases

2. Fisierul de configurare al serverului care este by default /etc/dhcpd.conf

Exemplu /etc/dhcpd.conf :

authoritative;
#(diez) reprezinta un comentariu
ddns-update-style interim;
#interim sau none. DHCPD face update la fisierul zona al clientului de pe serverul DNS
#ignore client-updates;
#allow client-updates; #vezi man dhcpd.conf
subnet 192.168.0.0 netmask 255.255.255.0 { #stabileste subnetul pentru care va furniza servicii
range 192.168.0.50 192.168.0.60; #range-ul de IP furnizat
range 192.168.0.100 192.168.0.120; #un al doilea range
#allow unknown-clients;
default-lease-time 600; #lease time default daca clientul nu cere un anumit timp
max-lease-time 7200; #max lease time
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 193.231.236.25,193.231.236.30;
option domain-name "pinglord.gov";
host pc1 {
hardware ethernet 00:03:47:F6:B0:44;
fixed-address 192.168.0.125;
option routers 192.168.0.10; #primeste Default Gateway diferit
}
}

Detalii fisier dhcpd.conf:

• fiecare linie se termina cu ";" (punct si virgula)

• sintaxa este extrem de sensibila, orice caracter precum ; (punct si virgula) lipsa reprezinta o eroare fatala;

• semnul "#" (diez) inseamna un comentariu;

• subnet 192.168.0.0 netmask 255.255.255.0 - se stabileste subnetul din care serverul va furniza IP-uri

• range 192.168.0.50 192.168.0.60; - se stabileste range-ul din care serverul va funiza IP-uri. In exemplul nostru primul client va primi 192.168.0.50, al doilea 192.168.0.51 etc. Pot exista mai multe directive range. Atentie ! Ip-urile setate static pe alte hosturi trebuie excluse;

• option routers 192.168.0.1; - stabileste Default Gateway oferit clientilor;

• option subnet-mask 255.255.255.0; - stabileste masca retelei oferite clientilor

• option domain-name "pinglord.gov"; - stabileste un domeniu care va fi oferit clientilor, acestia facand parte din el;

• daca se doreste furnizarea unei configuratii in functie de MAC-ul clientului, pentru FIECARE astfel de client in fisierul de configurare al serverului si anume dhcpd.conf trebuie sa apara un container de tip host in care se specifica MAC-ul precum si configuratia oferita. Daca nu se specifica un anumit parametru (exemplu servere DNS), clientul respectiv va primi serverele DNS specificate in sectiunea globala;

• allow unknown-clients; - specifica daca serverul va oferi configuratie clientilor al caror MAC nu se gaseste intr-un container de tip host;

3.Pornire server

Ruleaza serverul in foreground cu trimiterea mesajelor de debug la consola

dhcpd -d –f

Optiuni dhcpd:

-cf file.conf #specificarea unui fisier de configurare alternativ

-p port #specifica un alt port pe care sa asculte serverul. By default foloseste portul UDP 67.

-t #testeaza fisierul de configurare fara a porni serverul.

Pornirea serverului in modul Debug are loc doar dupa instalare sau in perioade de teste pentru a observa modul de comunicatie al acestuia cu clientii. Pe un server stabil, serverul DHCP trebuie sa porneasca automat la butare folosind fisierele de management ale serviciilor (/etc/inid.d/). In cazul compilarii, fisierul care porneste serverul nu exista si trebuie creat.

O sa fac o modificare mai tarziu si o sa va arat cum se face un script in /etc/init.d/

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...