Bind9 nimeserver (puppet baasil): Difference between revisions

From ICO wiki
Jump to navigationJump to search
Lmironov (talk | contribs)
No edit summary
Lmironov (talk | contribs)
No edit summary
 
(17 intermediate revisions by the same user not shown)
Line 3: Line 3:
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.
Antud juhendis kasutatakse https://forge.puppetlabs.com/KyleAnderson/dns moodulit.
Kõik käsud tuleb käivitada juurkasutaja õigustes.
'''Kõik käsud tuleb käivitada juurkasutaja õigustes.'''
= Nõuded =
= Nõuded =


Line 25: Line 25:




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
Line 50: Line 50:
</source>
</source>


Loodud faili sisu, milles luuakse uus pakett, mis installeerib Apache2 ja Bind9 paketid
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 }
["apache2", "bind9"]: ensure => installed;
}
}
}
</source>
</source>
Line 68: 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' {
Line 107: Line 106:
   # MX Records:
   # MX Records:
   dns::record::mx {
   dns::record::mx {
'mx,0':
  'mx0':
  zone => 'example.com',
  zone => 'example.com',
  preference => 0,
  preference => 0,
  data => 'ASPMX.L.GOOGLE.com';
  data => 'ASPMX.L.GOOGLE.com';
'mx,10':
  'mx10':
  zone => 'example.com',
  zone => 'example.com',
  preference => 10,
  preference => 10,
  data => 'ALT1.ASPMX.L.GOOGLE.com';
  data => 'ALT1.ASPMX.L.GOOGLE.com';
   }
   }


Line 121: Line 120:
zone => 'example.com',
zone => 'example.com',
data => 'huey.example.com',
data => 'huey.example.com',
  }
  # TXT Record:
  dns::record::txt {'www':
zone => 'example.com',
data => 'Hello World',
   }
   }
}
}
</source>
</source>
 
Tuleb muuta /etc/hosts faili sisu vastavalt enda välja mõeldud domeeninimele (kliendi pool)
Tehtud muudatuste rakendamiseks tuleb serveris puppetmasterile teha restart
<source lang="bash">
<source lang="bash">
service puppetmaster restart
nano /etc/hosts
</source>
</source>
Tuleb muuta /etc/hosts faili sisu vastavalt enda välja mõeldud domeeninimele (kliendi pool)
<source lang="bash">
<source lang="bash">
127.0.0.1  localhost
127.0.0.1  localhost
Line 152: Line 143:
</source>
</source>
/etc/hosts faili sisu (serveris)
/etc/hosts faili sisu (serveris)
<source lang="bash">
nano /etc/hosts
</source>
<source lang="bash">
<source lang="bash">
127.0.0.1  puppet.planet.zz    puppet
127.0.0.1  puppet.planet.zz    puppet
Line 164: Line 158:
ff02::2 ip6-allrouters
ff02::2 ip6-allrouters
</source>
</source>
 
Tehtud muudatuste rakendamiseks tuleb serveris puppetmasterile teha restart
<source lang="bash">
service puppetmaster restart
</source>
Konfigureerimise käigus tuleks kliendi poolel jälgida logi
<source lang="bash">
less /var/log/syslog
</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

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

Autorid: Liis Mironova, Tarmo Tüür A32, 06.01.2014 Muudetud: 16.01.2014