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

Allikas: Kuutõrvaja
(teadus)
 
(ei näidata sama kasutaja 31 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.
  
Kokku kujutab see endast kolme tarkvara
+
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 server
9. 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.
 
DHCP (Dynamic Host Configuration Protocol) teenust kasutavad arvutid oma võrguparameetrite automaatseks seadistamiseks.
24. rida: 31. rida:
 
Kogu suhtlus käib udp abil 255.255.255.255 võrgus serveri ja kliendi vahel.
 
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.
+
#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.
Samuti klient pärib dhcp serverilt viimati kasutatud ip. Juhul kui pole tegu värske süsteemiga.
+
#DHCPD program serveris võtab vastu päringu. Saadab vastu DHCPOFFER'i ,et ta on olemas ja nõus vahetama infot.
 +
#Kliend saadab täiendava DHCPREQUEST'i ,et saada dhcp serverilt infot
 +
#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.
  
2. DHCPD program serveris võtab vastu päringu. Saadab vastu DHCPOFFER'i ,et ta on olemas ja nõus vahetama infot.
+
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!
  
3. Kliend saadab täiendava DHCPREQUEST'i ,et saada dhcp serverilt infot
+
===Paigaldamine ja vajalikud failid===
  
4. Server saadab DHCPACK'i mis koosneb infost mis defineeritud dhcpd konfis vastava subneti jaoks.
+
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===
+
===Näide 1 - Tavaline kasutus===
  
 
Tavaline NAT'itud võrk. Jagatakse kliendidele ilma piiranguteta sisevõrgu aadresse.
 
Tavaline NAT'itud võrk. Jagatakse kliendidele ilma piiranguteta sisevõrgu aadresse.
  
 
  ddns-update-style none;
 
  ddns-update-style none;
 +
default-lease-time 86400;
 +
max-lease-time 172800;
 
   
 
   
 
  subnet 192.168.0.0 netmask 255.255.255.0 {
 
  subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.50 192.168.0.100;
+
  range 192.168.0.50 192.168.0.100;
default-lease-time 144000;
+
  option subnet-mask 255.255.255.0;
max-lease-time 192000;
+
  option broadcast-address 192.168.0.255;
option subnet-mask 255.255.255.0;
+
  option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
+
  option domain-name-servers 194.126.97.30;
option routers 192.168.0.1;
 
option domain-name-servers 194.126.97.30;
 
 
  }
 
  }
  
53. rida: 73. rida:
 
võib hakata defineerima erinevaid võrke mida kasutatakse.
 
võib hakata defineerima erinevaid võrke mida kasutatakse.
  
Iga dhcp võrgu seadistust alustatakse subnet'i paikamääramisega
+
'''default-lease-time 86400;''' DHCP lease kestvuse aeg 1 päev
 +
 
 +
'''max-lease-time 172800;''' Maksimaalne kestvus 2 päeva
  
'''subnet 192.168.0.0 netmask 255.255.255.0'''
+
Iga dhcp võrgu seadistust alustatakse töö võrgu ehk subnet'i paikamääramisega
  
See rida määrab ,et võrk on 192.168.0.0/24 mida edaspidi kasutame.
+
'''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.
 
Seejärel defineeerime sulgude '''{}''' vahele ülejäänud muutujad.
  
'''range 192.168.0.50 192.168.0.100;'''
+
'''range 192.168.0.50 192.168.0.100;''' IP'd jagatakse vahemikus 192.168.0.50 - 192.168.0.100
 
 
IP'd jagatakse vahemikus 192.168.0.50 - 192.168.0.100
 
 
 
'''default-lease-time 144000;'''
 
 
 
DHCP lease kestvuse aeg
 
 
 
'''max-lease-time 192000;'''
 
 
 
Maksimaalne aeg
 
 
 
'''option subnet-mask 255.255.255.0;'''
 
 
 
Kliendile jagatav subnet mask
 
 
 
'''option broadcast-address 192.168.0.255;'''
 
  
Kliendi broadcast aadress
+
'''option subnet-mask 255.255.255.0;''' Kliendile jagatav subnet mask
  
'''option routers 192.168.0.1;'''
+
'''option broadcast-address 192.168.0.255;''' Kliendi broadcast aadress
  
router mis antakse kliendile
+
'''option routers 192.168.0.1;''' router mis antakse kliendile
  
'''option domain-name-servers 194.126.97.30;'''
+
'''option domain-name-servers 194.126.97.30;''' Nimeserver või serverid.
 
 
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;
110. 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.
123. 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;
131. 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 {
156. 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;}
164. 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.