Dhclient: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Line 20: Line 20:
Süsteemi käivitades loeb dhclient dhclient.conf failist liidese konfiguratsiooniks vajalikke juhendeid. Peale seda saab dhclient listi kõikidest võrguliidestest mis on antud süsteemi poolt seadistatud. Iga liidese jaoks korjab dhclient eraldi DHCP protokollist konfiguratsiooni.
Süsteemi käivitades loeb dhclient dhclient.conf failist liidese konfiguratsiooniks vajalikke juhendeid. Peale seda saab dhclient listi kõikidest võrguliidestest mis on antud süsteemi poolt seadistatud. Iga liidese jaoks korjab dhclient eraldi DHCP protokollist konfiguratsiooni.


Selleks, et hoida silma peal DHCP poolt välja laenatud aadressidel ehk [http://technet.microsoft.com/en-us/library/cc958908.aspx lease]'del kui süsteem käivitub või restardib, hoiab dhclient listi lease'de kohta failis dhclient.leases. Süsteemi käivitudes peale dhclient.conf faili lugemist, loeb dhclient dhclient.lease failist kas on kord juba antud liidestele IP'd või ei. Kui on, siis läheb sama IP tagasi mis enne restarti süsteemil oli.
Selleks, et hoida silma peal DHCP poolt välja laenatud aadressidel ehk [lease]'del kui süsteem käivitub või restardib, hoiab dhclient listi lease'de kohta failis dhclient.leases. Süsteemi käivitudes peale dhclient.conf faili lugemist, loeb dhclient dhclient.lease failist kas on kord juba antud liidestele IP'd või ei. Kui on, siis läheb sama IP tagasi mis enne restarti süsteemil oli.


Aja jooksul võib juhtuda, et dhclient.leases fail läheb väga suureks, selle vältimiseks loob dhclient aeg ajalt uue dhclient.leases faili toetudes enda andmebaasile. Vana versioon dhclient.leases failist säilitatakse nime dhclient.leases~ all kuni dhclient uuesti andmebaasi üle kirjutab.
Aja jooksul võib juhtuda, et dhclient.leases fail läheb väga suureks, selle vältimiseks loob dhclient aeg ajalt uue dhclient.leases faili toetudes enda andmebaasile. Vana versioon dhclient.leases failist säilitatakse nime dhclient.leases~ all kuni dhclient uuesti andmebaasi üle kirjutab.

Revision as of 20:11, 1 January 2014

Autor

Priit Varul

Rühm A21

Eesti Infotehnoloogia Kolledž 2013

Sissejuhatus

Järgnevas kirjatükis räägin mis kujutab endast selline asi nagu "dhclient". Milleks ta olemas on, mis funktsioone ta täidab ja veidi ka süntaksi ning näiteid.

dhclient - ehk Dynamic Host Configuration Protocol (DHCP) Client.

Tarkvara dhclient (DHCP client) Linuxi operatsioonisüsteemis, mis võimaldab konfigureerida ühte või rohkemaid liideseid kasutades DHCP protokolli, BOOTP protokolli või kui need protokollid peaksid ebaõnnestunma, siis staatiliselt aadresse määrates.
DHCP protokoll võimaldab host'il keskse serveriga ühendada kus hoitakse listi IP aadressidega, mis võidakse määrata ühele või rohkematele subnetitele. DHCP klient pöördub aadressi pool'i poole kus on IP aadressid mille abil võrgus suhelda. Sealjuures annab DHCP protokoll kliendile olulist informatsiooni võrgu kohta kuhu ta ühendatud on. Näiteks nagu default ruuteri asukoht-, nimeserveri asukoht võrgus jne.

Viide lõigule: Kasutatud materjal 1

Eesmärk

Süsteemi käivitades loeb dhclient dhclient.conf failist liidese konfiguratsiooniks vajalikke juhendeid. Peale seda saab dhclient listi kõikidest võrguliidestest mis on antud süsteemi poolt seadistatud. Iga liidese jaoks korjab dhclient eraldi DHCP protokollist konfiguratsiooni.

Selleks, et hoida silma peal DHCP poolt välja laenatud aadressidel ehk [lease]'del kui süsteem käivitub või restardib, hoiab dhclient listi lease'de kohta failis dhclient.leases. Süsteemi käivitudes peale dhclient.conf faili lugemist, loeb dhclient dhclient.lease failist kas on kord juba antud liidestele IP'd või ei. Kui on, siis läheb sama IP tagasi mis enne restarti süsteemil oli.

Aja jooksul võib juhtuda, et dhclient.leases fail läheb väga suureks, selle vältimiseks loob dhclient aeg ajalt uue dhclient.leases faili toetudes enda andmebaasile. Vana versioon dhclient.leases failist säilitatakse nime dhclient.leases~ all kuni dhclient uuesti andmebaasi üle kirjutab.

Vanu lease hoitakse alles juhuks kui DHCP server peaks mingil põhjusel kättesaamatu olema. Selle puhul, võetakse vanad leased dhclient.leases failist, mis ei ole veel aegunud, ja kui on kindlaks tehtud, et lease on endiselt kehtiv, kasutatakse seda kuni ta aegub võib kuni DHCP server uuesti tööle hakkab.

Viide lõigule: Kasutatud materjal 2

Üldised dhclienti käsklused

Käsurea kaudu antakse ette dhclientile missugust võrgu interface'i peaks ta konfigureerima hakkama.
Valikud on järgmised:

-b Sunnib dhclienti kohese tahaplaanile liikumise.

-c file Täpsustab vahelduva faili asukoha konfiguratsiooni failile.

-d Sunnivad dhclienti alati esiplaanil töötama. Dhclient töötab vaikimisi senikaua esiplaanil kuni interface on konfigureeritud. Kui see tehtud läheb dclient tahaplaanile.

-l file Täpsustab vahelduva faili asukoha lease failile.

-p file Täpsustab vahelduva faili asukoha PID failile. Vaikimisi asub fail /var/run/dhclient.interface.pid.

-q Sunnib dhclienti käivitamisel nii öelda vaikima.

-u Sunnib dhclienti tundmatute lease'de tagasilükkamiseks. Vaikimisi käitub dhclient vastupidi ja aksepteerib tundmatud lease'd.

Viide lõigule: Kasutatud materjal 3

Dhclient.conf

Nagu ülal öeldud sisaldab dhclient.conf fail dhclienti konfiguratsiooni intot. Fail võib sisaldada lisatabeleid ja eraldatud ridu korrektse vormistuse pärast. Võtmesõnad failis on väikeste tähtedega. Kommentaarid võivad olla failis kirjutatud kugu igale poole. Kommentaarid algavad märgiga "#" ja lõpevad rea lõpuga.

Dhclient.conf failiga konfigureeritakse kliendi käitumist mitmel viisil nagu näiteks: protokolli ajastus, serverist küsitud informatsioon, vaikimisi seaded jne. Seda faili saab ka täita aadressidega käsitsi kasutamaks võrku millel pole DHCP serverit küljes.

Protokolli ajastamine

Kliendi ajaline käitumine ei pea olema kasutaja poolt konfigureeritud ja juhul kui seda ka kasutaja poolt tehtud pole, kasutatakse vaikimisi seaded. Kuigi on olemas mõned käsud mille abil ajalist käitumist vajadusel ise seadistada:


timeout time; timeouti teadaanne määrab ära ajavahemiku mille jooksul lubab ta kliendil endale aadressi saada, kui selle aja jooksul pole aadressi saadud otsustab dhclient, et server on kättesaamatu.

retry time; Kui klient ei saanud serveriga ühendust ja endale aadressi, määrab see käsk aja millal dhclient endale uuesti aadressi serveri poolt küsima hakkab. Vaikimisi on selleks ajaks 5 minutit.

select-timeout time; Võib juhtuda et võrgus on kaks DHCP serverit mis erinevaid aadresse jagavad. Select-timemout time on mõeldud selleks, kui klient saadab requesti mitmele serverile ja kui ta sätestatud aja jooksul pole eelistatud aadressi kätte saanud valib ta esimese pakkumise mis kohale jõuab. Vaikimisi on select-timeout null sekundit.

reboot time; Kui klienti restarditakse püüab ta uuesti endale aadressi saada. Reboot käsklus annab ette aja mis peab mööduma, enne kui klient uuesti uue aadressi nõude annab. Vaikimisi on see 10 sekundit ja selle aja jooksul peaks üldiselt klient endale uuesti sama aadressi kätte saama.

backoff-cutoff time; Klient kasutab backoff algoritmi, kui peaks mitmed kliendid end samal ajal seadistada püüdma. Backoff-cutoff määrab ära maksimaalse aja mille jooksul on kliendil lubatud seadistusest taganeda. Vaikimisi on selleks 2 minutit.

initial-interval time; On ajavahemik esimesel korral serveri pöördumisel teise korraga kui ta pole aadressi esimese korraga saanud. Iga korraga suurendatakse kahe korra aja intervalli ja kui see läheb suuremaks kui bacoff-cutoff on, loobub klient serveri poole pöördumast. Vaikimisi on see 10 sekundi peale määratud.

Lease nõuded ja taotlused

DHCP protokoll lubab kliendil nõuda informatsiooni serverilt. Samuti lubab protokoll kliendil serveri poolt pakutavast keelduda, kui klient antud informatsiooni ei vaja.

request [option] [, ... option]; Teeb kindlaks, et ükskõik mis server temaga ühendust võtab, aksepteerib ta ainult väärtusi mis on requestis kirjas.

require [option] [, ... option]; Võimalik määrata kindlad väärtused mida klient soovib ja klient aksepteerib ainult seda serverit kes tema nõudmisi täidab.

send { [option declaration] [, ... option declaration] } Send väärtus võimaldab kliendil saata täpsed väärtused serverile mida klient vajab.

Näide dhclient.conf

Järgnev seadistus on kasutatud arvutis mille ip alias on 192.5.5.213 ja millel on üks interface.

timeout 60;
	   retry 60;
	   reboot 10;
	   select-timeout 5;
	   initial-interval 2;
	   reject 192.33.137.209;

	   interface "ep0" {
	       send host-name "andare.fugue.com";
	       send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;
	       send dhcp-lease-time 3600;
	       supersede domain-name "fugue.com rc.vix.com home.vix.com";
	       prepend domain-name-servers 127.0.0.1;
	       request subnet-mask, broadcast-address, time-offset, routers,
		       domain-name, domain-name-servers, host-name;
	       require subnet-mask, domain-name-servers;
	       script "/etc/dhclient-script";
	       media "media 10baseT/UTP", "media 10base2/BNC";
	   }

	   alias {
	     interface "ep0";
	     fixed-address 192.5.5.213;
	     option subnet-mask 255.255.255.255;
	   }

Viide dhclient.conf: Kasutatud materjal 4

Dhclient.leases

DHCP kliendi lease andmebaas.

Kirjeldus

Selles failis hoitakse püsivat andmebaasi leaside kohta.

Faili asukoht

/var/lib/dhclient/dhclient.leases

Viide Dhclient.leases: Kasutatud materjal 5

OMAPI

DHCP client võimaldab mõningaid abivahendeid kontrollimaks ja muutmaks DHCP kliendi seadeid, ilma et peaks klienti kinni panema. Seesugust võimalust pakub meile OMAPI, see on API mille abil on võimalik objektidega manipuleerida. OMAPI kliendid ühendavad kliendiga kasutades TCP/IP'd, autentimist ja seejärel kuvada kliendi hetkelist staatust ja olekut sealjuures võimaldades seda muuta.

Viide lõigule: Kasutatud materjal 6

Kasutatud kirjandus

1) http://www.computerhope.com/unix/dhclient.htm#01
2) http://linux.about.com/library/cmd/blcmdl8_dhclient.htm
3) http://www.freebsd.org/cgi/man.cgi?query=dhclient&sektion=8
4) http://www.freebsd.org/cgi/man.cgi?query=dhclient.conf&sektion=5
5) http://www.gsp.com/cgi-bin/man.cgi?section=5&topic=dhclient.leases
6) http://linux.die.net/man/3/omapi