DHCPv6 stateful autoconfiguration: Difference between revisions
No edit summary |
|||
(76 intermediate revisions by the same user not shown) | |||
Line 8: | Line 8: | ||
=Sissejuhatus= | =Sissejuhatus= | ||
MAC aadresside | DHCPv6 stateful autoconfiguration ehk MAC aadresside meeldejätmisega dünaamilise hostkonfiguratsiooni protokolli automaatne seadistamine. DHCPv6 lubab erinevatel seadetel, mis on IPv6 võrgu küljes, ühendada ennast internetti ilma, et oleks vaja vahendaja abi. | ||
Meie teema mudelis, saab masin liidese aadressi ja konfiguratsiooni parameetrid serverilt. ''Stateful'' mudelit kasutatakse enamasti siis, kui vajatakse tugevamat kontrolli kindlate aadresside ülessannetes. | |||
Selle referaadi eesmärk on näidata kuidas ülesse seada DHCP server IPv6'ele nii, et kindlad staatilised aadressid saaks alati suunata samadele ''host'''idele kasutades DUID''(DHCP Unique Identifier)''väärtusi. Kuna meie näide on IPv6 kohta, siis ''stateful'' DHCPv6 kasutus on tiba teine kui ''stateless''. DHCPv6 vaadeldavad päringu ja vastuse ajad peaksid olema enamus juhtudel samad, kuid on võimalik, et mällu kirjutamisel ja sealt lugemisel DHCPv6 serveris võib viia väikse viivituse tõusuni.([http://blogs.technet.com/b/teamdhcp/archive/2009/03/03/dhcpv6-understanding-of-address-configuration-in-automatic-mode-and-installation-of-dhcpv6-server.aspx Viide lõigule: Kasutatud Materjal Nr3:]) | |||
== Selgitus == | == Selgitus == | ||
Selles näites näitan kuidas | Selles näites näitan kuidas ülesse seada masinad, millele on peale pandud Debian Lenny. Server holmes.example.com ja klient watson.example.com. Mõlemad masinad on IPv4 kaudu juba ühendatud internetti. Watsonil on ainult kasutuses üks liides ning Holmes'il kaks: üks väline(eth0), mis on ühendatatud internetiga, ja üks sisesne (eth1), mis on mõeldud kliendi masinatele. Holmes kasutab samuti BIND9 serverit, et saada tuge ''DNS'''ile. Selles näites on IPv6 suunatud serverisse IPv4'ja kaudu, aga teisalt võib see olla ka lihtsalt päritud IPv6 ühendus. Selleks, et saada DHCPv6 MAC aadressite meeldejätmisega tööle, tuleks järgida järgnevat kümmet punkti. | ||
[http://www.rjsystems.nl/en/2100-dhcpv6-stateful-autocfg.php Viide: Kasutatud materjal Nr.1] | |||
Tuleb arvesse võtta ka eelnevat teksti ning kindlasti kaa seda, et '''näites kasutatud IPv6 ''prefix'', 2001:888:0db8::/48, tuleks asendanda teie enda omaga'''. | |||
'''Kõik teemas tehtud käsud on tehtud ROOT'ina, kui ei ole öeldud vastupidist !''' | |||
= 1. Serveri kasutajaliidese konfiguratsioon = | = 1. Serveri kasutajaliidese konfiguratsioon = | ||
Serveris on vaja muuta sisese | Serveris on vaja muuta sisese liidese võrgu IP staatiliseks IPv6 aadressiks. Selleks tuleb enda asukohaks Debianis teha ''/etc/network/interfaces''. | ||
Pärast asukoha määramist ja konfiguratsiooni muutmist, peaks lõpptulemus meie näite põhjal välja nägema järgmine: | |||
<pre> auto eth1 | <pre>auto eth1 | ||
iface eth1 inet6 static | iface eth1 inet6 static | ||
Line 27: | Line 38: | ||
up echo 0 > /proc/sys/net/ipv6/conf/all/autoconf </pre> | up echo 0 > /proc/sys/net/ipv6/conf/all/autoconf </pre> | ||
Viimased 2 rida lubvad esiteks serveril käituda kui IPv6 ruuter ning teiseks hoida ära selle, et ükski | Viimased 2 rida lubvad esiteks serveril käituda kui IPv6 ruuter ning teiseks hoida ära selle, et ükski liides ei saaks juhuslikult hiljem endale teist IPv6 aadress läbi automaatse seadistamise. | ||
[http://www.rjsystems.nl/en/2100-dhcpv6-stateful-autocfg.php Viide: Kasutatud materjal Nr.1] | |||
= 2. Pakettide installimine Serverisse = | = 2. Pakettide installimine Serverisse = | ||
Serverisse tuleb installeerida DHCPv6 server koos IPv6 | Serverisse tuleb installeerida DHCPv6 server koos IPv6 ''Router Advertisement Daemon'''iga. | ||
Seda saab teha | Seda saab teha järgneva käsu sisestamisega: | ||
<pre> | <pre>apt-get install wide-dhcpv6-server radvd</pre> | ||
Pakettide | Pakettide installeerimisel peaks olema installimisel kokku 3 pakketi: | ||
<pre> | <pre> | ||
Line 45: | Line 58: | ||
</pre> | </pre> | ||
Installimise jooksul küsitakse kasutajalt üks küsimus, kuhu | Installimise jooksul küsitakse kasutajalt üks küsimus, mille vastuseks peaks sisestama liidese kuhu on plaan ühendada DHCPv6 kliendid. | ||
<pre>Interfaces on which the DHCPv6 server listens to requests: eth1 </pre> | |||
''Kuna näites on plaan ühendada kliendi eth1 taha, siis on meie vastuseks loomulikult'' '''eth1''' | |||
Kogu informatsioon salvestub siia: ''/etc/default/wide-dhcpv6-server'' . | |||
[http://www.rjsystems.nl/en/2100-dhcpv6-stateful-autocfg.php Viide: Kasutatud materjal Nr.1] | |||
=3. Serveri DNS | =3. Serveri DNS kirjed= | ||
Nii serverile endale kui ka kliendile DNS serveris tuleb lisada ''forward'' ja ''reverse'' kirjed. Watsonil jooksva BIND9 zone failile peaksid kirjed välja nägema järgmised: | |||
<pre>holmes IN AAAA 2001:888:0db8:1::a | <pre>holmes IN AAAA 2001:888:0db8:1::a | ||
Line 59: | Line 76: | ||
watson IN AAAA 2001:888:0db8:1::b</pre> | watson IN AAAA 2001:888:0db8:1::b</pre> | ||
Sarnaselt | Sarnaselt nende analoogidele ''8.b.d.0.8.8.8.0.1.0.0.2.ip6.arpa'' kaustas, peaks ''reverse'' fail välja nägema järgmine: | ||
<pre> | <pre> | ||
Line 67: | Line 84: | ||
</pre> | </pre> | ||
= 4. Server | [http://www.rjsystems.nl/en/2100-dhcpv6-stateful-autocfg.php Viide: Kasutatud materjal Nr.1] | ||
= 4. Server Route Advertising Daemon paketi faili seadistamine = | |||
Kuna eelnevalt | Kuna eelnevalt instaleeritud paketil ''radvd'', ei ole veel konfiguratsiooni faili, siis tuleb see luua. Selle loome asukohta ''/etc/radvd.conf'' ning selle sisuks on järgnev; | ||
<pre> interface eth1 | <pre> interface eth1 | ||
Line 82: | Line 101: | ||
</pre> | </pre> | ||
Seadistuses kasutatud käsud aitavad meil samuti teavitada ''Windows 7'''me ja ''MAC OS/''x (10.7'mest uuemad) kasutajaid, et ühedatavas võrgus on kasutusel on DHCPv6. | |||
Kui fail on salvestatud, tuleb käima panna ''Route Advertising Daemon'': | |||
<pre> /etc/init.d/radvd start </pre> | |||
[http://www.rjsystems.nl/en/2100-dhcpv6-stateful-autocfg.php Viide: Kasutatud materjal Nr.1] | |||
= 5. Serveri WIDE-DHCPv6 konfiguratsioon = | = 5. Serveri WIDE-DHCPv6 konfiguratsioon = | ||
Nagu ka eelmises punktis, siis ka | Nagu ka eelmises punktis, siis ka ''DHCPv6 Daemon'''il puudub konfiguratsiooni fail, mille loome kausta: ''/etc/wide-dhcpv6/'' ning dokumendi nimeks paneme: ''dhcps.conf''. Selle faili sisuks on järgnev: | ||
<pre>option domain-name-servers 2001:888:0db8:1::a; | <pre>option domain-name-servers 2001:888:0db8:1::a; | ||
Line 102: | Line 123: | ||
range 2001:888:0db8:1::1000 to 2001:888:0db8:1::2000; | range 2001:888:0db8:1::1000 to 2001:888:0db8:1::2000; | ||
};</pre> | };</pre> | ||
[http://www.rjsystems.nl/en/2100-dhcpv6-stateful-autocfg.php Viide: Kasutatud materjal Nr.1] | |||
= 6. Kliendi poolne pakettide installeerimine = | = 6. Kliendi poolne pakettide installeerimine = | ||
Kliendi masinasse tuleb | Kliendi masinasse tuleb installeerida paketid järgneva käsuga: | ||
<pre> | <pre> apt-get install wide-dhcpv6-client</pre> | ||
Sellel puhul on | Sellel puhul on installeerimise tulemuseks 2 paketti: | ||
<pre>sharutils 1:4.6.3-1 shar, unshar, uuencode, uudecode | <pre>sharutils 1:4.6.3-1 shar, unshar, uuencode, uudecode | ||
Line 115: | Line 138: | ||
hosts configuration</pre> | hosts configuration</pre> | ||
Samuti küsitakse installeerimise käigus ainult üks küsimus, nagu tehti ka serveri pakettide installeerimise käigus, kuid seda puhku on küsimus järgmine: | |||
<pre>Interfaces on which the DHCPv6 client sends requests: eth0</pre> | <pre>Interfaces on which the DHCPv6 client sends requests: eth0</pre> | ||
Siinkohal tuleb vastata selleks | Siinkohal tuleb vastata liides, kuhu DHCPv6 klient saadab päringud, ehk eth0 | ||
[http://www.rjsystems.nl/en/2100-dhcpv6-stateful-autocfg.php Viide: Kasutatud materjal Nr.1] | |||
= 7. Kliendi DUID faili asendamine = | |||
Iga DHCPv6 klient on unikaalselt teadustatud tema DUID (DHCP Unikaalne väljaselgitaja - inglise k. DHCP Unique Identifier). Sellisel juhul DUID genereeritakse siis, kui klient on installeerinud ja salvestanud ''/var/lib/dhcpv6/dhcp6c_duid''. Selleks, et DHCPv6 server annaks staatilise IPv6 aadressi kindlale DHCPv6 kliendile, tuleb servelil väljaselgitada selle kliendi DUID, mis on sarnane DHCPv4 serverile, peale kliendi MAC aadressi väljaselgitamist. | |||
Siinpuhul on ainukeseks probleemiks see, et me ei tea milline on kliendi DUID kui see on automaatselt genereeritud, mistõttu oleks lihtsaim moodus luua uus DUID mille puhul teame milline on DUID väärtus. | |||
Kliendi masinas tuleb kasutada sellist scripti: wide_mkduid.pl, mis on algselt Jeffery F. Blank'i omand, Michigani Tehnoloogia Ülikoolist. Me kasutame seda skripti, et asendada olemasolev ''/var/lib/dhcpv6/dhcp6c_duid'' fail. Ainukeseks nõutavaks sisestuseks skriptis oleks kliendi liidese MAC aadress, mis näite puhul on 08:00:27:0c:5f:2b, aga allpool olevas näites on vajalik anda võrgu liidese nimi (eth0): | |||
<pre>cd /usr/local/bin | |||
wget -q http://www.ipv6.mtu.edu/wide_mkduid.pl | |||
chmod 755 wide_mkduid.pl | |||
cd /var/lib/dhcpv6 | |||
wide_mkduid.pl -m `ifconfig eth0 |grep HWaddr |awk '{print $5}'` | |||
successfully created /var/lib/dhcpv6/dhcp6c_duid | |||
DUID is 00:03:00:06:08:00:27:0c:5f:2b | |||
</pre> | |||
Uus DUID fail on 4 baiti lühem kui originaalne DUID, aga sellest ei ole hullu, sest tähtis on see, et me nüüd teame klienti ning tema DUID väärtus . | |||
[http://www.rjsystems.nl/en/2100-dhcpv6-stateful-autocfg.php Viide: Kasutatud materjal Nr.1] ja [https://tools.ietf.org/html/rfc3315#section-9.1 Kasutatud materjal Nr.3] | |||
= 8. Serveri DHCPv6 kliendi teadvustamine = | |||
Serveris, tuleb muuta ''/etc/wide-dhcpv6/dhcp6s.conf'', ning lisada selle faili lõppu teadvustus DHCPv6 kliendist, kasutades selleks DUID väärtust eelmisest sammust. | |||
<pre> | |||
host watson { | |||
duid 00:03:00:06:08:00:27:0c:5f:2b; | |||
address 2001:888:0db8:1::b infinity; | |||
};</pre> | |||
Aadressi väärtuseks '''PEAB''' olema korrektne IPv6 aadress, ning host nime kasutamine on ainult valikuline. Watson selles näites on lisatud vaid selleks, et lihtsustada logi failide lugetavust. Kahjuks peab igat IPv6 aadressi hoidma siin ning ka DNS serveris. Meie näites on lubatud kliendil kasutada seda aadressi määramata ajaks. | |||
Nüüd aga käivitame esimest korda DHCPv6 serveri: | |||
<pre> | |||
/etc/init.d/wide-dhcpv6-server start</pre> | |||
[http://www.rjsystems.nl/en/2100-dhcpv6-stateful-autocfg.php Viide: Kasutatud materjal Nr.1] | |||
= 9. Kliendi WIDE-DHCPv6 konfiguratsioon = | |||
Kliendi masinas tuleb muuta DHCPv6 Daemoni konfiguratsiooni faili ''/etc/wide-dhcpv6/dhcp6c.conf'' ja muuta see selliseks, et see näeks välja sarnaselt järgnevale: | |||
<pre> interface eth0 { | |||
request domain-name-servers; | |||
request domain-name; | |||
send rapid-commit; | |||
send ia-na 15; | |||
script "/etc/wide-dhcpv6/dhcp6c-script"; | |||
}; | |||
id-assoc na 15 { # | |||
};</pre> | |||
id-assoc osa võib olla tühi, kuid kahjuks ei tohi seda konfiguratsiooni failist välja jätta. | |||
[http://www.rjsystems.nl/en/2100-dhcpv6-stateful-autocfg.php Viide: Kasutatud materjal Nr.1] | |||
= 10. Kliendi liidse konfiguratsioon = | |||
Esmalt tuleb välja lülitada kliendi liides. | |||
<pre>ifdown eth0</pre> | |||
Muuda ''/etc/network/interfaces'' ja lisa eth0 sektsiooni lõppu vajalikud käsud. Täpsemalt sellised, mis toetavad DHCPv4'ja, et laadida ipv6 moodul ja käivitada/peatada DHCPv6 klient: | |||
<pre> auto eth0 | |||
iface eth0 inet dhcp | |||
pre-up modprobe ipv6 | |||
post-up /etc/init.d/wide-dhcpv6-client start | |||
pre-down /etc/init.d/wide-dhcpv6-client stop </pre> | |||
Nüüd tuleb uuesti liides käivitda: | |||
<pre>ifup eth0</pre> | |||
Nüüd, et kontrollida kas kõik töötab, tuleb teha lihtne katsetus: | |||
<pre> | |||
ifconfig eth0 | |||
</pre> | |||
Tulemus peaks olema sarnane: | |||
<pre> | |||
eth0 Link encap:Ethernet HWaddr 08:00:27:0c:5f:2b | |||
inet addr:127.0.0.2 Bcast:127.255.255.255 Mask:255.0.0.0 | |||
inet6 addr: 2001:888:0db8:1::b/128 Scope:Global | |||
inet6 addr: fe80::a00:27ff:fe0c:5f2b/64 Scope:Link | |||
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 | |||
RX packets:255 errors:0 dropped:0 overruns:0 frame:0 | |||
TX packets:258 errors:0 dropped:0 overruns:0 carrier:0 | |||
collisions:0 txqueuelen:1000 | |||
RX bytes:30511 (29.7 KiB) TX bytes:26695 (26.0 KiB) | |||
Interrupt:10 Base address:0xd060 </pre> | |||
[http://www.rjsystems.nl/en/2100-dhcpv6-stateful-autocfg.php Viide: Kasutatud materjal Nr.1] | |||
=Kokkuvõte= | |||
Niiviisi saabki Debian Lennyl jooksva süsteemis paigaldada DHCPv6 stateful teenuse ehk teenuse, mis jagab klientidele DUID'de järgi IPv6 aadressid. Kindlssti erineb paigaldus erinevatel süsteemidel suhteliselt palju. Debian Lenny näidet oli kasutatud antud referaadis, just seetõttu, et Autor leidis, et kuna tegu on Linuxi laadse süsteemiga, ning antud aines on see käsitlsuses, siis oleks just see väga hea koht, kust ennast natuke ettevalmistada enda tulevikuks ja arendada natuke ennast ka võrkude poole pealt. | |||
Mina arvan nii, et see teema käsitlus on tuleviku jaoks väga oluline, kuna üsna varsti hakatakse tihedamalt implementeerima IPv6 kasutust ning kuna DHCP serverid on juba täna väga laialdaselt kasutusel, siis teada, kuidas sellist teenust IPv6'ga paigaldada, on minu jaoks väga oluline. Just seesaam on ka üheks põhjuseks, miks ma valisin sellise teema endal referaadi käsitluseks. Kokkuvõtlikult leian, et see teema oli üsna raske, et oma mõistus täielikult selle ümber pühenduda, kuid tehes natuke tööd oli sellest võimalik üsna lihtsasti aru saada. Siinkohal olen veendunud, et see teema on aktuaalne, ning teen selle uurimisega veel tulevikus tööd, kuna leian, et seda on igal IT inimesel, kes kavatseb töötada süsteemi administraatroina, vaja. | |||
Referaadi eesmärk oli näidata, kuidas on võimalik seadistada DHCPv6 stateful ja ma usun, et see eesmärk sai täidetud. | |||
= 11. Kasutatud materjal = | |||
1) http://www.rjsystems.nl/en/2100-dhcpv6-stateful-autocfg.php | |||
2) http://blogs.technet.com/b/teamdhcp/archive/2009/03/03/dhcpv6-understanding-of-address-configuration-in-automatic-mode-and-installation-of-dhcpv6-server.aspx | |||
3) https://tools.ietf.org/html/rfc3315 |
Latest revision as of 23:18, 31 December 2013
Autor
Imre Lebedev
Rühm A22
2013
Sissejuhatus
DHCPv6 stateful autoconfiguration ehk MAC aadresside meeldejätmisega dünaamilise hostkonfiguratsiooni protokolli automaatne seadistamine. DHCPv6 lubab erinevatel seadetel, mis on IPv6 võrgu küljes, ühendada ennast internetti ilma, et oleks vaja vahendaja abi.
Meie teema mudelis, saab masin liidese aadressi ja konfiguratsiooni parameetrid serverilt. Stateful mudelit kasutatakse enamasti siis, kui vajatakse tugevamat kontrolli kindlate aadresside ülessannetes.
Selle referaadi eesmärk on näidata kuidas ülesse seada DHCP server IPv6'ele nii, et kindlad staatilised aadressid saaks alati suunata samadele host'idele kasutades DUID(DHCP Unique Identifier)väärtusi. Kuna meie näide on IPv6 kohta, siis stateful DHCPv6 kasutus on tiba teine kui stateless. DHCPv6 vaadeldavad päringu ja vastuse ajad peaksid olema enamus juhtudel samad, kuid on võimalik, et mällu kirjutamisel ja sealt lugemisel DHCPv6 serveris võib viia väikse viivituse tõusuni.(Viide lõigule: Kasutatud Materjal Nr3:)
Selgitus
Selles näites näitan kuidas ülesse seada masinad, millele on peale pandud Debian Lenny. Server holmes.example.com ja klient watson.example.com. Mõlemad masinad on IPv4 kaudu juba ühendatud internetti. Watsonil on ainult kasutuses üks liides ning Holmes'il kaks: üks väline(eth0), mis on ühendatatud internetiga, ja üks sisesne (eth1), mis on mõeldud kliendi masinatele. Holmes kasutab samuti BIND9 serverit, et saada tuge DNS'ile. Selles näites on IPv6 suunatud serverisse IPv4'ja kaudu, aga teisalt võib see olla ka lihtsalt päritud IPv6 ühendus. Selleks, et saada DHCPv6 MAC aadressite meeldejätmisega tööle, tuleks järgida järgnevat kümmet punkti.
Viide: Kasutatud materjal Nr.1
Tuleb arvesse võtta ka eelnevat teksti ning kindlasti kaa seda, et näites kasutatud IPv6 prefix, 2001:888:0db8::/48, tuleks asendanda teie enda omaga.
Kõik teemas tehtud käsud on tehtud ROOT'ina, kui ei ole öeldud vastupidist !
1. Serveri kasutajaliidese konfiguratsioon
Serveris on vaja muuta sisese liidese võrgu IP staatiliseks IPv6 aadressiks. Selleks tuleb enda asukohaks Debianis teha /etc/network/interfaces. Pärast asukoha määramist ja konfiguratsiooni muutmist, peaks lõpptulemus meie näite põhjal välja nägema järgmine:
auto eth1 iface eth1 inet6 static address 2001:888:0db8:1::a netmask 64 pre-up modprobe ipv6 up echo 1 > /proc/sys/net/ipv6/conf/all/forwarding up echo 0 > /proc/sys/net/ipv6/conf/all/autoconf
Viimased 2 rida lubvad esiteks serveril käituda kui IPv6 ruuter ning teiseks hoida ära selle, et ükski liides ei saaks juhuslikult hiljem endale teist IPv6 aadress läbi automaatse seadistamise.
Viide: Kasutatud materjal Nr.1
2. Pakettide installimine Serverisse
Serverisse tuleb installeerida DHCPv6 server koos IPv6 Router Advertisement Daemon'iga.
Seda saab teha järgneva käsu sisestamisega:
apt-get install wide-dhcpv6-server radvd
Pakettide installeerimisel peaks olema installimisel kokku 3 pakketi:
radvd 1:1.1-3 Router Advertisement Daemon sharutils 1:4.6.3-1 shar, unshar, uuencode, uudecode wide-dhcpv6-server 20080615-1lenny2 DHCPv6 server for automatic IPv6 hosts configuration
Installimise jooksul küsitakse kasutajalt üks küsimus, mille vastuseks peaks sisestama liidese kuhu on plaan ühendada DHCPv6 kliendid.
Interfaces on which the DHCPv6 server listens to requests: eth1
Kuna näites on plaan ühendada kliendi eth1 taha, siis on meie vastuseks loomulikult eth1
Kogu informatsioon salvestub siia: /etc/default/wide-dhcpv6-server .
Viide: Kasutatud materjal Nr.1
3. Serveri DNS kirjed
Nii serverile endale kui ka kliendile DNS serveris tuleb lisada forward ja reverse kirjed. Watsonil jooksva BIND9 zone failile peaksid kirjed välja nägema järgmised:
holmes IN AAAA 2001:888:0db8:1::a watson IN AAAA 2001:888:0db8:1::b
Sarnaselt nende analoogidele 8.b.d.0.8.8.8.0.1.0.0.2.ip6.arpa kaustas, peaks reverse fail välja nägema järgmine:
a.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0 IN PTR holmes.example.com. b.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0 IN PTR watson.example.com.
Viide: Kasutatud materjal Nr.1
4. Server Route Advertising Daemon paketi faili seadistamine
Kuna eelnevalt instaleeritud paketil radvd, ei ole veel konfiguratsiooni faili, siis tuleb see luua. Selle loome asukohta /etc/radvd.conf ning selle sisuks on järgnev;
interface eth1 { AdvSendAdvert on; AdvManagedFlag on; AdvOtherConfigFlag on; prefix 2001:888:0db8:1::/64 { AdvAutonomous off; }; };
Seadistuses kasutatud käsud aitavad meil samuti teavitada Windows 7'me ja MAC OS/x (10.7'mest uuemad) kasutajaid, et ühedatavas võrgus on kasutusel on DHCPv6.
Kui fail on salvestatud, tuleb käima panna Route Advertising Daemon:
/etc/init.d/radvd start
Viide: Kasutatud materjal Nr.1
5. Serveri WIDE-DHCPv6 konfiguratsioon
Nagu ka eelmises punktis, siis ka DHCPv6 Daemon'il puudub konfiguratsiooni fail, mille loome kausta: /etc/wide-dhcpv6/ ning dokumendi nimeks paneme: dhcps.conf. Selle faili sisuks on järgnev:
option domain-name-servers 2001:888:0db8:1::a; option domain-name "example.com"; interface eth1 { address-pool pool1 3600; }; pool pool1 { range 2001:888:0db8:1::1000 to 2001:888:0db8:1::2000; };
Viide: Kasutatud materjal Nr.1
6. Kliendi poolne pakettide installeerimine
Kliendi masinasse tuleb installeerida paketid järgneva käsuga:
apt-get install wide-dhcpv6-client
Sellel puhul on installeerimise tulemuseks 2 paketti:
sharutils 1:4.6.3-1 shar, unshar, uuencode, uudecode wide-dhcpv6-client 20080615-1lenny2 DHCPv6 client for automatic IPv6 hosts configuration
Samuti küsitakse installeerimise käigus ainult üks küsimus, nagu tehti ka serveri pakettide installeerimise käigus, kuid seda puhku on küsimus järgmine:
Interfaces on which the DHCPv6 client sends requests: eth0
Siinkohal tuleb vastata liides, kuhu DHCPv6 klient saadab päringud, ehk eth0
Viide: Kasutatud materjal Nr.1
7. Kliendi DUID faili asendamine
Iga DHCPv6 klient on unikaalselt teadustatud tema DUID (DHCP Unikaalne väljaselgitaja - inglise k. DHCP Unique Identifier). Sellisel juhul DUID genereeritakse siis, kui klient on installeerinud ja salvestanud /var/lib/dhcpv6/dhcp6c_duid. Selleks, et DHCPv6 server annaks staatilise IPv6 aadressi kindlale DHCPv6 kliendile, tuleb servelil väljaselgitada selle kliendi DUID, mis on sarnane DHCPv4 serverile, peale kliendi MAC aadressi väljaselgitamist. Siinpuhul on ainukeseks probleemiks see, et me ei tea milline on kliendi DUID kui see on automaatselt genereeritud, mistõttu oleks lihtsaim moodus luua uus DUID mille puhul teame milline on DUID väärtus.
Kliendi masinas tuleb kasutada sellist scripti: wide_mkduid.pl, mis on algselt Jeffery F. Blank'i omand, Michigani Tehnoloogia Ülikoolist. Me kasutame seda skripti, et asendada olemasolev /var/lib/dhcpv6/dhcp6c_duid fail. Ainukeseks nõutavaks sisestuseks skriptis oleks kliendi liidese MAC aadress, mis näite puhul on 08:00:27:0c:5f:2b, aga allpool olevas näites on vajalik anda võrgu liidese nimi (eth0):
cd /usr/local/bin wget -q http://www.ipv6.mtu.edu/wide_mkduid.pl chmod 755 wide_mkduid.pl cd /var/lib/dhcpv6 wide_mkduid.pl -m `ifconfig eth0 |grep HWaddr |awk '{print $5}'` successfully created /var/lib/dhcpv6/dhcp6c_duid DUID is 00:03:00:06:08:00:27:0c:5f:2b
Uus DUID fail on 4 baiti lühem kui originaalne DUID, aga sellest ei ole hullu, sest tähtis on see, et me nüüd teame klienti ning tema DUID väärtus .
Viide: Kasutatud materjal Nr.1 ja Kasutatud materjal Nr.3
8. Serveri DHCPv6 kliendi teadvustamine
Serveris, tuleb muuta /etc/wide-dhcpv6/dhcp6s.conf, ning lisada selle faili lõppu teadvustus DHCPv6 kliendist, kasutades selleks DUID väärtust eelmisest sammust.
host watson { duid 00:03:00:06:08:00:27:0c:5f:2b; address 2001:888:0db8:1::b infinity; };
Aadressi väärtuseks PEAB olema korrektne IPv6 aadress, ning host nime kasutamine on ainult valikuline. Watson selles näites on lisatud vaid selleks, et lihtsustada logi failide lugetavust. Kahjuks peab igat IPv6 aadressi hoidma siin ning ka DNS serveris. Meie näites on lubatud kliendil kasutada seda aadressi määramata ajaks.
Nüüd aga käivitame esimest korda DHCPv6 serveri:
/etc/init.d/wide-dhcpv6-server start
Viide: Kasutatud materjal Nr.1
9. Kliendi WIDE-DHCPv6 konfiguratsioon
Kliendi masinas tuleb muuta DHCPv6 Daemoni konfiguratsiooni faili /etc/wide-dhcpv6/dhcp6c.conf ja muuta see selliseks, et see näeks välja sarnaselt järgnevale:
interface eth0 { request domain-name-servers; request domain-name; send rapid-commit; send ia-na 15; script "/etc/wide-dhcpv6/dhcp6c-script"; }; id-assoc na 15 { # };
id-assoc osa võib olla tühi, kuid kahjuks ei tohi seda konfiguratsiooni failist välja jätta.
Viide: Kasutatud materjal Nr.1
10. Kliendi liidse konfiguratsioon
Esmalt tuleb välja lülitada kliendi liides.
ifdown eth0
Muuda /etc/network/interfaces ja lisa eth0 sektsiooni lõppu vajalikud käsud. Täpsemalt sellised, mis toetavad DHCPv4'ja, et laadida ipv6 moodul ja käivitada/peatada DHCPv6 klient:
auto eth0 iface eth0 inet dhcp pre-up modprobe ipv6 post-up /etc/init.d/wide-dhcpv6-client start pre-down /etc/init.d/wide-dhcpv6-client stop
Nüüd tuleb uuesti liides käivitda:
ifup eth0
Nüüd, et kontrollida kas kõik töötab, tuleb teha lihtne katsetus:
ifconfig eth0
Tulemus peaks olema sarnane:
eth0 Link encap:Ethernet HWaddr 08:00:27:0c:5f:2b inet addr:127.0.0.2 Bcast:127.255.255.255 Mask:255.0.0.0 inet6 addr: 2001:888:0db8:1::b/128 Scope:Global inet6 addr: fe80::a00:27ff:fe0c:5f2b/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:255 errors:0 dropped:0 overruns:0 frame:0 TX packets:258 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:30511 (29.7 KiB) TX bytes:26695 (26.0 KiB) Interrupt:10 Base address:0xd060
Viide: Kasutatud materjal Nr.1
Kokkuvõte
Niiviisi saabki Debian Lennyl jooksva süsteemis paigaldada DHCPv6 stateful teenuse ehk teenuse, mis jagab klientidele DUID'de järgi IPv6 aadressid. Kindlssti erineb paigaldus erinevatel süsteemidel suhteliselt palju. Debian Lenny näidet oli kasutatud antud referaadis, just seetõttu, et Autor leidis, et kuna tegu on Linuxi laadse süsteemiga, ning antud aines on see käsitlsuses, siis oleks just see väga hea koht, kust ennast natuke ettevalmistada enda tulevikuks ja arendada natuke ennast ka võrkude poole pealt.
Mina arvan nii, et see teema käsitlus on tuleviku jaoks väga oluline, kuna üsna varsti hakatakse tihedamalt implementeerima IPv6 kasutust ning kuna DHCP serverid on juba täna väga laialdaselt kasutusel, siis teada, kuidas sellist teenust IPv6'ga paigaldada, on minu jaoks väga oluline. Just seesaam on ka üheks põhjuseks, miks ma valisin sellise teema endal referaadi käsitluseks. Kokkuvõtlikult leian, et see teema oli üsna raske, et oma mõistus täielikult selle ümber pühenduda, kuid tehes natuke tööd oli sellest võimalik üsna lihtsasti aru saada. Siinkohal olen veendunud, et see teema on aktuaalne, ning teen selle uurimisega veel tulevikus tööd, kuna leian, et seda on igal IT inimesel, kes kavatseb töötada süsteemi administraatroina, vaja.
Referaadi eesmärk oli näidata, kuidas on võimalik seadistada DHCPv6 stateful ja ma usun, et see eesmärk sai täidetud.
11. Kasutatud materjal
1) http://www.rjsystems.nl/en/2100-dhcpv6-stateful-autocfg.php