Bind9 nimeserver (puppet baasil)
Ü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, 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 (serveris)
puppet module install KyleAnderson/dns --force
Concat installeerimine (kuna antud moodul sõltub concat tarkvarast) (serveris)
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 ja Bind9 paketid
class pakid {
package {
["apache2", "bind9"]: 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 {
}
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 {
'mx,0':
zone => 'example.com',
preference => 0,
data => 'ASPMX.L.GOOGLE.com';
'mx,10':
zone => 'example.com',
preference => 10,
data => 'ALT1.ASPMX.L.GOOGLE.com';
}
# CNAME Record:
dns::record::cname {'www':
zone => 'example.com',
data => 'huey.example.com',
}
# TXT Record:
dns::record::txt {'www':
zone => 'example.com',
data => 'Hello World',
}
}
Tehtud muudatuste rakendamiseks tuleb serveris puppetmasterile teha restart
service puppetmaster restart
Tuleb muuta /etc/hosts faili sisu vastavalt enda välja mõeldud domeeninimele (kliendi pool)
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)
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
Kokkuvõte
Viited
Autorid: Liis Mironova, Tarmo Tüür A32, 06.01.2014 Muudetud: