Erinevus lehekülje "Isc-dhcpd server" redaktsioonide vahel

Allikas: Kuutõrvaja
(teadus)
 
(ei näidata sama kasutaja 38 vahepealset redaktsiooni)
1. rida: 1. rida:
===isc-dhcpd===
+
===Sissejuhatus===
  
Tarkvara arendatav ISC (Internet System Consortsium) poolt.
+
DHCP (Dynamic Host Configuration Protocol) on mõeldud
 +
kohtvõrgus olevate seadmete võrgukonfiguratsiooni automaatseks seadistuseks,
 +
võimaldades jagada arvutitele ip aadresse, subnet maski, ruutingut, dns servereid  ja muid
 +
parameetreid teatud ajavahemikuks.
  
DHCP (Dynamic Host Configuration Protocol) teenust kasutavad arvutid oma võrguparameetrite automaatseks seadistamiseks.
+
DHCP on samaks otstarbeks loodud BOOTP edasiarendus.
 +
 
 +
'''isc-dhcpd''' tarkvara on arendatav ISC (Internet System Consortsium) poolt.
  
Kokku kujutab see endast kolme tarkvara
+
Kokku sisaldab see endast tegelikult kolme programmi
  
 
     * A DHCP server
 
     * A DHCP server
11. rida: 16. rida:
 
     * A DHCP relay agent
 
     * A DHCP relay agent
  
===teadus===
+
===Teadus - ehk kuidas dhcp täpsemalt toimib===
  
 +
DHCP (Dynamic Host Configuration Protocol) teenust kasutavad arvutid oma võrguparameetrite automaatseks seadistamiseks.
  
1. Süsteem saadab välja DHCP Päringu kohalikku võrku. Päring sisaldab MAC aadressi mis on võrgukaardil.
+
Ehk kuidas siis DHCP võrgus toimib.
 
 
2. DHCPD program serveris võtab vastu päringu. Kontrollib konfiguratsioonifaili
 
 
 
3. DHCPD program koostab vastuspaketi mis koosneb hulgast infost.
 
  
 
[[Pilt:Dhcpd.gif]]
 
[[Pilt:Dhcpd.gif]]
  
===Näide 1===
+
Dec 12 11:03:47 server dhcpd: DHCPDISCOVER from 00:02:55:d4:aa:db via eth0
 +
Dec 12 11:03:48 server dhcpd: DHCPOFFER on 192.168.1.1 to 00:02:55:d4:aa:db (asp) via eth0
 +
Dec 12 11:03:48 server dhcpd: DHCPREQUEST for 192.168.1.1 (192.168.1.1) from 00:02:55:d4:aa:db (asp) via eth0
 +
Dec 12 11:03:48 server dhcpd: DHCPACK on 192.168.1.1 to 00:02:55:d4:aa:db (asp) via eth0
  
Tavaline NAT'itud võrk. Jagatakse kliendidele ilma piiranguteta sisevõrgu aadresse.
+
Kogu suhtlus käib udp abil 255.255.255.255 võrgus serveri ja kliendi vahel.
  
ddns-update-style none;
+
#Süsteem broadcastib välja udp DHCPDISCOVER Päringu kohalikku 255.255.255.255 võrku. Päring sisaldab MAC aadressi mis on võrgukaardil. Klient võib pärida ka dhcp serverilt viimati kasutatud ip. Juhul kui pole tegu värske süsteemiga vaid sellisega mis on varsemalt dhcp serverit kasutanud.
+
#DHCPD program serveris võtab vastu päringu. Saadab vastu DHCPOFFER'i ,et ta on olemas ja nõus vahetama infot.
subnet 192.168.0.0 netmask 255.255.255.0 {
+
#Kliend saadab täiendava DHCPREQUEST'i ,et saada dhcp serverilt infot
range 192.168.0.50 192.168.0.100;
+
#Server saadab DHCPACK'i mis koosneb infost mis defineeritud dhcpd konfis vastava subneti jaoks.
default-lease-time 144000;
 
max-lease-time 192000;
 
option subnet-mask 255.255.255.0;
 
option broadcast-address 192.168.0.255;
 
option routers 192.168.0.1;
 
option domain-name-servers 194.126.97.30;
 
}
 
  
 +
Võimalikud vastused on veel
  
Seadistusfaili algusesse lähevad globaalsed muutujad. Seejärel
+
*DHCPDECLINE -klient keeldub aadressist põhjuseks kasvõi avastab, et seda kasutab keegi teine
võib hakata defineerima erinevaid võrke mida kasutatakse.
+
*DHCPNAK -  server ei kinnita aadressi andmist põhjuseks näiteks timeout, antud teisele kliendile
  
Iga dhcp võrgu seadistust alustatakse subnet'i paikamääramisega
+
Kogu liiklus toimub udp peal ja sisemiste tulemüüri reeglite puhul see lubada.
  
'''subnet 192.168.0.0 netmask 255.255.255.0'''
+
Kui klient IP liisingut uuendama hakkab, teeb ta seda esmalt unicastiga selle sama serveri pihta, kes talle selle algselt andis. Alles kui see mitmeid kordi on ebaõnnestunud, üritab ta uuendamist broadcastida, kuid ka siis küsib ta sama IP numbrit, millele teine server eeldatavasti ei reageeri.
  
See rida määrab ,et võrk on 192.168.0.0/24 mida edaspidi kasutame.
+
Seega teine DHCP (mis nt seadistatud erinevatele MAC aadressitele IPsid jagama) ei tohiks juba töötavas võrgus häireid põhjustada ja protokoll on koostatudki arvestusega, et servereid võib mitu olla. Üldiselt tasuks siiski arvestada selle reegliga, et kahte DHCP serverit ühte LANi panna ei tohi!
Seejärel defineeerime sulgude '''{}''' vahele ülejäänud muutujad.
 
  
 +
===Paigaldamine ja vajalikud failid===
  
 +
FreeBSD all tuleb paigaldada ports nimega /usr/ports/net/isc-dhcp31-server/
 +
seadistusfailiks /usr/local/etc/dhcpd.conf
 +
Lease fail ehk dhcp andmebaas mis sisaldab jagatud numbreid ja mac aadresse asub /var/db/dhcpd kaustas nimega dhcpd.leases
  
'''range 192.168.0.50 192.168.0.100;'''
+
===Näide 1 - Tavaline kasutus===
  
IP'd jagatakse vahemikus 192.168.0.50 - 192.168.0.100
+
Tavaline NAT'itud võrk. Jagatakse kliendidele ilma piiranguteta sisevõrgu aadresse.
  
'''default-lease-time 144000;'''
+
ddns-update-style none;
 +
default-lease-time 86400;
 +
max-lease-time 172800;
 +
 +
subnet 192.168.0.0 netmask 255.255.255.0 {
 +
  range 192.168.0.50 192.168.0.100;
 +
  option subnet-mask 255.255.255.0;
 +
  option broadcast-address 192.168.0.255;
 +
  option routers 192.168.0.1;
 +
  option domain-name-servers 194.126.97.30;
 +
}
  
DHCP lease kestvuse aeg
 
  
'''max-lease-time 192000;'''
+
Seadistusfaili algusesse lähevad globaalsed muutujad. Seejärel
 +
võib hakata defineerima erinevaid võrke mida kasutatakse.
  
Maksimaalne aeg
+
'''default-lease-time 86400;''' DHCP lease kestvuse aeg 1 päev
  
'''option subnet-mask 255.255.255.0;'''
+
'''max-lease-time 172800;''' Maksimaalne kestvus 2 päeva
  
Kliendile jagatav subnet mask
+
Iga dhcp võrgu seadistust alustatakse töö võrgu ehk subnet'i paikamääramisega
  
'''option broadcast-address 192.168.0.255;'''
+
'''subnet 192.168.0.0 netmask 255.255.255.0''' See rida määrab ,et võrk on 192.168.0.0/24 mida edaspidi kasutame.
 +
Seejärel defineeerime sulgude '''{}''' vahele ülejäänud muutujad.
  
Kliendi broadcast aadress
+
'''range 192.168.0.50 192.168.0.100;''' IP'd jagatakse vahemikus 192.168.0.50 - 192.168.0.100
  
'''option routers 192.168.0.1;'''
+
'''option subnet-mask 255.255.255.0;''' Kliendile jagatav subnet mask
  
router mis antakse kliendile
+
'''option broadcast-address 192.168.0.255;''' Kliendi broadcast aadress
  
'''option domain-name-servers 194.126.97.30;'''
+
'''option routers 192.168.0.1;''' router mis antakse kliendile
  
Nimeserver või serverid.
+
'''option domain-name-servers 194.126.97.30;''' Nimeserver või serverid.
 
 
===Näide 2===
 
  
 +
===Näide 2 - Jagame ip'sid mac aadressi alusel===
  
 
mac järgi dhcp jagamine. Oleks vaja ,et dhcp annaks arvutitele alati ühe ja sama ip. Selleks
 
mac järgi dhcp jagamine. Oleks vaja ,et dhcp annaks arvutitele alati ühe ja sama ip. Selleks
 
  
 
  ddns-update-style interim;
 
  ddns-update-style interim;
101. rida: 112. rida:
 
  }
 
  }
  
===Näide 3 ===
+
===Näide 3 - Mitme eri subneti ip'de jagamine===
  
 
Meil on olemas kaks võrku.
 
Meil on olemas kaks võrku.
  
Esimene on 192.168.0.0/24
+
Esimene on 192.168.0.0/24
Teine on 192.168.1.0/24
+
Teine on 192.168.1.0/24
 +
 
 +
seadistatud peab olema võrgukaardile kaks ip'd 192.168.1.1 ja aliasena 192.168.0.1
  
 
Kui võrku satub tundmatu arvuti siis antakse talle juhuslik vaba ip 192.168.0.0/24 võrgust.
 
Kui võrku satub tundmatu arvuti siis antakse talle juhuslik vaba ip 192.168.0.0/24 võrgust.
114. rida: 127. rida:
 
Vajalik näiteks ,et kontorimasinad saaksid kõik kindlasti alati ühed ja samad aadressid ja täieliku ligipääsu võrku
 
Vajalik näiteks ,et kontorimasinad saaksid kõik kindlasti alati ühed ja samad aadressid ja täieliku ligipääsu võrku
 
kuid näiteks läpakad oleksid eraldi piirangutega firewallis.
 
kuid näiteks läpakad oleksid eraldi piirangutega firewallis.
 
 
  
 
  ddns-update-style none;
 
  ddns-update-style none;
122. rida: 133. rida:
 
  max-lease-time 172800;                  # 2 Days
 
  max-lease-time 172800;                  # 2 Days
 
   
 
   
 +
//Anname arvutitele ka õige kellaserveri
 
  option ntp-servers timehost.ut.ee;
 
  option ntp-servers timehost.ut.ee;
  #option netbios-name-servers 193.40.5.125;
+
  //ja ütleme winsi serveri kus samba jaoks kohalikke nimesid lahendada
 +
option netbios-name-servers 193.40.5.125;
 
  option netbios-node-type 8;
 
  option netbios-node-type 8;
 
  authoritative;
 
  authoritative;
 
 
   
 
   
 
  shared-network net {
 
  shared-network net {
147. rida: 159. rida:
 
  }
 
  }
  
 
+
ja failis isc-dhcp_192.168.1
ja isc-dhcp_192.168.1
 
  
 
  host masin1 {hardware ethernet 00:30:1b:34:9f:52; fixed-address  192.168.1.23;}
 
  host masin1 {hardware ethernet 00:30:1b:34:9f:52; fixed-address  192.168.1.23;}
155. rida: 166. rida:
 
  host masin4 {hardware ethernet 00:50:8d:51:fc:31; fixed-address  192.168.1.26;}
 
  host masin4 {hardware ethernet 00:50:8d:51:fc:31; fixed-address  192.168.1.26;}
  
 +
Kui võrku tekib terve partii uusi masinaid, siis neil võib (teoorias) olla mingi prefixi osas sarnased MACid ja saab teha sellele filtri:
 +
 +
class "my-clients" {
 +
        match if substring (option hardware,1,10) = "00:1D:92" ;
 +
}
 +
pool {
 +
  range 192.168.165.10 192.168.165.20;
 +
  allow members of  "my-clients" ;
 +
}
  
 
===Lingid===
 
===Lingid===
  
 
http://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol
 
http://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol
 +
 +
http://www.onlamp.com/pub/a/bsd/2003/04/17/FreeBSD_Basics.html?page=1
 +
 +
http://www.onlamp.com/pub/a/bsd/2003/05/15/FreeBSD_Basics.html?page=1
 +
 +
http://www.onlamp.com/pub/a/bsd/2003/05/01/FreeBSD_Basics.html
 +
 +
http://wiki.itcollege.ee/index.php/DHCP_teenus_Ubuntu_Server_s%C3%BCsteemis
 +
 +
http://www.madboa.com/geek/dhcp-failover/ DHCP failover cluser.

Viimane redaktsioon: 31. jaanuar 2013, kell 17:42

Sissejuhatus

DHCP (Dynamic Host Configuration Protocol) on mõeldud kohtvõrgus olevate seadmete võrgukonfiguratsiooni automaatseks seadistuseks, võimaldades jagada arvutitele ip aadresse, subnet maski, ruutingut, dns servereid ja muid parameetreid teatud ajavahemikuks.

DHCP on samaks otstarbeks loodud BOOTP edasiarendus.

isc-dhcpd tarkvara on arendatav ISC (Internet System Consortsium) poolt.

Kokku sisaldab see endast tegelikult kolme programmi

   * A DHCP server
   * A DHCP client
   * A DHCP relay agent

Teadus - ehk kuidas dhcp täpsemalt toimib

DHCP (Dynamic Host Configuration Protocol) teenust kasutavad arvutid oma võrguparameetrite automaatseks seadistamiseks.

Ehk kuidas siis DHCP võrgus toimib.

Dhcpd.gif

Dec 12 11:03:47 server dhcpd: DHCPDISCOVER from 00:02:55:d4:aa:db via eth0
Dec 12 11:03:48 server dhcpd: DHCPOFFER on 192.168.1.1 to 00:02:55:d4:aa:db (asp) via eth0
Dec 12 11:03:48 server dhcpd: DHCPREQUEST for 192.168.1.1 (192.168.1.1) from 00:02:55:d4:aa:db (asp) via eth0
Dec 12 11:03:48 server dhcpd: DHCPACK on 192.168.1.1 to 00:02:55:d4:aa:db (asp) via eth0

Kogu suhtlus käib udp abil 255.255.255.255 võrgus serveri ja kliendi vahel.

  1. Süsteem broadcastib välja udp DHCPDISCOVER Päringu kohalikku 255.255.255.255 võrku. Päring sisaldab MAC aadressi mis on võrgukaardil. Klient võib pärida ka dhcp serverilt viimati kasutatud ip. Juhul kui pole tegu värske süsteemiga vaid sellisega mis on varsemalt dhcp serverit kasutanud.
  2. DHCPD program serveris võtab vastu päringu. Saadab vastu DHCPOFFER'i ,et ta on olemas ja nõus vahetama infot.
  3. Kliend saadab täiendava DHCPREQUEST'i ,et saada dhcp serverilt infot
  4. Server saadab DHCPACK'i mis koosneb infost mis defineeritud dhcpd konfis vastava subneti jaoks.

Võimalikud vastused on veel

  • DHCPDECLINE -klient keeldub aadressist põhjuseks kasvõi avastab, et seda kasutab keegi teine
  • DHCPNAK - server ei kinnita aadressi andmist põhjuseks näiteks timeout, antud teisele kliendile

Kogu liiklus toimub udp peal ja sisemiste tulemüüri reeglite puhul see lubada.

Kui klient IP liisingut uuendama hakkab, teeb ta seda esmalt unicastiga selle sama serveri pihta, kes talle selle algselt andis. Alles kui see mitmeid kordi on ebaõnnestunud, üritab ta uuendamist broadcastida, kuid ka siis küsib ta sama IP numbrit, millele teine server eeldatavasti ei reageeri.

Seega teine DHCP (mis nt seadistatud erinevatele MAC aadressitele IPsid jagama) ei tohiks juba töötavas võrgus häireid põhjustada ja protokoll on koostatudki arvestusega, et servereid võib mitu olla. Üldiselt tasuks siiski arvestada selle reegliga, et kahte DHCP serverit ühte LANi panna ei tohi!

Paigaldamine ja vajalikud failid

FreeBSD all tuleb paigaldada ports nimega /usr/ports/net/isc-dhcp31-server/ seadistusfailiks /usr/local/etc/dhcpd.conf Lease fail ehk dhcp andmebaas mis sisaldab jagatud numbreid ja mac aadresse asub /var/db/dhcpd kaustas nimega dhcpd.leases

Näide 1 - Tavaline kasutus

Tavaline NAT'itud võrk. Jagatakse kliendidele ilma piiranguteta sisevõrgu aadresse.

ddns-update-style none;
default-lease-time 86400;
max-lease-time 172800;

subnet 192.168.0.0 netmask 255.255.255.0 {
 range 192.168.0.50 192.168.0.100;
 option subnet-mask 255.255.255.0;
 option broadcast-address 192.168.0.255;
 option routers 192.168.0.1;
 option domain-name-servers 194.126.97.30;
}


Seadistusfaili algusesse lähevad globaalsed muutujad. Seejärel võib hakata defineerima erinevaid võrke mida kasutatakse.

default-lease-time 86400; DHCP lease kestvuse aeg 1 päev

max-lease-time 172800; Maksimaalne kestvus 2 päeva

Iga dhcp võrgu seadistust alustatakse töö võrgu ehk subnet'i paikamääramisega

subnet 192.168.0.0 netmask 255.255.255.0 See rida määrab ,et võrk on 192.168.0.0/24 mida edaspidi kasutame. Seejärel defineeerime sulgude {} vahele ülejäänud muutujad.

range 192.168.0.50 192.168.0.100; IP'd jagatakse vahemikus 192.168.0.50 - 192.168.0.100

option subnet-mask 255.255.255.0; Kliendile jagatav subnet mask

option broadcast-address 192.168.0.255; Kliendi broadcast aadress

option routers 192.168.0.1; router mis antakse kliendile

option domain-name-servers 194.126.97.30; Nimeserver või serverid.

Näide 2 - Jagame ip'sid mac aadressi alusel

mac järgi dhcp jagamine. Oleks vaja ,et dhcp annaks arvutitele alati ühe ja sama ip. Selleks

ddns-update-style interim;
ignore client-updates;

subnet 192.168.3.0 netmask 255.255.255.0 { 
       option routers                  192.168.3.3;
       option subnet-mask              255.255.255.0;
       option domain-name-servers      195.250.187.46, 194.126.97.30;
       option ntp-servers              192.168.3.3;
       deny unknown-clients;
       default-lease-time 21600;
       max-lease-time 43200;

#Joel Jans
host JJ { hardware ethernet 00:C0:26:7F:B0:1C; fixed-address 192.168.3.10; }
}

Näide 3 - Mitme eri subneti ip'de jagamine

Meil on olemas kaks võrku.

Esimene on 192.168.0.0/24
Teine on 192.168.1.0/24

seadistatud peab olema võrgukaardile kaks ip'd 192.168.1.1 ja aliasena 192.168.0.1

Kui võrku satub tundmatu arvuti siis antakse talle juhuslik vaba ip 192.168.0.0/24 võrgust. Aga kui masina mac aadress ja ip on defineeritud isc-dhcp_192.168.1 failis siis saab ta sealt ettemääratud 192.168.1.0/24 võrgu ip.

Vajalik näiteks ,et kontorimasinad saaksid kõik kindlasti alati ühed ja samad aadressid ja täieliku ligipääsu võrku kuid näiteks läpakad oleksid eraldi piirangutega firewallis.

ddns-update-style none;

default-lease-time 86400;               # 1 Day
max-lease-time 172800;                  # 2 Days

//Anname arvutitele ka õige kellaserveri
option ntp-servers timehost.ut.ee;
//ja ütleme winsi serveri kus samba jaoks kohalikke nimesid lahendada
option netbios-name-servers 193.40.5.125;
option netbios-node-type 8;
authoritative;

shared-network net {

        subnet 192.168.0.0 netmask 255.255.255.0 {
               option subnet-mask 255.255.255.0;
               option routers 192.168.0.1;
               option domain-name-servers 194.126.115.18, 194.126.101.34;
               pool {
                       range 192.168.0.100 192.168.0.254;
               }
       }

       subnet 192.168.1.0 netmask 255.255.255.0 {
               option subnet-mask 255.255.255.0;
               option routers 192.168.1.1;
               option domain-name-servers 193.40.5.39, 193.40.5.76;
               include "/usr/local/etc/isc-dhcp_192.168.1";
       }
}

ja failis isc-dhcp_192.168.1

host masin1 {hardware ethernet 00:30:1b:34:9f:52; fixed-address  192.168.1.23;}
host masin2 {hardware ethernet 00:02:3f:b7:b5:b1; fixed-address  192.168.1.24;}
host masin3 {hardware ethernet 00:04:61:4e:25:36; fixed-address  192.168.1.25;}
host masin4 {hardware ethernet 00:50:8d:51:fc:31; fixed-address  192.168.1.26;}

Kui võrku tekib terve partii uusi masinaid, siis neil võib (teoorias) olla mingi prefixi osas sarnased MACid ja saab teha sellele filtri:

class "my-clients" {
        match if substring (option hardware,1,10) = "00:1D:92" ;
}
pool {
  range 192.168.165.10 192.168.165.20;
  allow members of  "my-clients" ;
}

Lingid

http://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol

http://www.onlamp.com/pub/a/bsd/2003/04/17/FreeBSD_Basics.html?page=1

http://www.onlamp.com/pub/a/bsd/2003/05/15/FreeBSD_Basics.html?page=1

http://www.onlamp.com/pub/a/bsd/2003/05/01/FreeBSD_Basics.html

http://wiki.itcollege.ee/index.php/DHCP_teenus_Ubuntu_Server_s%C3%BCsteemis

http://www.madboa.com/geek/dhcp-failover/ DHCP failover cluser.