Bind9 nimeserver (puppet baasil): Difference between revisions
No edit summary |
No edit summary |
||
(27 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
Kliendi arvutisse bind9 nimeserveri paigaldamine kasutades puppet moodulit (https://forge.puppetlabs.com/). Enda valitud domeeninimega tsooni ja revers tsooni seadistamine. Kirjete www.minudomeen.zz, mail.minudomeen.zz, puppet.minudomeen.zz lisamine koos PTR kirjetega. | Kliendi arvutisse bind9 nimeserveri paigaldamine kasutades puppet moodulit (https://forge.puppetlabs.com/). Enda valitud domeeninimega tsooni ja revers tsooni seadistamine. Kirjete www.minudomeen.zz, mail.minudomeen.zz, puppet.minudomeen.zz lisamine koos PTR kirjetega. | ||
Antud juhendis kasutatakse https://forge.puppetlabs.com/KyleAnderson/dns moodulit. | |||
'''Kõik käsud tuleb käivitada juurkasutaja õigustes.''' | |||
= Nõuded = | = Nõuded = | ||
Line 15: | Line 16: | ||
hostname -f | hostname -f | ||
</source> | </source> | ||
Vajadusel tuleb hostname muuta nii serveris kui ka kliendis | Vajadusel tuleb hostname muuta nii serveris kui ka kliendis | ||
<source lang="bash"> | <source lang="bash"> | ||
nano /etc/hostname | nano /etc/hostname | ||
</source> | </source> | ||
Serveri hostname võib olla näiteks ''puppet'' ja kliendil ''client''. | Serveri hostname võib olla näiteks ''puppet'' ja kliendil ''client''. | ||
Kui nimeserverit seadistatakse oma arvutis, siis tuleb serveri ja kliendi moodulid omavahel sünkroniseerida | Kui nimeserverit seadistatakse oma arvutis (mitte kooli omas), siis tuleb serveri ja kliendi moodulid omavahel sünkroniseerida | ||
<source lang="bash"> | <source lang="bash"> | ||
nano /etc/puppet/puppet.conf | nano /etc/puppet/puppet.conf | ||
</source> | </source> | ||
Main sektsiooni tuleb nii serveris kui ka kliendis lisada järgmine rida | Main sektsiooni tuleb nii serveris kui ka kliendis lisada järgmine rida | ||
<source lang="bash"> | <source lang="bash"> | ||
pluginsync=true | pluginsync=true | ||
</source> | </source> | ||
Mooduli installeerimine | |||
Mooduli installeerimine serverisse | |||
<source lang="bash"> | <source lang="bash"> | ||
puppet module install | puppet module install KyleAnderson/dns --force | ||
</source> | </source> | ||
Concat installeerimine (kuna antud moodul sõltub concat tarkvarast) serverisse | |||
<source lang="bash"> | <source lang="bash"> | ||
puppet module install puppetlabs/concat --force | |||
</source> | </source> | ||
Serverisse tuleb luua uus fail, kus kirjeldatakse tarkvara paketid, mida | Serverisse tuleb luua uus fail, kus kirjeldatakse tarkvara paketid, mida soovitakse kliendile installeerida | ||
<source lang="bash"> | <source lang="bash"> | ||
nano /etc/puppet/manifests/classes/pakid.pp | nano /etc/puppet/manifests/classes/pakid.pp | ||
</source> | </source> | ||
Loodud faili sisu, milles luuakse uus pakett, mis installeerib Apache2 | |||
Loodud faili sisu, milles luuakse uus pakett, mis installeerib Apache2 paketid | |||
<source lang="bash"> | <source lang="bash"> | ||
class pakid { | class pakid { | ||
package { | package { "apache2": ensure => installed } | ||
} | } | ||
</source> | </source> | ||
Serverisse tuleb luua uus fail, | |||
Serverisse tuleb luua uus fail, kus kirjeldatakse ja mille abil importidakse loodud klassid | |||
<source lang="bash"> | <source lang="bash"> | ||
nano /etc/puppet/manifests/site.pp | nano /etc/puppet/manifests/site.pp | ||
Line 64: | Line 66: | ||
import "classes/*" | import "classes/*" | ||
node basenode { | node basenode { | ||
include pakid.pp | |||
} | } | ||
node "client.planet.zz" inherits basenode { | node "client.planet.zz" inherits 'basenode' { | ||
include dns::server | |||
# Forwarders | |||
dns::server::options{ '/etc/bind/named.conf.options': | |||
forwarders => [ '8.8.8.8', '8.8.4.4' ] | |||
} | |||
# Forward Zone | |||
dns::zone { 'zumm.zz': | |||
soa => "ns1.zumm.zz", | |||
soa_email => 'mail.zumm.zz', | |||
nameservers => ["ns1"] | |||
} | |||
# Reverse Zone | |||
dns::zone { '1.168.192.IN-ADDR.ARPA': | |||
soa => "ns1.zumm.zz", | |||
soa_email => 'mail.zumm.zz', | |||
nameservers => ["ns1"] | |||
} | |||
# A Records: | |||
dns::record::a { | |||
'ns1': | |||
zone => 'zumm.zz', | |||
data => ["192.168.56.101"]; | |||
'ns2': | |||
zone => 'zumm.zz', | |||
data => ["12.34.56.78", "12.23.34.45"]; | |||
'ns3': | |||
zone => 'zumm.zz', | |||
data => ["192.168.1.25"], | |||
ptr => true; # Creates a matching reverse zone record. Make sure you've $ | |||
} | |||
# MX Records: | |||
dns::record::mx { | |||
'mx0': | |||
zone => 'example.com', | |||
preference => 0, | |||
data => 'ASPMX.L.GOOGLE.com'; | |||
'mx10': | |||
zone => 'example.com', | |||
preference => 10, | |||
data => 'ALT1.ASPMX.L.GOOGLE.com'; | |||
} | |||
# CNAME Record: | |||
dns::record::cname {'www': | |||
zone => 'example.com', | |||
data => 'huey.example.com', | |||
} | |||
} | } | ||
</source> | </source> | ||
Tuleb muuta /etc/hosts faili sisu vastavalt enda välja mõeldud domeeninimele (kliendi pool) | |||
<source lang="bash"> | |||
nano /etc/hosts | |||
</source> | |||
<source lang="bash"> | |||
127.0.0.1 localhost | |||
127.0.1.1 client.planet.zz client | |||
192.168.56.200 puppet.planet.zz puppet | |||
192.168.56.205 www.zumm.zz zumm | |||
192.168.56.206 hehe.zumm.zz hehe | |||
192.168.56.207 mail.zumm.zz mail | |||
# The following lines are desirable for IPv6 capable hosts | |||
::1 ip6-localhost ip6-loopback | |||
fe00::0 ip6-localnet | |||
ff00::0 ip6-mcastprefix | |||
ff02::1 ip6-allnodes | |||
ff02::2 ip6-allrouters | |||
</source> | |||
/etc/hosts faili sisu (serveris) | |||
<source lang="bash"> | |||
nano /etc/hosts | |||
</source> | |||
<source lang="bash"> | |||
127.0.0.1 puppet.planet.zz puppet | |||
localhost puppet.planet.zz puppet | |||
192.168.56.101 client.planet.zz client | |||
# The following lines are desirable for IPv6 capable hosts | |||
::1 ip6-localhost ip6-loopback | |||
fe00::0 ip6-localnet | |||
ff00::0 ip6-mcastprefix | |||
ff02::1 ip6-allnodes | |||
ff02::2 ip6-allrouters | |||
</source> | |||
Tehtud muudatuste rakendamiseks tuleb serveris puppetmasterile teha restart | Tehtud muudatuste rakendamiseks tuleb serveris puppetmasterile teha restart | ||
<source lang="bash"> | <source lang="bash"> | ||
service puppetmaster | service puppetmaster restart | ||
</source> | </source> | ||
Konfigureerimise käigus tuleks kliendi poolel jälgida logi | |||
<source lang="bash"> | <source lang="bash"> | ||
less /var/log/syslog | |||
</source> | </source> | ||
Testimiseks võib kasutada dig'i või nslookup'i, näiteks | |||
<source lang="bash"> | <source lang="bash"> | ||
dig ns1.zumm.zz @192.168.56.101 | |||
</source> | </source> | ||
<source lang="bash"> | <source lang="bash"> | ||
nslookup ns1.zumm.zz 192.168.56.101 | |||
</source> | </source> | ||
= Kokkuvõte = | = Kokkuvõte = | ||
Algselt oli meil kaks masinat: server ja klient, kus puppet oli juba eelnevalt seadistatud. Bind9 nimeserveri installeerimiseks ja konfigureerimiseks kasutasime puppet moodulit. Juhendis kasutusel olnud mooduli valisime, kuna selle mooduliga konfigureerimine tundus meile kõige lihtsam. Proovisime esmalt mitmeid teisi mooduleid, aga nende abil konfigureerimine nii hästi ei sujunud ja soovitud eesmärki me ei saavutanud. Seega valisime mooduli, mille abil saime eesmärgi täidetud kõige lihtsamini ja kiiremini. Mooduli abil nimeserveri konfigureerimine on üsna mugav, kuna suurema osa tööst teeb moodul ise ära ja endal tuleb kirjeldada kirjed. Enne nimeserveri seadistamist puppet mooduli abil tuleks algajal kindlasti endale selgeks teha, kuidas nimeserver ja puppet töötavad ning puppet moodulite kasutamise põhimõtted. | |||
Antud juhend on valminud "Linuxi administeerimine" õppeaine raames. | |||
= Viited = | = Viited = | ||
* https://forge.puppetlabs.com/KyleAnderson/dns | |||
* https://wiki.itcollege.ee/index.php/Nimeserveri_seadistamine_BIND9_n%C3%A4itel | |||
Autorid: Liis Mironova, Tarmo Tüür A32, 06.01.2014 | Autorid: Liis Mironova, Tarmo Tüür A32, 06.01.2014 | ||
Muudetud: | Muudetud: 16.01.2014 | ||
[[Category: Linuxi administreerimine]] | [[Category: Linuxi administreerimine]] |
Latest revision as of 14:04, 16 January 2014
Ülesande püstitus
Kliendi arvutisse bind9 nimeserveri paigaldamine kasutades puppet moodulit (https://forge.puppetlabs.com/). Enda valitud domeeninimega tsooni ja revers tsooni seadistamine. Kirjete www.minudomeen.zz, mail.minudomeen.zz, puppet.minudomeen.zz lisamine koos PTR kirjetega. Antud juhendis kasutatakse https://forge.puppetlabs.com/KyleAnderson/dns moodulit. Kõik käsud tuleb käivitada juurkasutaja õigustes.
Nõuded
- Server: Ubuntu Server 12.04.1 LTS (64 bit)
- Klient: Ubuntu Client 64bit
- Eelnevalt paigaldatud puppet server ja klient (https://wiki.itcollege.ee/index.php/Puppet_seadistamine_Ubuntu_s%C3%BCsteemis)
Lahenduskäik
Kõigepealt on mõistlik kontrollida serveri ja kliendi hostname
hostname -f
Vajadusel tuleb hostname muuta nii serveris kui ka kliendis
nano /etc/hostname
Serveri hostname võib olla näiteks puppet ja kliendil client.
Kui nimeserverit seadistatakse oma arvutis (mitte kooli omas), siis tuleb serveri ja kliendi moodulid omavahel sünkroniseerida
nano /etc/puppet/puppet.conf
Main sektsiooni tuleb nii serveris kui ka kliendis lisada järgmine rida
pluginsync=true
Mooduli installeerimine serverisse
puppet module install KyleAnderson/dns --force
Concat installeerimine (kuna antud moodul sõltub concat tarkvarast) serverisse
puppet module install puppetlabs/concat --force
Serverisse tuleb luua uus fail, kus kirjeldatakse tarkvara paketid, mida soovitakse kliendile installeerida
nano /etc/puppet/manifests/classes/pakid.pp
Loodud faili sisu, milles luuakse uus pakett, mis installeerib Apache2 paketid
class pakid {
package { "apache2": ensure => installed }
}
Serverisse tuleb luua uus fail, kus kirjeldatakse ja mille abil importidakse loodud klassid
nano /etc/puppet/manifests/site.pp
Loodud faili sisu, milles kirjeldatakse sisalduvad klassid
import "classes/*"
node basenode {
include pakid.pp
}
node "client.planet.zz" inherits 'basenode' {
include dns::server
# Forwarders
dns::server::options{ '/etc/bind/named.conf.options':
forwarders => [ '8.8.8.8', '8.8.4.4' ]
}
# Forward Zone
dns::zone { 'zumm.zz':
soa => "ns1.zumm.zz",
soa_email => 'mail.zumm.zz',
nameservers => ["ns1"]
}
# Reverse Zone
dns::zone { '1.168.192.IN-ADDR.ARPA':
soa => "ns1.zumm.zz",
soa_email => 'mail.zumm.zz',
nameservers => ["ns1"]
}
# A Records:
dns::record::a {
'ns1':
zone => 'zumm.zz',
data => ["192.168.56.101"];
'ns2':
zone => 'zumm.zz',
data => ["12.34.56.78", "12.23.34.45"];
'ns3':
zone => 'zumm.zz',
data => ["192.168.1.25"],
ptr => true; # Creates a matching reverse zone record. Make sure you've $
}
# MX Records:
dns::record::mx {
'mx0':
zone => 'example.com',
preference => 0,
data => 'ASPMX.L.GOOGLE.com';
'mx10':
zone => 'example.com',
preference => 10,
data => 'ALT1.ASPMX.L.GOOGLE.com';
}
# CNAME Record:
dns::record::cname {'www':
zone => 'example.com',
data => 'huey.example.com',
}
}
Tuleb muuta /etc/hosts faili sisu vastavalt enda välja mõeldud domeeninimele (kliendi pool)
nano /etc/hosts
127.0.0.1 localhost
127.0.1.1 client.planet.zz client
192.168.56.200 puppet.planet.zz puppet
192.168.56.205 www.zumm.zz zumm
192.168.56.206 hehe.zumm.zz hehe
192.168.56.207 mail.zumm.zz mail
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
/etc/hosts faili sisu (serveris)
nano /etc/hosts
127.0.0.1 puppet.planet.zz puppet
localhost puppet.planet.zz puppet
192.168.56.101 client.planet.zz client
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Tehtud muudatuste rakendamiseks tuleb serveris puppetmasterile teha restart
service puppetmaster restart
Konfigureerimise käigus tuleks kliendi poolel jälgida logi
less /var/log/syslog
Testimiseks võib kasutada dig'i või nslookup'i, näiteks
dig ns1.zumm.zz @192.168.56.101
nslookup ns1.zumm.zz 192.168.56.101
Kokkuvõte
Algselt oli meil kaks masinat: server ja klient, kus puppet oli juba eelnevalt seadistatud. Bind9 nimeserveri installeerimiseks ja konfigureerimiseks kasutasime puppet moodulit. Juhendis kasutusel olnud mooduli valisime, kuna selle mooduliga konfigureerimine tundus meile kõige lihtsam. Proovisime esmalt mitmeid teisi mooduleid, aga nende abil konfigureerimine nii hästi ei sujunud ja soovitud eesmärki me ei saavutanud. Seega valisime mooduli, mille abil saime eesmärgi täidetud kõige lihtsamini ja kiiremini. Mooduli abil nimeserveri konfigureerimine on üsna mugav, kuna suurema osa tööst teeb moodul ise ära ja endal tuleb kirjeldada kirjed. Enne nimeserveri seadistamist puppet mooduli abil tuleks algajal kindlasti endale selgeks teha, kuidas nimeserver ja puppet töötavad ning puppet moodulite kasutamise põhimõtted. Antud juhend on valminud "Linuxi administeerimine" õppeaine raames.
Viited
- https://forge.puppetlabs.com/KyleAnderson/dns
- https://wiki.itcollege.ee/index.php/Nimeserveri_seadistamine_BIND9_n%C3%A4itel
Autorid: Liis Mironova, Tarmo Tüür A32, 06.01.2014 Muudetud: 16.01.2014