<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="et">
	<id>https://kuutorvaja.eenet.ee/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jj</id>
	<title>Kuutõrvaja - Kasutaja kaastöö [et]</title>
	<link rel="self" type="application/atom+xml" href="https://kuutorvaja.eenet.ee/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jj"/>
	<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php/Eri:Kaast%C3%B6%C3%B6/Jj"/>
	<updated>2026-04-17T18:16:19Z</updated>
	<subtitle>Kasutaja kaastöö</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Rsync&amp;diff=31019</id>
		<title>Rsync</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Rsync&amp;diff=31019"/>
		<updated>2021-07-28T12:05:40Z</updated>

		<summary type="html">&lt;p&gt;Jj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Rsync on vabavara unixi laadsetele op süsteemidele, mis teeb andmete sünkroniseerimese arvutite vahel väga lihtsaks. Rsync kasutab kodeerimist ja ei tekita varundamisel duplikaate, vaid loob viiteid failide vahel, vähendades sedaviisi infomahte ja ka kettakasutust.&lt;br /&gt;
&lt;br /&gt;
Veebisait http://rsync.samba.org/ ja dokumentatsioon http://www.samba.org/rsync/documentation.html.&lt;br /&gt;
&lt;br /&gt;
Lihtne näide rsync kasutamisest:&lt;br /&gt;
&lt;br /&gt;
Sünkroniseerime faili lokaalsest masinast teise nimega host.ee&lt;br /&gt;
 &lt;br /&gt;
 rsync fail.laiend kasutaja@host.ee:&lt;br /&gt;
&lt;br /&gt;
Sünkroniseerime kausta lokaalsest masinast teise&lt;br /&gt;
&lt;br /&gt;
 rsync -a kaust kasutaja@host.ee:&lt;br /&gt;
&lt;br /&gt;
Rsync toimib ka üle tavalise OpenSSH (Kuid on rohkem koormust tekitav).&lt;br /&gt;
&lt;br /&gt;
===Olulisemad võtmed===&lt;br /&gt;
&lt;br /&gt;
*--archive  -a arhiivi võti mida kasutades kindlustatakse kuupäevade õiguste omanike ja linkide säilumine, soovituslik lisada igasuguste sünkroniseerimiste puhul.&lt;br /&gt;
*--verbose  -v protsessi kohta põhjalikuma info näitamine nt failinimekiri&lt;br /&gt;
*--progress ülekande progressi kohta info&lt;br /&gt;
*--stats ülevaatlikum statistika kulunud ajast ja failide hulgast&lt;br /&gt;
*--compress -z toimub pakkimine enne ülekandmist&lt;br /&gt;
*--delete -d sihtkohast kustutatakse algallikas enam mitte eksisteerivad failid&lt;br /&gt;
*--exclude &amp;quot;*bak&amp;quot; mingite faililaiendite, failinimede ignoreerimine näiteks avi, mp3 võib määrata ka võtmega --exclude-from faili milles failides või kaustades asjadest mida ei varundata&lt;br /&gt;
*--numeric-ids ei üritata failide UID/GID muuta sünkroniseeritava süsteemi kasutajate järgi ja jäetakse need puutumatuna&lt;br /&gt;
&lt;br /&gt;
Veel mõned erandjuhtudel vajaminevad parameetrid&lt;br /&gt;
&lt;br /&gt;
*-n Mille korral rsync lihtsalt ütleb mida ta teeks ilma reaalselt faile üle kandmata&lt;br /&gt;
*-W Teatab rsyncile kanda üle terve fail selle asemel, et kasutada oma block leveli võrdlemise vahendeid. Kui kasutada on väga kiire võrguühendus võib see võti muuta tööd kiiremaks kuna rsync ei pea faile kontrollima, kasutades rsynci üle interneti on tõenäoliselt seda võtit kasutada ebapraktiline&lt;br /&gt;
*-c Käseb genereerida kõigi failide kontrollsummad. Kasutades seda võtit võib rsync muutuda üsnagi aeglaselt seega kasutada vaid tõsise vajaduse korral, näiteks kui kahtlus, et failide info on kuidagi rikutud.&lt;br /&gt;
*-z suunab rsynci kasutama zlib pakkimist&lt;br /&gt;
*-H, --hard-links Säilita hard lingid, vajalik nt kui ülekantavad andmed varundatud link-dest võtmega&lt;br /&gt;
*-i - kui nö tavalise võtmekomplekti &#039;-avH --numeric-ids&#039; puhul ei esitata andmeid kui ainult faili metaandmed muutuvad, nt omanik, siis -i lisamisel esitatakse&lt;br /&gt;
*-A --acls säilita acl-id&lt;br /&gt;
*-X --xattrs säilitada laiendatud atribuudid&lt;br /&gt;
&lt;br /&gt;
Lisaks kui rsync teatab file has vanished tähendab seda, et failisüsteemis on sünkroniseerimise ajal tekkinud muudatusi&lt;br /&gt;
&lt;br /&gt;
Tasub ettevaatlik ning tähelepanelik olla kaika (/) märgi kasutamisega. kui tahad kopeerida kataloogi alla, siis pane teisele argumendile kaigas ja esimesele mitte. &lt;br /&gt;
Kui tahad kopeerida kataloogi (/mnt -&amp;gt; /mnt ntx), siis pane esimesele kaigas ja teisele mitte. Kaks näidet kuidas selle asetsemine võib käsu tundmatuseni muuta:&lt;br /&gt;
&lt;br /&gt;
*--exclude &amp;quot;/foo&amp;quot; &lt;br /&gt;
eraldab faili nimega foo kaustas kus hetkel asutakse mida näeb pwd käsuga&lt;br /&gt;
&lt;br /&gt;
*--exclude &amp;quot;foo/&amp;quot; &lt;br /&gt;
eraldab aga kõik kaustad nimega foo&lt;br /&gt;
&lt;br /&gt;
Võimalus on tekitada ka kausta mida arhiveeritakse fail .rsync-filter sisuga&lt;br /&gt;
 + *.mbox/***&lt;br /&gt;
 - *&lt;br /&gt;
ja käsuraltuleb lisada -F võti.&lt;br /&gt;
&lt;br /&gt;
===rsync server===&lt;br /&gt;
&lt;br /&gt;
Varundusserverit luues on mõistlik startida seal rsynci deemon, mis võimaldab parooliga ligipääsu lugemiseks/kirjutamiseks teatud kaustadele.&lt;br /&gt;
&lt;br /&gt;
Seadistusfailiks on rsyncd.conf mis vaikimisi Linuxis /etc/rsyncd.conf ja FreeBSDs /usr/local/etc/rsyncd.conf&lt;br /&gt;
&lt;br /&gt;
Näidis failist rsyncd.conf:&lt;br /&gt;
&lt;br /&gt;
 uid = root&lt;br /&gt;
 gid = root&lt;br /&gt;
 use chroot = no&lt;br /&gt;
 max connections = 25&lt;br /&gt;
 log file=/var/log/rsyncd.log&lt;br /&gt;
 &lt;br /&gt;
 pid file = /var/run/rsyncd.pid&lt;br /&gt;
 &lt;br /&gt;
 [failid]&lt;br /&gt;
        path = /kus/failid/on&lt;br /&gt;
        comment = failid&lt;br /&gt;
        read only = false&lt;br /&gt;
 &lt;br /&gt;
 [pildid]&lt;br /&gt;
        path = /kus/pildid/on&lt;br /&gt;
        comment = failid&lt;br /&gt;
        dont  compress = *&lt;br /&gt;
&lt;br /&gt;
NB! Kasutades FreeBSDd tuleb rida  &amp;quot;gid = root&amp;quot; asendada reaga  &amp;quot;gid = wheel&amp;quot;. read only parameeter on ääretult oluline, kui soovid rsync&#039;ida faile serverisse. Vastasel juhul saad veateate, et &amp;quot;module is read only&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Seadistusfail tekitab kaks jaotist:&lt;br /&gt;
Failid ja Pildid. Piltidele keelame direktiiviga &amp;quot;dont compress = *&amp;quot; andmevoo pakkimise,&lt;br /&gt;
kuna pildid on juba pakitud ning suurt eelist see ei anna. Sama võib teha ka videosid sisaldavate kaustadega.&lt;br /&gt;
&lt;br /&gt;
Seda meetodit rakendatakse vaikimisi failitüüpidele: *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz&lt;br /&gt;
&lt;br /&gt;
Logimist võib korraldada ka läbi syslogi&#039;i, kasutades rida:&lt;br /&gt;
&lt;br /&gt;
 syslog facility = local5&lt;br /&gt;
&lt;br /&gt;
Või lihtsalt lisada syslog.conf&#039;i rea:&lt;br /&gt;
&lt;br /&gt;
 daemon.info                                     /var/log/daemon.log&lt;br /&gt;
&lt;br /&gt;
Logimisest saab lugeda täpsemalt [http://kuutorvaja.eenet.ee/wiki/Logi sellest palast]. &lt;br /&gt;
&lt;br /&gt;
Soovides lubada varundamisele kliente ligi vaid kindla parooliga tuleks share teha selliselt:&lt;br /&gt;
&lt;br /&gt;
 [failid]&lt;br /&gt;
   path = /kus/failid/on&lt;br /&gt;
   comment = failid&lt;br /&gt;
   auth users = kasutaja&lt;br /&gt;
   secrets file = /etc/rsyncd.pass&lt;br /&gt;
   read only = false&lt;br /&gt;
&lt;br /&gt;
Tekitame faili /etc/rsyncd.pass sisuga&lt;br /&gt;
&lt;br /&gt;
 kasutaja:salasona&lt;br /&gt;
&lt;br /&gt;
Pange tähele, et paroolid hoitakse failis tavalise tekstina (plain text). Kindlasti tuleb paika panna paroolifaili õigused (ainult omanikule lugemiseks), vastasel juhul annab rsync veateate ja paroolifaili ignoreeritakse!&lt;br /&gt;
&lt;br /&gt;
===rsync klient===&lt;br /&gt;
&lt;br /&gt;
Ka klient masinas same parooli hoida eraldi failis. Tekitame /etc/rsyncd.pass faili sisuga&lt;br /&gt;
&lt;br /&gt;
 salasona&lt;br /&gt;
&lt;br /&gt;
Kausta /etc sünkroniseerimiseks varundamise serveriga:&lt;br /&gt;
&lt;br /&gt;
 $ rsync --password-file /etc/rsyncd.pass -a /etc kasutaja@192.168.1.10::failid&lt;br /&gt;
&lt;br /&gt;
Failide taastamine&lt;br /&gt;
&lt;br /&gt;
 $ rsync --password-file=/etc/rsyncd.pass -a kasutaja@192.168.1.10::failid /tmp/&lt;br /&gt;
&lt;br /&gt;
===Tulemüüri seadistamine===&lt;br /&gt;
&lt;br /&gt;
rsync töötades deemonina kasutab porti tcp 873 &lt;br /&gt;
&lt;br /&gt;
linux iptablesis saame müüri teha pordi lahti käsuga&lt;br /&gt;
&lt;br /&gt;
 iptables -I INPUT -p tcp -s 192.168.1.10 --dport 873 -j ACCEPT &lt;br /&gt;
&lt;br /&gt;
FreeBSD packet filteris&lt;br /&gt;
&lt;br /&gt;
 pass in on $ext_if proto tcp from { 192.168.1.10 } to port 873 &lt;br /&gt;
&lt;br /&gt;
Muidugi võib seadistusfaili kirjutada kohe&lt;br /&gt;
&lt;br /&gt;
 hosts allow = *.host.ee&lt;br /&gt;
 hosts deny = * &lt;br /&gt;
&lt;br /&gt;
nüüd võime anda käsu rsync -a kaust kasutaja@server::jaotisenimi&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 $ rsync -a kaust kasutaja@arhiiv.zoo.tartu.ee::failid&lt;br /&gt;
&lt;br /&gt;
üleslaetud failide nimistut saab&lt;br /&gt;
&lt;br /&gt;
 $ rsync -v --list-only -a root@host.ee::failid&lt;br /&gt;
&lt;br /&gt;
kui pole öeldud muidugi  list = false&lt;br /&gt;
&lt;br /&gt;
Soovides limiteerida aeglasema kiirusega kohtades rsync kiirust tuleks kasutada rsync omadust --bwlimit=KBPS&lt;br /&gt;
&lt;br /&gt;
===Paroolita rsync kasutades ssh kopeerimist===&lt;br /&gt;
&lt;br /&gt;
Paroolifaili etteandmine ilma rsync serverit kasutamata ei toimi, sellisel juhul tuleks toimida järgnevalt&lt;br /&gt;
&lt;br /&gt;
Genereerime privaatse ja avaliku võtme, kui parooli ei soovi vajutame lihtsalt enteri&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;ssh-keygen -t rsa -b 4096 -f rsync-key&#039;&#039;&#039;&lt;br /&gt;
 Generating public/private rsa key pair.&lt;br /&gt;
 rsync-key already exists.&lt;br /&gt;
 Overwrite (y/n)? y&lt;br /&gt;
 Enter passphrase (empty for no passphrase):&lt;br /&gt;
 Enter same passphrase again:&lt;br /&gt;
 Your identification has been saved in rsync-key.&lt;br /&gt;
 Your public key has been saved in rsync-key.pub.&lt;br /&gt;
 The key fingerprint is:&lt;br /&gt;
 e8:c7:f2:f1:da:2a:0f:a4:4f:63:89:9f:3e:9d:b9:87 root@loomaaed.zoo.ee&lt;br /&gt;
&lt;br /&gt;
Kopeerime rsync-key.pub sisu sihtkoht masinas kasutaja faili .ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
 $ scp rsync-key.pub remoteuser@remotehost:/home/remoteuser/ &lt;br /&gt;
&lt;br /&gt;
Seal masinas anname käsud&lt;br /&gt;
 &lt;br /&gt;
 $ cat thishost-rsync-key.pub &amp;gt;&amp;gt; .ssh/authorized_keys &lt;br /&gt;
 $ chmod 700 .ssh&lt;br /&gt;
 $ chmod 600 .ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
Testime&lt;br /&gt;
&lt;br /&gt;
 $ ssh -i rsync-key root@192.168.1.10&lt;br /&gt;
&lt;br /&gt;
ja rsync käsk näeb välja järgnev, ette tuleb anda rsync privaatne võti&lt;br /&gt;
&lt;br /&gt;
 $ rsync -av --delete  -e &amp;quot;ssh -i /home/kasutaja/rsync-key&amp;quot;  /srv/kauyst root@192.168.1.10:/srv/&lt;br /&gt;
&lt;br /&gt;
Soovituslik oleks üldiselt kasutada sellistel juhtudel juba rsync serverit.&lt;br /&gt;
&lt;br /&gt;
===Snapshot stiilis backup===&lt;br /&gt;
&lt;br /&gt;
Rsync omab võtit --link-dest mis võimaldab full backupide tegemisel&lt;br /&gt;
hoida kokku ruumi. Nimelt võtab rsync siis näiteks eelmise päeva backupi&lt;br /&gt;
aluseks ja loob jooksva päeva backup kausta hardlingid failidest mis on juba olemas&lt;br /&gt;
ning syncib ainult muutunud failid. Nii on kaustas full backup kuid selle&lt;br /&gt;
suuruseks on vaid muutunud failide summa. Nii on võimalik teha paarkümmend full backupi&lt;br /&gt;
kuid nende mahuks jääb kokkuvõtteks 1-2 maht.&lt;br /&gt;
&lt;br /&gt;
[[Pilt:Summary educ4 html 61d7cbef.png]]&lt;br /&gt;
&lt;br /&gt;
Illustreeriv skeem, võetud lehelt http://web.cs.mun.ca/infrastructure/labnet/summary_educ4.html&lt;br /&gt;
&lt;br /&gt;
Hardlink on symlingi sarnane. Nad on tavaliselt loodud ln käsuga kuid ilma -s võtmeta. Hard link kujutab&lt;br /&gt;
endast seda kui 2 faili viitavad samale inodele ja kettablokile. Erinevalt symlingist pole tegemist eraldi failiga vaid&lt;br /&gt;
lihtsalt kahe lingiga samale faili.e Kui kustutada ükskõik kumb viide jääb teine alles ning sisaldab infot.&lt;br /&gt;
&lt;br /&gt;
Käsu süntaksiks on:&lt;br /&gt;
 &lt;br /&gt;
 rsync -avH --link-dest=/backup/eile /root/kaust_mida_varundame /backup/tänane_backup&lt;br /&gt;
&lt;br /&gt;
Anname rsyncile ette eilse backupi kausta, siis kausta mida soovime varundada ja&lt;br /&gt;
kausta kuhu varundada.&lt;br /&gt;
&lt;br /&gt;
Töö lihtsustamiseks võib luua skripti&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 t2na=`date &amp;quot;+%Y%m%d&amp;quot;`&lt;br /&gt;
 eile=`date -v-1d &amp;quot;+%Y%m%d&amp;quot;`&lt;br /&gt;
 mkdir /backup/$t2na&lt;br /&gt;
 rsync -avH --link-dest=/backup/$eile /www/kaust/mida/varundame /backup/$t2na&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ajaformaat tuleb kujul 20120809 ning võti -v-1d lahutab selest maha ühe päeva.&lt;br /&gt;
&lt;br /&gt;
Loomulikult ei või aga kustutada ühtegi backup kausta kuna sellisel juhul&lt;br /&gt;
lähevad hardlingid failide vahel katki.&lt;br /&gt;
&lt;br /&gt;
Siin on näide skriptist mis salvestab 7 incremental varukoopiat http://www.syrlug.org/contrib/rsync.html&lt;br /&gt;
&lt;br /&gt;
Juhul kui soovime sälitada vaid 28n päeva andmed siis tulb lisada skripti järgnev osa&lt;br /&gt;
&lt;br /&gt;
 DAY29=`date -v-29d &amp;quot;+%Y%m%d&amp;quot;`&lt;br /&gt;
 if [ -d /backup/website/$DAY29 ]&lt;br /&gt;
 then&lt;br /&gt;
 rm /backup/$DAY29&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Veel juttu rsynciga snapshotide tegemisest aadressidel&lt;br /&gt;
&lt;br /&gt;
* http://blog.interlinked.org/tutorials/rsync_time_machine.html&lt;br /&gt;
&lt;br /&gt;
* http://www.mikerubel.org/computers/rsync_snapshots/&lt;br /&gt;
&lt;br /&gt;
===Kiiruse limiteerimine===&lt;br /&gt;
&lt;br /&gt;
Kasutuse all olevates süsteemides võib sünkroniseerides juhtuda, et rsync hakkab liiga ohtralt io/protsessoriaega kulutama ja server muutub selle käigus aeglaseks, selpuhul on kasulik limiteerida kiirust näiteks järgnevalt&lt;br /&gt;
&lt;br /&gt;
 rsync --bwlimit=1000 fail1 fail2&lt;br /&gt;
&lt;br /&gt;
kiirus tuleb märkida kilobaitides, number näitab täpsemalt mitu kilobaiti sekundus lubatakse saata. Teine hea võimalus on kasutada nice käsku&lt;br /&gt;
&lt;br /&gt;
===Sudo kasutamine===&lt;br /&gt;
&lt;br /&gt;
Vahel pole võimalik root kasuajana logida aga vaja täisõigusi, selleks aitab kui lisada rsyncile võti&lt;br /&gt;
&lt;br /&gt;
 --rsync-path=&amp;quot;sudo rsync&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Ning /etc/sudoers faili&lt;br /&gt;
&lt;br /&gt;
 username ALL= NOPASSWD:/usr/bin/rsync&lt;br /&gt;
&lt;br /&gt;
===Probleemid===&lt;br /&gt;
&lt;br /&gt;
Ühes servers kippis rsync ikka aegajalt viskama teadet, et ei saa sünkroniseerimist lõpetada.&lt;br /&gt;
&lt;br /&gt;
 Output:&lt;br /&gt;
 ERROR: out of memory in receive_sums [sender]&lt;br /&gt;
 rsync error: error allocating core memory buffers (code 22) at util.c(117)  [sender=3.0.9]&lt;br /&gt;
&lt;br /&gt;
Aitas, kui muutsin block-size suurust 1024 pealt ümber:&lt;br /&gt;
&lt;br /&gt;
 --block-size 2048 &lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
* http://wiki.itcollege.ee/index.php/Rsync&lt;br /&gt;
* http://www.aboutmyip.com/AboutMyXApp/DeltaCopy.jsp rsynci versioon windowsile&lt;br /&gt;
&lt;br /&gt;
* http://dailycupoftech.com/windows-backup-with-rsync-and-freenas/ veel juttu windowsi peal rsynci kasutamisest&lt;br /&gt;
&lt;br /&gt;
*http://qtdtools.doering-thomas.de/page.php?seite=0&amp;amp;sub=0&amp;amp;lang=en veel üks windowsi rsynci kasutajaliides&lt;br /&gt;
&lt;br /&gt;
* https://serverfault.com/questions/746551/faster-rsync-of-huge-directory-which-was-not-changed Väga suure hulga failide varundamine&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Tuum_ja_Baas&amp;diff=31015</id>
		<title>Tuum ja Baas</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Tuum_ja_Baas&amp;diff=31015"/>
		<updated>2021-04-23T12:38:09Z</updated>

		<summary type="html">&lt;p&gt;Jj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tuum ja Baas&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Linux distributsioonid, võtame näiteks ühe populaarseima, Debiani (võiksime sama hästi võtta ka OpenSuse, Fedora, Gentoo Linux jms), koosnevad kahest loogilisest üksusest: tuumast ja kasutajamaailmast (kasutajamaailm on kõik utiliidid, seadistusfailid ning kaustad: /bin/sh, ee, cp, mv jne). BSD operatsioonisüsteemid, näiteks FreeBSD, koosnevad kolmest loogilisest üksusest: tuumast, kasutajamaailmast ja kolmandate osapoolte (apache, samba ..) tarkvarast.&lt;br /&gt;
&lt;br /&gt;
BSD pere operatsioonisüsteemides arendatakse tuuma ja kasutajamaailma koos. Selline tsentraliseeritud arendus- ja ülesehitusmudel tagab mugava dokumenteerimisvõimaluse nii tuumale kui ka “userlandile” korraga. Kogu operatsioonisüsteemi lähtekood on saadav ühest kohast korraga(üle CVS süsteemi).&lt;br /&gt;
&lt;br /&gt;
Linux&#039;i tuuma ja seda osa mida BSD nimetab kasutajamaailmaks arendatakse eraldi. Distributsioon iseenesest koosneb tuumast ja kõigest muust mida konkreetse distro kokkupanijad oma maitse järgi vajalikuks peab. Kui sulle valmis Linuxi distributsioonid ei istu, paned kokku enda oma: kernel ühest kohast, kõik muu hädavajaliku otsid üle interneti kah ise kokku, iga asi ise kohast.&lt;br /&gt;
Paindlik aga aeganõudev, selle pärast eelistataksegi valmis Linux distributsioone.&lt;br /&gt;
&lt;br /&gt;
Kuna kriitilised BSD operatsioonisüsteemi osad on kokku koondatud ühte kohta, nende arendus toimub juba aastatega väljakujunenud standartite alusel ja on korralikult dokumenteeritud, siis on sellisele süsteemile üsna mugav teha ka turvaauditit. Näiteks OpenBSD, mis on just keskendudnud turvalisusele, auditeerib periooditi nii oma tuuma, kasutajamaailma ja ka kolmandate osapoolte porditud koodi.&lt;br /&gt;
&lt;br /&gt;
Linux osas tegelevad tuuma ja kasutajamaailma kokku koondamisega distributsiooni koostajad. Linux tuuma arendus on hästi organiseeritud ja ka dokumenteeritud. Kurvem lugu on kasutajamaailmaga - oma distributsiooni RedHat vaevalt lubab algajate kirjutatud utiliite, kuid kogu kasutajamaailm on vaja internetist üles otsida, kontrollida et see oleks uusim, parandatud kood, leida korrektne dokumentatsioon(mis ei ole alati just lihtne). Turvaauditit teha kogu distributsioonile võib olla mõnetigi keerukam kui BSD operatsioonisüsteemide puhul. See selleks.&lt;br /&gt;
&lt;br /&gt;
BSD pere operatsioonisüsteemide uuendamine on isegi algaja taseme jaoks mugav: CVS serverist lähtekood, vastavalt siis mis versiooni endale soovid, paar tundi kompileerimist ja ongi tuum koos kasutajamaailmaga uuendatud, või uuendad ainult tuuma, vastavalt oma maitsele. Variante ja optimeerimise võimalusi on palju.&lt;br /&gt;
&lt;br /&gt;
BSD pere operatsioonisüsteemides on tuum koos kasutajamaailmaga(ehk siis operatsioonisüsteemi põhi) eraldatud rangelt kolmandate osapoolte tarkvarast. Näiteks asuvad /bin ja /sbin kataloogides ainult operatsioonisüsteemi failid, kui te soovite oma süsteemi näiteks Apache veebiserverit või KDE töökeskkonda, siis paigaldatakse kõik vajalikud failid väljaspoole süsteemi ala, FreeBSD puhul /usr/local/bin jne, NetBSD kasutajatel /usr/pkg/bin. [[FreeBSD_kataloogistruktuur]] Eraldatud pole mitte ainult binaarfailid vaid ka /etc, /share /var jne.&lt;br /&gt;
&lt;br /&gt;
Linux&#039;i distributsioonide uuendamine toimub vastavalt igale distrole erinevalt, Gentoo eelistab enamjaolt kõike ise kompileerida, RedHat, Suse, Debian pakuvad juba valmis binaarkujul pakke kuid igaühe uuendamissüsteem on küllaltki omalaadne ja distrode vahel liikumine nõuab mõningat harjumist. Vanemad RedHat Linux&#039;i kasutajad mäletavad veel ehk kunagist “rpm hell&#039;i”.&lt;br /&gt;
&lt;br /&gt;
===FreeBSD uuendamine===&lt;br /&gt;
&lt;br /&gt;
FreeBSD uuendamiseks tuleb uuesti kompileerida kokku nii baas kui tuum. Sourcest&lt;br /&gt;
saab tõmmata lihtsate vahenditega nii kõige viimase release kui ka veel arenduses&lt;br /&gt;
olevaid versioone. FreeBSD võimaldab ka käigult kompileerida näiteks FreeBSD versioo 6&lt;br /&gt;
ümber versioon 7&#039;meks. Ei tasuks ainult uuendamisel ühte versiooni vahele jätta näiteks&lt;br /&gt;
üritada versioon 4 kompileerida kohe versiooniks 7 vaid esimesena versiooniks 5 ja siis 6 ning seejärel 7 alles. Sellise uuendamise teeb võimalikuks see ,et kõik kolmanda&lt;br /&gt;
osapoole tarkvara paigaldatakse kausta /usr/local ja baas ning kernel&lt;br /&gt;
on monoliitne ühtne bsd arendusmeeskonna poolt loodav. Selline võimalus teeb lihtsaks&lt;br /&gt;
FreeBSD käigupealt uuendamise.&lt;br /&gt;
&lt;br /&gt;
FreeBSD uuendamine koosneb järgnevatest sammudest&lt;br /&gt;
&lt;br /&gt;
# Algkoodi hankimine&lt;br /&gt;
# Vajaduse korral tuuma seadistamine ning tuuma &amp;amp; baassüsteemi algkoodist kompileerimine&lt;br /&gt;
# Tuuma ja baassüsteemi paigaldamine ning konfiguratsioonifailide uuendamine&lt;br /&gt;
&lt;br /&gt;
===Koodi hankimine Subversioniga===&lt;br /&gt;
&lt;br /&gt;
Uuemal ajal on cvs FreeBSDst välja heidetud ja asendatud subversioniga.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TODO vajab testimist&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Uuemates FreeBSD versioonides on olemas svnlite käsk, pisut vanemates tuleb subversion käsitsi paigaldada&lt;br /&gt;
&lt;br /&gt;
Subversioni paigaldamine&lt;br /&gt;
&lt;br /&gt;
 # pkg_add -r subversion&lt;br /&gt;
&lt;br /&gt;
devel/subversion tuleb ehitada kas NEONi või selle puudumisel SERFiga. Ilma&lt;br /&gt;
hakkab teatama Unrecognized URL scheme &#039;http://&#039; &lt;br /&gt;
&lt;br /&gt;
Algkoodi alla tõmbamine&lt;br /&gt;
&lt;br /&gt;
 # cd /usr&lt;br /&gt;
 # svn co https://svn.freebsd.org/base/stable/9 /usr/src&lt;br /&gt;
&lt;br /&gt;
Edaspidi piisab stable-9 viimase koodi allatõmbamiseks&lt;br /&gt;
&lt;br /&gt;
 # cd /usr/src&lt;br /&gt;
 # svn update&lt;br /&gt;
&lt;br /&gt;
viimase aja valguses siis juba release-11.4 või 12.2&lt;br /&gt;
&lt;br /&gt;
 svn checkout  https://svn.freebsd.org/base/releng/11.4 /usr/src&lt;br /&gt;
 svn co https://svn.freebsd.org/base/stable/11 /usr/src&lt;br /&gt;
&lt;br /&gt;
Ning httpsi asemel võib öelda ka svn Või veel täpsemaks release seadistuseks https://svn.freebsd.org/base/releng/8.4&lt;br /&gt;
&lt;br /&gt;
Juhul kui vaja kasutada proxyt tuleb muuta enda kasutaja kaustas &#039;&#039;&#039;~/.subversion/servers&#039;&#039;&#039; faili&lt;br /&gt;
&lt;br /&gt;
 [global]&lt;br /&gt;
 http-proxy-host = ip.add.re.ss&lt;br /&gt;
 http-proxy-port = 3128&lt;br /&gt;
 http-proxy-compression = no&lt;br /&gt;
&lt;br /&gt;
Kui aga juurkataloog on liiga väike võib lasta failid kompileerimisel seadistada teisele kettale&lt;br /&gt;
&lt;br /&gt;
 # env MAKEOBJDIRPREFIX=/db/obj/ make buildworld&lt;br /&gt;
&lt;br /&gt;
*http://www.freebsd.org/doc/handbook/svn-mirrors.html Mirrorite nimekiri&lt;br /&gt;
&lt;br /&gt;
*https://www.freebsd.org/doc/handbook/svn.html&lt;br /&gt;
&lt;br /&gt;
===Koodi hankimine CVSiga (vanem ja enam mitte toetatud lahendus)===&lt;br /&gt;
&lt;br /&gt;
Esmalt on vaja leida üks kiire lähedalasuv CVD serverit kust algkood hankida. Eestis on võimalik kasutada näiteks ametlikku mirrorit: cvsup.ee.FreeBSD.org või mitteametlikku cvsup.eenet.ee. CVS serverite täielikku nimekirja näeb lingilt http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/cvsup.html. Endale lähima ja kiireima cvs serveri leidmiseks võib kasutada ka tarkvara nimega  &#039;&#039;&#039;fastest_cvsup&#039;&#039;&#039;, seda saab paigaldada nii portsust kui paketist ning käivitamine käib käsuga &lt;br /&gt;
&lt;br /&gt;
 # fastest_cvsup -c all&lt;br /&gt;
&lt;br /&gt;
Selle väljund näeb välja midagi sarnast&lt;br /&gt;
&lt;br /&gt;
 - 1st: cvsup2.ee.freebsd.org&lt;br /&gt;
 - 2nd: cvsup.ee.freebsd.org&lt;br /&gt;
 - 3rd: cvsup.lv.freebsd.org&lt;br /&gt;
&lt;br /&gt;
Ehk kõige kiirem on cvsup2.ee, teisel kohal cvsup.ee ja kolmandal kohal Läti mirror.&lt;br /&gt;
&lt;br /&gt;
Olles leidnud sobiva CVS algkoodi serveri aadressi tuleb luua CVS seadistusfail mille alusel koodi tõmbame. Faili nimi pole poluline. Näiteks tekitame ta hetkel 8-sup nimega ja kirjutame sinna sisse oma lemmik tekstiredaktoriga järgmise sisu. Faili asukoht süsteemis pole oluline, võime nt paigaldada selle administraatori kodukausta.&lt;br /&gt;
&lt;br /&gt;
 *default host=&#039;&#039;&#039;cvsup.eenet.ee&#039;&#039;&#039;&lt;br /&gt;
 *default base=/var/db&lt;br /&gt;
 *default prefix=/usr&lt;br /&gt;
 *default release=cvs tag=&#039;&#039;&#039;RELENG_8&#039;&#039;&#039;&lt;br /&gt;
 src-all&lt;br /&gt;
&lt;br /&gt;
Selline seadistusfail võtab ühendust cvsup.eenet.ee serveriga, pakib portsud lahti /usr harusse jing&lt;br /&gt;
tõmbab alla FreeBSD 8 kõige uuema STABLE haru algkoodi (src-all)&lt;br /&gt;
&lt;br /&gt;
Koodi tõmbamise alustamiseks tuleb kasutada käsku csup (FreeBSD 6x, 7x, 8x sees on see vaikimisi olemas, vanemates versioonides tuleb paigaldada pakett cvsup-without-gui).&lt;br /&gt;
&lt;br /&gt;
 # csup 8-sup&lt;br /&gt;
&lt;br /&gt;
Cvs võimaldab hankida ka mingit teatud ajahetke BSD versiooni. Näiteks lisades&lt;br /&gt;
cvs faili 8-sup rea&lt;br /&gt;
&lt;br /&gt;
 *default  date=2006.10.10.00.00.00&lt;br /&gt;
&lt;br /&gt;
Mis tõmbab algkoodi sellisel kujul nagu ta oli 2006.10.10 kuupäeval. Selliselt on võimalik ajas tagasi liigutada ka portsude puud, uuendada oleks mõistlik seejuures kogu portsude puu mitte vaid mõni selle haru.&lt;br /&gt;
&lt;br /&gt;
Kui on huvi kasutada kõige uuemat mitte releaseks või isegi mitte stableks tunnistatud FreBSD&#039;d milleks näiteks hetkel on versioon 9 siis tuleks määrata seadistusfailis &#039;&#039;&#039;*default tag=.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Tuum===&lt;br /&gt;
&lt;br /&gt;
Operatsioonisüsteemi tuum laetakse mällu peale arvuti käivitamist esimesena ning tema ülesanne on vahendada füüsilisi seadmeid operatsioonisüsteemi programmidele. &lt;br /&gt;
&lt;br /&gt;
Vajadus uue tuuma järele tekib tavaliselt siis, kui &lt;br /&gt;
&lt;br /&gt;
* soovite uuendada enda FreeBSD versiooni&lt;br /&gt;
* soovite eemaldada või lisada olemasolevasse tuuma mõne seadme toetust, näiteks PS2 hiirt &lt;br /&gt;
* soovite eemaldada või lisada tuuma teatud funktsioone, näiteks toetust IP pakettide filtreerimiseks &lt;br /&gt;
&lt;br /&gt;
FreeBSD tuuma juurde kuuluvad samuti moodulid mis vaikimisi tekitatakse igakordsel tuuma paigaldamisel kataloogi /modules. &lt;br /&gt;
&lt;br /&gt;
====Tuuma konfigureerimine====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB!&#039;&#039;&#039; Kui eesmärgiks on vaid FreeBSD tuuma ehk Linuxi keeles kerneli versiooni uuendamine siis võib järgneva tekstilõigu rahulikult vahele jätta. &lt;br /&gt;
&lt;br /&gt;
Tasub siiski tähele panna, et üldiselt on konfigureeritud tuumal mitmeid eeliseid vaikeseaditustega GENERIC ees. Alglaadimine toimub kiiremalt. Kuna kernel otsib ainult riistvara, mis sul masinas ka tegelikult olemas on, võtab süsteemi alglaadimine tunduvalt vähem aega. Väiksem mälukasutus. Kohandatud kernel kasutab tihtipeale vähem mälu kui GENERIC-kernel ja see on tähtis, kuna kernel on protsess, mis peab alati reaalses mälus olema. Sellel põhjusel on kohandatud kerneli kasutamine eriti kasulik vähese RAM-iga süsteemi puhul. Lisanduv riistvaratugi. Kohandatud kernelisse saad lisada toe näiteks helikaartidele, mida GENERIC-kernelis pole.&lt;br /&gt;
&lt;br /&gt;
Enne lähtetekstidest tuuma kompileerimist peab näitama, milliste kohandatud omadustega tulemust soovitakse saada. Kerneli sedadistamist tehakse kerneli seadistusfaili redigeerides, mingit Linuxi menuconfig laadset käsurea tarkvara selleks pole. Kerneli default seadistusfail asub kaustas /usr/src/sys/&#039;&#039;&#039;arhidektuurinimi&#039;&#039;&#039;/conf nimega GENERIC (kus paikneb kerneli seadistuste fail) ja compile (see on kataloog, kuhu kernel ehitatakse). arhitektuur tähistab sinu arvuti arhitektuuri, näiteks i386, alpha või pc98 (alternatiivne PC arendusharu, mis on populaarne Jaapanis). Kõik, mis on konkreetse arhitektuuri kataloogi all, on antud arhitektuurile spetsiifiline. Kogu ülejäänud kood on kõikidele platformidele, millele FreeBSD võidakse portida, ühine.&lt;br /&gt;
&lt;br /&gt;
näiteks 64 bitine kernelifaili täisrada oleks&lt;br /&gt;
&lt;br /&gt;
 /usr/src/sys/amd64/conf/GENERIC&lt;br /&gt;
&lt;br /&gt;
Soovides seda faili nüüd muuta sisenege kataloogi /usr/src/sys/amd64/conf ning kopeerige meelepärase nime alla tuuma näidiskonfiguratsioonifail GENERIC &lt;br /&gt;
&lt;br /&gt;
 # cp GENERIC TUUM1&lt;br /&gt;
&lt;br /&gt;
Tuuma nimi kirjutatakse traditsiooniliselt suurte tähtedega. Tuuma konfiguratsioonifaili süntaks on traditsiooniline, trellist (#) paremale jäävat teksti ja tühje ridu ignoreeritakse. Teistel ridadel on parameetrid ja nende väärtused süstaksiga &lt;br /&gt;
 parameeter väärtus1 [väärtus2]&lt;br /&gt;
&lt;br /&gt;
näiteks selline rida konfigureerib tuuma ISO9660 standardile vastavate CD-plaatide lugemise toetuse &lt;br /&gt;
 options 	CD9660&lt;br /&gt;
&lt;br /&gt;
aga rida&lt;br /&gt;
 options    SMP  &lt;br /&gt;
&lt;br /&gt;
lisab mitmeprotsessori toe&lt;br /&gt;
&lt;br /&gt;
Võrguseadme kasutamiseks tuleb tuuma konfiguratsioonis näidata, millise seadmega on tegemist, näiteks 3Comi PCI etherneti võrgukaardi mudel 3C950 jaoks on rida &lt;br /&gt;
&lt;br /&gt;
 device          vx              # 3Com 3c590, 3c595 (``Vortex&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
ning arvuti algkäivitamisel sobiva tuumaga ilmub dmesgi sarnane tekst &lt;br /&gt;
 vx0: &amp;lt;3COM 3C590 Etherlink III PCI&amp;gt; port 0xa800-0xa81f irq 10 at device 10.0 on pci0&lt;br /&gt;
 vx0: supplying EUI64: 00:a0:24:ff:fe:75:43:6e&lt;br /&gt;
 vx0: driver is using old-style compatability shims&lt;br /&gt;
 vx0: starting DAD for fe80:0001::02a0:24ff:fe75:436e&lt;br /&gt;
 vx0: DAD complete for fe80:0001::02a0:24ff:fe75:436e - no duplicates found&lt;br /&gt;
&lt;br /&gt;
Samas kataloogis asuv fail NOTES sisaldab kõikvõimalikke parameetreid koos kommentaaridega. Kindlasti tasub seda faili uurida ,et paremini mõista mis rida teeb mida ja ei saaks kogematta midagi väga vajalikku välja visatud näiteks klaviatuuri tugi või midagi hullemat&lt;br /&gt;
&lt;br /&gt;
====Tuuma kompileermine ja paigaldamine====&lt;br /&gt;
&lt;br /&gt;
Kompileerimiseks tuleb liikuda kaustapuus &#039;&#039;&#039;/usr/src&#039;&#039; alla ja anda käsk&lt;br /&gt;
&lt;br /&gt;
 # make buildkernel&lt;br /&gt;
&lt;br /&gt;
Kui see käsk on oma töö edukalt lõpetanud võib kohe ka tuuma paigaldada käsuga&lt;br /&gt;
&lt;br /&gt;
 # make installkernel&lt;br /&gt;
&lt;br /&gt;
Juhul kui te tegite eelneva peatüki eeskujul tuuma konfiguratsioonifailis mingeid muudatusi tuleb need käsud anda &#039;&#039;&#039;KERNCONF=TUUM1&#039;&#039;&#039; võtmega kujul näitks &#039;&#039;&#039;make buildkernel KERNCONF=TUUM1&#039;&#039;&#039; ja &#039;&#039;&#039;make installkernel KERNCONF=TUUM1&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
====Probleemide esinemisel====&lt;br /&gt;
&lt;br /&gt;
Kui uus tuum mingil põhjusel ei sobi. Näiteks ei sisalda vajalikku draiverit või lihtsalt ei käivitu saab startida süsteemi uuesti vanalt.&lt;br /&gt;
&lt;br /&gt;
Nimelt olles installeerinud uue kerneli jäetakse ka eelmine kernel nime alla /kernel.old alles. Vana saate kasutada katkestades bootimise ja andes käsu &lt;br /&gt;
 config&amp;gt; boot /kernel.old &lt;br /&gt;
&lt;br /&gt;
Samas kirjutatakse kernel.old igakord uuesti yle nii ,et tasuks siiski teha erineva nimealla eelnevast kernelist varukoopja&lt;br /&gt;
&lt;br /&gt;
 # cd /boot&lt;br /&gt;
 # cp -r kernel.old kernel.generic&lt;br /&gt;
&lt;br /&gt;
Ning boodil tuleb anda käsud.&lt;br /&gt;
&lt;br /&gt;
 unload&lt;br /&gt;
 config&amp;gt;boot /boot/kernel.generic/kernel&lt;br /&gt;
&lt;br /&gt;
Kui aga käsu täitmisel teatatakse, et ruumi napib (vaikimisi tehtud juur partitsioon liiga väike juhtunud) tuleb raske südamega kustutada vana kernel rm -rf /boot/kernel.old&lt;br /&gt;
&lt;br /&gt;
===Baas süsteemi kompileerimine ja paigaldamine===&lt;br /&gt;
&lt;br /&gt;
Kui tuum on paigas tuleks kokku panna ka uus userland, ehk siis baas süsteem kus asuvad&lt;br /&gt;
kõik töövahendid ning failid&lt;br /&gt;
&lt;br /&gt;
Selleks siseneda kausta &#039;&#039;&#039;/usr/src&#039;&#039;&#039; ja anda käsud&lt;br /&gt;
&lt;br /&gt;
 # make buildworld&lt;br /&gt;
&lt;br /&gt;
Mis kompileerib eelnevalt allatõmmatud algkoodis baasi kokku. Kui need käsud läksid veatult läbi siis&lt;br /&gt;
&lt;br /&gt;
 # make installworld&lt;br /&gt;
&lt;br /&gt;
Mis asendab kokku kompileeritud failidega hetkel kasutuses olevad&lt;br /&gt;
&lt;br /&gt;
Aravatavasti tasub järgnevalt kontrollida põhimõttelisi muudatusi süsteemses seadistuses &lt;br /&gt;
&lt;br /&gt;
 # mergemaster&lt;br /&gt;
&lt;br /&gt;
Käsu väljundit ja küsimusi tuleks hoolikalt jälgida sest mergemaster&lt;br /&gt;
võib tahta kirjutada üle faile nt master.passwd etc milledes võib leiduda väärtuslikke seadistusi mida me ei soovi kaotada.&lt;br /&gt;
&lt;br /&gt;
Lihtsustada võivad aidata protsessi mõned võtmed:&lt;br /&gt;
&lt;br /&gt;
 # mergemaster -F If the files differ only by VCS Id ($FreeBSD) install the new file.&lt;br /&gt;
 # mergemaster -U Attempt to auto upgrade files that have not been user modified.&lt;br /&gt;
&lt;br /&gt;
Viimaseks sammuks on algkäivitus, peale seda on juba kasutusel uus FreeBSD versioon&lt;br /&gt;
&lt;br /&gt;
===Täpsem häälestamine===&lt;br /&gt;
&lt;br /&gt;
/etc/src.conf faili abil on võimalik häälestada kuidas ja mis komponentidest süsteem kokku pannakse. Järgnevalt&lt;br /&gt;
mõned võimalikud väärtused milleta võib süsteemi kokku meisterdada. Rohkem infot annab man src.conf&lt;br /&gt;
&lt;br /&gt;
 #WITHOUT_ACPI=       true    # do not build acpiconf(8) and related programs&lt;br /&gt;
 WITHOUT_BOOT=       true    # do not build boot blocks and loader&lt;br /&gt;
 WITHOUT_BLUETOOTH=  true    # do not build Bluetooth related stuff&lt;br /&gt;
 WITHOUT_FORTRAN=    true    # do not build g77 and related libraries&lt;br /&gt;
 WITHOUT_GDB=        true    # do not build GDB&lt;br /&gt;
 WITHOUT_GPIB=       true    # do not build GPIB support&lt;br /&gt;
 WITHOUT_I4B=        true    # do not build isdn4bsd package&lt;br /&gt;
 WITHOUT_IPFILTER=   true    # do not build IP Filter package&lt;br /&gt;
 WITHOUT_PF=         true    # do not build PF firewall package&lt;br /&gt;
 WITHOUT_AUTHPF=     true    # do not build and install authpf (setuid/gid)&lt;br /&gt;
 #WITHOUT_KERBEROS=   true    # do not build and install Kerberos 5 (KTH Heimdal)&lt;br /&gt;
 WITHOUT_LPR=        true    # do not build lpr and related programs&lt;br /&gt;
 WITHOUT_MAILWRAPPER=true    # do not build the mailwrapper(8) MTA selector&lt;br /&gt;
 WITHOUT_MODULES=    true    # do not build modules with the kernel&lt;br /&gt;
 WITHOUT_SHAREDOCS=  true    # do not build the 4.4BSD legacy docs&lt;br /&gt;
 WITHOUT_NETCAT=     true    # do not build netcat&lt;br /&gt;
 #WITHOUT_NIS=        true    # do not build NIS support and related programs&lt;br /&gt;
 WITHOUT_SENDMAIL=   true    # do not build sendmail and related programs&lt;br /&gt;
 #WITHOUT_USB=        true    # do not build usbd(8) and related programs&lt;br /&gt;
 WITHOUT_VINUM=      true    # do not build Vinum utilities&lt;br /&gt;
 WITHOUT_ATM=        true    # do not build ATM related programs and libraries&lt;br /&gt;
 #WITHOUT_CRYPT=      true    # do not build any crypto code&lt;br /&gt;
 WITHOUT_GAMES=      true    # do not build games (games/ subdir)&lt;br /&gt;
 #WITHOUT_INFO=       true    # do not make or install info files&lt;br /&gt;
 WITHOUT_MAN=        true    # do not build manual pages&lt;br /&gt;
 WITHOUT_PROFILE=    true    # Avoid compiling profiled libraries&lt;br /&gt;
 &lt;br /&gt;
 # BIND OPTIONS&lt;br /&gt;
 WITHOUT_BIND=               true    # Do not build any part of BIND&lt;br /&gt;
 WITHOUT_BIND_DNSSEC=        true    # Do not build dnssec-keygen, dnssec-signzone&lt;br /&gt;
 WITHOUT_BIND_ETC=           true    # Do not install files to /etc/namedb&lt;br /&gt;
 #WITHOUT_BIND_LIBS_LWRES=    true    # Do not install the lwres library&lt;br /&gt;
 WITHOUT_BIND_MTREE=         true    # Do not run mtree to create chroot directories&lt;br /&gt;
 WITHOUT_BIND_NAMED=         true    # Do not build named, rndc, lwresd, etc.&lt;br /&gt;
&lt;br /&gt;
NB! see mõjutab peamiselt ainult installworldi, kompileeritakse kokku kõik jupid endiselt&lt;br /&gt;
&lt;br /&gt;
Võimalik on erinevaid konfiguratsioone ühendada külge võtmete abil, näiteks&lt;br /&gt;
&lt;br /&gt;
 # make installworld DESTDIR=&amp;lt;jail mroot&amp;gt; SRCCONF=/root/src.conf.internetz&lt;br /&gt;
&lt;br /&gt;
===Tuuma moodulid===&lt;br /&gt;
&lt;br /&gt;
Tuuma modulaarsuse põhjuseks on see, et parasjagu mitteoluline kood poleks arvuti mällu laetud ja ei raiskaks süsteemi ressurssi. Moodulid asuvad kataloogis /boot/kernel ja nendega manipuleerimine toimub järgmiste programmidega: &lt;br /&gt;
&lt;br /&gt;
*kldstat - kuvatakse nimekiri kernelisse laetud moodulites &lt;br /&gt;
*kldload nimi - moodul laetakse mällu &lt;br /&gt;
*kldunload nimi - moodul eemaldatakse mälust&lt;br /&gt;
&lt;br /&gt;
===Probleemid===&lt;br /&gt;
&lt;br /&gt;
Juhul kui kompileerimine jääb mingil arusaamatul põhjusel seisma võib esmalt vaadata, et kas&lt;br /&gt;
kasutusel on antud releasest kõige uuem versioon. Nt kui kasutusel 8.1 ning miskipärast läheb 9.2 peale uuendades ehitamine katki võiks uuendada kõigepealt 8.4-stable peale ja alles siis sealt edasi.&lt;br /&gt;
&lt;br /&gt;
9.1-RELEASE peal võib uuendamise käigus teatada &amp;quot;ERROR: Required auditdistd user is missing, see /usr/src/UPDATING.&amp;quot;. Mille puhul aitab järgneva käsuga unbound kasutaja loomine&lt;br /&gt;
&lt;br /&gt;
 # pw useradd -n auditdistd -g audit -c &amp;quot;Auditdistd unprivileged user&amp;quot; -d /var/empty -s /usr/sbin/nologin&lt;br /&gt;
&lt;br /&gt;
Või kurta unbound puudumise üle &amp;quot;ERROR: Required unbound user is missing, see /usr/src/UPDATING.&amp;quot; laheneb taas kasutaja tekitamisega.&lt;br /&gt;
&lt;br /&gt;
 # pw useradd -n unbound -c &amp;quot;Unbound unprivileged user&amp;quot; -d /var/empty -s /usr/sbin/nologin&lt;br /&gt;
&lt;br /&gt;
Puuduva proxy kasutaja saab lisada&lt;br /&gt;
&lt;br /&gt;
 # pw useradd proxy -u 62 -g proxy -c &#039;Packet Filter pseudo-user&#039; -d /nonexistent -s /usr/sbin/nologin&lt;br /&gt;
&lt;br /&gt;
Kui 10.0 eelses süsteemis tulevad ehitamisel veateated nagu&lt;br /&gt;
&lt;br /&gt;
 cc1: error: unrecognized command line option &amp;quot;-mno-aes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
on vaja /etc/make.conf faili lisada&lt;br /&gt;
&lt;br /&gt;
 CC=clang&lt;br /&gt;
 CXX=clang++&lt;br /&gt;
 CPP=clang-cpp&lt;br /&gt;
&lt;br /&gt;
FreeBSD 11.0-RC3 tuli veateade&lt;br /&gt;
&lt;br /&gt;
 # make installworld&lt;br /&gt;
&lt;br /&gt;
  &amp;quot;ERROR-tried-to-rebuild-during-make-install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Sellest saab lahti võtmega&lt;br /&gt;
&lt;br /&gt;
 #make buildworld -DNO_CLEAN&amp;quot;&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Linuxi_j%C3%B5udluse_suurendamine&amp;diff=31013</id>
		<title>Linuxi jõudluse suurendamine</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Linuxi_j%C3%B5udluse_suurendamine&amp;diff=31013"/>
		<updated>2021-03-24T10:08:51Z</updated>

		<summary type="html">&lt;p&gt;Jj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Süsteemi tuunimine===&lt;br /&gt;
&lt;br /&gt;
Masinatel, kus rakendus avab palju faile ja/või võrguühendusi (näiteks logiserver, DB):&lt;br /&gt;
 $ ulimit -n&lt;br /&gt;
   65535&lt;br /&gt;
&lt;br /&gt;
Vaikimisi 1024.&lt;br /&gt;
&lt;br /&gt;
Järgnev on parema võrgukiiruse saavutamiseks juhul kus mõlemad pooled on gigabiti otsas. Mõju on kohati päris suur, näiteks&lt;br /&gt;
testi puhul kasvas kiirus 500Mbit/s -&amp;gt; 750 MBit/s&lt;br /&gt;
võrreldes vaikeväärtustega.&lt;br /&gt;
&lt;br /&gt;
TCP akna mõõdud. Normaaljuhul ei tohiks min väärtust nii suureks keerata&lt;br /&gt;
(default on 4k) ja max väärtuse veel suuremaks ajamisest pole minu katsetuste põhjal kasu. Ühest küljest konservatiivne ja teisest küljest&lt;br /&gt;
mitteahistav valik võiks olla 4k &amp;lt;midagi&amp;gt; 2M.&lt;br /&gt;
 net.ipv4.tcp_rmem = 131072 1048576 2097152&lt;br /&gt;
 net.ipv4.tcp_wmem = 131072 1048576 2097152&lt;br /&gt;
 net.core.rmem_default = 1048576&lt;br /&gt;
 net.core.wmem_default = 1048576&lt;br /&gt;
 net.core.rmem_max = 2097152&lt;br /&gt;
 net.core.wmem_max = 2097152&lt;br /&gt;
&lt;br /&gt;
Liskas tasub disableda slow-start, et võrgust maksimum välja pigistada:&lt;br /&gt;
&lt;br /&gt;
  net.ipv4.tcp_slow_start_after_idle = 0&lt;br /&gt;
&lt;br /&gt;
Vastuvõtva järjekorra suurus (saatmisjärjekord seevastu peaks olema&lt;br /&gt;
lühike, seal on liigne puhverdamine kahjulik)&lt;br /&gt;
 net.core.netdev_max_backlog = 10000&lt;br /&gt;
&lt;br /&gt;
Need on jällegi gigabitist maksimumi pigistamiseks, tavaolukorras las&lt;br /&gt;
jäävad pigem sisselülitatuks.&lt;br /&gt;
 net.ipv4.tcp_timestamps = 0&lt;br /&gt;
 net.ipv4.tcp_dsack = 0&lt;br /&gt;
 net.ipv4.tcp_sack = 0&lt;br /&gt;
Serveri moodi masinatel - määrab ära ootel ühenduste max arvu:&lt;br /&gt;
   net.core.somaxconn = 1024&lt;br /&gt;
   net.ipv4.tcp_max_syn_backlog = 8096&lt;br /&gt;
Vaikimisi 128.&lt;br /&gt;
&lt;br /&gt;
Masinatel mis teevad palju ühendusi väljapoole (ntx vpn hub, load balancer):&lt;br /&gt;
  net.ipv4.tcp_tw_reuse = 1&lt;br /&gt;
  net.ipv4.ip_local_port_range = 10240 65535&lt;br /&gt;
&lt;br /&gt;
Vaikimisi &amp;quot;2&amp;quot; ja &amp;quot;32768 60999&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Serveri puhul on suure ühenduste arvu teenindamiseks vaja suuremaks&lt;br /&gt;
keerata järgmisi asju:&lt;br /&gt;
 fs.file-max&lt;br /&gt;
 net.ipv4.tcp_max_orphans&lt;br /&gt;
 net.ipv4.tcp_max_tw_buckets&lt;br /&gt;
Sõltuvalt masinast&lt;br /&gt;
 net.ipv4.tcp_mem&lt;br /&gt;
Ja kui iptablesi reeglid on conntracki käima tõmmanud siis ka&lt;br /&gt;
 net.netfilter.nf_conntrack_max&lt;br /&gt;
&lt;br /&gt;
Lisaks veel, interruptide sidumise konkreetse tuuma külge teeb&lt;br /&gt;
tavaliselt ära irqbalance, ise kruvimise huvi korral saab seda /proc/irq&lt;br /&gt;
kaudu. Protsesside sidumiseks tuumaga on käsud taskset ja schedtool --&lt;br /&gt;
viimane oskab ka palju muud huvitavat.&lt;br /&gt;
&lt;br /&gt;
http://www.twam.info/linux/changing-scheduling-parameters-in-linux&lt;br /&gt;
&lt;br /&gt;
The default is to run a process on all CPUs, giving a mask of&lt;br /&gt;
&lt;br /&gt;
    0xf for all 4 CPUs&lt;br /&gt;
    0xff for all 8 CPUs&lt;br /&gt;
&lt;br /&gt;
 # schedtool -a 0xff &amp;lt;PID&amp;gt;&lt;br /&gt;
 # schedtool -a 0xff -e /path/to/app arg1 arg2 argN&lt;br /&gt;
&lt;br /&gt;
[[Pilt:Tcp2 0110.gif]]&lt;br /&gt;
&lt;br /&gt;
SYN floodi vastu kaitseb sysctl muutja&lt;br /&gt;
&lt;br /&gt;
 net.ipv4.tcp_syncookies = 1&lt;br /&gt;
&lt;br /&gt;
Lahendus toimib selliselt, et kernel küll võtab SYN paketi vastu, kuid registreerib selle esialgu&lt;br /&gt;
enda oma puhvris (syncache) ning ootab kuni ühenduse loomine on kliendi poolt korrektselt lõpuni viidud.&lt;br /&gt;
Sedamoodi püsivad võrgupuhvrid tühjad ja võtavad vähem resrusse näiteks SYN Flood korral.&lt;br /&gt;
&lt;br /&gt;
Lisaks tasub suurendada ka SYN backlogi suurust (vaikimisi 1024)&lt;br /&gt;
&lt;br /&gt;
Sissetulevad ühendused, mida pole veel teenindada jõutud.&lt;br /&gt;
&lt;br /&gt;
 sysctl -w net.ipv4.tcp_max_syn_backlog=2048&lt;br /&gt;
&lt;br /&gt;
Vaatamiseks ja debugimiseks sobivad käsud&lt;br /&gt;
&lt;br /&gt;
 # netstat -tuna | grep :80 | grep SYN_RECV&lt;br /&gt;
&lt;br /&gt;
 # netstat -ant | grep 80 | awk &#039;{print $6}&#039; | sort | uniq -c | sort -n&lt;br /&gt;
       1 CLOSE_WAIT&lt;br /&gt;
       1 LISTEN&lt;br /&gt;
      10 FIN_WAIT1&lt;br /&gt;
      12 LAST_ACK&lt;br /&gt;
      25 SYN_RECV&lt;br /&gt;
     102 FIN_WAIT2&lt;br /&gt;
     106 ESTABLISHED&lt;br /&gt;
    1536 TIME_WAIT&lt;br /&gt;
&lt;br /&gt;
After you do the above, SYN Flood attacks will continue, but it will not affect the server negatively. You will see a message like this in your logs:&lt;br /&gt;
&lt;br /&gt;
[1116377.589736] possible SYN flooding on port 80. Sending cookies.&lt;br /&gt;
[1116439.567828] possible SYN flooding on port 80. Sending cookies.&lt;br /&gt;
[1116500.631623] possible SYN flooding on port 80. Sending cookies.&lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/SYN_flood&lt;br /&gt;
&lt;br /&gt;
https://www.slideshare.net/brendangregg/how-netflix-tunes-ec2-instances-for-performance&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Docker&amp;diff=31012</id>
		<title>Docker</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Docker&amp;diff=31012"/>
		<updated>2021-03-24T09:56:29Z</updated>

		<summary type="html">&lt;p&gt;Jj: /* Konteinerite loomine docker-compose abil */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Täienda}}&lt;br /&gt;
&lt;br /&gt;
===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Dockeri töid lihusustav põhimõte seisneb selles, et kõik lib-id ja programmid ning utikad on ühes isoleeritud ja kergelt paidaldatavas konteineris koos. Konteinereid võib hankida võrgust dockeri enda lehelt või siis koostada ja genereerida neid ise. Docker teeb arenduse lihtsamaks, sest pole vaja mässata keerukate serverikonfide ja seal tekkivate konfliktidega, üritades panna sama tarkvara (nt php või ka mysqli või postgresi) mitut eri versiooni korraga tööle. Soovides dockeriga käivitada enda rakenduse jaoks kolm eri php versiooniga serverit tuleb lihtsalt tõmmata kolm eri php versiooni ja apache serverit sisaldavat konteineri img-d ning nad süsteemis käivitada. Käivitamisel saab öelda igale konteinerile isikliku tööpordi ja kausta, mis nad külge haagivad. Kaust võib seejuures asuda /home või /srv all, kus rakenduse kood asub. Aga koodi võib vajadusel ka kohe konteineri loomisel sinna sisse integreerida. Samamoodi on konteineriseeritavad kõikvõimalikud muud rakendused alates rubyst kuni pythoni ja nodejsini. Samu konteinereid saab kasutada ka teistes süsteemides näiteks läpakas, tööarvutis või kliendi juures asuvas serveris.&lt;br /&gt;
&lt;br /&gt;
===Paigaldus ubuntus/debianis===&lt;br /&gt;
&lt;br /&gt;
Dockeri paigaldamiseks ubuntu/debiani serveris installime kõigepealt vajalikud sõltuvused&lt;br /&gt;
&lt;br /&gt;
 apt-get install \&lt;br /&gt;
 apt-transport-https \&lt;br /&gt;
 ca-certificates \&lt;br /&gt;
 curl \&lt;br /&gt;
 gnupg2 \&lt;br /&gt;
 software-properties-common&lt;br /&gt;
&lt;br /&gt;
Lisame apti võtme&lt;br /&gt;
&lt;br /&gt;
 # curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
Apti repositooriumi&lt;br /&gt;
&lt;br /&gt;
 sudo add-apt-repository \&lt;br /&gt;
    &amp;quot;deb [arch=amd64] https://download.docker.com/linux/debian \&lt;br /&gt;
    $(lsb_release -cs) \&lt;br /&gt;
    stable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Uuendame uute allikate vastu&lt;br /&gt;
&lt;br /&gt;
 # apt-get update&lt;br /&gt;
&lt;br /&gt;
Ja paneme dockeri peale&lt;br /&gt;
&lt;br /&gt;
 # apt-get install docker-ce&lt;br /&gt;
&lt;br /&gt;
===Paigaldus Centosis===&lt;br /&gt;
&lt;br /&gt;
Paigaldame repo&lt;br /&gt;
&lt;br /&gt;
 # sudo yum-config-manager \&lt;br /&gt;
     --add-repo \&lt;br /&gt;
     https://download.docker.com/linux/centos/docker-ce.repo &lt;br /&gt;
&lt;br /&gt;
Paigaldame dockeri ja vajalikud lisavahendid&lt;br /&gt;
&lt;br /&gt;
 yum install docker-ce docker-ce-cli containerd.io &lt;br /&gt;
&lt;br /&gt;
Paneme dockeri tööle ja lubame tal restardi järel käivituda&lt;br /&gt;
&lt;br /&gt;
 # systemctl start docker&lt;br /&gt;
 # systemctl enable docker&lt;br /&gt;
&lt;br /&gt;
Selleks, et docker saadaks kogu enda logi journald peale&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt; &#039;EOF&#039; &amp;gt;/etc/docker/daemon.json&lt;br /&gt;
 {&lt;br /&gt;
     &amp;quot;log-driver&amp;quot;: &amp;quot;journald&amp;quot;,&lt;br /&gt;
 }&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
===Konteinerite kasutamine===&lt;br /&gt;
&lt;br /&gt;
Dockeri üheks oluliseks tugevuseks on see, et nende poolt on pakkuda juba tuhandeid eelkonfigureeritud konteinerite tõmmiseid, millede abil saab hakata kohe erinevaid rakendusi ehitama.&lt;br /&gt;
Laadime näiteks alustamiseks alla konteineris kasutamiseks mõeldud kergekaalulise ja ilma lisatarkvarata ubuntu konteineri img&lt;br /&gt;
&lt;br /&gt;
 # docker pull ubuntu&lt;br /&gt;
&lt;br /&gt;
Peale tõmbamise lõpetamist paigaldatakse see images alla, näha saame seda järgneva käsuga&lt;br /&gt;
&lt;br /&gt;
 # docker images&lt;br /&gt;
 REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE&lt;br /&gt;
 ubuntu              latest              113a43faa138        2 weeks ago         81.2MB&lt;br /&gt;
&lt;br /&gt;
Saame näiteks selle sees oleva bashi käivitada ja käsureal ringi vaadata või sinna täiendavaid pakette paigaldada. Vaikimisi on tegemist väga minimaalse keskkonnaga&lt;br /&gt;
&lt;br /&gt;
 # docker run -t -i ubuntu:latest /bin/bash&lt;br /&gt;
&lt;br /&gt;
Tõmmata saab ka juba eelkonfigureeritud tarkvaraga dockeri konteinereid. Näiteks tõmbame mysql serveri ja paneme selle käima&lt;br /&gt;
&lt;br /&gt;
 docker pull mysql&lt;br /&gt;
 docker run -d --name=mysql1 -e MYSQL_ROOT_PASSWORD=’mypassword’ -v /storage/mysql1/mysql-datadir:/var/lib/mysql mysql&lt;br /&gt;
&lt;br /&gt;
Tähele tasub panna, et vahel võib võtta teenustel konteineri sees käimaminek aega, kuni tekitavad vajalikud failid ja andmebaasid jne. Lisaks saab tõmmata ka kindlaid mysql versioone&lt;br /&gt;
&lt;br /&gt;
 docker pull mysql:5.6&lt;br /&gt;
&lt;br /&gt;
Sama on PHPga, näiteks võime sama rakenduse kausta /srv/docker/php-test1 peale käivitada kaks eri php versiooniga apache serverit&lt;br /&gt;
&lt;br /&gt;
Käivitame esimese php7-mega&lt;br /&gt;
&lt;br /&gt;
 # docker run -d --name=php-test1 --publish 8080:80/tcp --volume /srv/docker/php-test1:/app webdevops/php-apache:ubuntu-18.04&lt;br /&gt;
&lt;br /&gt;
Ja teise php 5.6&lt;br /&gt;
&lt;br /&gt;
 # docker run -d --name=php-test5 --publish 8081:80/tcp --volume /srv/docker/php-test1:/app webdevops/php-apache:debian-8&lt;br /&gt;
&lt;br /&gt;
Mõlemad serverid on nähtavad aadressilt&lt;br /&gt;
&lt;br /&gt;
 http://localhost:8080/&lt;br /&gt;
&lt;br /&gt;
ja&lt;br /&gt;
&lt;br /&gt;
 http://localhost:8081/&lt;br /&gt;
&lt;br /&gt;
Töötamas näeme neid järgnevalt&lt;br /&gt;
&lt;br /&gt;
 # docker ps&lt;br /&gt;
 CONTAINER ID        IMAGE                               COMMAND                  CREATED             STATUS              PORTS                                     NAMES&lt;br /&gt;
 ab8b5eec1efc        webdevops/php-apache:debian-8       &amp;quot;/entrypoint supervi…&amp;quot;   13 seconds ago      Up 11 seconds       443/tcp, 9000/tcp, 0.0.0.0:8081-&amp;gt;80/tcp   php-test52&lt;br /&gt;
 bc16f9feb4e        webdevops/php-apache:ubuntu-18.04   &amp;quot;/entrypoint supervi…&amp;quot;   About an hour ago   Up About an hour    443/tcp, 9000/tcp, 0.0.0.0:8080-&amp;gt;80/tcp   php-test2&lt;br /&gt;
&lt;br /&gt;
Seisata saame käsuga&lt;br /&gt;
&lt;br /&gt;
 # docker stop ab8b5eec1efc&lt;br /&gt;
&lt;br /&gt;
Ja uuesti käivitada&lt;br /&gt;
&lt;br /&gt;
 # docker start ab8b5eec1efc&lt;br /&gt;
&lt;br /&gt;
Konteineri logisid näeb konteineri ID alusel, nt&lt;br /&gt;
&lt;br /&gt;
 # docker logs 3b8a054c778d&lt;br /&gt;
&lt;br /&gt;
Logid esitatakse lakooniliselt näidates vaid olulisemaid vigu, nt stiilis&lt;br /&gt;
&lt;br /&gt;
 Warning: mysqli::__construct(): (HY000/1045): Access denied for user &#039;wordpress&#039;@&#039;172.18.0.3&#039; (using password: YES) in Standard input code on line 22&lt;br /&gt;
 MySQL Connection Error: (1045) Access denied for user &#039;wordpress&#039;@&#039;172.18.0.3&#039; (using password: YES)&lt;br /&gt;
&lt;br /&gt;
Selleks, et logida töötavasse konteinerisse&lt;br /&gt;
&lt;br /&gt;
 # docker exec -i -t 234545klksd1 bash&lt;br /&gt;
&lt;br /&gt;
Olemas on ka palju keerukamaid dockeri konteinereid. Näiteks konfigureeritud ja valmis LAMPi saab https://github.com/fauria/docker-lamp.&lt;br /&gt;
&lt;br /&gt;
Mysqli, nt kindla mariadb versiooni 10.3 paigaldamiseks&lt;br /&gt;
&lt;br /&gt;
 # docker run --name some-mariadb -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mariadb:10.3 --publish 3306:3307/tcp -v /srv/mariadb103:/var/lib/mysql&lt;br /&gt;
&lt;br /&gt;
Kõikide dockeri konteinerite eemaldamiseks&lt;br /&gt;
&lt;br /&gt;
 # docker rm $(docker ps -a -q)&lt;br /&gt;
&lt;br /&gt;
Kõikide dockeri img-de eemaldamiseks&lt;br /&gt;
&lt;br /&gt;
 # docker rmi $(docker images -a -q)&lt;br /&gt;
&lt;br /&gt;
Ning volumete kustutamiseks&lt;br /&gt;
&lt;br /&gt;
 # docker volume rm $(docker volume ls)&lt;br /&gt;
&lt;br /&gt;
Skripti jaoks mis kustutab regulaarselt liiga vanu imageid võib kasutada järgnevat käsku&lt;br /&gt;
&lt;br /&gt;
 # docker image prune --all -f --filter until=24h&lt;br /&gt;
&lt;br /&gt;
===Omaenda konteineri loomine===&lt;br /&gt;
&lt;br /&gt;
Konteineri loomine toimub failis Dockerfile olevate käsurea käskude alusel. Näiteks tekitame lihtsa konfi, mis tekitab meile eelmises lõigus allatõmmatud&lt;br /&gt;
ubuntu image alusel apache veebiserveri, kus serveerib etteantud index.html faili&lt;br /&gt;
&lt;br /&gt;
 FROM ubuntu:latest&lt;br /&gt;
 RUN apt-get update &amp;amp;&amp;amp; apt-get install -y apache2&lt;br /&gt;
 RUN mkdir -p /srv &amp;amp;&amp;amp; rm -fr /var/www/html &amp;amp;&amp;amp; ln -s /srv /var/www/html&lt;br /&gt;
 EXPOSE 80&lt;br /&gt;
 ADD index.html /srv/&lt;br /&gt;
 WORKDIR /srv&lt;br /&gt;
 ENTRYPOINT [&amp;quot;/usr/sbin/apache2ctl&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Käsud lahtiseletatult:&lt;br /&gt;
&lt;br /&gt;
* FROM seadistab ära mis imaget me aluseks kasutame&lt;br /&gt;
* RUN võimaldab käivitada enda järele kirjutatud käske&lt;br /&gt;
* EXPOSE teeb pordi 80 meile nähtavaks&lt;br /&gt;
* WORKDIR määrab kasutaja kataloogi&lt;br /&gt;
* ADD kopeerib varemalt tekitatud index.html faili /srv kausta&lt;br /&gt;
* ENTRYPOINT seadistab ära teenuse, mis konteineris tööle läheb&lt;br /&gt;
&lt;br /&gt;
Ehitame loodud konfi alusel konteineri valmis, selleks anname samas kaustas kus dockerfail järgneva käsu&lt;br /&gt;
&lt;br /&gt;
 docker build -t test:test .&lt;br /&gt;
&lt;br /&gt;
Kui protsess lõppes peaksime seda ka images alt nägema&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;docker images&#039;&#039;&#039;&lt;br /&gt;
 REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE&lt;br /&gt;
 test                test                364cac645fcc        2 minutes ago       223MB&lt;br /&gt;
 ubuntu              latest              113a43faa138        2 weeks ago         81.2MB&lt;br /&gt;
&lt;br /&gt;
Paneme konteineri tööle&lt;br /&gt;
&lt;br /&gt;
 # docker run -d -P test:test&lt;br /&gt;
&lt;br /&gt;
Töötavaid konteinereid näeme järgnevalt&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;docker ps&#039;&#039;&#039;&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                     NAMES&lt;br /&gt;
 5b9850b98a29        test:test           &amp;quot;/usr/sbin/apache2ct…&amp;quot;   12 seconds ago      Up 11 seconds       0.0.0.0:32770-&amp;gt;80/tcp   sleepy_carson&lt;br /&gt;
&lt;br /&gt;
Nagu näha on localhosti port 32770 suunatud konteineris 80 pordile.&lt;br /&gt;
&lt;br /&gt;
Selleks, et teha oma img kättesaadavaks ka läbi docker hubi tuleb tekitada sinna kasutaja ning repo ja logida käsurealt sinna sisse&lt;br /&gt;
&lt;br /&gt;
 # docker login -u kasutaja&lt;br /&gt;
&lt;br /&gt;
Ja lükata fail üles&lt;br /&gt;
&lt;br /&gt;
 # docker push kasutaja/test&lt;br /&gt;
&lt;br /&gt;
===Konteinerite loomine docker-compose abil===&lt;br /&gt;
&lt;br /&gt;
docer-compose pole tegelikult midagi muud kui nö &amp;quot;buildfile&amp;quot; dockerisüsteemi jaoks. Ehk siis kui tavaliselt peab dockereid tõmbama käima käskudega&lt;br /&gt;
&lt;br /&gt;
 docker run -t -i wordpress:latest /bin/bash&lt;br /&gt;
 docker run -t -i mariadb/bin/bash&lt;br /&gt;
&lt;br /&gt;
koos kõigi sinna juurde kuuluvate parameetrite jms asjadega siis docker-compose lubab luua ühtse faili kus kõik ühes kohas&lt;br /&gt;
&lt;br /&gt;
 version: &#039;3.3&#039;&lt;br /&gt;
 &lt;br /&gt;
 services:&lt;br /&gt;
    wordpress:&lt;br /&gt;
      depends_on:&lt;br /&gt;
        - db&lt;br /&gt;
      image: wordpress&lt;br /&gt;
      ports:&lt;br /&gt;
        - &amp;quot;8000:80&amp;quot;&lt;br /&gt;
      restart: unless-stopped&lt;br /&gt;
      environment:&lt;br /&gt;
        WORDPRESS_DB_HOST: db&lt;br /&gt;
        MYSQL_PORT_3306_TCP: 3306&lt;br /&gt;
        WORDPRESS_DB_USER: wordpress&lt;br /&gt;
        WORDPRESS_DB_PASSWORD: wordpress&lt;br /&gt;
 &lt;br /&gt;
    db:&lt;br /&gt;
      image: mariadb&lt;br /&gt;
      ports:&lt;br /&gt;
      - &amp;quot;3306:3306&amp;quot;&lt;br /&gt;
      restart: unless-stopped&lt;br /&gt;
      environment:&lt;br /&gt;
        MYSQL_ROOT_PASSWORD: somewordpress&lt;br /&gt;
        MYSQL_DATABASE: wordpress&lt;br /&gt;
        MYSQL_USER: wordpress&lt;br /&gt;
        MYSQL_PASSWORD: wordpress&lt;br /&gt;
&lt;br /&gt;
Selle käivitamiseks tuleb teha kaustas kus docker-compose fail asub&lt;br /&gt;
&lt;br /&gt;
 # docker-compose up -d&lt;br /&gt;
&lt;br /&gt;
Veendumine, et hakkas tööle&lt;br /&gt;
&lt;br /&gt;
 # docker ps&lt;br /&gt;
 CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                                                    NAMES&lt;br /&gt;
 20eaa3976bc9        mysql:latest        &amp;quot;docker-entrypoint.s…&amp;quot;   2 minutes ago       Up 2 minutes        3306/tcp&lt;br /&gt;
&lt;br /&gt;
Pöördudes nüüd avaliku aadressi pordile 8000 peaksime nägema wordpressi paigaldust&lt;br /&gt;
&lt;br /&gt;
Soovides mõlemad masinad sulgeda&lt;br /&gt;
&lt;br /&gt;
 # docker-compose stop&lt;br /&gt;
&lt;br /&gt;
Käsuga docker stats näeb jooksvalt konteinerite cpu, mälu, IO ja võrgukasutust&lt;br /&gt;
&lt;br /&gt;
 # docker stats&lt;br /&gt;
 CONTAINER ID        NAME                  CPU %               MEM USAGE / LIMIT    MEM %               NET I/O             BLOCK I/O           PIDS&lt;br /&gt;
 5c47855895c3        server3_wordpress_1   0.00%               89.96MiB / 7.79GiB   1.13%               3.58MB / 4.89MB     336kB / 1.59MB      11&lt;br /&gt;
 034eb5845072        server3_db_1          0.04%               97.74MiB / 7.79GiB   1.23%               1.34MB / 3.14MB     10.7MB / 85.7MB     32&lt;br /&gt;
&lt;br /&gt;
Selleks, et dockeri masinad stardiksid peale serveri rebooti tuleb vaadata, et dockeri deemon käivituks ning seadistad docker-comopose faili&lt;br /&gt;
&lt;br /&gt;
 restart: unless-stopped&lt;br /&gt;
&lt;br /&gt;
===Dockeri kettaajaotus===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
===Healtcheck===&lt;br /&gt;
&lt;br /&gt;
Healtcheck sektsioon teatab dockerile, kuidas testida seda kas seal olev rakendus on ikkagi töökorras. Docker compose failis&lt;br /&gt;
võib lisada konteineri sektsiooni lõppu näiteks&lt;br /&gt;
&lt;br /&gt;
 healthcheck:&lt;br /&gt;
   test: curl -sS http://127.0.0.1 || exit 1&lt;br /&gt;
   interval: 5s&lt;br /&gt;
   timeout: 10s&lt;br /&gt;
   retries: 3&lt;br /&gt;
&lt;br /&gt;
Seda mis staatuses konteineri tervis on näeb näiteks käsuga docker ps. Soovides kontrollida aga tcp porte võib kasutada järgnevat käsku&lt;br /&gt;
&lt;br /&gt;
 test: [&amp;quot;CMD-SHELL&amp;quot;, &amp;quot;timeout 2 bash -c \&amp;quot;&amp;lt;/dev/tcp/127.0.0.1/443\&amp;quot;;&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Juhul kui curli binaar on konteinerist puudu saab selle järgnevat dockerfilega lisada&lt;br /&gt;
&lt;br /&gt;
 FROM httpd:latest&lt;br /&gt;
 RUN apt-get update &amp;amp;&amp;amp; apt-get install -y --no-install-recommends curl &amp;amp;&amp;amp; apt-get clean&lt;br /&gt;
 EXPOSE 80&lt;br /&gt;
 HEALTHCHECK --interval=15s --retries=5 --timeout=30s --start-period=30s CMD curl -I -f &amp;quot;http://localhost:80&amp;quot; || exit 1&lt;br /&gt;
&lt;br /&gt;
Tegelikult pole muidugi vahet mis käsku kontrolliks käima lastakse. Postgresi andmebaasi toimimist saab kontrollida järgnevalt.&lt;br /&gt;
&lt;br /&gt;
 test: [&amp;quot;CMD-SHELL&amp;quot;, &amp;quot;pg_isready -U &amp;lt;andmebaas&amp;gt;&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Docer-compose versioonides 2.x saab kasutada healthcheky ka konteinerite startijärjestuses. Nt teha kindlaks, et mingi konteiner ei stardiks enne kui esimese&lt;br /&gt;
healtcheck on õnnestunud. Alates versioonis 3.x on see aga eemaldatud ning kasutada tuleb dockerize wrapperit&lt;br /&gt;
&lt;br /&gt;
    depends_on:&lt;br /&gt;
      postgres_db:&lt;br /&gt;
        condition: service_healthy&lt;br /&gt;
&lt;br /&gt;
===dockerize===&lt;br /&gt;
&lt;br /&gt;
Tegemist on wrapperiga, millega saab näiteks panna startiv konteiner ootama mingi tingimuse täitumist&lt;br /&gt;
&lt;br /&gt;
 dockerize -wait tcp://db:5432 -wait http://web:80 -wait file:///tmp/generated-file&lt;br /&gt;
&lt;br /&gt;
Nginx logs to two different log files under /var/log/nginx by default. It would be nice have the nginx access and error log streamed to the console if your run this container interactively or if you docker  logs nginx so you can see what’s happening.&lt;br /&gt;
&lt;br /&gt;
This would generate /etc/nginx/nginx.conf from the template located at /etc/nginx/nginx.tmpl and send /var/log/nginx/access.log to &lt;br /&gt;
STDOUT and /var/log/nginx/error.log to STDERR after running nginx, only after waiting for the web host to respond on tcp 8000:&lt;br /&gt;
&lt;br /&gt;
 ADD dockerize /usr/local/bin/dockerize&lt;br /&gt;
 CMD dockerize -template /etc/nginx/nginx.tmpl:/etc/nginx/nginx.conf -stdout /var/log/nginx/access.log -stderr /var/log/nginx/error.log -wait tcp://web:8000 nginx&lt;br /&gt;
 CMD dockerize -stdout /var/log/nginx/access.log -stderr /var/log/nginx/error.log nginx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://github.com/jwilder/dockerize&lt;br /&gt;
&lt;br /&gt;
===Dockeri võrgud===&lt;br /&gt;
&lt;br /&gt;
 $ docker network create myapp&lt;br /&gt;
&lt;br /&gt;
Kuidas see kõik töötab http://blog.nigelpoulton.com/demystifying-docker-overlay-networking/&lt;br /&gt;
&lt;br /&gt;
https://github.com/jwilder/dockerize konteinerite jooksev täiendamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
https://jvns.ca/blog/2019/11/18/how-containers-work--overlayfs/ overlayfsi tööpõhimõttest&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Let%27s_Encrypt&amp;diff=31009</id>
		<title>Let&#039;s Encrypt</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Let%27s_Encrypt&amp;diff=31009"/>
		<updated>2021-01-22T08:52:01Z</updated>

		<summary type="html">&lt;p&gt;Jj: /* Paigaldus Ubuntu ja nginx puhul */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Lets encrypt on teenus mis pakub tasuta popup-free sertifikaate. See loodi 2016 ning selle taga on ettevõtted nagu Akamai, Cisco, Mozilla ning mitmed sõltumatud eraisikud.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s Encrypt kasutab oma tööks ACME ehk Automatic Certificate Management Environment protokolli, mille&lt;br /&gt;
abil saab tellida sertifikaate täisautomaatselt. Selle töö näeb välja umbkaudu järgnev&lt;br /&gt;
&lt;br /&gt;
#. Tarkvara genereerib võtme ja sertifikaadipäringu&lt;br /&gt;
#. Sertifikaadipäring allkirjastatakse ja saadetakse lets encrypt API-le&lt;br /&gt;
#. Lets encrypt server teeb valideerimise päringu domeeni vastu, millele sertifikaati taodeldakse, kus ta kontrollib http://domeen.ee/.well-known/acme-challenge/{token} olemasolu ja vastavust&lt;br /&gt;
#. Sertifikaadid genereeritakse ja laetakse automaatselt letsencrypti juurest alla serverisse&lt;br /&gt;
&lt;br /&gt;
Sertifikaadid kehtivad vaid 90 päeva.&lt;br /&gt;
&lt;br /&gt;
===Paigadus debiani ja apachega===&lt;br /&gt;
&lt;br /&gt;
Kui virtualhost on juba seadistatud on paigaldus väga lihtne, tuleb esiteks installida cerbot ja selle apache moodul&lt;br /&gt;
&lt;br /&gt;
 # apt install python-certbot-apache&lt;br /&gt;
&lt;br /&gt;
Ning seejärel küsida domeeni&lt;br /&gt;
&lt;br /&gt;
 # certbot --apache -d zoo.tartu.ee&lt;br /&gt;
&lt;br /&gt;
Viimane käsk on võimeline juba ise tuvastama serveri seadistuse, tekitama sobivasse kohta vajaliku võtme ning asendama virtualhostis ka varasemad sertifikaadid&lt;br /&gt;
&lt;br /&gt;
===Paigaldus certbotiga nginx puhul===&lt;br /&gt;
&lt;br /&gt;
Installime CentOSis epel release ja cerboti&lt;br /&gt;
&lt;br /&gt;
 yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm&lt;br /&gt;
 yum install certbot &lt;br /&gt;
&lt;br /&gt;
Tekitame nginx confi &lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/nginx/default.d/letsencrypt.conf&lt;br /&gt;
     location /.well-known {&lt;br /&gt;
         root /srv/letsencrypt;&lt;br /&gt;
     }&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
Tekitame cerboti kausta&lt;br /&gt;
&lt;br /&gt;
 # mkdir /srv/letsencrypt/&lt;br /&gt;
&lt;br /&gt;
Tekitame cerboti konfi&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /srv/letsencrypt/letsencrypt.ini&lt;br /&gt;
 agree-tos&lt;br /&gt;
 email = info@zoo.tartu.ee&lt;br /&gt;
 &lt;br /&gt;
 authenticator = webroot&lt;br /&gt;
 webroot-path = /opt/letsencrypt&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
Stardine nginxi&lt;br /&gt;
&lt;br /&gt;
 # systemctl start nginx&lt;br /&gt;
 # systemctl enable nginx&lt;br /&gt;
&lt;br /&gt;
Küsime sertifikaadi&lt;br /&gt;
&lt;br /&gt;
 # certbot certonly -n -c /srv/letsencrypt/letsencrypt.ini -d zoo.tartu.ee&lt;br /&gt;
&lt;br /&gt;
Automaatseks uuendamiseks võib tekitada cron faili /etc/cron.d/letsencrypt&lt;br /&gt;
&lt;br /&gt;
 MAILTO=info@zoo.tartu.ee&lt;br /&gt;
 11 2 1 * * root /usr/bin/certbot certonly -n -c /srv/letsencrypt/letsencrypt.ini -d zoo.tartu.ee &amp;amp;&amp;amp; /usr/bin/systemctl restart nginx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Paigaldus Ubuntu ja nginx puhul===&lt;br /&gt;
&lt;br /&gt;
Installime cerboti&lt;br /&gt;
&lt;br /&gt;
 # apt install certbot python3-certbot-nginx &lt;br /&gt;
&lt;br /&gt;
Seadistame nginxi domeeni ja küsime serdtifikaadid&lt;br /&gt;
&lt;br /&gt;
 # certbot --nginx -d example.com -d www.example.com&lt;br /&gt;
&lt;br /&gt;
Automaatseks uuendamiseks on systemd timer certbot.timer&lt;br /&gt;
&lt;br /&gt;
 systemctl status certbot.timer&lt;br /&gt;
&lt;br /&gt;
===Paigaldus Acme skriptiga===&lt;br /&gt;
&lt;br /&gt;
Veebiserveri ettevalmistus. Nagu ülal kirjutatud siis vajab letsencrypt võimalust valideerida kasutaja õigust domeenile. Selleks tuleb veebiserverisse seadistada ligipääs&lt;br /&gt;
letsencrypti genereeritud tokenile. Nginxi korral tuleb tekitada järgnev konstruktsioon&lt;br /&gt;
&lt;br /&gt;
 location /.well-known/acme-challenge/ {&lt;br /&gt;
     root /var/www/certbot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Tõmbame vajaliku skripti alla ja paneme käima&lt;br /&gt;
&lt;br /&gt;
 curl https://get.acme.sh | sh&lt;br /&gt;
&lt;br /&gt;
See paigaldab ka croni töö mis tegeleb sertifikaatide uuendamisega.&lt;br /&gt;
&lt;br /&gt;
Küsime endale sertifikaadi&lt;br /&gt;
&lt;br /&gt;
 acme.sh --issue -d test.org -w /var/www/certbot&lt;br /&gt;
&lt;br /&gt;
Keerukamad kasutusjuhud. Nt dockeri puhul võime ka täpselt ette anda sertifikaatide asukohad ja käsu dockeri sees nginxi restardiks&lt;br /&gt;
&lt;br /&gt;
 acme.sh --install-cert -d test.org  \&lt;br /&gt;
   --cert-file      /apps/myapp/certs/cert.pem \&lt;br /&gt;
   --key-file       /apps/myapp/certs/key.pem  \&lt;br /&gt;
   --reloadcmd     &amp;quot;docker-compose -f /apps/myapp/docker-compose.yml exec wen nginx -t reload&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Wildcard domeeni jaoks sertifikaadi tekitamiseks&lt;br /&gt;
&lt;br /&gt;
 acme.sh  --issue -d example.com  -d &#039;*.example.com&#039;  --dns dns_cf&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Let%27s_Encrypt&amp;diff=31008</id>
		<title>Let&#039;s Encrypt</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Let%27s_Encrypt&amp;diff=31008"/>
		<updated>2021-01-22T08:50:44Z</updated>

		<summary type="html">&lt;p&gt;Jj: /* Paigaldus Ubuntu ja nginx puhul */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Lets encrypt on teenus mis pakub tasuta popup-free sertifikaate. See loodi 2016 ning selle taga on ettevõtted nagu Akamai, Cisco, Mozilla ning mitmed sõltumatud eraisikud.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s Encrypt kasutab oma tööks ACME ehk Automatic Certificate Management Environment protokolli, mille&lt;br /&gt;
abil saab tellida sertifikaate täisautomaatselt. Selle töö näeb välja umbkaudu järgnev&lt;br /&gt;
&lt;br /&gt;
#. Tarkvara genereerib võtme ja sertifikaadipäringu&lt;br /&gt;
#. Sertifikaadipäring allkirjastatakse ja saadetakse lets encrypt API-le&lt;br /&gt;
#. Lets encrypt server teeb valideerimise päringu domeeni vastu, millele sertifikaati taodeldakse, kus ta kontrollib http://domeen.ee/.well-known/acme-challenge/{token} olemasolu ja vastavust&lt;br /&gt;
#. Sertifikaadid genereeritakse ja laetakse automaatselt letsencrypti juurest alla serverisse&lt;br /&gt;
&lt;br /&gt;
Sertifikaadid kehtivad vaid 90 päeva.&lt;br /&gt;
&lt;br /&gt;
===Paigadus debiani ja apachega===&lt;br /&gt;
&lt;br /&gt;
Kui virtualhost on juba seadistatud on paigaldus väga lihtne, tuleb esiteks installida cerbot ja selle apache moodul&lt;br /&gt;
&lt;br /&gt;
 # apt install python-certbot-apache&lt;br /&gt;
&lt;br /&gt;
Ning seejärel küsida domeeni&lt;br /&gt;
&lt;br /&gt;
 # certbot --apache -d zoo.tartu.ee&lt;br /&gt;
&lt;br /&gt;
Viimane käsk on võimeline juba ise tuvastama serveri seadistuse, tekitama sobivasse kohta vajaliku võtme ning asendama virtualhostis ka varasemad sertifikaadid&lt;br /&gt;
&lt;br /&gt;
===Paigaldus certbotiga nginx puhul===&lt;br /&gt;
&lt;br /&gt;
Installime CentOSis epel release ja cerboti&lt;br /&gt;
&lt;br /&gt;
 yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm&lt;br /&gt;
 yum install certbot &lt;br /&gt;
&lt;br /&gt;
Tekitame nginx confi &lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/nginx/default.d/letsencrypt.conf&lt;br /&gt;
     location /.well-known {&lt;br /&gt;
         root /srv/letsencrypt;&lt;br /&gt;
     }&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
Tekitame cerboti kausta&lt;br /&gt;
&lt;br /&gt;
 # mkdir /srv/letsencrypt/&lt;br /&gt;
&lt;br /&gt;
Tekitame cerboti konfi&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /srv/letsencrypt/letsencrypt.ini&lt;br /&gt;
 agree-tos&lt;br /&gt;
 email = info@zoo.tartu.ee&lt;br /&gt;
 &lt;br /&gt;
 authenticator = webroot&lt;br /&gt;
 webroot-path = /opt/letsencrypt&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
Stardine nginxi&lt;br /&gt;
&lt;br /&gt;
 # systemctl start nginx&lt;br /&gt;
 # systemctl enable nginx&lt;br /&gt;
&lt;br /&gt;
Küsime sertifikaadi&lt;br /&gt;
&lt;br /&gt;
 # certbot certonly -n -c /srv/letsencrypt/letsencrypt.ini -d zoo.tartu.ee&lt;br /&gt;
&lt;br /&gt;
Automaatseks uuendamiseks võib tekitada cron faili /etc/cron.d/letsencrypt&lt;br /&gt;
&lt;br /&gt;
 MAILTO=info@zoo.tartu.ee&lt;br /&gt;
 11 2 1 * * root /usr/bin/certbot certonly -n -c /srv/letsencrypt/letsencrypt.ini -d zoo.tartu.ee &amp;amp;&amp;amp; /usr/bin/systemctl restart nginx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Paigaldus Ubuntu ja nginx puhul===&lt;br /&gt;
&lt;br /&gt;
Installime cerboti&lt;br /&gt;
&lt;br /&gt;
 # apt install certbot python3-certbot-nginx &lt;br /&gt;
&lt;br /&gt;
Tekitame nginx confi &lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/nginx/sites-available/letsencrypt.conf&lt;br /&gt;
     location /.well-known {&lt;br /&gt;
         root /srv/letsencrypt;&lt;br /&gt;
     }&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
Tekitame cerboti kausta&lt;br /&gt;
&lt;br /&gt;
 # mkdir /srv/letsencrypt/&lt;br /&gt;
&lt;br /&gt;
Tekitame cerboti konfi&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /srv/letsencrypt/letsencrypt.ini&lt;br /&gt;
 agree-tos&lt;br /&gt;
 email = info@zoo.tartu.ee&lt;br /&gt;
 &lt;br /&gt;
 authenticator = webroot&lt;br /&gt;
 webroot-path = /opt/letsencrypt&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
Stardine nginxi&lt;br /&gt;
&lt;br /&gt;
 # systemctl start nginx&lt;br /&gt;
 # systemctl enable nginx&lt;br /&gt;
&lt;br /&gt;
Küsime sertifikaadi&lt;br /&gt;
&lt;br /&gt;
 # certbot certonly -n -c /srv/letsencrypt/letsencrypt.ini -d zoo.tartu.ee&lt;br /&gt;
&lt;br /&gt;
Automaatseks uuendamiseks on systemd timer certbot.timer&lt;br /&gt;
&lt;br /&gt;
 systemctl status certbot.timer&lt;br /&gt;
&lt;br /&gt;
===Paigaldus Acme skriptiga===&lt;br /&gt;
&lt;br /&gt;
Veebiserveri ettevalmistus. Nagu ülal kirjutatud siis vajab letsencrypt võimalust valideerida kasutaja õigust domeenile. Selleks tuleb veebiserverisse seadistada ligipääs&lt;br /&gt;
letsencrypti genereeritud tokenile. Nginxi korral tuleb tekitada järgnev konstruktsioon&lt;br /&gt;
&lt;br /&gt;
 location /.well-known/acme-challenge/ {&lt;br /&gt;
     root /var/www/certbot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Tõmbame vajaliku skripti alla ja paneme käima&lt;br /&gt;
&lt;br /&gt;
 curl https://get.acme.sh | sh&lt;br /&gt;
&lt;br /&gt;
See paigaldab ka croni töö mis tegeleb sertifikaatide uuendamisega.&lt;br /&gt;
&lt;br /&gt;
Küsime endale sertifikaadi&lt;br /&gt;
&lt;br /&gt;
 acme.sh --issue -d test.org -w /var/www/certbot&lt;br /&gt;
&lt;br /&gt;
Keerukamad kasutusjuhud. Nt dockeri puhul võime ka täpselt ette anda sertifikaatide asukohad ja käsu dockeri sees nginxi restardiks&lt;br /&gt;
&lt;br /&gt;
 acme.sh --install-cert -d test.org  \&lt;br /&gt;
   --cert-file      /apps/myapp/certs/cert.pem \&lt;br /&gt;
   --key-file       /apps/myapp/certs/key.pem  \&lt;br /&gt;
   --reloadcmd     &amp;quot;docker-compose -f /apps/myapp/docker-compose.yml exec wen nginx -t reload&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Wildcard domeeni jaoks sertifikaadi tekitamiseks&lt;br /&gt;
&lt;br /&gt;
 acme.sh  --issue -d example.com  -d &#039;*.example.com&#039;  --dns dns_cf&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Let%27s_Encrypt&amp;diff=31007</id>
		<title>Let&#039;s Encrypt</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Let%27s_Encrypt&amp;diff=31007"/>
		<updated>2021-01-22T08:43:16Z</updated>

		<summary type="html">&lt;p&gt;Jj: /* Paigaldus certbotiga nginx puhul */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Lets encrypt on teenus mis pakub tasuta popup-free sertifikaate. See loodi 2016 ning selle taga on ettevõtted nagu Akamai, Cisco, Mozilla ning mitmed sõltumatud eraisikud.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s Encrypt kasutab oma tööks ACME ehk Automatic Certificate Management Environment protokolli, mille&lt;br /&gt;
abil saab tellida sertifikaate täisautomaatselt. Selle töö näeb välja umbkaudu järgnev&lt;br /&gt;
&lt;br /&gt;
#. Tarkvara genereerib võtme ja sertifikaadipäringu&lt;br /&gt;
#. Sertifikaadipäring allkirjastatakse ja saadetakse lets encrypt API-le&lt;br /&gt;
#. Lets encrypt server teeb valideerimise päringu domeeni vastu, millele sertifikaati taodeldakse, kus ta kontrollib http://domeen.ee/.well-known/acme-challenge/{token} olemasolu ja vastavust&lt;br /&gt;
#. Sertifikaadid genereeritakse ja laetakse automaatselt letsencrypti juurest alla serverisse&lt;br /&gt;
&lt;br /&gt;
Sertifikaadid kehtivad vaid 90 päeva.&lt;br /&gt;
&lt;br /&gt;
===Paigadus debiani ja apachega===&lt;br /&gt;
&lt;br /&gt;
Kui virtualhost on juba seadistatud on paigaldus väga lihtne, tuleb esiteks installida cerbot ja selle apache moodul&lt;br /&gt;
&lt;br /&gt;
 # apt install python-certbot-apache&lt;br /&gt;
&lt;br /&gt;
Ning seejärel küsida domeeni&lt;br /&gt;
&lt;br /&gt;
 # certbot --apache -d zoo.tartu.ee&lt;br /&gt;
&lt;br /&gt;
Viimane käsk on võimeline juba ise tuvastama serveri seadistuse, tekitama sobivasse kohta vajaliku võtme ning asendama virtualhostis ka varasemad sertifikaadid&lt;br /&gt;
&lt;br /&gt;
===Paigaldus certbotiga nginx puhul===&lt;br /&gt;
&lt;br /&gt;
Installime CentOSis epel release ja cerboti&lt;br /&gt;
&lt;br /&gt;
 yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm&lt;br /&gt;
 yum install certbot &lt;br /&gt;
&lt;br /&gt;
Tekitame nginx confi &lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/nginx/default.d/letsencrypt.conf&lt;br /&gt;
     location /.well-known {&lt;br /&gt;
         root /srv/letsencrypt;&lt;br /&gt;
     }&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
Tekitame cerboti kausta&lt;br /&gt;
&lt;br /&gt;
 # mkdir /srv/letsencrypt/&lt;br /&gt;
&lt;br /&gt;
Tekitame cerboti konfi&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /srv/letsencrypt/letsencrypt.ini&lt;br /&gt;
 agree-tos&lt;br /&gt;
 email = info@zoo.tartu.ee&lt;br /&gt;
 &lt;br /&gt;
 authenticator = webroot&lt;br /&gt;
 webroot-path = /opt/letsencrypt&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
Stardine nginxi&lt;br /&gt;
&lt;br /&gt;
 # systemctl start nginx&lt;br /&gt;
 # systemctl enable nginx&lt;br /&gt;
&lt;br /&gt;
Küsime sertifikaadi&lt;br /&gt;
&lt;br /&gt;
 # certbot certonly -n -c /srv/letsencrypt/letsencrypt.ini -d zoo.tartu.ee&lt;br /&gt;
&lt;br /&gt;
Automaatseks uuendamiseks võib tekitada cron faili /etc/cron.d/letsencrypt&lt;br /&gt;
&lt;br /&gt;
 MAILTO=info@zoo.tartu.ee&lt;br /&gt;
 11 2 1 * * root /usr/bin/certbot certonly -n -c /srv/letsencrypt/letsencrypt.ini -d zoo.tartu.ee &amp;amp;&amp;amp; /usr/bin/systemctl restart nginx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Paigaldus Ubuntu ja nginx puhul===&lt;br /&gt;
&lt;br /&gt;
Installime cerboti&lt;br /&gt;
&lt;br /&gt;
 # apt install certbot python3-certbot-nginx &lt;br /&gt;
&lt;br /&gt;
Tekitame nginx confi &lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/nginx/sites-available/letsencrypt.conf&lt;br /&gt;
     location /.well-known {&lt;br /&gt;
         root /srv/letsencrypt;&lt;br /&gt;
     }&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
Tekitame cerboti kausta&lt;br /&gt;
&lt;br /&gt;
 # mkdir /srv/letsencrypt/&lt;br /&gt;
&lt;br /&gt;
Tekitame cerboti konfi&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /srv/letsencrypt/letsencrypt.ini&lt;br /&gt;
 agree-tos&lt;br /&gt;
 email = info@zoo.tartu.ee&lt;br /&gt;
 &lt;br /&gt;
 authenticator = webroot&lt;br /&gt;
 webroot-path = /opt/letsencrypt&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
Stardine nginxi&lt;br /&gt;
&lt;br /&gt;
 # systemctl start nginx&lt;br /&gt;
 # systemctl enable nginx&lt;br /&gt;
&lt;br /&gt;
Küsime sertifikaadi&lt;br /&gt;
&lt;br /&gt;
 # certbot certonly -n -c /srv/letsencrypt/letsencrypt.ini -d zoo.tartu.ee&lt;br /&gt;
&lt;br /&gt;
Automaatseks uuendamiseks võib tekitada cron faili /etc/cron.d/letsencrypt&lt;br /&gt;
&lt;br /&gt;
 MAILTO=info@zoo.tartu.ee&lt;br /&gt;
 11 2 1 * * root /usr/bin/certbot certonly -n -c /srv/letsencrypt/letsencrypt.ini -d zoo.tartu.ee &amp;amp;&amp;amp; /usr/bin/systemctl restart nginx&lt;br /&gt;
&lt;br /&gt;
===Paigaldus Acme skriptiga===&lt;br /&gt;
&lt;br /&gt;
Veebiserveri ettevalmistus. Nagu ülal kirjutatud siis vajab letsencrypt võimalust valideerida kasutaja õigust domeenile. Selleks tuleb veebiserverisse seadistada ligipääs&lt;br /&gt;
letsencrypti genereeritud tokenile. Nginxi korral tuleb tekitada järgnev konstruktsioon&lt;br /&gt;
&lt;br /&gt;
 location /.well-known/acme-challenge/ {&lt;br /&gt;
     root /var/www/certbot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Tõmbame vajaliku skripti alla ja paneme käima&lt;br /&gt;
&lt;br /&gt;
 curl https://get.acme.sh | sh&lt;br /&gt;
&lt;br /&gt;
See paigaldab ka croni töö mis tegeleb sertifikaatide uuendamisega.&lt;br /&gt;
&lt;br /&gt;
Küsime endale sertifikaadi&lt;br /&gt;
&lt;br /&gt;
 acme.sh --issue -d test.org -w /var/www/certbot&lt;br /&gt;
&lt;br /&gt;
Keerukamad kasutusjuhud. Nt dockeri puhul võime ka täpselt ette anda sertifikaatide asukohad ja käsu dockeri sees nginxi restardiks&lt;br /&gt;
&lt;br /&gt;
 acme.sh --install-cert -d test.org  \&lt;br /&gt;
   --cert-file      /apps/myapp/certs/cert.pem \&lt;br /&gt;
   --key-file       /apps/myapp/certs/key.pem  \&lt;br /&gt;
   --reloadcmd     &amp;quot;docker-compose -f /apps/myapp/docker-compose.yml exec wen nginx -t reload&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Wildcard domeeni jaoks sertifikaadi tekitamiseks&lt;br /&gt;
&lt;br /&gt;
 acme.sh  --issue -d example.com  -d &#039;*.example.com&#039;  --dns dns_cf&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Let%27s_Encrypt&amp;diff=31006</id>
		<title>Let&#039;s Encrypt</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Let%27s_Encrypt&amp;diff=31006"/>
		<updated>2021-01-14T09:19:26Z</updated>

		<summary type="html">&lt;p&gt;Jj: /* Sissejuhatus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Lets encrypt on teenus mis pakub tasuta popup-free sertifikaate. See loodi 2016 ning selle taga on ettevõtted nagu Akamai, Cisco, Mozilla ning mitmed sõltumatud eraisikud.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s Encrypt kasutab oma tööks ACME ehk Automatic Certificate Management Environment protokolli, mille&lt;br /&gt;
abil saab tellida sertifikaate täisautomaatselt. Selle töö näeb välja umbkaudu järgnev&lt;br /&gt;
&lt;br /&gt;
#. Tarkvara genereerib võtme ja sertifikaadipäringu&lt;br /&gt;
#. Sertifikaadipäring allkirjastatakse ja saadetakse lets encrypt API-le&lt;br /&gt;
#. Lets encrypt server teeb valideerimise päringu domeeni vastu, millele sertifikaati taodeldakse, kus ta kontrollib http://domeen.ee/.well-known/acme-challenge/{token} olemasolu ja vastavust&lt;br /&gt;
#. Sertifikaadid genereeritakse ja laetakse automaatselt letsencrypti juurest alla serverisse&lt;br /&gt;
&lt;br /&gt;
Sertifikaadid kehtivad vaid 90 päeva.&lt;br /&gt;
&lt;br /&gt;
===Paigadus debiani ja apachega===&lt;br /&gt;
&lt;br /&gt;
Kui virtualhost on juba seadistatud on paigaldus väga lihtne, tuleb esiteks installida cerbot ja selle apache moodul&lt;br /&gt;
&lt;br /&gt;
 # apt install python-certbot-apache&lt;br /&gt;
&lt;br /&gt;
Ning seejärel küsida domeeni&lt;br /&gt;
&lt;br /&gt;
 # certbot --apache -d zoo.tartu.ee&lt;br /&gt;
&lt;br /&gt;
Viimane käsk on võimeline juba ise tuvastama serveri seadistuse, tekitama sobivasse kohta vajaliku võtme ning asendama virtualhostis ka varasemad sertifikaadid&lt;br /&gt;
&lt;br /&gt;
===Paigaldus certbotiga nginx puhul===&lt;br /&gt;
&lt;br /&gt;
Installime CentOSis epel release ja cerboti&lt;br /&gt;
&lt;br /&gt;
 yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm&lt;br /&gt;
 yum install certbot &lt;br /&gt;
&lt;br /&gt;
Tekitame nginx confi &lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/nginx/default.d/letsencrypt.conf&lt;br /&gt;
     location /.well-known {&lt;br /&gt;
         root /srv/letsencrypt;&lt;br /&gt;
     }&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
Tekitame cerboti kausta&lt;br /&gt;
&lt;br /&gt;
 # mkdir /srv/letsencrypt/&lt;br /&gt;
&lt;br /&gt;
Tekitame cerboti konfi&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /srv/letsencrypt/letsencrypt.ini&lt;br /&gt;
 agree-tos&lt;br /&gt;
 email = info@zoo.tartu.ee&lt;br /&gt;
 &lt;br /&gt;
 authenticator = webroot&lt;br /&gt;
 webroot-path = /opt/letsencrypt&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
Stardine nginxi&lt;br /&gt;
&lt;br /&gt;
 # systemctl start nginx&lt;br /&gt;
 # systemctl enable nginx&lt;br /&gt;
&lt;br /&gt;
Küsime sertifikaadi&lt;br /&gt;
&lt;br /&gt;
 # certbot certonly -n -c /srv/letsencrypt/letsencrypt.ini -d zoo.tartu.ee&lt;br /&gt;
&lt;br /&gt;
Automaatseks uuendamiseks võib tekitada cron faili /etc/cron.d/letsencrypt&lt;br /&gt;
&lt;br /&gt;
 MAILTO=info@zoo.tartu.ee&lt;br /&gt;
 11 2 1 * * root /usr/bin/certbot certonly -n -c /srv/letsencrypt/letsencrypt.ini -d zoo.tartu.ee &amp;amp;&amp;amp; /usr/bin/systemctl restart nginx&lt;br /&gt;
&lt;br /&gt;
===Paigaldus Acme skriptiga===&lt;br /&gt;
&lt;br /&gt;
Veebiserveri ettevalmistus. Nagu ülal kirjutatud siis vajab letsencrypt võimalust valideerida kasutaja õigust domeenile. Selleks tuleb veebiserverisse seadistada ligipääs&lt;br /&gt;
letsencrypti genereeritud tokenile. Nginxi korral tuleb tekitada järgnev konstruktsioon&lt;br /&gt;
&lt;br /&gt;
 location /.well-known/acme-challenge/ {&lt;br /&gt;
     root /var/www/certbot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Tõmbame vajaliku skripti alla ja paneme käima&lt;br /&gt;
&lt;br /&gt;
 curl https://get.acme.sh | sh&lt;br /&gt;
&lt;br /&gt;
See paigaldab ka croni töö mis tegeleb sertifikaatide uuendamisega.&lt;br /&gt;
&lt;br /&gt;
Küsime endale sertifikaadi&lt;br /&gt;
&lt;br /&gt;
 acme.sh --issue -d test.org -w /var/www/certbot&lt;br /&gt;
&lt;br /&gt;
Keerukamad kasutusjuhud. Nt dockeri puhul võime ka täpselt ette anda sertifikaatide asukohad ja käsu dockeri sees nginxi restardiks&lt;br /&gt;
&lt;br /&gt;
 acme.sh --install-cert -d test.org  \&lt;br /&gt;
   --cert-file      /apps/myapp/certs/cert.pem \&lt;br /&gt;
   --key-file       /apps/myapp/certs/key.pem  \&lt;br /&gt;
   --reloadcmd     &amp;quot;docker-compose -f /apps/myapp/docker-compose.yml exec wen nginx -t reload&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Wildcard domeeni jaoks sertifikaadi tekitamiseks&lt;br /&gt;
&lt;br /&gt;
 acme.sh  --issue -d example.com  -d &#039;*.example.com&#039;  --dns dns_cf&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Let%27s_Encrypt&amp;diff=31005</id>
		<title>Let&#039;s Encrypt</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Let%27s_Encrypt&amp;diff=31005"/>
		<updated>2021-01-14T09:17:57Z</updated>

		<summary type="html">&lt;p&gt;Jj: /* Paigaldus certbotiga */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Lets encrypt on teenus mis pakub tasuta popup-free sertifikaate. See loodi 2016 ning selle taga on ettevõtted nagu Akamai, Cisco, Mozilla ning mitmed sõltumatud eraisikud.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s Encrypt kasutab oma tööks ACME ehk Automatic Certificate Management Environment protokolli, mille&lt;br /&gt;
abil saab tellida sertifikaate täisautomaatselt. Selle töö näeb välja umbkaudu järgnev&lt;br /&gt;
&lt;br /&gt;
#. Tarkvara genereerib võtme ja sertifikaadipäringu&lt;br /&gt;
#. Sertifikaadipäring allkirjastatakse ja saadetakse lets encrypt API-le&lt;br /&gt;
#. Lets encrypt server teeb valideerimise päringu domeeni vastu, millele sertifikaati taodeldakse, kus ta kontrollib http://domeen.ee/.well-known/acme-challenge/{token} olemasolu ja vastavust&lt;br /&gt;
#. Sertifikaadid genereeritakse ja laetakse automaatselt letsencrypti juurest alla serverisse&lt;br /&gt;
&lt;br /&gt;
Sertifikaadid kehtivad vaid 90 päeva. &lt;br /&gt;
&lt;br /&gt;
===Paigaldus certbotiga nginx puhul===&lt;br /&gt;
&lt;br /&gt;
Installime CentOSis epel release ja cerboti&lt;br /&gt;
&lt;br /&gt;
 yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm&lt;br /&gt;
 yum install certbot &lt;br /&gt;
&lt;br /&gt;
Tekitame nginx confi &lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/nginx/default.d/letsencrypt.conf&lt;br /&gt;
     location /.well-known {&lt;br /&gt;
         root /srv/letsencrypt;&lt;br /&gt;
     }&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
Tekitame cerboti kausta&lt;br /&gt;
&lt;br /&gt;
 # mkdir /srv/letsencrypt/&lt;br /&gt;
&lt;br /&gt;
Tekitame cerboti konfi&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /srv/letsencrypt/letsencrypt.ini&lt;br /&gt;
 agree-tos&lt;br /&gt;
 email = info@zoo.tartu.ee&lt;br /&gt;
 &lt;br /&gt;
 authenticator = webroot&lt;br /&gt;
 webroot-path = /opt/letsencrypt&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
Stardine nginxi&lt;br /&gt;
&lt;br /&gt;
 # systemctl start nginx&lt;br /&gt;
 # systemctl enable nginx&lt;br /&gt;
&lt;br /&gt;
Küsime sertifikaadi&lt;br /&gt;
&lt;br /&gt;
 # certbot certonly -n -c /srv/letsencrypt/letsencrypt.ini -d zoo.tartu.ee&lt;br /&gt;
&lt;br /&gt;
Automaatseks uuendamiseks võib tekitada cron faili /etc/cron.d/letsencrypt&lt;br /&gt;
&lt;br /&gt;
 MAILTO=info@zoo.tartu.ee&lt;br /&gt;
 11 2 1 * * root /usr/bin/certbot certonly -n -c /srv/letsencrypt/letsencrypt.ini -d zoo.tartu.ee &amp;amp;&amp;amp; /usr/bin/systemctl restart nginx&lt;br /&gt;
&lt;br /&gt;
===Paigaldus Acme skriptiga===&lt;br /&gt;
&lt;br /&gt;
Veebiserveri ettevalmistus. Nagu ülal kirjutatud siis vajab letsencrypt võimalust valideerida kasutaja õigust domeenile. Selleks tuleb veebiserverisse seadistada ligipääs&lt;br /&gt;
letsencrypti genereeritud tokenile. Nginxi korral tuleb tekitada järgnev konstruktsioon&lt;br /&gt;
&lt;br /&gt;
 location /.well-known/acme-challenge/ {&lt;br /&gt;
     root /var/www/certbot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Tõmbame vajaliku skripti alla ja paneme käima&lt;br /&gt;
&lt;br /&gt;
 curl https://get.acme.sh | sh&lt;br /&gt;
&lt;br /&gt;
See paigaldab ka croni töö mis tegeleb sertifikaatide uuendamisega.&lt;br /&gt;
&lt;br /&gt;
Küsime endale sertifikaadi&lt;br /&gt;
&lt;br /&gt;
 acme.sh --issue -d test.org -w /var/www/certbot&lt;br /&gt;
&lt;br /&gt;
Keerukamad kasutusjuhud. Nt dockeri puhul võime ka täpselt ette anda sertifikaatide asukohad ja käsu dockeri sees nginxi restardiks&lt;br /&gt;
&lt;br /&gt;
 acme.sh --install-cert -d test.org  \&lt;br /&gt;
   --cert-file      /apps/myapp/certs/cert.pem \&lt;br /&gt;
   --key-file       /apps/myapp/certs/key.pem  \&lt;br /&gt;
   --reloadcmd     &amp;quot;docker-compose -f /apps/myapp/docker-compose.yml exec wen nginx -t reload&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Wildcard domeeni jaoks sertifikaadi tekitamiseks&lt;br /&gt;
&lt;br /&gt;
 acme.sh  --issue -d example.com  -d &#039;*.example.com&#039;  --dns dns_cf&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=SPF_kasutamine_Postfixiga&amp;diff=31001</id>
		<title>SPF kasutamine Postfixiga</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=SPF_kasutamine_Postfixiga&amp;diff=31001"/>
		<updated>2020-11-16T14:24:25Z</updated>

		<summary type="html">&lt;p&gt;Jj: /* Kasulikud lisamaterjalid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Sissejuhatus=&lt;br /&gt;
&lt;br /&gt;
SPF http://www.openspf.org/ ...&lt;br /&gt;
&lt;br /&gt;
SPF kontroll käib &#039;&#039;&#039;ümbriku&#039;&#039;&#039; saatja (envelope from) pihta (ehk siis kirja body sees olev From).&lt;br /&gt;
&lt;br /&gt;
SPF on Sender Policy Framework, mis peaks koostöös [[DKIM_ja_DMARC | DKIM ja DMARCiga]] tänapäevaste meetoditega võitlema spämmi saatmise vastu.&lt;br /&gt;
&lt;br /&gt;
SPF töötab kirja VASTUVÕTVA postiserveris ja kontrollib saatja domeeni ja kirja saatnud e-posti serveri vastavust.&lt;br /&gt;
&lt;br /&gt;
SPF on TXT nimekirje nimeserveris ja koosneb:&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;v=spf1 a mx -all&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== TXT kirje komponendid == &lt;br /&gt;
* v= - versioon, hetkel ainuke valiidne spf1&lt;br /&gt;
* [a mx ... jne] - määrab ära, kes võib kirja saata&lt;br /&gt;
* -all - vt piirangud&lt;br /&gt;
&lt;br /&gt;
== kirjasaatja võimalused ==&lt;br /&gt;
* a - lubab kirjasaatmise domeeni A kirjelt (dünaamiline, st muutes A kirjet kehtib SPF reegel edasi)&lt;br /&gt;
* mx - lubab kirjasaatmise domeeni MX kirjelt (dünaamiline, st muutes MX kirjet kehtib SPF reegel edasi)&lt;br /&gt;
* include:_spf.protection.uusdomeen.ee - includeb _spf.protection.uusdomeen.ee kirje sinu kirje sisse (samuti dünaamiline, kuna selle kirje muutumisel muutub ka sinu kirje)&lt;br /&gt;
* 193.40.0.2/32 - võid kasutada IPd ja/või vahemikku kirjasaatmise lubamisel&lt;br /&gt;
&lt;br /&gt;
== Piirangud ==&lt;br /&gt;
* -all - range &amp;quot;fail&amp;quot; - keela kõik ülejäänud&lt;br /&gt;
* ~all - pehmem &amp;quot;softfail&amp;quot; - hoiata kirjasaajat ja suhtu ettevaatlikkusega&lt;br /&gt;
* ?all - veelpehmem &amp;quot;neutral&amp;quot; - neutraalne olek, suhtutakse samamoodi nagu SPF kirjet &amp;quot;ei oleks&amp;quot;&lt;br /&gt;
* +all - vägapehme &amp;quot;pass&amp;quot; - SPF kirje küll on, aga lase kõik teised ka läbi&lt;br /&gt;
&lt;br /&gt;
=Tarkvara paigaldamine=&lt;br /&gt;
&lt;br /&gt;
SPF tarkvara paigaldamiseks sobib öelda&lt;br /&gt;
&lt;br /&gt;
 # apt-get install postfix-policyd-spf-python&lt;br /&gt;
&lt;br /&gt;
=Nimesüsteemi ettevalmistamine=&lt;br /&gt;
&lt;br /&gt;
spf.py skriptiga saab testida SPF DNS TXT kirjet, nt selliselt&lt;br /&gt;
&lt;br /&gt;
* küsida domeeni SPF andmeid&lt;br /&gt;
&lt;br /&gt;
 $ python /usr/share/pyshared/spf.py loomaaed.tartu.ee&lt;br /&gt;
 v=spf1 ip4:192.168.10.0/24 mx a:mail.loomaaed.tartu.ee ~all&lt;br /&gt;
&lt;br /&gt;
* Testida ettenäidatud SPF andmetele vastavalt tulemust&lt;br /&gt;
&lt;br /&gt;
 $ python /usr/share/pyshared/spf.py &amp;quot;v=spf1 +mx +ip4:10.0.0.2 -all&amp;quot; 10.0.0.1 mart@loomaaed.tartu.ee a&lt;br /&gt;
 (&#039;fail&#039;, 550, &#039;SPF fail - not authorized&#039;) -all&lt;br /&gt;
&lt;br /&gt;
==null SPF kirjed==&lt;br /&gt;
&lt;br /&gt;
 www.loomaaed.tartu.ee.   IN  TXT  &amp;quot;v=spf1 -all&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==SPF seadistamine kirju vastuvõtva Postfixi juures==&lt;br /&gt;
&lt;br /&gt;
Kirju vastuvõtva Postfixi juures juhib SPF tööd seadistusfail /etc/postfix-policyd-spf-python/policyd-spf.conf, mille sisu on vaikimisi selline ja võiks üldiselt sobida kasutamiseks&lt;br /&gt;
&lt;br /&gt;
 # cat /etc/postfix-policyd-spf-python/policyd-spf.conf&lt;br /&gt;
 debugLevel = 1&lt;br /&gt;
 defaultSeedOnly = 1&lt;br /&gt;
 &lt;br /&gt;
 HELO_reject = SPF_Not_Pass&lt;br /&gt;
 Mail_From_reject = Fail&lt;br /&gt;
 &lt;br /&gt;
 PermError_reject = False&lt;br /&gt;
 TempError_Defer = False &lt;br /&gt;
 &lt;br /&gt;
 skip_addresses = 127.0.0.0/8,::ffff:127.0.0.0//104,::1//128&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* debugLevel - määrab mail.log faili logi kirjutamise määra&lt;br /&gt;
* defaultSeedOnly - väärtus 0 kasutamisel posti liiklust SPF ei muuda, kuid kirjadele lisatakse vastavad päised&lt;br /&gt;
* HELO_reject - &lt;br /&gt;
* Mail_From_reject - &lt;br /&gt;
* PermError_reject - kontrollib, mida teha, kui vasvata SPF TXT nimekirje lahendamisel saadakse vastuseks katkine kirje, nt kirjes esineb süntaksiviga; False puhul käsitletakse sellist olukorda samaväärselt kirje puudumisega&lt;br /&gt;
&lt;br /&gt;
 action=prepend Received-SPF: Permerror (SPF Permanent Error: Invalid IP4 address: ip4:1.2.3.4.5)&lt;br /&gt;
&lt;br /&gt;
* TempErrorDefer - kontrollib, mida teha kui, kui vasvata SPF TXT nimekirje lahendamine ei õnnestu, nt vastavalt nimeserverilt ei saada vastust; False puhul käsitletakse sellist olukorda samaväärselt kirje puudumisega&lt;br /&gt;
&lt;br /&gt;
 action=defer_if_permit Message deferred due to: SPF Temporary Error: DNS no working nameservers found.&lt;br /&gt;
&lt;br /&gt;
Kasulikud lisamaterjalid&lt;br /&gt;
&lt;br /&gt;
* man policyd-spf.conf&lt;br /&gt;
&lt;br /&gt;
=SPF testimine=&lt;br /&gt;
&lt;br /&gt;
Öelda&lt;br /&gt;
&lt;br /&gt;
 $ python /usr/bin/policyd-spf /etc/postfix-policyd-spf-python/policyd-spf.conf &amp;lt; /tmp/sisend&lt;br /&gt;
 action=prepend Received-SPF: None (no SPF record) identity=mailfrom; \&lt;br /&gt;
   client-ip=192.168.0.1; helo=mail.loomaaed.tartu.ee; envelope-from=mart@loomaaed.tartu.ee; receiver=priit@eesti.ee&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
 $ cat /tmp/sisend&lt;br /&gt;
 request=smtpd_access_policy&lt;br /&gt;
 protocol_state=RCPT&lt;br /&gt;
 protocol_name=SMTP&lt;br /&gt;
 helo_name=mail.loomaaed.tartu.ee&lt;br /&gt;
 sender=mart@loomaaed.tartu.ee&lt;br /&gt;
 recipient=priit@eesti.ee&lt;br /&gt;
 client_address=192.168.0.1&lt;br /&gt;
 TÜHI RIDA JA REA LÕPUS REAVAHETUS&lt;br /&gt;
&lt;br /&gt;
=Postfixi seadmistamine=&lt;br /&gt;
&lt;br /&gt;
Seadista main.cfi&lt;br /&gt;
 # postfix-spf kasutamine&lt;br /&gt;
 policy-spf_time_limit = 3600s&lt;br /&gt;
&lt;br /&gt;
ja muutujasse&lt;br /&gt;
&lt;br /&gt;
 smtpd_recipient_restrictions=&lt;br /&gt;
&lt;br /&gt;
lisa väärtus&lt;br /&gt;
 check_policy_service unix:private/policy-spf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB! policy-spf peab kattuma sellega, mida kasutad master.cf failis!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
master.cf täienda järgnevalt&lt;br /&gt;
&lt;br /&gt;
 # SPF reeglid&lt;br /&gt;
 policy-spf  unix  -       n       n       -       0       spawn&lt;br /&gt;
     user=nobody argv=/usr/bin/policyd-spf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Süsteemi kasutamine=&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=SRS=&lt;br /&gt;
&lt;br /&gt;
Sender Rewrite Scheme&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
* TODO&lt;br /&gt;
&lt;br /&gt;
=Kasulikud lisamaterjalid=&lt;br /&gt;
&lt;br /&gt;
* [[:Postfix]]&lt;br /&gt;
* http://www.postfix.org/SMTPD_POLICY_README.html&lt;br /&gt;
* [[:Spam]]&lt;br /&gt;
* http://en.wikipedia.org/wiki/Sender_Policy_Framework&lt;br /&gt;
* http://en.wikipedia.org/wiki/Sender_Rewriting_Scheme&lt;br /&gt;
* http://www.rfc-editor.org/rfc/rfc4408.txt&lt;br /&gt;
* http://homepage.ntlworld.com./jonathan.deboynepollard/Proposals/IM2000/&lt;br /&gt;
* http://www.openspf.org/SRS&lt;br /&gt;
* https://www.sidn.nl/en/news-and-blogs/hands-on-implementing-spf-dkim-and-dmarc-in-postfix&lt;br /&gt;
* https://domainaware.github.io/parsedmarc/ raportitest graafikute joonistaja&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=SPF_kasutamine_Postfixiga&amp;diff=31000</id>
		<title>SPF kasutamine Postfixiga</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=SPF_kasutamine_Postfixiga&amp;diff=31000"/>
		<updated>2020-11-16T14:23:48Z</updated>

		<summary type="html">&lt;p&gt;Jj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Sissejuhatus=&lt;br /&gt;
&lt;br /&gt;
SPF http://www.openspf.org/ ...&lt;br /&gt;
&lt;br /&gt;
SPF kontroll käib &#039;&#039;&#039;ümbriku&#039;&#039;&#039; saatja (envelope from) pihta (ehk siis kirja body sees olev From).&lt;br /&gt;
&lt;br /&gt;
SPF on Sender Policy Framework, mis peaks koostöös [[DKIM_ja_DMARC | DKIM ja DMARCiga]] tänapäevaste meetoditega võitlema spämmi saatmise vastu.&lt;br /&gt;
&lt;br /&gt;
SPF töötab kirja VASTUVÕTVA postiserveris ja kontrollib saatja domeeni ja kirja saatnud e-posti serveri vastavust.&lt;br /&gt;
&lt;br /&gt;
SPF on TXT nimekirje nimeserveris ja koosneb:&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;v=spf1 a mx -all&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== TXT kirje komponendid == &lt;br /&gt;
* v= - versioon, hetkel ainuke valiidne spf1&lt;br /&gt;
* [a mx ... jne] - määrab ära, kes võib kirja saata&lt;br /&gt;
* -all - vt piirangud&lt;br /&gt;
&lt;br /&gt;
== kirjasaatja võimalused ==&lt;br /&gt;
* a - lubab kirjasaatmise domeeni A kirjelt (dünaamiline, st muutes A kirjet kehtib SPF reegel edasi)&lt;br /&gt;
* mx - lubab kirjasaatmise domeeni MX kirjelt (dünaamiline, st muutes MX kirjet kehtib SPF reegel edasi)&lt;br /&gt;
* include:_spf.protection.uusdomeen.ee - includeb _spf.protection.uusdomeen.ee kirje sinu kirje sisse (samuti dünaamiline, kuna selle kirje muutumisel muutub ka sinu kirje)&lt;br /&gt;
* 193.40.0.2/32 - võid kasutada IPd ja/või vahemikku kirjasaatmise lubamisel&lt;br /&gt;
&lt;br /&gt;
== Piirangud ==&lt;br /&gt;
* -all - range &amp;quot;fail&amp;quot; - keela kõik ülejäänud&lt;br /&gt;
* ~all - pehmem &amp;quot;softfail&amp;quot; - hoiata kirjasaajat ja suhtu ettevaatlikkusega&lt;br /&gt;
* ?all - veelpehmem &amp;quot;neutral&amp;quot; - neutraalne olek, suhtutakse samamoodi nagu SPF kirjet &amp;quot;ei oleks&amp;quot;&lt;br /&gt;
* +all - vägapehme &amp;quot;pass&amp;quot; - SPF kirje küll on, aga lase kõik teised ka läbi&lt;br /&gt;
&lt;br /&gt;
=Tarkvara paigaldamine=&lt;br /&gt;
&lt;br /&gt;
SPF tarkvara paigaldamiseks sobib öelda&lt;br /&gt;
&lt;br /&gt;
 # apt-get install postfix-policyd-spf-python&lt;br /&gt;
&lt;br /&gt;
=Nimesüsteemi ettevalmistamine=&lt;br /&gt;
&lt;br /&gt;
spf.py skriptiga saab testida SPF DNS TXT kirjet, nt selliselt&lt;br /&gt;
&lt;br /&gt;
* küsida domeeni SPF andmeid&lt;br /&gt;
&lt;br /&gt;
 $ python /usr/share/pyshared/spf.py loomaaed.tartu.ee&lt;br /&gt;
 v=spf1 ip4:192.168.10.0/24 mx a:mail.loomaaed.tartu.ee ~all&lt;br /&gt;
&lt;br /&gt;
* Testida ettenäidatud SPF andmetele vastavalt tulemust&lt;br /&gt;
&lt;br /&gt;
 $ python /usr/share/pyshared/spf.py &amp;quot;v=spf1 +mx +ip4:10.0.0.2 -all&amp;quot; 10.0.0.1 mart@loomaaed.tartu.ee a&lt;br /&gt;
 (&#039;fail&#039;, 550, &#039;SPF fail - not authorized&#039;) -all&lt;br /&gt;
&lt;br /&gt;
==null SPF kirjed==&lt;br /&gt;
&lt;br /&gt;
 www.loomaaed.tartu.ee.   IN  TXT  &amp;quot;v=spf1 -all&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==SPF seadistamine kirju vastuvõtva Postfixi juures==&lt;br /&gt;
&lt;br /&gt;
Kirju vastuvõtva Postfixi juures juhib SPF tööd seadistusfail /etc/postfix-policyd-spf-python/policyd-spf.conf, mille sisu on vaikimisi selline ja võiks üldiselt sobida kasutamiseks&lt;br /&gt;
&lt;br /&gt;
 # cat /etc/postfix-policyd-spf-python/policyd-spf.conf&lt;br /&gt;
 debugLevel = 1&lt;br /&gt;
 defaultSeedOnly = 1&lt;br /&gt;
 &lt;br /&gt;
 HELO_reject = SPF_Not_Pass&lt;br /&gt;
 Mail_From_reject = Fail&lt;br /&gt;
 &lt;br /&gt;
 PermError_reject = False&lt;br /&gt;
 TempError_Defer = False &lt;br /&gt;
 &lt;br /&gt;
 skip_addresses = 127.0.0.0/8,::ffff:127.0.0.0//104,::1//128&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* debugLevel - määrab mail.log faili logi kirjutamise määra&lt;br /&gt;
* defaultSeedOnly - väärtus 0 kasutamisel posti liiklust SPF ei muuda, kuid kirjadele lisatakse vastavad päised&lt;br /&gt;
* HELO_reject - &lt;br /&gt;
* Mail_From_reject - &lt;br /&gt;
* PermError_reject - kontrollib, mida teha, kui vasvata SPF TXT nimekirje lahendamisel saadakse vastuseks katkine kirje, nt kirjes esineb süntaksiviga; False puhul käsitletakse sellist olukorda samaväärselt kirje puudumisega&lt;br /&gt;
&lt;br /&gt;
 action=prepend Received-SPF: Permerror (SPF Permanent Error: Invalid IP4 address: ip4:1.2.3.4.5)&lt;br /&gt;
&lt;br /&gt;
* TempErrorDefer - kontrollib, mida teha kui, kui vasvata SPF TXT nimekirje lahendamine ei õnnestu, nt vastavalt nimeserverilt ei saada vastust; False puhul käsitletakse sellist olukorda samaväärselt kirje puudumisega&lt;br /&gt;
&lt;br /&gt;
 action=defer_if_permit Message deferred due to: SPF Temporary Error: DNS no working nameservers found.&lt;br /&gt;
&lt;br /&gt;
Kasulikud lisamaterjalid&lt;br /&gt;
&lt;br /&gt;
* man policyd-spf.conf&lt;br /&gt;
&lt;br /&gt;
=SPF testimine=&lt;br /&gt;
&lt;br /&gt;
Öelda&lt;br /&gt;
&lt;br /&gt;
 $ python /usr/bin/policyd-spf /etc/postfix-policyd-spf-python/policyd-spf.conf &amp;lt; /tmp/sisend&lt;br /&gt;
 action=prepend Received-SPF: None (no SPF record) identity=mailfrom; \&lt;br /&gt;
   client-ip=192.168.0.1; helo=mail.loomaaed.tartu.ee; envelope-from=mart@loomaaed.tartu.ee; receiver=priit@eesti.ee&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
 $ cat /tmp/sisend&lt;br /&gt;
 request=smtpd_access_policy&lt;br /&gt;
 protocol_state=RCPT&lt;br /&gt;
 protocol_name=SMTP&lt;br /&gt;
 helo_name=mail.loomaaed.tartu.ee&lt;br /&gt;
 sender=mart@loomaaed.tartu.ee&lt;br /&gt;
 recipient=priit@eesti.ee&lt;br /&gt;
 client_address=192.168.0.1&lt;br /&gt;
 TÜHI RIDA JA REA LÕPUS REAVAHETUS&lt;br /&gt;
&lt;br /&gt;
=Postfixi seadmistamine=&lt;br /&gt;
&lt;br /&gt;
Seadista main.cfi&lt;br /&gt;
 # postfix-spf kasutamine&lt;br /&gt;
 policy-spf_time_limit = 3600s&lt;br /&gt;
&lt;br /&gt;
ja muutujasse&lt;br /&gt;
&lt;br /&gt;
 smtpd_recipient_restrictions=&lt;br /&gt;
&lt;br /&gt;
lisa väärtus&lt;br /&gt;
 check_policy_service unix:private/policy-spf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB! policy-spf peab kattuma sellega, mida kasutad master.cf failis!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
master.cf täienda järgnevalt&lt;br /&gt;
&lt;br /&gt;
 # SPF reeglid&lt;br /&gt;
 policy-spf  unix  -       n       n       -       0       spawn&lt;br /&gt;
     user=nobody argv=/usr/bin/policyd-spf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Süsteemi kasutamine=&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=SRS=&lt;br /&gt;
&lt;br /&gt;
Sender Rewrite Scheme&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=Märkused=&lt;br /&gt;
&lt;br /&gt;
* TODO&lt;br /&gt;
&lt;br /&gt;
=Kasulikud lisamaterjalid=&lt;br /&gt;
&lt;br /&gt;
* [[:Postfix]]&lt;br /&gt;
* http://www.postfix.org/SMTPD_POLICY_README.html&lt;br /&gt;
* [[:Spam]]&lt;br /&gt;
* http://en.wikipedia.org/wiki/Sender_Policy_Framework&lt;br /&gt;
* http://en.wikipedia.org/wiki/Sender_Rewriting_Scheme&lt;br /&gt;
* http://www.rfc-editor.org/rfc/rfc4408.txt&lt;br /&gt;
* http://homepage.ntlworld.com./jonathan.deboynepollard/Proposals/IM2000/&lt;br /&gt;
* http://www.openspf.org/SRS&lt;br /&gt;
* https://www.sidn.nl/en/news-and-blogs/hands-on-implementing-spf-dkim-and-dmarc-in-postfix&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=DKIM_ja_DMARC&amp;diff=30999</id>
		<title>DKIM ja DMARC</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=DKIM_ja_DMARC&amp;diff=30999"/>
		<updated>2020-11-12T09:05:46Z</updated>

		<summary type="html">&lt;p&gt;Jj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DKIM ja DMARC on kaks venda kolmest (kolmas on SPF, millel on eraldi peatükk [[SPF_kasutamine_Postfixiga]]), mida loetakse tänapäeva moodsa e-mailinduse kaitsjateks.&lt;br /&gt;
&lt;br /&gt;
DKIM tähendab DomainKeys Identified Mail&lt;br /&gt;
DMARC tähendab Domain-based Message Authentication Reporting and Conformance&lt;br /&gt;
&lt;br /&gt;
Näites on kasutatud Arch Linuxit, Postfixi ja OpenDKIM ja OpenDMARC tarkvarasid.&lt;br /&gt;
Eeldatud on, et Postfix on juba esialgselt seadistatud.&lt;br /&gt;
&lt;br /&gt;
= DKIM =&lt;br /&gt;
DKIM mõte on selles, et väljuvatele kirjadele pannakse päisesse lisainformatsioon kirja allkirjastamise kohta. Käesoleval hetkel kasutatakse RSA võtmeid (vaikimisi 1024bit). Väga suuri võtmeid ei soovitata kasutada, kuna avalik võti ei pruugi ära mahtuda UDP vastusesse*. Lisaks võib suurem võti põhjustada suurt koormust arvuti protsessorile (olenevalt muidugi kirjade &amp;quot;käibest&amp;quot;/mahust).&lt;br /&gt;
&lt;br /&gt;
DKIM seadistamisel on alustuseks vaja DKIMi takrvara seadistada ja seejärel nimeserverisse lisada oma domeenile TXT kirje (kui soovid ise ka allkirjastama hakata väljuvaid kirju).&lt;br /&gt;
TXT kirje peab olema kujul: selector._domainkey.uusdomeen.ee ja selle sisu&lt;br /&gt;
 &amp;quot;v=DKIM1; k=rsa; s=email;&amp;quot; &amp;quot;p=avalik võti base64 encodingus&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; - Siit tuleb ka välja UDP vastuse mõte - kuna DNS päringud on UDP, siis peab kogu TXT päring mahtuma UDP vastusesse ära.&lt;br /&gt;
&lt;br /&gt;
== TXT kirje komponendid ==&lt;br /&gt;
* v= - versioon, hetkel ainuke valiidne väärtus DKIM1&lt;br /&gt;
* k= - võtmetüüp, hetkel ainuke valiidne väärtus rsa&lt;br /&gt;
* s= - teenuse tüüp, vaikimisi on &amp;quot;*&amp;quot;, võimalik ka &amp;quot;email&amp;quot;&lt;br /&gt;
* p= - avalik võti base64 encodingus&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Lihtsam&amp;quot; kirjaviis oleks:&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;v=DKIM1; p=võti...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
DKIMi puhul lähtutakse kahest eraldi kirja mõlemast sektsioonist: header ja body. Mõlema jaoks on võimalik reegel kirjutada - kas range/leebe.&lt;br /&gt;
&lt;br /&gt;
== OpenDKIM seadistamine ==&lt;br /&gt;
&lt;br /&gt;
Paigalda DKIM tarkvara kasutades pakihaldust&lt;br /&gt;
&lt;br /&gt;
 pacman -Sy opendkim&lt;br /&gt;
&lt;br /&gt;
Tekib töötav konfiguratsioonifail&lt;br /&gt;
 /etc/opendkim/opendkim.conf&lt;br /&gt;
&lt;br /&gt;
Tutvu sellega ja seadista vastavalt.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguratsioon ===&lt;br /&gt;
&lt;br /&gt;
Vaikimisi töötab opendkim &#039;&#039;&#039;sign&#039;&#039;&#039; ja &#039;&#039;&#039;verify&#039;&#039;&#039; režiimis. Seda saad muuta Mode parameetriga:&lt;br /&gt;
* sv - sign + verify&lt;br /&gt;
* v - verify&lt;br /&gt;
* s - sign&lt;br /&gt;
Vaikimisi piisab verify režiimist, sellisel juhul valideeritakse ainult sissetulevaid kirju. Kui soovid ka oma domeene allkirjastada, pead kasutama sign režiimi lisaks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Verify&#039;&#039;&#039; töötab ilma lisaseadistuseta. Veendu vaid, et nimelahendus töötab. ;)&lt;br /&gt;
&lt;br /&gt;
Lisks on olulised konfiguratsiooniparameetrid &#039;&#039;&#039;SigningTable&#039;&#039;&#039;, &#039;&#039;&#039;KeyTable&#039;&#039;&#039; ja &#039;&#039;&#039;InternalHosts&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
* SigningTable - sisaldab saatjadomeeni ja võtme vastavust.&lt;br /&gt;
* KeyTable - sisaldab iga selectori ja domeeni paari ning privaatvõtme asukohta.&lt;br /&gt;
* InternalHosts - sisaldab domeene/IP-sid, millelt tulnud kirju signeeritakse (ülejäänusid ainult verifitseeritakse).&lt;br /&gt;
&lt;br /&gt;
Canonicalization määrab ära kuidas suhtutakse header/body muutumisse. Ehk siis vaikimisi on rangem režiim (&#039;&#039;&#039;simple/simple&#039;&#039;&#039;). See tähendab, et header/body puhul ei lubata peaaegu mingit ümberkirjutamist.&lt;br /&gt;
Soovitusi on kahtepidiseid, aga siin näites on arvestatud pigem sellega, et päiseid võib ümber kirjutada (&#039;&#039;&#039;relaxed&#039;&#039;&#039;) ja sisu mitte (&#039;&#039;&#039;simple&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
 # kirja header/body jaoks - väärtused simple või relaxed&lt;br /&gt;
 Canonicalization      relaxed/simple&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Socket või IP ===&lt;br /&gt;
Kui DKIMile tullakse ligi vaid kohalikust masinast, siis on mõistlik kasutada socketit.&lt;br /&gt;
IP peale konfigureerides pead veenduma, et sinna ei saa keegi võõras ligi (vastasel juhul saab ta sinna ju saata oma soovitud kirja allkirjastamiseks jmt &amp;quot;jubedusi&amp;quot; teha).&lt;br /&gt;
&lt;br /&gt;
Selle jaoks konfigureeri vastavalt soovile:&lt;br /&gt;
 #Socket                  inet:8891@localhost&lt;br /&gt;
 Socket			local:/run/opendkim/opendkim.sock&lt;br /&gt;
&lt;br /&gt;
Näites siis tehakse socket asukohta /run/opendkim/opendkim.sock&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB! Seda pead kasutama pärast ka Postfixi konfiguratsioonis.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selleks, et postfix saaks opendkimile ligi on soovituslik opendkim lisada postfix gruppi:&lt;br /&gt;
&lt;br /&gt;
 usermod -a -G postfix opendkim&lt;br /&gt;
&lt;br /&gt;
Sellisel juhul on vaja ka konfiguratsioonis umask paika panna (et socketi õigused oleksid rwxrwx---)&lt;br /&gt;
&lt;br /&gt;
 UMask  007&lt;br /&gt;
&lt;br /&gt;
== Uue allkirjastatava tsooni lisamine ==&lt;br /&gt;
&lt;br /&gt;
Lisa vajadusel InternalHost faili uus kirje.&lt;br /&gt;
&lt;br /&gt;
Tekita võtmete jaoks uus kaust (kui juba pole) ja sinna alla loodava domeeni jaoks kaust, näiteks:&lt;br /&gt;
&lt;br /&gt;
 mkdir -vp /etc/opendkim/keys/uusdomeen.ee&lt;br /&gt;
&lt;br /&gt;
Vaheta kausta&lt;br /&gt;
&lt;br /&gt;
 cd /etc/opendkim/keys/uusdomeen.ee&lt;br /&gt;
&lt;br /&gt;
ja tekita uus tsoon käsuga&lt;br /&gt;
&lt;br /&gt;
 opendkim-genkey --restrict --domain uusdomeen.ee --bits 1024 --selector default&lt;br /&gt;
&lt;br /&gt;
võid muuta väärtusi vastavalt vajadusele. Arvesta, et --bits on vaikimisi 1024. Kui kasutad konfis mingit muud MinimumKeyBits suurust, siis pead seda arvestama võtme loomisel.&lt;br /&gt;
&lt;br /&gt;
Seepeale tehakse sulle kaks faili (--selector argumendile vastavalt): nimeserveri jaoks TXT kirje ja privaatvõti (default.private ja default.txt).&lt;br /&gt;
&lt;br /&gt;
Muuda KeyTable faili, lisades sinna&lt;br /&gt;
&lt;br /&gt;
 default._domainkey.uusdomeen.ee uusdomeen.ee:default:/etc/opendkim/keys/uusdomeen.ee/default.private&lt;br /&gt;
&lt;br /&gt;
Muuda SigningTable faili, lisades sinna&lt;br /&gt;
&lt;br /&gt;
 uusdomeen.ee default._domainkey.uusdomeen.ee&lt;br /&gt;
&lt;br /&gt;
SigningTable faili puhul olen kohanud ka kirjapilti esimeses väljas *@uusdomeen.ee. Oleneb vist sellest, kas konfis on vaikimisi alamdomeenide allkirjastamine ka sees. Ülanäite puhul tehakse (kuna klapib), aga *@ näite puhul pigem mitte, sest et reegel kehtib vaid @uusdomeen.ee puhul (mitte @alamdomeen.uusdomeen.ee).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mõlema faili puhul arvesta oma domeeni ja selectori ja kaustapuuga! :)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Nüüd mine oma nimeserveri haldusesse (või palu seda kellelgi teha) ja täienda seda TXT kirjega:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default._domainkey.uusdomeen.ee	IN	TXT	( &amp;quot;v=DKIM1; k=rsa; s=email; &amp;quot;&lt;br /&gt;
	  &amp;quot;p=avalik_võti_base64_encodingus&amp;quot; )  ;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olen kohanud ka kirjapilti ilma jutumärkideta. Sellisel juhul peaks kogu kirje olema ilma. Selles näites on mõlemad osad omaette jutumärkidega.&lt;br /&gt;
&lt;br /&gt;
== Kirja näidispäised ==&lt;br /&gt;
Ühe DKIMi poolt allkirjastatud näidiskirja päisest võib leida&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DKIM-Filter: OpenDKIM Filter v2.10.3 mxfilter.uusdomeen.ee 861BF8005D&lt;br /&gt;
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=uusdomeen.ee;&lt;br /&gt;
	s=default; t=1570605036;&lt;br /&gt;
	bh=LQZPc7Ca6aVneKHX25GlrXx4Xtkwjb0tLZwuCasB0MU=;&lt;br /&gt;
	h=From:To:Subject:Date;&lt;br /&gt;
	b=e2QagT5U4OjBPjTA7sHdGDAMR9R/UilD6TOsXavn5C3Kg49mIMZXsYF6XF30U5uS3&lt;br /&gt;
	 uB6GRQZwZDQR6C3R1adTSW4qlgTN3eZzREm8DhNthDTG4nsmucOdSNYsFkQBuTgShJ&lt;br /&gt;
	 V5b/2kOyFAjEeiI9UqIf8gcy6F6uiJhOhKQLQG3Y=&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 h=From:To:Subject:Date;&lt;br /&gt;
Tunnetuslik selgitus hetkel, aga h= peaks näitama neid päiseid, mis olid olemas kirja allkirjastamise hetkel. RFC seletab keeruliselt?&lt;br /&gt;
&lt;br /&gt;
== Postfixiga integreerimine ==&lt;br /&gt;
&lt;br /&gt;
Lisa Postfixi main.cf&#039; faili&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# DKIM reeglid&lt;br /&gt;
smtpd_milters = unix:/run/opendkim/opendkim.sock&lt;br /&gt;
non_smtpd_milters=$smtpd_milters&lt;br /&gt;
milter_default_action = accept&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Probleemid DKIMiga ==&lt;br /&gt;
Kui kasutad rohkem kui ühte väljuvat e-postiserverit sama domeeni kirjade saatmiseks (nt mailchip või mõni muu masspostitustööriist vmt), siis peaksid seadistama kõigile DKIMi kasutamise. Vastasel juhul on osad kirjad varustatud DKIMi päisega ja osad mitte. Kuna aga su nimeserverist tuleb DKIMi vastus - mis osutub valideerimisel valeks - võib saaja kirja kas minema visata või karantiini või junki panna.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DKIMi võtmeid võib olla rohkem kui üks ja neid saad (pead) eraldada selektoriga!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= DMARC =&lt;br /&gt;
&lt;br /&gt;
DMARC (Domain-Based Message Authentication, Reporting &amp;amp; Conformance) on protokoll, mis ehitab ennast juba olemasolevate SPF ja DKIM protokollide peale lisades autori, domeeni nime, soovitused kirjade käitlemiseks ning võltskirjade eest kaitseks teated domeeni haldurile.&lt;br /&gt;
&lt;br /&gt;
DMARC seadistatakse analoogselt kahe vennaga nimeserveris ja selle ilmestamiseks on _dmarc.uusdomeen.ee TXT kirje sisuga:&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;v=DMARC1;p=reject;rua=&amp;lt;nowiki&amp;gt;mailto:dmarcreports@uusdomeen.ee&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
DMARC kontrollib &#039;&#039;&#039;kirja&#039;&#039;&#039; From: (header from) päist.&lt;br /&gt;
SPF kontroll käib aga &#039;&#039;&#039;ümbriku&#039;&#039;&#039; saatja (envelope from) pihta. Kui need domeenid erinevad ja kirjal DKIM allkirja pole, siis DMARC kontroll ebaõnnestub!&lt;br /&gt;
&lt;br /&gt;
== TXT kirje komponendid ==&lt;br /&gt;
* v= - versioon, hetkel ainuke valiidne väärtus DMARC1&lt;br /&gt;
* p= - policy/poliitika - soovitus, mida kirjadega teha&lt;br /&gt;
* rua, fo, rf, ri - vaata [[#Aruanded]] alampeatükki&lt;br /&gt;
&#039;&#039;&#039;NB! p= peab olema kohe peale v= parameetrit!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Aruanded ==&lt;br /&gt;
&lt;br /&gt;
DMARC reeglite poolt on võimalik nendelt e-posti serveritelt aruannete küsimine, kuhu kirju on saadetud.&lt;br /&gt;
&lt;br /&gt;
Aruannete (Raporting) kohta on neli väärtust TXT kirjes võimalik määrata:&lt;br /&gt;
&lt;br /&gt;
* fo= - mille kohta aruandeid saadetakse&lt;br /&gt;
* rf= - raporti formaat&lt;br /&gt;
* ri= - intervall kui tihti raportit saadetakse (vaikimisi 24h)24h).&lt;br /&gt;
* rua= - raporti saatmise aadress, forumaat &amp;lt;nowiki&amp;gt;mailto:dmarcreports@example.com&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB! rua domeen peaks olema samas domeenis!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== OpenDMARC seadistamine ==&lt;br /&gt;
&lt;br /&gt;
Paigalda pakihaldusest opendmarc pakk&lt;br /&gt;
&lt;br /&gt;
 pacman -Sy opendmarc&lt;br /&gt;
&lt;br /&gt;
Tekib töötav konfiguratsioonifail&lt;br /&gt;
&lt;br /&gt;
 /etc/opendkim/opendkim.conf&lt;br /&gt;
&lt;br /&gt;
=== Konfiguratsioon ===&lt;br /&gt;
Tutvu sellega ja seadista vastavalt. Soovituslik on example/esialgsed väärtused alles jätta.&lt;br /&gt;
Konfiguratsioon on piisavalt &#039;&#039;self-explanatory&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Selleks, et opendmarc tarkvara töötaks Postfixiga samas grupis oleks mõistlik seadistada opendmarc service käivitusel:&lt;br /&gt;
&lt;br /&gt;
 mkdir -vp /etc/systemd/system/opendmarc.service.d/&lt;br /&gt;
 cat &amp;gt; /systemd/system/opendmarc.service.d/override.conf &amp;lt;&amp;lt;EOT&lt;br /&gt;
 [Service]&lt;br /&gt;
 Group=&lt;br /&gt;
 Group=postfix&lt;br /&gt;
 EOT&lt;br /&gt;
&lt;br /&gt;
=== Socket või IP ===&lt;br /&gt;
Kui DMARCile tullakse ligi vaid kohalikust masinast, siis on mõistlik kasutada socketit.&lt;br /&gt;
&lt;br /&gt;
Selle jaoks konfigureeri vastavalt soovile:&lt;br /&gt;
&lt;br /&gt;
 # Socket inet:8893@localhost&lt;br /&gt;
 Socket unix:/run/opendmarc/opendmarc.sock&lt;br /&gt;
&lt;br /&gt;
Näites siis tehakse socket asukohta /run/opendmarc/opendmarc.sock&lt;br /&gt;
&lt;br /&gt;
NB! Seda pead kasutama pärast ka Postfixi konfiguratsioonis.&lt;br /&gt;
&lt;br /&gt;
Selleks, et postfix saaks opendkimile ligi on soovituslik opendkim lisada postfix gruppi:&lt;br /&gt;
&lt;br /&gt;
 usermod -a -G postfix opendkim&lt;br /&gt;
&lt;br /&gt;
Sellisel juhul on vaja ka konfiguratsioonis umask paika panna (et socketi õigused oleksid rwxrwx---)&lt;br /&gt;
&lt;br /&gt;
 UMask 007&lt;br /&gt;
&lt;br /&gt;
== Postfixiga integreerimine ==&lt;br /&gt;
&lt;br /&gt;
Vaata ka OpenDKIM Postfixiga integreerimine.&lt;br /&gt;
&lt;br /&gt;
Postfixi main.cf&#039; faili tuleb lisada&lt;br /&gt;
&lt;br /&gt;
 # DKIM reeglid&lt;br /&gt;
 smtpd_milters = unix:/run/opendmarc/opendmarc.sock&lt;br /&gt;
&lt;br /&gt;
Kui sul juba on olemas smtpd_milters muutuja, siis jäta opendkim ettepoole ja dmarc tahapoole.&lt;br /&gt;
&lt;br /&gt;
Veendu, et sul oleks seadistatud ka:&lt;br /&gt;
&lt;br /&gt;
 non_smtpd_milters=$smtpd_milters&lt;br /&gt;
 milter_default_action = accept&lt;br /&gt;
&lt;br /&gt;
= Lingid =&lt;br /&gt;
* Zone DKIM: https://help.zone.eu/kb/dkim/&lt;br /&gt;
* Zone DMARC: https://help.zone.eu/kb/dmarc-reeglid/&lt;br /&gt;
* OpenDMARC - http://www.trusteddomain.org/opendmarc/&lt;br /&gt;
* OpenDKIM - http://opendkim.org/&lt;br /&gt;
* DKIM RFC4871 - http://dkim.org/specs/rfc4871-dkimbase.html&lt;br /&gt;
* Abiks DMARC&#039;i seadistamisel - https://www.kitterman.com/dmarc/assistant.html&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Ruutiv_mitmeharuline_tulem%C3%BC%C3%BCr&amp;diff=30998</id>
		<title>Ruutiv mitmeharuline tulemüür</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Ruutiv_mitmeharuline_tulem%C3%BC%C3%BCr&amp;diff=30998"/>
		<updated>2020-11-10T08:12:33Z</updated>

		<summary type="html">&lt;p&gt;Jj: /* Lahendus ja pf.conf faili seadistus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Täienda}}&lt;br /&gt;
===Tulemüüri ja võrgu konseptsioon===&lt;br /&gt;
&lt;br /&gt;
On asutus Loomaaed mil domeen zoo.tartu.ee. Asutusele on ISP poolt&lt;br /&gt;
terve C klass IP aadresse. See on omakorda jagatud veel mitmeks eri võrguks.&lt;br /&gt;
On kontorivõrk, on serverite võrk, on majutatud serverite võrk (mitmesugused&lt;br /&gt;
hobi ja teadlaste projektid, loodusuurijate serverid ja loomade jälgimise kaamerad jms). Lisaks&lt;br /&gt;
kõigele sellele on olemas veel NATitud sisevõrk ning kasutust leiab uus&lt;br /&gt;
edumeelne protokoll IPV6.&lt;br /&gt;
&lt;br /&gt;
Asutusel on olemas server millel piisavalt CPU jõudlust ning kokku on masinas ülesannete&lt;br /&gt;
täitmiseks neli võrgukaarti.&lt;br /&gt;
&lt;br /&gt;
NB! Põhieesmärk on luua tulemüür mis eraldab võrke, roudib pakette ning blokeerib mustade&lt;br /&gt;
nimekirjade alusel halbu aadresse. Eelduseks on see, et kõigil serveritel&lt;br /&gt;
on juba olemas oma isiklik personaalne tulemüür kõhus.&lt;br /&gt;
&lt;br /&gt;
Vaja on mingisugust kontrollkihti reeglite ja kasutaja ette. Ehk siis kogematta tehtud näpuviga&lt;br /&gt;
ei hävitaks kogu meie serveriparki ja kontorit hoobilt. Näiteks mingi fireholi laadne wrapper ees on üsnagi hea kuna suudab vigase süntaksi tagasi tõrjuda enne kui iptablesi käskudeks selle moondab jms. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mõned ideed miks sedalaadi tulemüüri üldse vaja?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Annab koha kust lülitada „halbu“ aadresse välja.&lt;br /&gt;
*Võimaldab piirata kontori windows masinaid&lt;br /&gt;
*Võimaldab eraldada majutatud võrgu masinad kontorist&lt;br /&gt;
*Pakub keskpunkti load-balance tegemiseks&lt;br /&gt;
*Võimaldab kehtestada kiirusepiiranguid majutatud võrgule&lt;br /&gt;
*Annab NATitud sisevõrku läpakatele&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nõutavad tingimused tulemüüri tarkvarale&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Lihtne süntaks reeglite kirjutamiseks, või kirjutamise abivahend.&lt;br /&gt;
*Saaks kasutada lisaks filtreerimisele ka ruutimiseks&lt;br /&gt;
*Oleks maailmas piisavalt levinud (arendatud)&lt;br /&gt;
*Tasuta (võiks olla opensource ning aktiivne st suure kasutajatebaasiga ja aktiivses arenduses)&lt;br /&gt;
*Võimaldaks erinevaid (koormus ja võrguühenduste)graafikuid joonistada&lt;br /&gt;
*Peab olema võimeline hakkama saada suure hulga reeglitega ja massiivse hulga ühendustega. Näiteks&lt;br /&gt;
mingi 10 000 ühendust kogu serveripargile pole eriti ulmeline olukord millega tarkvara peab suutma hakkama saada ja seejuures mitte piduriks jääma. Vaja on, et lisaks reeglite töötlusele oskaks&lt;br /&gt;
tarkvara ka pakette kiirelt ruutida. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mõningad kaalutud tarkvaralised/riistvaralised lahendused ja esilekerkinud puudused&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Juniper – Liiga kallis raud (Garantiileping on kulukas ja ilma garantiita paha)&lt;br /&gt;
*Pfsense – Ilus aga puudus IPV6 tugi&lt;br /&gt;
*Checkpoint – kallis ja haldus liiga Windowsi sõbralik&lt;br /&gt;
*Haljas iptables – keeruline käsitsi kirjutada, vead kerged tekkima.&lt;br /&gt;
*Iptables ja Firehol – mitmesugused puudused (ipv6 puudus nt)&lt;br /&gt;
*Cisco – PIX liiga primitiivne ja erinevad haldusmoodulite hankimine taas kallis&lt;br /&gt;
&lt;br /&gt;
Packet Filter tundub lahendavat enamus nõudmistest ja on ülal mainitud lahenduste&lt;br /&gt;
puudustest vaba. PF juures jääb vaid ainult osustada kas kasutada OpenBSD&#039;d või FreeBSD&#039;d.&lt;br /&gt;
Hetkel sai osustatud FreeBSD kasuks kuna selle SMP (mitmiktuumade) osa on rohkem arendatud ning&lt;br /&gt;
FreeBSD on oma laiemalt leviku tõttu suuremale hulgale inimestele tuttav. See&lt;br /&gt;
samas ei tähenda, et allolevaid reegleid ei saaks kasutada OpenBSD juures. Ainult&lt;br /&gt;
RC.CONF seadistus tuleb sellpuhul erinev. Lisaks on tulemüüri konseptsioon ideeliselt&lt;br /&gt;
kasutatav igasuguste Linuxiliste ja &amp;quot;karbitulemüüride&amp;quot; puhul.&lt;br /&gt;
&lt;br /&gt;
Packet Filteri peamine miinus, puuduvad igasugused helperid. Näiteks SIP protokolli läbilasuks. Samas&lt;br /&gt;
on aga talle olemas hulga erinevaid proxysid, millede kasutamine lisab küll keerukust aga aitab&lt;br /&gt;
probleemist üle saada.&lt;br /&gt;
&lt;br /&gt;
===Võrgu poliitika===&lt;br /&gt;
*jäme joon - füüsilised ühendused.&lt;br /&gt;
*noolega punktiirjoon - tulemüürist lubatud ühendused (nool tähistab suunda, kust-kuhu).&lt;br /&gt;
&lt;br /&gt;
[[Pilt:Serverivork.png]]&lt;br /&gt;
&lt;br /&gt;
C klassiks mis jagatud on 193.40.45.0/24&lt;br /&gt;
Ruuteri IP aadress on 193.40.45.1&lt;br /&gt;
&lt;br /&gt;
* Serverivõrk&lt;br /&gt;
** seest välja ühendused oleksid kõik lahti&lt;br /&gt;
** väljast sisse kõikühendused lahti va serveritele:&lt;br /&gt;
** temperatuur.zoo.edu.ee ja monitoorija.zoo.edu.ee&lt;br /&gt;
 &lt;br /&gt;
(viimased kaks on vanad legacy serverid mille portidele ei tahaks lubada välismaad)&lt;br /&gt;
 &lt;br /&gt;
*Kontorivõrk&lt;br /&gt;
** Seest välja ühendused kõik lahti&lt;br /&gt;
** väljast sisse liikuvad kõik ühendused kinni va:&lt;br /&gt;
** kontor.zoo.edu.ee&lt;br /&gt;
** Serverivõrk&lt;br /&gt;
&lt;br /&gt;
Lisaks ei jagaks DHCP teenus edaspidi enam läpakatele ja ajutistele arvutitele&lt;br /&gt;
väliseid IP aadresse vaid sisemisi NATitavaid aadresse.&lt;br /&gt;
&lt;br /&gt;
* Majutatud võrk&lt;br /&gt;
** sees välja kõik lahti&lt;br /&gt;
** väljas sisse kõik lahti&lt;br /&gt;
&lt;br /&gt;
===Lahendus ja pf.conf faili seadistus===&lt;br /&gt;
&lt;br /&gt;
kasutusel võimalikult palju tabeleid, kuna tabelid tõenäoliselt eraldi reeglitest kiiremad. &lt;br /&gt;
Olemas eraldi nn mustad nimekirjad kuhu saab kiiresti vajadusel &amp;quot;halbu&amp;quot; aadresse lisada.&lt;br /&gt;
&lt;br /&gt;
NB! Tähele tasub panna, et võrreldes tavalise ühe võrgukaardiga tulemüüriga on reeglid nö tagurpidi keeratud.&lt;br /&gt;
&lt;br /&gt;
Põhimõte tulemüüri valmistamisel oli, mitte kirjutada iga masina kohta käivaid piiranguid üldisesse tulemüüri vaid jätta spetsiifilised porte piiravad reeglid edasi olema igas masinas eraldi Kesksest tulemüürist kehtestatakse üldised piirangud - või siis lubamised.&lt;br /&gt;
&lt;br /&gt;
PS!: Reeglite süntaks on järgmine: &lt;br /&gt;
 [pass/block(drop/return)] [in/out] [log] [quick] [on interface] [inet/inet6] \&lt;br /&gt;
 [proto &amp;lt;tcp/udp/icmp/icmp6&amp;gt;] [from src_addr [port src_port]] [to dst_addr [port dst_port]] \&lt;br /&gt;
 [flags tcp_flags] [state]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
 ext_if = &amp;quot;fxp0&amp;quot;&lt;br /&gt;
 server_if = &amp;quot;fxp1&amp;quot;&lt;br /&gt;
 kontor_if  = &amp;quot;fxp2&amp;quot;&lt;br /&gt;
 majutatud_if = &amp;quot;fxp3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 # Optimiseerimised&lt;br /&gt;
 set optimization normal&lt;br /&gt;
 set block-policy drop&lt;br /&gt;
 set skip on lo0&lt;br /&gt;
 set limit states 1048576&lt;br /&gt;
 &lt;br /&gt;
 #set state-defaults pflow&lt;br /&gt;
 # mitu erinevat remote ip aadressi saavad samaagselt state&#039;isid pidada. &lt;br /&gt;
 #See peaks olema koos state   limiidiga&lt;br /&gt;
 set limit src-nodes 30000&lt;br /&gt;
 &lt;br /&gt;
 scrub in all&lt;br /&gt;
 scrub out all random-id max-mss 1440&lt;br /&gt;
 &lt;br /&gt;
 # Ruuteri enda aadressid&lt;br /&gt;
 table &amp;lt;my_addresses&amp;gt; const { 193.40.45.2, 193.40.45.33, 193.40.45.77 }&lt;br /&gt;
&lt;br /&gt;
 # Globaalne tabel kus olevad aadressid koheselt blokeeritakse&lt;br /&gt;
 table &amp;lt;global_block_in_from&amp;gt; { 0.0.0.0/8, 10.0.0.0/8, 127.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16,  240.0.0.0/4, fc00::/7 }&lt;br /&gt;
&lt;br /&gt;
 # Blokeerime spämmarite ligipääsu postiserveritele&lt;br /&gt;
 table &amp;lt;smtp_block_in_from&amp;gt; persist&lt;br /&gt;
&lt;br /&gt;
 # Serverite võrgu aadressid millele ligipääs blokeeritud&lt;br /&gt;
 table &amp;lt;server_block_out_to&amp;gt; const { 193.40.45.60, 193.40.45.61 }&lt;br /&gt;
&lt;br /&gt;
 # Kontori aadressid millele lubatakse ligipääs väljast&lt;br /&gt;
 table &amp;lt;kontor_pass_out_to&amp;gt; const { 193.40.45.78 }&lt;br /&gt;
&lt;br /&gt;
 # Serverite võrk lubatakse kontorivõrgule ligi&lt;br /&gt;
 table &amp;lt;kontor_pass_out_from&amp;gt; const { 193.40.45.33/26 }&lt;br /&gt;
&lt;br /&gt;
 # Nat reegel kontori privaataadressidele&lt;br /&gt;
 nat on $ext_if inet from 192.168.0.0/16 to any -&amp;gt; ($kontor_if:0)&lt;br /&gt;
&lt;br /&gt;
 # IPv6 link-local on lubatud&lt;br /&gt;
 pass quick to fe80::/10&lt;br /&gt;
 pass quick from fe80::/10&lt;br /&gt;
&lt;br /&gt;
 #* Sisenev võrk&lt;br /&gt;
 #&lt;br /&gt;
 pass on $ext_if all&lt;br /&gt;
 &lt;br /&gt;
 # Nende masinatega internetist me ei suhtle&lt;br /&gt;
 block in log quick on $ext_if from &amp;lt;global_block_in_from&amp;gt; label &amp;quot;global_block_in&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # Keelame mõnedele kirjade saatmise&lt;br /&gt;
 block in log quick on $ext_if proto tcp from &amp;lt;smtp_block_in_from&amp;gt; to any port 25 label &amp;quot;smtp_block_in&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 # Paarile serverile piirame ligipääsu&lt;br /&gt;
 block in log quick on $ext_if to &amp;lt;server_block_out_to&amp;gt; label &amp;quot;server_block_out&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # Ruuterile piirame ligipääsu väljast&lt;br /&gt;
 block in log quick on $ext_if proto { tcp, udp } to &amp;lt;my_addresses&amp;gt; label &amp;quot;global_block_in&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #* Serverivõrk&lt;br /&gt;
 #&lt;br /&gt;
 # - seest välja ühendused oleksid kõik lahti&lt;br /&gt;
 # - väljast sisse kõik ühendused lahti va:&lt;br /&gt;
 &lt;br /&gt;
 pass on $server_if all keep state&lt;br /&gt;
  &lt;br /&gt;
 #* Kontorivõrk&lt;br /&gt;
 #&lt;br /&gt;
 # - Seest välja ühendused kõik lahti&lt;br /&gt;
 # - väljast sisse liikuvad kõik ühendused kinni va:&lt;br /&gt;
 #   - serverivõrguga liiklus&lt;br /&gt;
 &lt;br /&gt;
 block log on $kontor_if all label &amp;quot;blocked_kontor&amp;quot;&lt;br /&gt;
 pass in on $kontor_if all keep state&lt;br /&gt;
 pass out on $kontor_if from $kontor_if to $kontor_if:network&lt;br /&gt;
 pass out on $kontor_if from &amp;lt;kontor_pass_out_from&amp;gt; keep state label &amp;quot;kontor_pass_out&amp;quot;&lt;br /&gt;
 pass out on $kontor_if to &amp;lt;kontor_pass_out_to&amp;gt; keep state label &amp;quot;kontor_pass_out&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #* Majutatud võrk&lt;br /&gt;
 #&lt;br /&gt;
 # - seest välja kõik lahti&lt;br /&gt;
 # - väljast sisse kõik lahti:&lt;br /&gt;
 &lt;br /&gt;
 pass on $majutatud_if all keep state &lt;br /&gt;
 &lt;br /&gt;
 # -- END --&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reeglite kohta statistikat näeb&lt;br /&gt;
&lt;br /&gt;
 # pfctl -v -s rules&lt;br /&gt;
&lt;br /&gt;
Blokitud IP-de tabelisse saab lisada aadressi või aadressivahemiku käsuga&lt;br /&gt;
&lt;br /&gt;
 # pfctl -t global_block_in_from -T add 218.70.0.0/16&lt;br /&gt;
 # pfctl -t smtp_block_in_from -T add 218.70.0.0/16&lt;br /&gt;
&lt;br /&gt;
Tabelis olevaid aadresse saab vaadata käsuga&lt;br /&gt;
&lt;br /&gt;
 # pfctl -t global_block_in_from -T show&lt;br /&gt;
 # pfctl -t smtp_block_in_from -T show&lt;br /&gt;
&lt;br /&gt;
Ja tabelist saab kustutada ridu käsuga&lt;br /&gt;
&lt;br /&gt;
 # pfctl -t global_block_in_from -T delete 218.70.0.0/16&lt;br /&gt;
 # pfctl -t smtp_block_in_from -T delete 218.70.0.0/16&lt;br /&gt;
&lt;br /&gt;
Selleks, et vabaneda liiga vanadest kirjetest tabelites on olemas järgnev käsk.&lt;br /&gt;
 &lt;br /&gt;
 # /sbin/pfctl -t jobud -Te 86400&lt;br /&gt;
 ..&lt;br /&gt;
 15/15 addresses expired.&lt;br /&gt;
&lt;br /&gt;
Aeg tuleb anda sekundites. Seejärel kustutatakse tabelist kõik 24 tundi vanad ja vanemad kirjed.&lt;br /&gt;
ps: Pacet Filteri reloadimine kustutab ka tabelite sisu. Flushitakse kõik peale olekute.&lt;br /&gt;
&lt;br /&gt;
===RC.CONF faili seadistus===&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
 hostname=&amp;quot;tulemyyr&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 sshd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
 gateway_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 defaultrouter=&amp;quot;193.40.45.1&amp;quot;&lt;br /&gt;
 ifconfig_fxp0=&amp;quot;inet 193.40.45.2 netmask 255.255.255.224&amp;quot;&lt;br /&gt;
 # nn serverid&lt;br /&gt;
 ifconfig_fxp1=&amp;quot;inet 193.40.45.33 netmask 255.255.255.224&amp;quot;&lt;br /&gt;
 # nn kontor&lt;br /&gt;
 ifconfig_fxp2=&amp;quot;inet 193.40.45.75 netmask 255.255.255.224&amp;quot;&lt;br /&gt;
 ifconfig_fxp2_alias0=&amp;quot;192.168.1.254 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
 pf_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
 pflog_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
 pf_conf=&amp;quot;/etc/pf.conf&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 Vaikimisi on IPv6 routing keelatud seepärast tuleb see eraldi veel lubada, samuti rtadvd deemon.&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 rtadvd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
 rtadvd_interfaces=&amp;quot;igb1 bge0 nfe0&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # ipv6 aadressid testimiseks&lt;br /&gt;
 ipv6_ifconfig_fxp2=&amp;quot;fec0:0:0:1::1/64&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_fxp3=&amp;quot;fec0:0:0:2::1/64&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_fxp4=&amp;quot;fec0:0:0:3::1/64&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Tähelepanekuid ehitamisel===&lt;br /&gt;
&lt;br /&gt;
Kui serveril on IPMI liides tuleb see paigaldada võrku mis asub väljaspool tulemüüri&lt;br /&gt;
haardeulatust.&lt;br /&gt;
&lt;br /&gt;
Ajutise failoveri saavutamiseks piisab kui kõrval hoida konfitud ja töövalmis sarnane server. Kleepida serverile kaabelduse skeem st mis kaabel kuhu ümber tõsta. Igaks-juhuks teisele kettale kloonitud esimese ketta opsüsteem. Kui aega piisavalt võib mõelda sealt edasi ka CARP &amp;amp; PFsync rakendamisele.&lt;br /&gt;
&lt;br /&gt;
Tasuks vältida integreeritud kaarte ning nvidia kaarte. Soovituslikud oleksid Inteli tooted.&lt;br /&gt;
&lt;br /&gt;
Graafikute joonistamiseks võib käivitada SNMP teenuse.&lt;br /&gt;
&lt;br /&gt;
===Abiks===&lt;br /&gt;
&lt;br /&gt;
[[Packet_filteri_optimiseerimine]]&lt;br /&gt;
&lt;br /&gt;
http://home.nuug.no/~peter/pf/bsdcan2012/&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Ruutiv_mitmeharuline_tulem%C3%BC%C3%BCr&amp;diff=30997</id>
		<title>Ruutiv mitmeharuline tulemüür</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Ruutiv_mitmeharuline_tulem%C3%BC%C3%BCr&amp;diff=30997"/>
		<updated>2020-11-10T08:11:57Z</updated>

		<summary type="html">&lt;p&gt;Jj: /* Lahendus ja pf.conf faili seadistus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Täienda}}&lt;br /&gt;
===Tulemüüri ja võrgu konseptsioon===&lt;br /&gt;
&lt;br /&gt;
On asutus Loomaaed mil domeen zoo.tartu.ee. Asutusele on ISP poolt&lt;br /&gt;
terve C klass IP aadresse. See on omakorda jagatud veel mitmeks eri võrguks.&lt;br /&gt;
On kontorivõrk, on serverite võrk, on majutatud serverite võrk (mitmesugused&lt;br /&gt;
hobi ja teadlaste projektid, loodusuurijate serverid ja loomade jälgimise kaamerad jms). Lisaks&lt;br /&gt;
kõigele sellele on olemas veel NATitud sisevõrk ning kasutust leiab uus&lt;br /&gt;
edumeelne protokoll IPV6.&lt;br /&gt;
&lt;br /&gt;
Asutusel on olemas server millel piisavalt CPU jõudlust ning kokku on masinas ülesannete&lt;br /&gt;
täitmiseks neli võrgukaarti.&lt;br /&gt;
&lt;br /&gt;
NB! Põhieesmärk on luua tulemüür mis eraldab võrke, roudib pakette ning blokeerib mustade&lt;br /&gt;
nimekirjade alusel halbu aadresse. Eelduseks on see, et kõigil serveritel&lt;br /&gt;
on juba olemas oma isiklik personaalne tulemüür kõhus.&lt;br /&gt;
&lt;br /&gt;
Vaja on mingisugust kontrollkihti reeglite ja kasutaja ette. Ehk siis kogematta tehtud näpuviga&lt;br /&gt;
ei hävitaks kogu meie serveriparki ja kontorit hoobilt. Näiteks mingi fireholi laadne wrapper ees on üsnagi hea kuna suudab vigase süntaksi tagasi tõrjuda enne kui iptablesi käskudeks selle moondab jms. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mõned ideed miks sedalaadi tulemüüri üldse vaja?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Annab koha kust lülitada „halbu“ aadresse välja.&lt;br /&gt;
*Võimaldab piirata kontori windows masinaid&lt;br /&gt;
*Võimaldab eraldada majutatud võrgu masinad kontorist&lt;br /&gt;
*Pakub keskpunkti load-balance tegemiseks&lt;br /&gt;
*Võimaldab kehtestada kiirusepiiranguid majutatud võrgule&lt;br /&gt;
*Annab NATitud sisevõrku läpakatele&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nõutavad tingimused tulemüüri tarkvarale&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Lihtne süntaks reeglite kirjutamiseks, või kirjutamise abivahend.&lt;br /&gt;
*Saaks kasutada lisaks filtreerimisele ka ruutimiseks&lt;br /&gt;
*Oleks maailmas piisavalt levinud (arendatud)&lt;br /&gt;
*Tasuta (võiks olla opensource ning aktiivne st suure kasutajatebaasiga ja aktiivses arenduses)&lt;br /&gt;
*Võimaldaks erinevaid (koormus ja võrguühenduste)graafikuid joonistada&lt;br /&gt;
*Peab olema võimeline hakkama saada suure hulga reeglitega ja massiivse hulga ühendustega. Näiteks&lt;br /&gt;
mingi 10 000 ühendust kogu serveripargile pole eriti ulmeline olukord millega tarkvara peab suutma hakkama saada ja seejuures mitte piduriks jääma. Vaja on, et lisaks reeglite töötlusele oskaks&lt;br /&gt;
tarkvara ka pakette kiirelt ruutida. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mõningad kaalutud tarkvaralised/riistvaralised lahendused ja esilekerkinud puudused&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Juniper – Liiga kallis raud (Garantiileping on kulukas ja ilma garantiita paha)&lt;br /&gt;
*Pfsense – Ilus aga puudus IPV6 tugi&lt;br /&gt;
*Checkpoint – kallis ja haldus liiga Windowsi sõbralik&lt;br /&gt;
*Haljas iptables – keeruline käsitsi kirjutada, vead kerged tekkima.&lt;br /&gt;
*Iptables ja Firehol – mitmesugused puudused (ipv6 puudus nt)&lt;br /&gt;
*Cisco – PIX liiga primitiivne ja erinevad haldusmoodulite hankimine taas kallis&lt;br /&gt;
&lt;br /&gt;
Packet Filter tundub lahendavat enamus nõudmistest ja on ülal mainitud lahenduste&lt;br /&gt;
puudustest vaba. PF juures jääb vaid ainult osustada kas kasutada OpenBSD&#039;d või FreeBSD&#039;d.&lt;br /&gt;
Hetkel sai osustatud FreeBSD kasuks kuna selle SMP (mitmiktuumade) osa on rohkem arendatud ning&lt;br /&gt;
FreeBSD on oma laiemalt leviku tõttu suuremale hulgale inimestele tuttav. See&lt;br /&gt;
samas ei tähenda, et allolevaid reegleid ei saaks kasutada OpenBSD juures. Ainult&lt;br /&gt;
RC.CONF seadistus tuleb sellpuhul erinev. Lisaks on tulemüüri konseptsioon ideeliselt&lt;br /&gt;
kasutatav igasuguste Linuxiliste ja &amp;quot;karbitulemüüride&amp;quot; puhul.&lt;br /&gt;
&lt;br /&gt;
Packet Filteri peamine miinus, puuduvad igasugused helperid. Näiteks SIP protokolli läbilasuks. Samas&lt;br /&gt;
on aga talle olemas hulga erinevaid proxysid, millede kasutamine lisab küll keerukust aga aitab&lt;br /&gt;
probleemist üle saada.&lt;br /&gt;
&lt;br /&gt;
===Võrgu poliitika===&lt;br /&gt;
*jäme joon - füüsilised ühendused.&lt;br /&gt;
*noolega punktiirjoon - tulemüürist lubatud ühendused (nool tähistab suunda, kust-kuhu).&lt;br /&gt;
&lt;br /&gt;
[[Pilt:Serverivork.png]]&lt;br /&gt;
&lt;br /&gt;
C klassiks mis jagatud on 193.40.45.0/24&lt;br /&gt;
Ruuteri IP aadress on 193.40.45.1&lt;br /&gt;
&lt;br /&gt;
* Serverivõrk&lt;br /&gt;
** seest välja ühendused oleksid kõik lahti&lt;br /&gt;
** väljast sisse kõikühendused lahti va serveritele:&lt;br /&gt;
** temperatuur.zoo.edu.ee ja monitoorija.zoo.edu.ee&lt;br /&gt;
 &lt;br /&gt;
(viimased kaks on vanad legacy serverid mille portidele ei tahaks lubada välismaad)&lt;br /&gt;
 &lt;br /&gt;
*Kontorivõrk&lt;br /&gt;
** Seest välja ühendused kõik lahti&lt;br /&gt;
** väljast sisse liikuvad kõik ühendused kinni va:&lt;br /&gt;
** kontor.zoo.edu.ee&lt;br /&gt;
** Serverivõrk&lt;br /&gt;
&lt;br /&gt;
Lisaks ei jagaks DHCP teenus edaspidi enam läpakatele ja ajutistele arvutitele&lt;br /&gt;
väliseid IP aadresse vaid sisemisi NATitavaid aadresse.&lt;br /&gt;
&lt;br /&gt;
* Majutatud võrk&lt;br /&gt;
** sees välja kõik lahti&lt;br /&gt;
** väljas sisse kõik lahti&lt;br /&gt;
&lt;br /&gt;
===Lahendus ja pf.conf faili seadistus===&lt;br /&gt;
&lt;br /&gt;
kasutusel võimalikult palju tabeleid, kuna tabelid tõenäoliselt eraldi reeglitest kiiremad. &lt;br /&gt;
Olemas eraldi nn mustad nimekirjad kuhu saab kiiresti vajadusel &amp;quot;halbu&amp;quot; aadresse lisada.&lt;br /&gt;
&lt;br /&gt;
NB! Tähele tasub panna, et võrreldes tavalise ühe võrgukaardiga tulemüüriga on reeglid nö tagurpidi keeratud.&lt;br /&gt;
&lt;br /&gt;
Põhimõte tulemüüri valmistamisel oli, mitte kirjutada iga masina kohta käivaid piiranguid üldisesse tulemüüri vaid jätta spetsiifilised porte piiravad reeglid edasi olema igas masinas eraldi Kesksest tulemüürist kehtestatakse üldised piirangud - või siis lubamised.&lt;br /&gt;
&lt;br /&gt;
PS!: Reeglite süntaks on järgmine: &lt;br /&gt;
 [pass/block(drop/return)] [in/out] [log] [quick] [on interface] [inet/inet6] \&lt;br /&gt;
 [proto &amp;lt;tcp/udp/icmp/icmp6&amp;gt;] [from src_addr [port src_port]] [to dst_addr [port dst_port]] \&lt;br /&gt;
 [flags tcp_flags] [state]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
 ext_if = &amp;quot;fxp0&amp;quot;&lt;br /&gt;
 server_if = &amp;quot;fxp1&amp;quot;&lt;br /&gt;
 kontor_if  = &amp;quot;fxp2&amp;quot;&lt;br /&gt;
 majutatud_if = &amp;quot;fxp3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 # Optimiseerimised&lt;br /&gt;
 set optimization normal&lt;br /&gt;
 set block-policy drop&lt;br /&gt;
 set skip on lo0&lt;br /&gt;
 set limit states 1048576&lt;br /&gt;
 &lt;br /&gt;
 #set state-defaults pflow&lt;br /&gt;
 # mitu erinevat remote ip aadressi saavad samaagselt state&#039;isid pidada. &lt;br /&gt;
 #See peaks olema koos state   limiidiga&lt;br /&gt;
 set limit src-nodes 30000&lt;br /&gt;
 &lt;br /&gt;
 scrub in all&lt;br /&gt;
 scrub out all random-id max-mss 1440&lt;br /&gt;
 &lt;br /&gt;
 # Ruuteri enda aadressid&lt;br /&gt;
 table &amp;lt;my_addresses&amp;gt; const { 193.40.45.2, 193.40.45.33, 193.40.45.77 }&lt;br /&gt;
&lt;br /&gt;
 # Globaalne tabel kus olevad aadressid koheselt blokeeritakse&lt;br /&gt;
 table &amp;lt;global_block_in_from&amp;gt; { 0.0.0.0/8, 10.0.0.0/8, 127.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16,  240.0.0.0/4, fc00::/7 }&lt;br /&gt;
&lt;br /&gt;
 # Blokeerime spämmarite ligipääsu postiserveritele&lt;br /&gt;
 table &amp;lt;smtp_block_in_from&amp;gt; persist&lt;br /&gt;
&lt;br /&gt;
 # Serverite võrgu aadressid millele ligipääs blokeeritud&lt;br /&gt;
 table &amp;lt;server_block_out_to&amp;gt; const { 193.40.45.60, 193.40.45.61 }&lt;br /&gt;
&lt;br /&gt;
 # Kontori aadressid millele lubatakse ligipääs väljast&lt;br /&gt;
 table &amp;lt;kontor_pass_out_to&amp;gt; const { 193.40.45.78 }&lt;br /&gt;
&lt;br /&gt;
 # Serverite võrk lubatakse kontorivõrgule ligi&lt;br /&gt;
 table &amp;lt;kontor_pass_out_from&amp;gt; const { 193.40.45.33/26 }&lt;br /&gt;
&lt;br /&gt;
 # Nat reegel kontori privaataadressidele&lt;br /&gt;
 nat on $ext_if inet from 192.168.0.0/16 to any -&amp;gt; ($kontor_if:0)&lt;br /&gt;
&lt;br /&gt;
 # IPv6 link-local on lubatud&lt;br /&gt;
 pass quick to fe80::/10&lt;br /&gt;
 pass quick from fe80::/10&lt;br /&gt;
&lt;br /&gt;
 #* Sisenev võrk&lt;br /&gt;
 #&lt;br /&gt;
 pass on $ext_if all&lt;br /&gt;
 &lt;br /&gt;
 # Nende masinatega internetist me ei suhtle&lt;br /&gt;
 block in log quick on $ext_if from &amp;lt;global_block_in_from&amp;gt; label &amp;quot;global_block_in&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # Keelame mõnedele kirjade saatmise&lt;br /&gt;
 block in log quick on $ext_if proto tcp from &amp;lt;smtp_block_in_from&amp;gt; to any port 25 label &amp;quot;smtp_block_in&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 # Paarile serverile piirame ligipääsu&lt;br /&gt;
 block in log quick on $ext_if to &amp;lt;server_block_out_to&amp;gt; label &amp;quot;server_block_out&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # Ruuterile piirame ligipääsu väljast&lt;br /&gt;
 block in log quick on $ext_if proto { tcp, udp } to &amp;lt;my_addresses&amp;gt; label &amp;quot;global_block_in&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #* Serverivõrk&lt;br /&gt;
 #&lt;br /&gt;
 # - seest välja ühendused oleksid kõik lahti&lt;br /&gt;
 # - väljast sisse kõik ühendused lahti va:&lt;br /&gt;
 &lt;br /&gt;
 pass on $server_if all keep state&lt;br /&gt;
  &lt;br /&gt;
 #* Kontorivõrk&lt;br /&gt;
 #&lt;br /&gt;
 # - Seest välja ühendused kõik lahti&lt;br /&gt;
 # - väljast sisse liikuvad kõik ühendused kinni va:&lt;br /&gt;
 #   - serverivõrguga liiklus&lt;br /&gt;
 &lt;br /&gt;
 block log on $kontor_if all label &amp;quot;blocked_kontor&amp;quot;&lt;br /&gt;
 pass in on $kontor_if all keep state&lt;br /&gt;
 pass out on $kontor_if from $kontor_if to $kontor_if:network&lt;br /&gt;
 pass out on $kontor_if from &amp;lt;kontor_pass_out_from&amp;gt; keep state label &amp;quot;kontor_pass_out&amp;quot;&lt;br /&gt;
 pass out on $kontor_if to &amp;lt;kontor_pass_out_to&amp;gt; keep state label &amp;quot;kontor_pass_out&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #* Majutatud võrk&lt;br /&gt;
 #&lt;br /&gt;
 # - seest välja kõik lahti&lt;br /&gt;
 # - väljast sisse kõik lahti:&lt;br /&gt;
 &lt;br /&gt;
 pass on $majutatud_if all keep state &lt;br /&gt;
 &lt;br /&gt;
 # -- END --&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Blokitud IP-de tabelisse saab lisada aadressi või aadressivahemiku käsuga&lt;br /&gt;
&lt;br /&gt;
 # pfctl -t global_block_in_from -T add 218.70.0.0/16&lt;br /&gt;
 # pfctl -t smtp_block_in_from -T add 218.70.0.0/16&lt;br /&gt;
&lt;br /&gt;
Tabelis olevaid aadresse saab vaadata käsuga&lt;br /&gt;
&lt;br /&gt;
 # pfctl -t global_block_in_from -T show&lt;br /&gt;
 # pfctl -t smtp_block_in_from -T show&lt;br /&gt;
&lt;br /&gt;
Ja tabelist saab kustutada ridu käsuga&lt;br /&gt;
&lt;br /&gt;
 # pfctl -t global_block_in_from -T delete 218.70.0.0/16&lt;br /&gt;
 # pfctl -t smtp_block_in_from -T delete 218.70.0.0/16&lt;br /&gt;
&lt;br /&gt;
Selleks, et vabaneda liiga vanadest kirjetest tabelites on olemas järgnev käsk.&lt;br /&gt;
 &lt;br /&gt;
 # /sbin/pfctl -t jobud -Te 86400&lt;br /&gt;
 ..&lt;br /&gt;
 15/15 addresses expired.&lt;br /&gt;
 &lt;br /&gt;
Aeg tuleb anda sekundites. Seejärel kustutatakse tabelist kõik 24 tundi vanad ja vanemad kirjed.&lt;br /&gt;
ps: Pacet Filteri reloadimine kustutab ka tabelite sisu. Flushitakse kõik peale olekute.&lt;br /&gt;
&lt;br /&gt;
Reeglite kohta statistikat näeb&lt;br /&gt;
&lt;br /&gt;
 # pfctl -v -s rules&lt;br /&gt;
&lt;br /&gt;
===RC.CONF faili seadistus===&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
 hostname=&amp;quot;tulemyyr&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 sshd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
 gateway_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 defaultrouter=&amp;quot;193.40.45.1&amp;quot;&lt;br /&gt;
 ifconfig_fxp0=&amp;quot;inet 193.40.45.2 netmask 255.255.255.224&amp;quot;&lt;br /&gt;
 # nn serverid&lt;br /&gt;
 ifconfig_fxp1=&amp;quot;inet 193.40.45.33 netmask 255.255.255.224&amp;quot;&lt;br /&gt;
 # nn kontor&lt;br /&gt;
 ifconfig_fxp2=&amp;quot;inet 193.40.45.75 netmask 255.255.255.224&amp;quot;&lt;br /&gt;
 ifconfig_fxp2_alias0=&amp;quot;192.168.1.254 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
 pf_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
 pflog_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
 pf_conf=&amp;quot;/etc/pf.conf&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 Vaikimisi on IPv6 routing keelatud seepärast tuleb see eraldi veel lubada, samuti rtadvd deemon.&lt;br /&gt;
 ipv6_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
 ipv6_gateway_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 rtadvd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
 rtadvd_interfaces=&amp;quot;igb1 bge0 nfe0&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # ipv6 aadressid testimiseks&lt;br /&gt;
 ipv6_ifconfig_fxp2=&amp;quot;fec0:0:0:1::1/64&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_fxp3=&amp;quot;fec0:0:0:2::1/64&amp;quot;&lt;br /&gt;
 ipv6_ifconfig_fxp4=&amp;quot;fec0:0:0:3::1/64&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Tähelepanekuid ehitamisel===&lt;br /&gt;
&lt;br /&gt;
Kui serveril on IPMI liides tuleb see paigaldada võrku mis asub väljaspool tulemüüri&lt;br /&gt;
haardeulatust.&lt;br /&gt;
&lt;br /&gt;
Ajutise failoveri saavutamiseks piisab kui kõrval hoida konfitud ja töövalmis sarnane server. Kleepida serverile kaabelduse skeem st mis kaabel kuhu ümber tõsta. Igaks-juhuks teisele kettale kloonitud esimese ketta opsüsteem. Kui aega piisavalt võib mõelda sealt edasi ka CARP &amp;amp; PFsync rakendamisele.&lt;br /&gt;
&lt;br /&gt;
Tasuks vältida integreeritud kaarte ning nvidia kaarte. Soovituslikud oleksid Inteli tooted.&lt;br /&gt;
&lt;br /&gt;
Graafikute joonistamiseks võib käivitada SNMP teenuse.&lt;br /&gt;
&lt;br /&gt;
===Abiks===&lt;br /&gt;
&lt;br /&gt;
[[Packet_filteri_optimiseerimine]]&lt;br /&gt;
&lt;br /&gt;
http://home.nuug.no/~peter/pf/bsdcan2012/&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=FreeIPA&amp;diff=30995</id>
		<title>FreeIPA</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=FreeIPA&amp;diff=30995"/>
		<updated>2020-08-11T08:29:35Z</updated>

		<summary type="html">&lt;p&gt;Jj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
[[Fail:Freeipa2.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Serveri paigaldus===&lt;br /&gt;
&lt;br /&gt;
Server vajab esimesena asjana FQDNi ehk siis pädevat domeeni millel töötada mis antud näites on freeipa.test.ee. võimalik on test keskkonnas defineerida ka kõigi masinate hosts failidesse kaudu aga targem oleks see siiski ka reaalselt luua&lt;br /&gt;
&lt;br /&gt;
Lisaks vajab süsteem kõvasti entroopiat mida võib hakata virtuaalmasinates nappima nii tugevalt, et isegi paigaldus võib hanguda, seega tasub esimese asjana lisada süsteemi rng-tools&lt;br /&gt;
&lt;br /&gt;
 # apt -y install rng-tools&lt;br /&gt;
&lt;br /&gt;
Misjärel tuleb avada /etc/default/rng-tools ning lisada allolev rida&lt;br /&gt;
&lt;br /&gt;
 HRNGDEVICE=/dev/urandom&lt;br /&gt;
&lt;br /&gt;
Misjärel stardime rng-tools deemoni&lt;br /&gt;
&lt;br /&gt;
 # sudo systemctl enable rng-tools&lt;br /&gt;
 # sudo systemctl start rng-tools&lt;br /&gt;
&lt;br /&gt;
FreeIPA paigaldamine Ubuntus&lt;br /&gt;
&lt;br /&gt;
 # apt-get install freeipa-server&lt;br /&gt;
&lt;br /&gt;
FreeIPA automaatseks seadistuseks on eraldi utiliit&lt;br /&gt;
&lt;br /&gt;
 # ipa-server-install&lt;br /&gt;
&lt;br /&gt;
Kui paigaldus on tehtud saab luua esimesed kasutajad pöördudes selleks kas browseriga serveri domeeni poole või kasutades käsurea utiliiti. Käsurealt kasutajate loomine näeb välja järgnev&lt;br /&gt;
&lt;br /&gt;
 # ipa config-mod --defaultshell=/bin/bash&lt;br /&gt;
 # ipa user-add test --first=testikas --last=vants --email=test@asutus.ee --password&lt;br /&gt;
&lt;br /&gt;
===Kliendi seadistus===&lt;br /&gt;
&lt;br /&gt;
Kliendi paigaldus Ubuntus&lt;br /&gt;
&lt;br /&gt;
 # apt-get install freeipa-client&lt;br /&gt;
&lt;br /&gt;
Serveriga ühendamine on automaatne protsess kus tuleb ette anda domeen ning Kerberos realm&lt;br /&gt;
&lt;br /&gt;
 # ipa-client-install --hostname=freeipa.test.ee --mkhomedir --server=freeipa.test.ee --domain test.ee --realm TEST.EE&lt;br /&gt;
&lt;br /&gt;
Kliendi eemaldamine&lt;br /&gt;
&lt;br /&gt;
 # ipa-client-install --uninstall&lt;br /&gt;
&lt;br /&gt;
Kliendi seadistamine FreeIPA serverile&lt;br /&gt;
&lt;br /&gt;
 # authconfig --enablesssdauth --enablemkhomedir --update --enablesssd&lt;br /&gt;
&lt;br /&gt;
===Backup serveri paigaldus===&lt;br /&gt;
&lt;br /&gt;
Paigalda FreeIPA samamoodi nagu peaserverile ning seadista kinit käsuga admin kasutaja&lt;br /&gt;
&lt;br /&gt;
 # ipa hostgroup-add-member ipaservers --hosts freeipa.test.ee&lt;br /&gt;
 # ipa-replica-install --setup-ca&lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
https://computingforgeeks.com/install-and-configure-freeipa-server-on-ubuntu/&lt;br /&gt;
&lt;br /&gt;
https://computingforgeeks.com/how-to-configure-freeipa-client-on-ubuntu-centos/&lt;br /&gt;
&lt;br /&gt;
https://www.howtoforge.com/how-to-install-freeipa-client-on-ubuntu-server-1804/&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Fail:Freeipa2.jpg&amp;diff=30994</id>
		<title>Fail:Freeipa2.jpg</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Fail:Freeipa2.jpg&amp;diff=30994"/>
		<updated>2020-08-11T08:29:11Z</updated>

		<summary type="html">&lt;p&gt;Jj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=FreeIPA&amp;diff=30993</id>
		<title>FreeIPA</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=FreeIPA&amp;diff=30993"/>
		<updated>2020-08-11T08:25:56Z</updated>

		<summary type="html">&lt;p&gt;Jj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
[[Fail:Freeipa.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
===Serveri paigaldus===&lt;br /&gt;
&lt;br /&gt;
Server vajab esimesena asjana FQDNi ehk siis pädevat domeeni millel töötada mis antud näites on freeipa.test.ee. võimalik on test keskkonnas defineerida ka kõigi masinate hosts failidesse kaudu aga targem oleks see siiski ka reaalselt luua&lt;br /&gt;
&lt;br /&gt;
Lisaks vajab süsteem kõvasti entroopiat mida võib hakata virtuaalmasinates nappima nii tugevalt, et isegi paigaldus võib hanguda, seega tasub esimese asjana lisada süsteemi rng-tools&lt;br /&gt;
&lt;br /&gt;
 # apt -y install rng-tools&lt;br /&gt;
&lt;br /&gt;
Misjärel tuleb avada /etc/default/rng-tools ning lisada allolev rida&lt;br /&gt;
&lt;br /&gt;
 HRNGDEVICE=/dev/urandom&lt;br /&gt;
&lt;br /&gt;
Misjärel stardime rng-tools deemoni&lt;br /&gt;
&lt;br /&gt;
 # sudo systemctl enable rng-tools&lt;br /&gt;
 # sudo systemctl start rng-tools&lt;br /&gt;
&lt;br /&gt;
FreeIPA paigaldamine Ubuntus&lt;br /&gt;
&lt;br /&gt;
 # apt-get install freeipa-server&lt;br /&gt;
&lt;br /&gt;
FreeIPA automaatseks seadistuseks on eraldi utiliit&lt;br /&gt;
&lt;br /&gt;
 # ipa-server-install&lt;br /&gt;
&lt;br /&gt;
Kui paigaldus on tehtud saab luua esimesed kasutajad pöördudes selleks kas browseriga serveri domeeni poole või kasutades käsurea utiliiti. Käsurealt kasutajate loomine näeb välja järgnev&lt;br /&gt;
&lt;br /&gt;
 # ipa config-mod --defaultshell=/bin/bash&lt;br /&gt;
 # ipa user-add test --first=testikas --last=vants --email=test@asutus.ee --password&lt;br /&gt;
&lt;br /&gt;
===Kliendi seadistus===&lt;br /&gt;
&lt;br /&gt;
Kliendi paigaldus Ubuntus&lt;br /&gt;
&lt;br /&gt;
 # apt-get install freeipa-client&lt;br /&gt;
&lt;br /&gt;
Serveriga ühendamine on automaatne protsess kus tuleb ette anda domeen ning Kerberos realm&lt;br /&gt;
&lt;br /&gt;
 # ipa-client-install --hostname=freeipa.test.ee --mkhomedir --server=freeipa.test.ee --domain test.ee --realm TEST.EE&lt;br /&gt;
&lt;br /&gt;
Kliendi eemaldamine&lt;br /&gt;
&lt;br /&gt;
 # ipa-client-install --uninstall&lt;br /&gt;
&lt;br /&gt;
Kliendi seadistamine FreeIPA serverile&lt;br /&gt;
&lt;br /&gt;
 # authconfig --enablesssdauth --enablemkhomedir --update --enablesssd&lt;br /&gt;
&lt;br /&gt;
===Backup serveri paigaldus===&lt;br /&gt;
&lt;br /&gt;
Paigalda FreeIPA samamoodi nagu peaserverile ning seadista kinit käsuga admin kasutaja&lt;br /&gt;
&lt;br /&gt;
 # ipa hostgroup-add-member ipaservers --hosts freeipa.test.ee&lt;br /&gt;
 # ipa-replica-install --setup-ca&lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
https://computingforgeeks.com/install-and-configure-freeipa-server-on-ubuntu/&lt;br /&gt;
&lt;br /&gt;
https://computingforgeeks.com/how-to-configure-freeipa-client-on-ubuntu-centos/&lt;br /&gt;
&lt;br /&gt;
https://www.howtoforge.com/how-to-install-freeipa-client-on-ubuntu-server-1804/&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=FreeIPA&amp;diff=30992</id>
		<title>FreeIPA</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=FreeIPA&amp;diff=30992"/>
		<updated>2020-08-11T08:25:28Z</updated>

		<summary type="html">&lt;p&gt;Jj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
[[Fail:Freeipa.jpg|700px]]&lt;br /&gt;
&lt;br /&gt;
===Serveri paigaldus===&lt;br /&gt;
&lt;br /&gt;
Server vajab esimesena asjana FQDNi ehk siis pädevat domeeni millel töötada mis antud näites on freeipa.test.ee. võimalik on test keskkonnas defineerida ka kõigi masinate hosts failidesse kaudu aga targem oleks see siiski ka reaalselt luua&lt;br /&gt;
&lt;br /&gt;
Lisaks vajab süsteem kõvasti entroopiat mida võib hakata virtuaalmasinates nappima nii tugevalt, et isegi paigaldus võib hanguda, seega tasub esimese asjana lisada süsteemi rng-tools&lt;br /&gt;
&lt;br /&gt;
 # apt -y install rng-tools&lt;br /&gt;
&lt;br /&gt;
Misjärel tuleb avada /etc/default/rng-tools ning lisada allolev rida&lt;br /&gt;
&lt;br /&gt;
 HRNGDEVICE=/dev/urandom&lt;br /&gt;
&lt;br /&gt;
Misjärel stardime rng-tools deemoni&lt;br /&gt;
&lt;br /&gt;
 # sudo systemctl enable rng-tools&lt;br /&gt;
 # sudo systemctl start rng-tools&lt;br /&gt;
&lt;br /&gt;
FreeIPA paigaldamine Ubuntus&lt;br /&gt;
&lt;br /&gt;
 # apt-get install freeipa-server&lt;br /&gt;
&lt;br /&gt;
FreeIPA automaatseks seadistuseks on eraldi utiliit&lt;br /&gt;
&lt;br /&gt;
 # ipa-server-install&lt;br /&gt;
&lt;br /&gt;
Kui paigaldus on tehtud saab luua esimesed kasutajad pöördudes selleks kas browseriga serveri domeeni poole või kasutades käsurea utiliiti. Käsurealt kasutajate loomine näeb välja järgnev&lt;br /&gt;
&lt;br /&gt;
 # ipa config-mod --defaultshell=/bin/bash&lt;br /&gt;
 # ipa user-add test --first=testikas --last=vants --email=test@asutus.ee --password&lt;br /&gt;
&lt;br /&gt;
===Kliendi seadistus===&lt;br /&gt;
&lt;br /&gt;
Kliendi paigaldus Ubuntus&lt;br /&gt;
&lt;br /&gt;
 # apt-get install freeipa-client&lt;br /&gt;
&lt;br /&gt;
Serveriga ühendamine on automaatne protsess kus tuleb ette anda domeen ning Kerberos realm&lt;br /&gt;
&lt;br /&gt;
 # ipa-client-install --hostname=freeipa.test.ee --mkhomedir --server=freeipa.test.ee --domain test.ee --realm TEST.EE&lt;br /&gt;
&lt;br /&gt;
Kliendi eemaldamine&lt;br /&gt;
&lt;br /&gt;
 # ipa-client-install --uninstall&lt;br /&gt;
&lt;br /&gt;
Kliendi seadistamine FreeIPA serverile&lt;br /&gt;
&lt;br /&gt;
 # authconfig --enablesssdauth --enablemkhomedir --update --enablesssd&lt;br /&gt;
&lt;br /&gt;
===Backup serveri paigaldus===&lt;br /&gt;
&lt;br /&gt;
Paigalda FreeIPA samamoodi nagu peaserverile ning seadista kinit käsuga admin kasutaja&lt;br /&gt;
&lt;br /&gt;
 # ipa hostgroup-add-member ipaservers --hosts freeipa.test.ee&lt;br /&gt;
 # ipa-replica-install --setup-ca&lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
https://computingforgeeks.com/install-and-configure-freeipa-server-on-ubuntu/&lt;br /&gt;
&lt;br /&gt;
https://computingforgeeks.com/how-to-configure-freeipa-client-on-ubuntu-centos/&lt;br /&gt;
&lt;br /&gt;
https://www.howtoforge.com/how-to-install-freeipa-client-on-ubuntu-server-1804/&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=FreeIPA&amp;diff=30991</id>
		<title>FreeIPA</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=FreeIPA&amp;diff=30991"/>
		<updated>2020-08-11T08:25:21Z</updated>

		<summary type="html">&lt;p&gt;Jj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
[[Fail:Freeipa.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
===Serveri paigaldus===&lt;br /&gt;
&lt;br /&gt;
Server vajab esimesena asjana FQDNi ehk siis pädevat domeeni millel töötada mis antud näites on freeipa.test.ee. võimalik on test keskkonnas defineerida ka kõigi masinate hosts failidesse kaudu aga targem oleks see siiski ka reaalselt luua&lt;br /&gt;
&lt;br /&gt;
Lisaks vajab süsteem kõvasti entroopiat mida võib hakata virtuaalmasinates nappima nii tugevalt, et isegi paigaldus võib hanguda, seega tasub esimese asjana lisada süsteemi rng-tools&lt;br /&gt;
&lt;br /&gt;
 # apt -y install rng-tools&lt;br /&gt;
&lt;br /&gt;
Misjärel tuleb avada /etc/default/rng-tools ning lisada allolev rida&lt;br /&gt;
&lt;br /&gt;
 HRNGDEVICE=/dev/urandom&lt;br /&gt;
&lt;br /&gt;
Misjärel stardime rng-tools deemoni&lt;br /&gt;
&lt;br /&gt;
 # sudo systemctl enable rng-tools&lt;br /&gt;
 # sudo systemctl start rng-tools&lt;br /&gt;
&lt;br /&gt;
FreeIPA paigaldamine Ubuntus&lt;br /&gt;
&lt;br /&gt;
 # apt-get install freeipa-server&lt;br /&gt;
&lt;br /&gt;
FreeIPA automaatseks seadistuseks on eraldi utiliit&lt;br /&gt;
&lt;br /&gt;
 # ipa-server-install&lt;br /&gt;
&lt;br /&gt;
Kui paigaldus on tehtud saab luua esimesed kasutajad pöördudes selleks kas browseriga serveri domeeni poole või kasutades käsurea utiliiti. Käsurealt kasutajate loomine näeb välja järgnev&lt;br /&gt;
&lt;br /&gt;
 # ipa config-mod --defaultshell=/bin/bash&lt;br /&gt;
 # ipa user-add test --first=testikas --last=vants --email=test@asutus.ee --password&lt;br /&gt;
&lt;br /&gt;
===Kliendi seadistus===&lt;br /&gt;
&lt;br /&gt;
Kliendi paigaldus Ubuntus&lt;br /&gt;
&lt;br /&gt;
 # apt-get install freeipa-client&lt;br /&gt;
&lt;br /&gt;
Serveriga ühendamine on automaatne protsess kus tuleb ette anda domeen ning Kerberos realm&lt;br /&gt;
&lt;br /&gt;
 # ipa-client-install --hostname=freeipa.test.ee --mkhomedir --server=freeipa.test.ee --domain test.ee --realm TEST.EE&lt;br /&gt;
&lt;br /&gt;
Kliendi eemaldamine&lt;br /&gt;
&lt;br /&gt;
 # ipa-client-install --uninstall&lt;br /&gt;
&lt;br /&gt;
Kliendi seadistamine FreeIPA serverile&lt;br /&gt;
&lt;br /&gt;
 # authconfig --enablesssdauth --enablemkhomedir --update --enablesssd&lt;br /&gt;
&lt;br /&gt;
===Backup serveri paigaldus===&lt;br /&gt;
&lt;br /&gt;
Paigalda FreeIPA samamoodi nagu peaserverile ning seadista kinit käsuga admin kasutaja&lt;br /&gt;
&lt;br /&gt;
 # ipa hostgroup-add-member ipaservers --hosts freeipa.test.ee&lt;br /&gt;
 # ipa-replica-install --setup-ca&lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
https://computingforgeeks.com/install-and-configure-freeipa-server-on-ubuntu/&lt;br /&gt;
&lt;br /&gt;
https://computingforgeeks.com/how-to-configure-freeipa-client-on-ubuntu-centos/&lt;br /&gt;
&lt;br /&gt;
https://www.howtoforge.com/how-to-install-freeipa-client-on-ubuntu-server-1804/&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=FreeIPA&amp;diff=30990</id>
		<title>FreeIPA</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=FreeIPA&amp;diff=30990"/>
		<updated>2020-08-11T08:24:43Z</updated>

		<summary type="html">&lt;p&gt;Jj: /* Sissejuhatus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
[[Fail:Freeipa.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Serveri paigaldus===&lt;br /&gt;
&lt;br /&gt;
Server vajab esimesena asjana FQDNi ehk siis pädevat domeeni millel töötada mis antud näites on freeipa.test.ee. võimalik on test keskkonnas defineerida ka kõigi masinate hosts failidesse kaudu aga targem oleks see siiski ka reaalselt luua&lt;br /&gt;
&lt;br /&gt;
Lisaks vajab süsteem kõvasti entroopiat mida võib hakata virtuaalmasinates nappima nii tugevalt, et isegi paigaldus võib hanguda, seega tasub esimese asjana lisada süsteemi rng-tools&lt;br /&gt;
&lt;br /&gt;
 # apt -y install rng-tools&lt;br /&gt;
&lt;br /&gt;
Misjärel tuleb avada /etc/default/rng-tools ning lisada allolev rida&lt;br /&gt;
&lt;br /&gt;
 HRNGDEVICE=/dev/urandom&lt;br /&gt;
&lt;br /&gt;
Misjärel stardime rng-tools deemoni&lt;br /&gt;
&lt;br /&gt;
 # sudo systemctl enable rng-tools&lt;br /&gt;
 # sudo systemctl start rng-tools&lt;br /&gt;
&lt;br /&gt;
FreeIPA paigaldamine Ubuntus&lt;br /&gt;
&lt;br /&gt;
 # apt-get install freeipa-server&lt;br /&gt;
&lt;br /&gt;
FreeIPA automaatseks seadistuseks on eraldi utiliit&lt;br /&gt;
&lt;br /&gt;
 # ipa-server-install&lt;br /&gt;
&lt;br /&gt;
Kui paigaldus on tehtud saab luua esimesed kasutajad pöördudes selleks kas browseriga serveri domeeni poole või kasutades käsurea utiliiti. Käsurealt kasutajate loomine näeb välja järgnev&lt;br /&gt;
&lt;br /&gt;
 # ipa config-mod --defaultshell=/bin/bash&lt;br /&gt;
 # ipa user-add test --first=testikas --last=vants --email=test@asutus.ee --password&lt;br /&gt;
&lt;br /&gt;
===Kliendi seadistus===&lt;br /&gt;
&lt;br /&gt;
Kliendi paigaldus Ubuntus&lt;br /&gt;
&lt;br /&gt;
 # apt-get install freeipa-client&lt;br /&gt;
&lt;br /&gt;
Serveriga ühendamine on automaatne protsess kus tuleb ette anda domeen ning Kerberos realm&lt;br /&gt;
&lt;br /&gt;
 # ipa-client-install --hostname=freeipa.test.ee --mkhomedir --server=freeipa.test.ee --domain test.ee --realm TEST.EE&lt;br /&gt;
&lt;br /&gt;
Kliendi eemaldamine&lt;br /&gt;
&lt;br /&gt;
 # ipa-client-install --uninstall&lt;br /&gt;
&lt;br /&gt;
Kliendi seadistamine FreeIPA serverile&lt;br /&gt;
&lt;br /&gt;
 # authconfig --enablesssdauth --enablemkhomedir --update --enablesssd&lt;br /&gt;
&lt;br /&gt;
===Backup serveri paigaldus===&lt;br /&gt;
&lt;br /&gt;
Paigalda FreeIPA samamoodi nagu peaserverile ning seadista kinit käsuga admin kasutaja&lt;br /&gt;
&lt;br /&gt;
 # ipa hostgroup-add-member ipaservers --hosts freeipa.test.ee&lt;br /&gt;
 # ipa-replica-install --setup-ca&lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
https://computingforgeeks.com/install-and-configure-freeipa-server-on-ubuntu/&lt;br /&gt;
&lt;br /&gt;
https://computingforgeeks.com/how-to-configure-freeipa-client-on-ubuntu-centos/&lt;br /&gt;
&lt;br /&gt;
https://www.howtoforge.com/how-to-install-freeipa-client-on-ubuntu-server-1804/&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=FreeIPA&amp;diff=30988</id>
		<title>FreeIPA</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=FreeIPA&amp;diff=30988"/>
		<updated>2020-08-10T12:43:41Z</updated>

		<summary type="html">&lt;p&gt;Jj: /* Kliendi seadistus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
===Serveri paigaldus===&lt;br /&gt;
&lt;br /&gt;
Server vajab esimesena asjana FQDNi ehk siis pädevat domeeni millel töötada mis antud näites on freeipa.test.ee. võimalik on test keskkonnas defineerida ka kõigi masinate hosts failidesse kaudu aga targem oleks see siiski ka reaalselt luua&lt;br /&gt;
&lt;br /&gt;
Lisaks vajab süsteem kõvasti entroopiat mida võib hakata virtuaalmasinates nappima nii tugevalt, et isegi paigaldus võib hanguda, seega tasub esimese asjana lisada süsteemi rng-tools&lt;br /&gt;
&lt;br /&gt;
 # apt -y install rng-tools&lt;br /&gt;
&lt;br /&gt;
Misjärel tuleb avada /etc/default/rng-tools ning lisada allolev rida&lt;br /&gt;
&lt;br /&gt;
 HRNGDEVICE=/dev/urandom&lt;br /&gt;
&lt;br /&gt;
Misjärel stardime rng-tools deemoni&lt;br /&gt;
&lt;br /&gt;
 # sudo systemctl enable rng-tools&lt;br /&gt;
 # sudo systemctl start rng-tools&lt;br /&gt;
&lt;br /&gt;
FreeIPA paigaldamine Ubuntus&lt;br /&gt;
&lt;br /&gt;
 # apt-get install freeipa-server&lt;br /&gt;
&lt;br /&gt;
FreeIPA automaatseks seadistuseks on eraldi utiliit&lt;br /&gt;
&lt;br /&gt;
 # ipa-server-install&lt;br /&gt;
&lt;br /&gt;
Kui paigaldus on tehtud saab luua esimesed kasutajad pöördudes selleks kas browseriga serveri domeeni poole või kasutades käsurea utiliiti. Käsurealt kasutajate loomine näeb välja järgnev&lt;br /&gt;
&lt;br /&gt;
 # ipa config-mod --defaultshell=/bin/bash&lt;br /&gt;
 # ipa user-add test --first=testikas --last=vants --email=test@asutus.ee --password&lt;br /&gt;
&lt;br /&gt;
===Kliendi seadistus===&lt;br /&gt;
&lt;br /&gt;
Kliendi paigaldus Ubuntus&lt;br /&gt;
&lt;br /&gt;
 # apt-get install freeipa-client&lt;br /&gt;
&lt;br /&gt;
Serveriga ühendamine on automaatne protsess kus tuleb ette anda domeen ning Kerberos realm&lt;br /&gt;
&lt;br /&gt;
 # ipa-client-install --hostname=freeipa.test.ee --mkhomedir --server=freeipa.test.ee --domain test.ee --realm TEST.EE&lt;br /&gt;
&lt;br /&gt;
Kliendi eemaldamine&lt;br /&gt;
&lt;br /&gt;
 # ipa-client-install --uninstall&lt;br /&gt;
&lt;br /&gt;
Kliendi seadistamine FreeIPA serverile&lt;br /&gt;
&lt;br /&gt;
 # authconfig --enablesssdauth --enablemkhomedir --update --enablesssd&lt;br /&gt;
&lt;br /&gt;
===Backup serveri paigaldus===&lt;br /&gt;
&lt;br /&gt;
Paigalda FreeIPA samamoodi nagu peaserverile ning seadista kinit käsuga admin kasutaja&lt;br /&gt;
&lt;br /&gt;
 # ipa hostgroup-add-member ipaservers --hosts freeipa.test.ee&lt;br /&gt;
 # ipa-replica-install --setup-ca&lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
https://computingforgeeks.com/install-and-configure-freeipa-server-on-ubuntu/&lt;br /&gt;
&lt;br /&gt;
https://computingforgeeks.com/how-to-configure-freeipa-client-on-ubuntu-centos/&lt;br /&gt;
&lt;br /&gt;
https://www.howtoforge.com/how-to-install-freeipa-client-on-ubuntu-server-1804/&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=FreeIPA&amp;diff=30987</id>
		<title>FreeIPA</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=FreeIPA&amp;diff=30987"/>
		<updated>2020-08-10T12:40:50Z</updated>

		<summary type="html">&lt;p&gt;Jj: /* Kliendi seadistus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
===Serveri paigaldus===&lt;br /&gt;
&lt;br /&gt;
Server vajab esimesena asjana FQDNi ehk siis pädevat domeeni millel töötada mis antud näites on freeipa.test.ee. võimalik on test keskkonnas defineerida ka kõigi masinate hosts failidesse kaudu aga targem oleks see siiski ka reaalselt luua&lt;br /&gt;
&lt;br /&gt;
Lisaks vajab süsteem kõvasti entroopiat mida võib hakata virtuaalmasinates nappima nii tugevalt, et isegi paigaldus võib hanguda, seega tasub esimese asjana lisada süsteemi rng-tools&lt;br /&gt;
&lt;br /&gt;
 # apt -y install rng-tools&lt;br /&gt;
&lt;br /&gt;
Misjärel tuleb avada /etc/default/rng-tools ning lisada allolev rida&lt;br /&gt;
&lt;br /&gt;
 HRNGDEVICE=/dev/urandom&lt;br /&gt;
&lt;br /&gt;
Misjärel stardime rng-tools deemoni&lt;br /&gt;
&lt;br /&gt;
 # sudo systemctl enable rng-tools&lt;br /&gt;
 # sudo systemctl start rng-tools&lt;br /&gt;
&lt;br /&gt;
FreeIPA paigaldamine Ubuntus&lt;br /&gt;
&lt;br /&gt;
 # apt-get install freeipa-server&lt;br /&gt;
&lt;br /&gt;
FreeIPA automaatseks seadistuseks on eraldi utiliit&lt;br /&gt;
&lt;br /&gt;
 # ipa-server-install&lt;br /&gt;
&lt;br /&gt;
Kui paigaldus on tehtud saab luua esimesed kasutajad pöördudes selleks kas browseriga serveri domeeni poole või kasutades käsurea utiliiti. Käsurealt kasutajate loomine näeb välja järgnev&lt;br /&gt;
&lt;br /&gt;
 # ipa config-mod --defaultshell=/bin/bash&lt;br /&gt;
 # ipa user-add test --first=testikas --last=vants --email=test@asutus.ee --password&lt;br /&gt;
&lt;br /&gt;
===Kliendi seadistus===&lt;br /&gt;
&lt;br /&gt;
Kliendi paigaldus Ubuntus&lt;br /&gt;
&lt;br /&gt;
 # apt-get install freeipa-client&lt;br /&gt;
&lt;br /&gt;
Serveriga ühendamine on automaatne protsess kus tuleb ette anda domeen ning Kerberos realm&lt;br /&gt;
&lt;br /&gt;
 # ipa-client-install --hostname=freeipa.test.ee --mkhomedir --server=freeipa.test.ee --domain test.ee --realm TEST.EE&lt;br /&gt;
&lt;br /&gt;
Kliendi eemaldamine&lt;br /&gt;
&lt;br /&gt;
 # ipa-client-install --uninstall&lt;br /&gt;
&lt;br /&gt;
Kliendi seadistamine FreeIPA serverile&lt;br /&gt;
&lt;br /&gt;
 # authconfig --enablesssdauth --enablemkhomedir --update --enablesssd&lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
https://computingforgeeks.com/install-and-configure-freeipa-server-on-ubuntu/&lt;br /&gt;
&lt;br /&gt;
https://computingforgeeks.com/how-to-configure-freeipa-client-on-ubuntu-centos/&lt;br /&gt;
&lt;br /&gt;
https://www.howtoforge.com/how-to-install-freeipa-client-on-ubuntu-server-1804/&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Barman&amp;diff=30986</id>
		<title>Barman</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Barman&amp;diff=30986"/>
		<updated>2020-08-07T09:15:31Z</updated>

		<summary type="html">&lt;p&gt;Jj: /* Paigaldus Debianis */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Barman on postgresi varundamise vahend, kus postgresql server saadab pidevalt enda muudatused wal-idena barmani serverisse ning annab seeläbi point-in-time recovery võimekuse.&lt;br /&gt;
&lt;br /&gt;
* Postgres-server 192.168.0.4&lt;br /&gt;
* Barman-server 192.168.0.5&lt;br /&gt;
&lt;br /&gt;
===Paigaldus Debianis===&lt;br /&gt;
&lt;br /&gt;
 # apt-get install barman barman-cli&lt;br /&gt;
&lt;br /&gt;
Postgresql server ja barman server peavad suutma mõlemad logida ssh võtmetega üksteise käsureale. Ehk siis barman kasutaja peab saama logida postgres kasutajaga&lt;br /&gt;
postgres sererisse ja postgres serer omakorda barman kasutajaga barmani serverisse.&lt;br /&gt;
&lt;br /&gt;
Postgresql serveris&lt;br /&gt;
 # sudo -u postgres ssh-keygen -b 2048 -t rsa -N &amp;quot;&amp;quot; -C &amp;quot;postgres@server-a&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Barman serveris &lt;br /&gt;
&lt;br /&gt;
 # sudo -u barman ssh-keygen -b 2048 -t rsa -N &amp;quot;&amp;quot; -C &amp;quot;barman@server-b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Seadistus===&lt;br /&gt;
&lt;br /&gt;
Avame barmani serveris /etc/barman.conf&lt;br /&gt;
&lt;br /&gt;
 [barman]&lt;br /&gt;
 barman_home = /srv/barman&lt;br /&gt;
 barman_user = barman&lt;br /&gt;
 log_file = /var/log/barman/barman.log&lt;br /&gt;
 compression = gzip&lt;br /&gt;
 reuse_backup = link&lt;br /&gt;
 backup_method = rsync&lt;br /&gt;
 archiver = on&lt;br /&gt;
 &lt;br /&gt;
 [main-server]&lt;br /&gt;
 description = &amp;quot;Main DB Server&amp;quot;&lt;br /&gt;
 ssh_command = ssh postgres@192.168.0.4&lt;br /&gt;
 backup_options = exclusive_backup&lt;br /&gt;
 parallel_jobs = 1&lt;br /&gt;
 conninfo = host=192.168.0.4 user=postgres password=parool&lt;br /&gt;
 last_backup_maximum_age = 33 DAYS&lt;br /&gt;
 minimum_redundancy = 1&lt;br /&gt;
 retention_policy = RECOVERY WINDOW OF 1 MONTHS&lt;br /&gt;
&lt;br /&gt;
Postgres serveris lisame käsud rsyncida walide barmani saatmise, postgresql.conf&lt;br /&gt;
&lt;br /&gt;
 archive_mode = on&lt;br /&gt;
 archive_command = ‘rsync -a %p barman@192.168.0.5:/srv/barman/main-server/incoming/%f`&lt;br /&gt;
&lt;br /&gt;
/var/data/barman/main-server/incoming/%f&lt;br /&gt;
&lt;br /&gt;
===Kasutamine===&lt;br /&gt;
&lt;br /&gt;
Tekitame main backupi&lt;br /&gt;
&lt;br /&gt;
 # barman backup postgres-server&lt;br /&gt;
&lt;br /&gt;
Vaatamiseks&lt;br /&gt;
&lt;br /&gt;
 # barman list-backup postges-server&lt;br /&gt;
&lt;br /&gt;
Barman võimaldab ka point-in-time taastamist otse serverisse, kus võetakse aluseks üks backupidest ning täiendatakse seda arhiveeritud wal-idega&lt;br /&gt;
&lt;br /&gt;
 # barman recover --target-time &amp;quot;2020-03-04 06:42:34.139167+02:00&amp;quot; --remote-ssh-command &amp;quot;ssh postgres@192.168.0.4&amp;quot; main-server 20200304T010401 /var/data/pgdata&lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
https://www.digitalocean.com/community/tutorials/how-to-back-up-restore-and-migrate-postgresql-databases-with-barman-on-centos-7&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Barman&amp;diff=30985</id>
		<title>Barman</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Barman&amp;diff=30985"/>
		<updated>2020-08-07T09:14:12Z</updated>

		<summary type="html">&lt;p&gt;Jj: /* Seadistus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Barman on postgresi varundamise vahend, kus postgresql server saadab pidevalt enda muudatused wal-idena barmani serverisse ning annab seeläbi point-in-time recovery võimekuse.&lt;br /&gt;
&lt;br /&gt;
* Postgres-server 192.168.0.4&lt;br /&gt;
* Barman-server 192.168.0.5&lt;br /&gt;
&lt;br /&gt;
===Paigaldus Debianis===&lt;br /&gt;
&lt;br /&gt;
 # apt-get install barman barman-cli&lt;br /&gt;
&lt;br /&gt;
Postgresql server ja barman server peavad suutma mõlemad logida ssh võtmetega üksteise käsureale&lt;br /&gt;
&lt;br /&gt;
Postgresql serveris&lt;br /&gt;
 # sudo -u postgres ssh-keygen -b 2048 -t rsa -N &amp;quot;&amp;quot; -C &amp;quot;postgres@server-a&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Barman serveris &lt;br /&gt;
&lt;br /&gt;
 # sudo -u barman ssh-keygen -b 2048 -t rsa -N &amp;quot;&amp;quot; -C &amp;quot;barman@server-b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Seadistus===&lt;br /&gt;
&lt;br /&gt;
Avame barmani serveris /etc/barman.conf&lt;br /&gt;
&lt;br /&gt;
 [barman]&lt;br /&gt;
 barman_home = /srv/barman&lt;br /&gt;
 barman_user = barman&lt;br /&gt;
 log_file = /var/log/barman/barman.log&lt;br /&gt;
 compression = gzip&lt;br /&gt;
 reuse_backup = link&lt;br /&gt;
 backup_method = rsync&lt;br /&gt;
 archiver = on&lt;br /&gt;
 &lt;br /&gt;
 [main-server]&lt;br /&gt;
 description = &amp;quot;Main DB Server&amp;quot;&lt;br /&gt;
 ssh_command = ssh postgres@192.168.0.4&lt;br /&gt;
 backup_options = exclusive_backup&lt;br /&gt;
 parallel_jobs = 1&lt;br /&gt;
 conninfo = host=192.168.0.4 user=postgres password=parool&lt;br /&gt;
 last_backup_maximum_age = 33 DAYS&lt;br /&gt;
 minimum_redundancy = 1&lt;br /&gt;
 retention_policy = RECOVERY WINDOW OF 1 MONTHS&lt;br /&gt;
&lt;br /&gt;
Postgres serveris lisame käsud rsyncida walide barmani saatmise, postgresql.conf&lt;br /&gt;
&lt;br /&gt;
 archive_mode = on&lt;br /&gt;
 archive_command = ‘rsync -a %p barman@192.168.0.5:/srv/barman/main-server/incoming/%f`&lt;br /&gt;
&lt;br /&gt;
/var/data/barman/main-server/incoming/%f&lt;br /&gt;
&lt;br /&gt;
===Kasutamine===&lt;br /&gt;
&lt;br /&gt;
Tekitame main backupi&lt;br /&gt;
&lt;br /&gt;
 # barman backup postgres-server&lt;br /&gt;
&lt;br /&gt;
Vaatamiseks&lt;br /&gt;
&lt;br /&gt;
 # barman list-backup postges-server&lt;br /&gt;
&lt;br /&gt;
Barman võimaldab ka point-in-time taastamist otse serverisse, kus võetakse aluseks üks backupidest ning täiendatakse seda arhiveeritud wal-idega&lt;br /&gt;
&lt;br /&gt;
 # barman recover --target-time &amp;quot;2020-03-04 06:42:34.139167+02:00&amp;quot; --remote-ssh-command &amp;quot;ssh postgres@192.168.0.4&amp;quot; main-server 20200304T010401 /var/data/pgdata&lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
https://www.digitalocean.com/community/tutorials/how-to-back-up-restore-and-migrate-postgresql-databases-with-barman-on-centos-7&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Barman&amp;diff=30984</id>
		<title>Barman</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Barman&amp;diff=30984"/>
		<updated>2020-08-07T09:11:41Z</updated>

		<summary type="html">&lt;p&gt;Jj: /* Seadistus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Barman on postgresi varundamise vahend, kus postgresql server saadab pidevalt enda muudatused wal-idena barmani serverisse ning annab seeläbi point-in-time recovery võimekuse.&lt;br /&gt;
&lt;br /&gt;
* Postgres-server 192.168.0.4&lt;br /&gt;
* Barman-server 192.168.0.5&lt;br /&gt;
&lt;br /&gt;
===Paigaldus Debianis===&lt;br /&gt;
&lt;br /&gt;
 # apt-get install barman barman-cli&lt;br /&gt;
&lt;br /&gt;
Postgresql server ja barman server peavad suutma mõlemad logida ssh võtmetega üksteise käsureale&lt;br /&gt;
&lt;br /&gt;
Postgresql serveris&lt;br /&gt;
 # sudo -u postgres ssh-keygen -b 2048 -t rsa -N &amp;quot;&amp;quot; -C &amp;quot;postgres@server-a&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Barman serveris &lt;br /&gt;
&lt;br /&gt;
 # sudo -u barman ssh-keygen -b 2048 -t rsa -N &amp;quot;&amp;quot; -C &amp;quot;barman@server-b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Seadistus===&lt;br /&gt;
&lt;br /&gt;
Avame barmani serveris /etc/barman.conf&lt;br /&gt;
&lt;br /&gt;
 [barman]&lt;br /&gt;
 barman_home = /srv/barman&lt;br /&gt;
 barman_user = barman&lt;br /&gt;
 log_file = /var/log/barman/barman.log&lt;br /&gt;
 compression = gzip&lt;br /&gt;
 reuse_backup = link&lt;br /&gt;
 backup_method = rsync&lt;br /&gt;
 archiver = on&lt;br /&gt;
 &lt;br /&gt;
 [main-db-server]&lt;br /&gt;
 description = &amp;quot;Main DB Server&amp;quot;&lt;br /&gt;
 ssh_command = ssh postgres@192.168.0.4&lt;br /&gt;
 backup_options = exclusive_backup&lt;br /&gt;
 parallel_jobs = 1&lt;br /&gt;
 conninfo = host=192.168.0.4 user=postgres password=parool&lt;br /&gt;
 last_backup_maximum_age = 33 DAYS&lt;br /&gt;
 minimum_redundancy = 1&lt;br /&gt;
 retention_policy = RECOVERY WINDOW OF 1 MONTHS&lt;br /&gt;
&lt;br /&gt;
Postgres serveris lisame käsud rsyncida walide barmani saatmise, postgresql.conf&lt;br /&gt;
&lt;br /&gt;
 archive_mode = on&lt;br /&gt;
 archive_command = ‘rsync -a %p barman@192.168.0.5:STREAMING_WALS_DIRECTORY/%f`&lt;br /&gt;
&lt;br /&gt;
===Kasutamine===&lt;br /&gt;
&lt;br /&gt;
Tekitame main backupi&lt;br /&gt;
&lt;br /&gt;
 # barman backup postgres-server&lt;br /&gt;
&lt;br /&gt;
Vaatamiseks&lt;br /&gt;
&lt;br /&gt;
 # barman list-backup postges-server&lt;br /&gt;
&lt;br /&gt;
Barman võimaldab ka point-in-time taastamist otse serverisse, kus võetakse aluseks üks backupidest ning täiendatakse seda arhiveeritud wal-idega&lt;br /&gt;
&lt;br /&gt;
 # barman recover --target-time &amp;quot;2020-03-04 06:42:34.139167+02:00&amp;quot; --remote-ssh-command &amp;quot;ssh postgres@192.168.0.4&amp;quot; main-server 20200304T010401 /var/data/pgdata&lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
https://www.digitalocean.com/community/tutorials/how-to-back-up-restore-and-migrate-postgresql-databases-with-barman-on-centos-7&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Barman&amp;diff=30983</id>
		<title>Barman</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Barman&amp;diff=30983"/>
		<updated>2020-08-06T09:50:48Z</updated>

		<summary type="html">&lt;p&gt;Jj: /* Seadistus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Barman on postgresi varundamise vahend, kus postgresql server saadab pidevalt enda muudatused wal-idena barmani serverisse ning annab seeläbi point-in-time recovery võimekuse.&lt;br /&gt;
&lt;br /&gt;
* Postgres-server 192.168.0.4&lt;br /&gt;
* Barman-server 192.168.0.5&lt;br /&gt;
&lt;br /&gt;
===Paigaldus Debianis===&lt;br /&gt;
&lt;br /&gt;
 # apt-get install barman barman-cli&lt;br /&gt;
&lt;br /&gt;
Postgresql server ja barman server peavad suutma mõlemad logida ssh võtmetega üksteise käsureale&lt;br /&gt;
&lt;br /&gt;
Postgresql serveris&lt;br /&gt;
 # sudo -u postgres ssh-keygen -b 2048 -t rsa -N &amp;quot;&amp;quot; -C &amp;quot;postgres@server-a&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Barman serveris &lt;br /&gt;
&lt;br /&gt;
 # sudo -u barman ssh-keygen -b 2048 -t rsa -N &amp;quot;&amp;quot; -C &amp;quot;barman@server-b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Seadistus===&lt;br /&gt;
&lt;br /&gt;
Avame barmani serveris /etc/barman.conf&lt;br /&gt;
&lt;br /&gt;
 [barman]&lt;br /&gt;
 barman_home = /srv/barman&lt;br /&gt;
 barman_user = barman&lt;br /&gt;
 log_file = /var/log/barman/barman.log&lt;br /&gt;
 compression = gzip&lt;br /&gt;
 reuse_backup = link&lt;br /&gt;
 backup_method = rsync&lt;br /&gt;
 archiver = on&lt;br /&gt;
 &lt;br /&gt;
 [main-db-server]&lt;br /&gt;
 description = &amp;quot;Main DB Server&amp;quot;&lt;br /&gt;
 ssh_command = ssh postgres@192.168.0.4&lt;br /&gt;
 conninfo = host=192.168.0.4 user=postgres&lt;br /&gt;
&lt;br /&gt;
Postgres serveris lisame käsud rsyncida walide barmani saatmise, postgresql.conf&lt;br /&gt;
&lt;br /&gt;
 archive_mode = on&lt;br /&gt;
 archive_command = ‘rsync -a %p barman@192.168.0.5:STREAMING_WALS_DIRECTORY/%f`&lt;br /&gt;
&lt;br /&gt;
===Kasutamine===&lt;br /&gt;
&lt;br /&gt;
Tekitame main backupi&lt;br /&gt;
&lt;br /&gt;
 # barman backup postgres-server&lt;br /&gt;
&lt;br /&gt;
Vaatamiseks&lt;br /&gt;
&lt;br /&gt;
 # barman list-backup postges-server&lt;br /&gt;
&lt;br /&gt;
Barman võimaldab ka point-in-time taastamist otse serverisse, kus võetakse aluseks üks backupidest ning täiendatakse seda arhiveeritud wal-idega&lt;br /&gt;
&lt;br /&gt;
 # barman recover --target-time &amp;quot;2020-03-04 06:42:34.139167+02:00&amp;quot; --remote-ssh-command &amp;quot;ssh postgres@192.168.0.4&amp;quot; main-server 20200304T010401 /var/data/pgdata&lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
https://www.digitalocean.com/community/tutorials/how-to-back-up-restore-and-migrate-postgresql-databases-with-barman-on-centos-7&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Barman&amp;diff=30982</id>
		<title>Barman</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Barman&amp;diff=30982"/>
		<updated>2020-08-06T09:43:42Z</updated>

		<summary type="html">&lt;p&gt;Jj: /* Sissejuhatus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Barman on postgresi varundamise vahend, kus postgresql server saadab pidevalt enda muudatused wal-idena barmani serverisse ning annab seeläbi point-in-time recovery võimekuse.&lt;br /&gt;
&lt;br /&gt;
* Postgres-server 192.168.0.4&lt;br /&gt;
* Barman-server 192.168.0.5&lt;br /&gt;
&lt;br /&gt;
===Paigaldus Debianis===&lt;br /&gt;
&lt;br /&gt;
 # apt-get install barman barman-cli&lt;br /&gt;
&lt;br /&gt;
Postgresql server ja barman server peavad suutma mõlemad logida ssh võtmetega üksteise käsureale&lt;br /&gt;
&lt;br /&gt;
Postgresql serveris&lt;br /&gt;
 # sudo -u postgres ssh-keygen -b 2048 -t rsa -N &amp;quot;&amp;quot; -C &amp;quot;postgres@server-a&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Barman serveris &lt;br /&gt;
&lt;br /&gt;
 # sudo -u barman ssh-keygen -b 2048 -t rsa -N &amp;quot;&amp;quot; -C &amp;quot;barman@server-b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Seadistus===&lt;br /&gt;
&lt;br /&gt;
Avame barmani serveris /etc/barman.conf&lt;br /&gt;
&lt;br /&gt;
 [barman]&lt;br /&gt;
 barman_home = /srv/barman&lt;br /&gt;
 barman_user = barman&lt;br /&gt;
 log_file = /var/log/barman/barman.log&lt;br /&gt;
 compression = gzip&lt;br /&gt;
 reuse_backup = link&lt;br /&gt;
 backup_method = rsync&lt;br /&gt;
 archiver = on&lt;br /&gt;
 &lt;br /&gt;
 [main-db-server]&lt;br /&gt;
 description = &amp;quot;Main DB Server&amp;quot;&lt;br /&gt;
 ssh_command = ssh postgres@192.168.0.4&lt;br /&gt;
 conninfo = host=192.168.0.4 user=postgres&lt;br /&gt;
&lt;br /&gt;
Postgres serveris lisame postgresql.conf&lt;br /&gt;
&lt;br /&gt;
 archive_mode = on&lt;br /&gt;
 archive_command = ‘rsync -a %p barman@192.168.0.5:STREAMING_WALS_DIRECTORY/%f`&lt;br /&gt;
&lt;br /&gt;
===Kasutamine===&lt;br /&gt;
&lt;br /&gt;
Tekitame main backupi&lt;br /&gt;
&lt;br /&gt;
 # barman backup postgres-server&lt;br /&gt;
&lt;br /&gt;
Vaatamiseks&lt;br /&gt;
&lt;br /&gt;
 # barman list-backup postges-server&lt;br /&gt;
&lt;br /&gt;
Barman võimaldab ka point-in-time taastamist otse serverisse, kus võetakse aluseks üks backupidest ning täiendatakse seda arhiveeritud wal-idega&lt;br /&gt;
&lt;br /&gt;
 # barman recover --target-time &amp;quot;2020-03-04 06:42:34.139167+02:00&amp;quot; --remote-ssh-command &amp;quot;ssh postgres@192.168.0.4&amp;quot; main-server 20200304T010401 /var/data/pgdata&lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
https://www.digitalocean.com/community/tutorials/how-to-back-up-restore-and-migrate-postgresql-databases-with-barman-on-centos-7&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Barman&amp;diff=30981</id>
		<title>Barman</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Barman&amp;diff=30981"/>
		<updated>2020-08-06T08:54:36Z</updated>

		<summary type="html">&lt;p&gt;Jj: /* Kasutamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
* Postgres-server 192.168.0.4&lt;br /&gt;
* Barman-server 192.168.0.5&lt;br /&gt;
&lt;br /&gt;
===Paigaldus Debianis===&lt;br /&gt;
&lt;br /&gt;
 # apt-get install barman barman-cli&lt;br /&gt;
&lt;br /&gt;
Postgresql server ja barman server peavad suutma mõlemad logida ssh võtmetega üksteise käsureale&lt;br /&gt;
&lt;br /&gt;
Postgresql serveris&lt;br /&gt;
 # sudo -u postgres ssh-keygen -b 2048 -t rsa -N &amp;quot;&amp;quot; -C &amp;quot;postgres@server-a&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Barman serveris &lt;br /&gt;
&lt;br /&gt;
 # sudo -u barman ssh-keygen -b 2048 -t rsa -N &amp;quot;&amp;quot; -C &amp;quot;barman@server-b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Seadistus===&lt;br /&gt;
&lt;br /&gt;
Avame barmani serveris /etc/barman.conf&lt;br /&gt;
&lt;br /&gt;
 [barman]&lt;br /&gt;
 barman_home = /srv/barman&lt;br /&gt;
 barman_user = barman&lt;br /&gt;
 log_file = /var/log/barman/barman.log&lt;br /&gt;
 compression = gzip&lt;br /&gt;
 reuse_backup = link&lt;br /&gt;
 backup_method = rsync&lt;br /&gt;
 archiver = on&lt;br /&gt;
 &lt;br /&gt;
 [main-db-server]&lt;br /&gt;
 description = &amp;quot;Main DB Server&amp;quot;&lt;br /&gt;
 ssh_command = ssh postgres@192.168.0.4&lt;br /&gt;
 conninfo = host=192.168.0.4 user=postgres&lt;br /&gt;
&lt;br /&gt;
Postgres serveris lisame postgresql.conf&lt;br /&gt;
&lt;br /&gt;
 archive_mode = on&lt;br /&gt;
 archive_command = ‘rsync -a %p barman@192.168.0.5:STREAMING_WALS_DIRECTORY/%f`&lt;br /&gt;
&lt;br /&gt;
===Kasutamine===&lt;br /&gt;
&lt;br /&gt;
Tekitame main backupi&lt;br /&gt;
&lt;br /&gt;
 # barman backup postgres-server&lt;br /&gt;
&lt;br /&gt;
Vaatamiseks&lt;br /&gt;
&lt;br /&gt;
 # barman list-backup postges-server&lt;br /&gt;
&lt;br /&gt;
Barman võimaldab ka point-in-time taastamist otse serverisse, kus võetakse aluseks üks backupidest ning täiendatakse seda arhiveeritud wal-idega&lt;br /&gt;
&lt;br /&gt;
 # barman recover --target-time &amp;quot;2020-03-04 06:42:34.139167+02:00&amp;quot; --remote-ssh-command &amp;quot;ssh postgres@192.168.0.4&amp;quot; main-server 20200304T010401 /var/data/pgdata&lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
https://www.digitalocean.com/community/tutorials/how-to-back-up-restore-and-migrate-postgresql-databases-with-barman-on-centos-7&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Barman&amp;diff=30980</id>
		<title>Barman</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Barman&amp;diff=30980"/>
		<updated>2020-08-06T08:43:41Z</updated>

		<summary type="html">&lt;p&gt;Jj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
* Postgres-server 192.168.0.4&lt;br /&gt;
* Barman-server 192.168.0.5&lt;br /&gt;
&lt;br /&gt;
===Paigaldus Debianis===&lt;br /&gt;
&lt;br /&gt;
 # apt-get install barman barman-cli&lt;br /&gt;
&lt;br /&gt;
Postgresql server ja barman server peavad suutma mõlemad logida ssh võtmetega üksteise käsureale&lt;br /&gt;
&lt;br /&gt;
Postgresql serveris&lt;br /&gt;
 # sudo -u postgres ssh-keygen -b 2048 -t rsa -N &amp;quot;&amp;quot; -C &amp;quot;postgres@server-a&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Barman serveris &lt;br /&gt;
&lt;br /&gt;
 # sudo -u barman ssh-keygen -b 2048 -t rsa -N &amp;quot;&amp;quot; -C &amp;quot;barman@server-b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Seadistus===&lt;br /&gt;
&lt;br /&gt;
Avame barmani serveris /etc/barman.conf&lt;br /&gt;
&lt;br /&gt;
 [barman]&lt;br /&gt;
 barman_home = /srv/barman&lt;br /&gt;
 barman_user = barman&lt;br /&gt;
 log_file = /var/log/barman/barman.log&lt;br /&gt;
 compression = gzip&lt;br /&gt;
 reuse_backup = link&lt;br /&gt;
 backup_method = rsync&lt;br /&gt;
 archiver = on&lt;br /&gt;
 &lt;br /&gt;
 [main-db-server]&lt;br /&gt;
 description = &amp;quot;Main DB Server&amp;quot;&lt;br /&gt;
 ssh_command = ssh postgres@192.168.0.4&lt;br /&gt;
 conninfo = host=192.168.0.4 user=postgres&lt;br /&gt;
&lt;br /&gt;
Postgres serveris lisame postgresql.conf&lt;br /&gt;
&lt;br /&gt;
 archive_mode = on&lt;br /&gt;
 archive_command = ‘rsync -a %p barman@192.168.0.5:STREAMING_WALS_DIRECTORY/%f`&lt;br /&gt;
&lt;br /&gt;
===Kasutamine===&lt;br /&gt;
&lt;br /&gt;
Tekitame main backupi&lt;br /&gt;
&lt;br /&gt;
 # barman backup postgres-server&lt;br /&gt;
&lt;br /&gt;
Vaatamiseks&lt;br /&gt;
&lt;br /&gt;
 # barman list-backup postges-server&lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
https://www.digitalocean.com/community/tutorials/how-to-back-up-restore-and-migrate-postgresql-databases-with-barman-on-centos-7&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Barman&amp;diff=30979</id>
		<title>Barman</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Barman&amp;diff=30979"/>
		<updated>2020-08-06T08:40:43Z</updated>

		<summary type="html">&lt;p&gt;Jj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
* Postgres server 192.168.0.4&lt;br /&gt;
* Barman server 192.168.0.5&lt;br /&gt;
&lt;br /&gt;
===Paigaldus Debianis===&lt;br /&gt;
&lt;br /&gt;
 # apt-get install barman barman-cli&lt;br /&gt;
&lt;br /&gt;
Postgresql server ja barman server peavad suutma mõlemad logida ssh võtmetega üksteise käsureale&lt;br /&gt;
&lt;br /&gt;
Postgresql serveris&lt;br /&gt;
 # sudo -u postgres ssh-keygen -b 2048 -t rsa -N &amp;quot;&amp;quot; -C &amp;quot;postgres@server-a&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Barman serveris &lt;br /&gt;
&lt;br /&gt;
 # sudo -u barman ssh-keygen -b 2048 -t rsa -N &amp;quot;&amp;quot; -C &amp;quot;barman@server-b&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Seadistus===&lt;br /&gt;
&lt;br /&gt;
/etc/barman.conf&lt;br /&gt;
&lt;br /&gt;
 [barman]&lt;br /&gt;
 barman_home = /srv/barman&lt;br /&gt;
 barman_user = barman&lt;br /&gt;
 log_file = /var/log/barman/barman.log&lt;br /&gt;
 compression = gzip&lt;br /&gt;
 reuse_backup = link&lt;br /&gt;
 backup_method = rsync&lt;br /&gt;
 archiver = on&lt;br /&gt;
 &lt;br /&gt;
 [main-db-server]&lt;br /&gt;
 description = &amp;quot;Main DB Server&amp;quot;&lt;br /&gt;
 ssh_command = ssh postgres@192.168.0.4&lt;br /&gt;
 conninfo = host=192.168.0.4 user=postgres&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
https://www.digitalocean.com/community/tutorials/how-to-back-up-restore-and-migrate-postgresql-databases-with-barman-on-centos-7&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Let%27s_Encrypt&amp;diff=30978</id>
		<title>Let&#039;s Encrypt</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Let%27s_Encrypt&amp;diff=30978"/>
		<updated>2020-08-06T07:08:02Z</updated>

		<summary type="html">&lt;p&gt;Jj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Lets encrypt on teenus mis pakub tasuta popup-free sertifikaate. See loodi 2016 ning selle taga on ettevõtted nagu Akamai, Cisco, Mozilla ning mitmed sõltumatud eraisikud.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s Encrypt kasutab oma tööks ACME ehk Automatic Certificate Management Environment protokolli, mille&lt;br /&gt;
abil saab tellida sertifikaate täisautomaatselt. Selle töö näeb välja umbkaudu järgnev&lt;br /&gt;
&lt;br /&gt;
#. Tarkvara genereerib võtme ja sertifikaadipäringu&lt;br /&gt;
#. Sertifikaadipäring allkirjastatakse ja saadetakse lets encrypt API-le&lt;br /&gt;
#. Lets encrypt server teeb valideerimise päringu domeeni vastu, millele sertifikaati taodeldakse, kus ta kontrollib http://domeen.ee/.well-known/acme-challenge/{token} olemasolu ja vastavust&lt;br /&gt;
#. Sertifikaadid genereeritakse ja laetakse automaatselt letsencrypti juurest alla serverisse&lt;br /&gt;
&lt;br /&gt;
Sertifikaadid kehtivad vaid 90 päeva. &lt;br /&gt;
&lt;br /&gt;
===Paigaldus certbotiga===&lt;br /&gt;
&lt;br /&gt;
Installime CentOSis epel release ja cerboti&lt;br /&gt;
&lt;br /&gt;
 yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm&lt;br /&gt;
 yum install certbot &lt;br /&gt;
&lt;br /&gt;
Tekitame nginx confi &lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/nginx/default.d/letsencrypt.conf&lt;br /&gt;
     location /.well-known {&lt;br /&gt;
         root /srv/letsencrypt;&lt;br /&gt;
     }&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
Tekitame cerboti kausta&lt;br /&gt;
&lt;br /&gt;
 # mkdir /srv/letsencrypt/&lt;br /&gt;
&lt;br /&gt;
Tekitame cerboti konfi&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /srv/letsencrypt/letsencrypt.ini&lt;br /&gt;
 agree-tos&lt;br /&gt;
 email = info@zoo.tartu.ee&lt;br /&gt;
 &lt;br /&gt;
 authenticator = webroot&lt;br /&gt;
 webroot-path = /opt/letsencrypt&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
Stardine nginxi&lt;br /&gt;
&lt;br /&gt;
 # systemctl start nginx&lt;br /&gt;
 # systemctl enable nginx&lt;br /&gt;
&lt;br /&gt;
Küsime sertifikaadi&lt;br /&gt;
&lt;br /&gt;
 # certbot certonly -n -c /srv/letsencrypt/letsencrypt.ini -d zoo.tartu.ee&lt;br /&gt;
&lt;br /&gt;
Automaatseks uuendamiseks võib tekitada cron faili /etc/cron.d/letsencrypt&lt;br /&gt;
&lt;br /&gt;
 MAILTO=info@zoo.tartu.ee&lt;br /&gt;
 11 2 1 * * root /usr/bin/certbot certonly -n -c /srv/letsencrypt/letsencrypt.ini -d zoo.tartu.ee &amp;amp;&amp;amp; /usr/bin/systemctl restart nginx&lt;br /&gt;
&lt;br /&gt;
===Paigaldus Acme skriptiga===&lt;br /&gt;
&lt;br /&gt;
Veebiserveri ettevalmistus. Nagu ülal kirjutatud siis vajab letsencrypt võimalust valideerida kasutaja õigust domeenile. Selleks tuleb veebiserverisse seadistada ligipääs&lt;br /&gt;
letsencrypti genereeritud tokenile. Nginxi korral tuleb tekitada järgnev konstruktsioon&lt;br /&gt;
&lt;br /&gt;
 location /.well-known/acme-challenge/ {&lt;br /&gt;
     root /var/www/certbot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Tõmbame vajaliku skripti alla ja paneme käima&lt;br /&gt;
&lt;br /&gt;
 curl https://get.acme.sh | sh&lt;br /&gt;
&lt;br /&gt;
See paigaldab ka croni töö mis tegeleb sertifikaatide uuendamisega.&lt;br /&gt;
&lt;br /&gt;
Küsime endale sertifikaadi&lt;br /&gt;
&lt;br /&gt;
 acme.sh --issue -d test.org -w /var/www/certbot&lt;br /&gt;
&lt;br /&gt;
Keerukamad kasutusjuhud. Nt dockeri puhul võime ka täpselt ette anda sertifikaatide asukohad ja käsu dockeri sees nginxi restardiks&lt;br /&gt;
&lt;br /&gt;
 acme.sh --install-cert -d test.org  \&lt;br /&gt;
   --cert-file      /apps/myapp/certs/cert.pem \&lt;br /&gt;
   --key-file       /apps/myapp/certs/key.pem  \&lt;br /&gt;
   --reloadcmd     &amp;quot;docker-compose -f /apps/myapp/docker-compose.yml exec wen nginx -t reload&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Wildcard domeeni jaoks sertifikaadi tekitamiseks&lt;br /&gt;
&lt;br /&gt;
 acme.sh  --issue -d example.com  -d &#039;*.example.com&#039;  --dns dns_cf&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Let%27s_Encrypt&amp;diff=30977</id>
		<title>Let&#039;s Encrypt</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Let%27s_Encrypt&amp;diff=30977"/>
		<updated>2020-08-06T07:02:32Z</updated>

		<summary type="html">&lt;p&gt;Jj: /* Paigaldus certbotiga */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Lets encrypt on teenus mis pakub tasuta popup-free sertifikaate. See loodi 2016 ning selle taga on ettevõtted nagu Akamai, Cisco, Mozilla ning mitmed sõltumatud eraisikud.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s Encrypt kasutab oma tööks ACME ehk Automatic Certificate Management Environment protokolli, mille&lt;br /&gt;
abil saab tellida sertifikaate täisautomaatselt. Selle töö näeb välja umbkaudu järgnev&lt;br /&gt;
&lt;br /&gt;
#. Tarkvara genereerib võtme ja sertifikaadipäringu&lt;br /&gt;
#. Sertifikaadipäring allkirjastatakse ja saadetakse lets encrypt API-le&lt;br /&gt;
#. Lets encrypt server teeb valideerimise päringu domeeni vastu, millele sertifikaati taodeldakse, kus ta kontrollib http://domeen.ee/.well-known/acme-challenge/{token} olemasolu ja vastavust&lt;br /&gt;
#. Sertifikaadid genereeritakse ja laetakse automaatselt letsencrypti juurest alla serverisse&lt;br /&gt;
&lt;br /&gt;
Sertifikaadid kehtivad vaid 90 päeva. &lt;br /&gt;
&lt;br /&gt;
===Paigaldus certbotiga===&lt;br /&gt;
&lt;br /&gt;
Installime CentOSis epel release ja cerboti&lt;br /&gt;
&lt;br /&gt;
 yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm&lt;br /&gt;
 yum install certbot &lt;br /&gt;
&lt;br /&gt;
Tekitame nginx confi &lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/nginx/default.d/letsencrypt.conf&lt;br /&gt;
     location /.well-known {&lt;br /&gt;
         root /srv/letsencrypt;&lt;br /&gt;
     }&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
Tekitame cerboti kausta&lt;br /&gt;
&lt;br /&gt;
 # mkdir /srv/letsencrypt/&lt;br /&gt;
&lt;br /&gt;
Tekitame cerboti konfi&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /srv/letsencrypt/letsencrypt.ini&lt;br /&gt;
 agree-tos&lt;br /&gt;
 email = info@zoo.tartu.ee&lt;br /&gt;
 &lt;br /&gt;
 authenticator = webroot&lt;br /&gt;
 webroot-path = /opt/letsencrypt&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
Stardine nginxi&lt;br /&gt;
&lt;br /&gt;
 # systemctl start nginx&lt;br /&gt;
 # systemctl enable nginx&lt;br /&gt;
&lt;br /&gt;
Küsime sertifikaadi&lt;br /&gt;
&lt;br /&gt;
 # certbot certonly -n -c /srv/letsencrypt/letsencrypt.ini -d zoo.tartu.ee&lt;br /&gt;
&lt;br /&gt;
===Paigaldus Acme skriptiga===&lt;br /&gt;
&lt;br /&gt;
Veebiserveri ettevalmistus. Nagu ülal kirjutatud siis vajab letsencrypt võimalust valideerida kasutaja õigust domeenile. Selleks tuleb veebiserverisse seadistada ligipääs&lt;br /&gt;
letsencrypti genereeritud tokenile. Nginxi korral tuleb tekitada järgnev konstruktsioon&lt;br /&gt;
&lt;br /&gt;
 location /.well-known/acme-challenge/ {&lt;br /&gt;
     root /var/www/certbot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Tõmbame vajaliku skripti alla ja paneme käima&lt;br /&gt;
&lt;br /&gt;
 curl https://get.acme.sh | sh&lt;br /&gt;
&lt;br /&gt;
See paigaldab ka croni töö mis tegeleb sertifikaatide uuendamisega.&lt;br /&gt;
&lt;br /&gt;
Küsime endale sertifikaadi&lt;br /&gt;
&lt;br /&gt;
 acme.sh --issue -d test.org -w /var/www/certbot&lt;br /&gt;
&lt;br /&gt;
Keerukamad kasutusjuhud. Nt dockeri puhul võime ka täpselt ette anda sertifikaatide asukohad ja käsu dockeri sees nginxi restardiks&lt;br /&gt;
&lt;br /&gt;
 acme.sh --install-cert -d test.org  \&lt;br /&gt;
   --cert-file      /apps/myapp/certs/cert.pem \&lt;br /&gt;
   --key-file       /apps/myapp/certs/key.pem  \&lt;br /&gt;
   --reloadcmd     &amp;quot;docker-compose -f /apps/myapp/docker-compose.yml exec wen nginx -t reload&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Wildcard domeeni jaoks sertifikaadi tekitamiseks&lt;br /&gt;
&lt;br /&gt;
 acme.sh  --issue -d example.com  -d &#039;*.example.com&#039;  --dns dns_cf&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Let%27s_Encrypt&amp;diff=30976</id>
		<title>Let&#039;s Encrypt</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Let%27s_Encrypt&amp;diff=30976"/>
		<updated>2020-08-06T07:02:16Z</updated>

		<summary type="html">&lt;p&gt;Jj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Lets encrypt on teenus mis pakub tasuta popup-free sertifikaate. See loodi 2016 ning selle taga on ettevõtted nagu Akamai, Cisco, Mozilla ning mitmed sõltumatud eraisikud.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s Encrypt kasutab oma tööks ACME ehk Automatic Certificate Management Environment protokolli, mille&lt;br /&gt;
abil saab tellida sertifikaate täisautomaatselt. Selle töö näeb välja umbkaudu järgnev&lt;br /&gt;
&lt;br /&gt;
#. Tarkvara genereerib võtme ja sertifikaadipäringu&lt;br /&gt;
#. Sertifikaadipäring allkirjastatakse ja saadetakse lets encrypt API-le&lt;br /&gt;
#. Lets encrypt server teeb valideerimise päringu domeeni vastu, millele sertifikaati taodeldakse, kus ta kontrollib http://domeen.ee/.well-known/acme-challenge/{token} olemasolu ja vastavust&lt;br /&gt;
#. Sertifikaadid genereeritakse ja laetakse automaatselt letsencrypti juurest alla serverisse&lt;br /&gt;
&lt;br /&gt;
Sertifikaadid kehtivad vaid 90 päeva. &lt;br /&gt;
&lt;br /&gt;
===Paigaldus certbotiga===&lt;br /&gt;
&lt;br /&gt;
Installime CentOSis epel release ja cerboti&lt;br /&gt;
&lt;br /&gt;
 yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm&lt;br /&gt;
 yum install certbot &lt;br /&gt;
&lt;br /&gt;
Tekitame nginx confi &lt;br /&gt;
&lt;br /&gt;
cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/nginx/default.d/letsencrypt.conf&lt;br /&gt;
    location /.well-known {&lt;br /&gt;
        root /srv/letsencrypt;&lt;br /&gt;
    }&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
Tekitame cerboti kausta&lt;br /&gt;
&lt;br /&gt;
 # mkdir /srv/letsencrypt/&lt;br /&gt;
&lt;br /&gt;
Tekitame cerboti konfi&lt;br /&gt;
&lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /srv/letsencrypt/letsencrypt.ini&lt;br /&gt;
 agree-tos&lt;br /&gt;
 email = info@zoo.tartu.ee&lt;br /&gt;
 &lt;br /&gt;
 authenticator = webroot&lt;br /&gt;
 webroot-path = /opt/letsencrypt&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
Stardine nginxi&lt;br /&gt;
&lt;br /&gt;
 # systemctl start nginx&lt;br /&gt;
 # systemctl enable nginx&lt;br /&gt;
&lt;br /&gt;
Küsime sertifikaadi&lt;br /&gt;
&lt;br /&gt;
 # certbot certonly -n -c /srv/letsencrypt/letsencrypt.ini -d zoo.tartu.ee&lt;br /&gt;
&lt;br /&gt;
===Paigaldus Acme skriptiga===&lt;br /&gt;
&lt;br /&gt;
Veebiserveri ettevalmistus. Nagu ülal kirjutatud siis vajab letsencrypt võimalust valideerida kasutaja õigust domeenile. Selleks tuleb veebiserverisse seadistada ligipääs&lt;br /&gt;
letsencrypti genereeritud tokenile. Nginxi korral tuleb tekitada järgnev konstruktsioon&lt;br /&gt;
&lt;br /&gt;
 location /.well-known/acme-challenge/ {&lt;br /&gt;
     root /var/www/certbot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Tõmbame vajaliku skripti alla ja paneme käima&lt;br /&gt;
&lt;br /&gt;
 curl https://get.acme.sh | sh&lt;br /&gt;
&lt;br /&gt;
See paigaldab ka croni töö mis tegeleb sertifikaatide uuendamisega.&lt;br /&gt;
&lt;br /&gt;
Küsime endale sertifikaadi&lt;br /&gt;
&lt;br /&gt;
 acme.sh --issue -d test.org -w /var/www/certbot&lt;br /&gt;
&lt;br /&gt;
Keerukamad kasutusjuhud. Nt dockeri puhul võime ka täpselt ette anda sertifikaatide asukohad ja käsu dockeri sees nginxi restardiks&lt;br /&gt;
&lt;br /&gt;
 acme.sh --install-cert -d test.org  \&lt;br /&gt;
   --cert-file      /apps/myapp/certs/cert.pem \&lt;br /&gt;
   --key-file       /apps/myapp/certs/key.pem  \&lt;br /&gt;
   --reloadcmd     &amp;quot;docker-compose -f /apps/myapp/docker-compose.yml exec wen nginx -t reload&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Wildcard domeeni jaoks sertifikaadi tekitamiseks&lt;br /&gt;
&lt;br /&gt;
 acme.sh  --issue -d example.com  -d &#039;*.example.com&#039;  --dns dns_cf&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Keepalived&amp;diff=30975</id>
		<title>Keepalived</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Keepalived&amp;diff=30975"/>
		<updated>2020-08-05T23:32:27Z</updated>

		<summary type="html">&lt;p&gt;Jj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Keepalived tarkvara abil on üsna lihtsalt võimalik korraldada kahe või enama arvuti nn aktiivset/passiivset klastrit kasutades VRRP MAC aadressi põhist protokolli. Klastri igal arvutil on oma individuaalne IP aadress, ning lisaks on kogu klastri peale üks virtuaalne IP aadress, millelt on kättesaadav klastri pakutav teenus. Sõltuvalt sellest, kuidas on klastri osalised masteri osas kokku leppinud, on virtuaalne IP parasjagu masteriks oleva arvuti küljes ja teised on nö kõrval-seisvas (ingl. k. standby) asendis. Sarnast võimekust pakub ka CARP protokolli põhine mõnevõrra lihtsam UCARP või heartbeat.&lt;br /&gt;
&lt;br /&gt;
===Paigaldamine===&lt;br /&gt;
&lt;br /&gt;
CentOSis paigaldamiseks tuleb mõlemal nodel käivitada järgnevad käsud&lt;br /&gt;
&lt;br /&gt;
 # yum install keepalived&lt;br /&gt;
 # systemctl enable keepalived&lt;br /&gt;
&lt;br /&gt;
===Seadistus===&lt;br /&gt;
&lt;br /&gt;
Seadistame kaks keepalived serverit millest üks master ja teine slave. Mõlemad jagavad omavahel 192.168.0.5 virtuaalst aadressi. &lt;br /&gt;
&lt;br /&gt;
Master serveri /etc/keepalived/keepalived.conf&lt;br /&gt;
&lt;br /&gt;
 global_defs {&lt;br /&gt;
    notification_email {&lt;br /&gt;
      info@test.ee&lt;br /&gt;
    }&lt;br /&gt;
    notification_email_from keepalived@test.ee&lt;br /&gt;
    smtp_server 192.168.0.10&lt;br /&gt;
    smtp_connect_timeout 30&lt;br /&gt;
    router_id minginimi&lt;br /&gt;
    vrrp_skip_check_adv_addr&lt;br /&gt;
    vrrp_garp_interval 0&lt;br /&gt;
    vrrp_gna_interval 0&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
 vrrp_instance VI_1 {&lt;br /&gt;
   interface eth0 # interface to monitor&lt;br /&gt;
   state MASTER&lt;br /&gt;
   virtual_router_id 1&lt;br /&gt;
   priority 101&lt;br /&gt;
   virtual_ipaddress {&lt;br /&gt;
     192.168.0.5&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Slave serveri /etc/keepalived/keepalived.conf&lt;br /&gt;
&lt;br /&gt;
 global_defs {&lt;br /&gt;
    notification_email {&lt;br /&gt;
      info@test.ee&lt;br /&gt;
    }&lt;br /&gt;
    notification_email_from keepalived@test.ee&lt;br /&gt;
    smtp_server 192.168.0.10&lt;br /&gt;
    smtp_connect_timeout 30&lt;br /&gt;
    router_id minginimi&lt;br /&gt;
    vrrp_skip_check_adv_addr&lt;br /&gt;
    vrrp_garp_interval 0&lt;br /&gt;
    vrrp_gna_interval 0&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 vrrp_instance VI_1 {&lt;br /&gt;
   interface eth0 # interface to monitor&lt;br /&gt;
   state BACKUP&lt;br /&gt;
   virtual_router_id 1&lt;br /&gt;
   priority 100&lt;br /&gt;
   virtual_ipaddress {&lt;br /&gt;
     192.168.0.5&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Võimalik on panna keepalived programmi enda IP aadressi masterilt slave serverile vahetama ka teataval tingimusel. Näiteks kui serveris enal haproxy protsess ei tööta&lt;br /&gt;
&lt;br /&gt;
 vrrp_script chk_haproxy {&lt;br /&gt;
   script &amp;quot;pidof haproxy&amp;quot; # check the haproxy process&lt;br /&gt;
   interval 2 # every 2 seconds&lt;br /&gt;
   weight 2 # add 2 points if OK&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Ning vrrp_instance VI_1 alla tuleb lisada&lt;br /&gt;
&lt;br /&gt;
   track_script {&lt;br /&gt;
     chk_haproxy&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
Kuid võimalik on käivitada ka keerukamaid skripte&lt;br /&gt;
&lt;br /&gt;
 vrrp_script chk_myscript {&lt;br /&gt;
   script       &amp;quot;/usr/local/bin/mycheckscript.sh&amp;quot;&lt;br /&gt;
   interval 2   # check every 2 seconds&lt;br /&gt;
   fall 2       # require 2 failures for KO&lt;br /&gt;
   rise 2       # require 2 successes for OK&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Keepalived&amp;diff=30974</id>
		<title>Keepalived</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Keepalived&amp;diff=30974"/>
		<updated>2020-08-05T23:22:39Z</updated>

		<summary type="html">&lt;p&gt;Jj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Keepalived tarkvara abil on üsna lihtsalt võimalik korraldada kahe või enama arvuti nn aktiivset/passiivset klastrit kasutades VRRP MAC aadressi põhist protokolli. Klastri igal arvutil on oma individuaalne IP aadress, ning lisaks on kogu klastri peale üks virtuaalne IP aadress, millelt on kättesaadav klastri pakutav teenus. Sõltuvalt sellest, kuidas on klastri osalised masteri osas kokku leppinud, on virtuaalne IP parasjagu masteriks oleva arvuti küljes ja teised on nö kõrval-seisvas (ingl. k. standby) asendis. Sarnast võimekust pakub ka CARP protokolli põhine mõnevõrra lihtsam UCARP või heartbeat.&lt;br /&gt;
&lt;br /&gt;
===Paigaldamine===&lt;br /&gt;
&lt;br /&gt;
CentOSis paigaldamiseks tuleb mõlemal nodel käivitada järgnevad käsud&lt;br /&gt;
&lt;br /&gt;
 # yum install keepalived&lt;br /&gt;
 # systemctl enable keepalived&lt;br /&gt;
&lt;br /&gt;
===Seadistus===&lt;br /&gt;
&lt;br /&gt;
Seadistame kaks keepalived serverit millest üks master ja teine slave. Mõlemad jagavad omavahel 192.168.0.5 virtuaalst aadressi. &lt;br /&gt;
&lt;br /&gt;
Master serveri /etc/keepalived/keepalived.conf&lt;br /&gt;
&lt;br /&gt;
 global_defs {&lt;br /&gt;
    notification_email {&lt;br /&gt;
      info@test.ee&lt;br /&gt;
    }&lt;br /&gt;
    notification_email_from keepalived@test.ee&lt;br /&gt;
    smtp_server 192.168.0.10&lt;br /&gt;
    smtp_connect_timeout 30&lt;br /&gt;
    router_id minginimi&lt;br /&gt;
    vrrp_skip_check_adv_addr&lt;br /&gt;
    vrrp_garp_interval 0&lt;br /&gt;
    vrrp_gna_interval 0&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
 vrrp_instance VI_1 {&lt;br /&gt;
   interface eth0 # interface to monitor&lt;br /&gt;
   state MASTER&lt;br /&gt;
   virtual_router_id 1&lt;br /&gt;
   priority 101&lt;br /&gt;
   virtual_ipaddress {&lt;br /&gt;
     192.168.0.5&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Slave serveri /etc/keepalived/keepalived.conf&lt;br /&gt;
&lt;br /&gt;
 global_defs {&lt;br /&gt;
    notification_email {&lt;br /&gt;
      info@test.ee&lt;br /&gt;
    }&lt;br /&gt;
    notification_email_from keepalived@test.ee&lt;br /&gt;
    smtp_server 192.168.0.10&lt;br /&gt;
    smtp_connect_timeout 30&lt;br /&gt;
    router_id minginimi&lt;br /&gt;
    vrrp_skip_check_adv_addr&lt;br /&gt;
    vrrp_garp_interval 0&lt;br /&gt;
    vrrp_gna_interval 0&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 vrrp_instance VI_1 {&lt;br /&gt;
   interface eth0 # interface to monitor&lt;br /&gt;
   state BACKUP&lt;br /&gt;
   virtual_router_id 1&lt;br /&gt;
   priority 100&lt;br /&gt;
   virtual_ipaddress {&lt;br /&gt;
     192.168.0.5&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Võimalik on panna keepalived programmi enda IP aadressi masterilt slave serverile vahetama ka teataval tingimusel. Näiteks kui serveris enal haproxy protsess ei tööta&lt;br /&gt;
&lt;br /&gt;
 vrrp_script chk_haproxy {&lt;br /&gt;
   script &amp;quot;pidof haproxy&amp;quot; # check the haproxy process&lt;br /&gt;
   interval 2 # every 2 seconds&lt;br /&gt;
   weight 2 # add 2 points if OK&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Ning vrrp_instance VI_1 alla tuleb lisada&lt;br /&gt;
&lt;br /&gt;
   track_script {&lt;br /&gt;
     chk_haproxy&lt;br /&gt;
   }&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Keepalived&amp;diff=30973</id>
		<title>Keepalived</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Keepalived&amp;diff=30973"/>
		<updated>2020-08-05T23:20:18Z</updated>

		<summary type="html">&lt;p&gt;Jj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Keepalived tarkvara abil on üsna lihtsalt võimalik korraldada kahe või enama arvuti nn aktiivset/passiivset klastrit kasutades VRRP MAC aadressi põhist protokolli. Klastri igal arvutil on oma individuaalne IP aadress, ning lisaks on kogu klastri peale üks virtuaalne IP aadress, millelt on kättesaadav klastri pakutav teenus. Sõltuvalt sellest, kuidas on klastri osalised masteri osas kokku leppinud, on virtuaalne IP parasjagu masteriks oleva arvuti küljes ja teised on nö kõrval-seisvas (ingl. k. standby) asendis. Sarnast võimekust pakub ka CARP protokolli põhine mõnevõrra lihtsam UCARP või heartbeat.&lt;br /&gt;
&lt;br /&gt;
===Paigaldamine===&lt;br /&gt;
&lt;br /&gt;
CentOSis paigaldamiseks tuleb mõlemal nodel käivitada järgnevad käsud&lt;br /&gt;
&lt;br /&gt;
 # yum install keepalived&lt;br /&gt;
 # systemctl enable keepalived&lt;br /&gt;
&lt;br /&gt;
===Seadistus===&lt;br /&gt;
&lt;br /&gt;
Seadistame kaks keepalived serverit millest üks master ja teine slave. Mõlemad jagavad omavahel 192.168.0.5 virtuaalst aadressi. &lt;br /&gt;
&lt;br /&gt;
Master serveri /etc/keepalived/keepalived.conf&lt;br /&gt;
&lt;br /&gt;
 global_defs {&lt;br /&gt;
    notification_email {&lt;br /&gt;
      info@test.ee&lt;br /&gt;
    }&lt;br /&gt;
    notification_email_from keepalived@test.ee&lt;br /&gt;
    smtp_server 192.168.0.10&lt;br /&gt;
    smtp_connect_timeout 30&lt;br /&gt;
    router_id minginimi&lt;br /&gt;
    vrrp_skip_check_adv_addr&lt;br /&gt;
    vrrp_garp_interval 0&lt;br /&gt;
    vrrp_gna_interval 0&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
 vrrp_instance VI_1 {&lt;br /&gt;
   interface eth0 # interface to monitor&lt;br /&gt;
   state MASTER&lt;br /&gt;
   virtual_router_id 1&lt;br /&gt;
   priority 101&lt;br /&gt;
   virtual_ipaddress {&lt;br /&gt;
     192.168.0.5&lt;br /&gt;
   }&lt;br /&gt;
   track_script {&lt;br /&gt;
     chk_haproxy&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Slave serveri /etc/keepalived/keepalived.conf&lt;br /&gt;
&lt;br /&gt;
 global_defs {&lt;br /&gt;
    notification_email {&lt;br /&gt;
      info@test.ee&lt;br /&gt;
    }&lt;br /&gt;
    notification_email_from keepalived@test.ee&lt;br /&gt;
    smtp_server 192.168.0.10&lt;br /&gt;
    smtp_connect_timeout 30&lt;br /&gt;
    router_id minginimi&lt;br /&gt;
    vrrp_skip_check_adv_addr&lt;br /&gt;
    vrrp_garp_interval 0&lt;br /&gt;
    vrrp_gna_interval 0&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 vrrp_instance VI_1 {&lt;br /&gt;
   interface eth0 # interface to monitor&lt;br /&gt;
   state BACKUP&lt;br /&gt;
   virtual_router_id 1&lt;br /&gt;
   priority 100&lt;br /&gt;
   virtual_ipaddress {&lt;br /&gt;
     192.168.0.5&lt;br /&gt;
   }&lt;br /&gt;
   track_script {&lt;br /&gt;
     chk_haproxy&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Võimalik on panna keepalived programmi enda IP aadressi masterilt slave serverile vahetama ka teataval tingimusel. Näiteks kui serveris enal haproxy protsess ei tööta&lt;br /&gt;
&lt;br /&gt;
 vrrp_script chk_haproxy {&lt;br /&gt;
   script &amp;quot;pidof haproxy&amp;quot; # check the haproxy process&lt;br /&gt;
   interval 2 # every 2 seconds&lt;br /&gt;
   weight 2 # add 2 points if OK&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Keepalived&amp;diff=30972</id>
		<title>Keepalived</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Keepalived&amp;diff=30972"/>
		<updated>2020-08-05T23:14:40Z</updated>

		<summary type="html">&lt;p&gt;Jj: /* Sissejuhatus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Keepalived tarkvara abil on üsna lihtsalt võimalik korraldada kahe või enama arvuti nn aktiivset/passiivset klastrit kasutades VRRP MAC aadressi põhist protokolli. Klastri igal arvutil on oma individuaalne IP aadress, ning lisaks on kogu klastri peale üks virtuaalne IP aadress, millelt on kättesaadav klastri pakutav teenus. Sõltuvalt sellest, kuidas on klastri osalised masteri osas kokku leppinud, on virtuaalne IP parasjagu masteriks oleva arvuti küljes ja teised on nö kõrval-seisvas (ingl. k. standby) asendis. Sarnast võimekust pakub ka CARP protokolli põhine mõnevõrra lihtssam UCARP ovõi heartbeat.&lt;br /&gt;
&lt;br /&gt;
===Paigaldamine===&lt;br /&gt;
&lt;br /&gt;
CentOSis paigaldamiseks tuleb mõlemal nodel käivitada järgnevad käsud&lt;br /&gt;
&lt;br /&gt;
 # yum install keepalived&lt;br /&gt;
 # systemctl enable keepalived&lt;br /&gt;
&lt;br /&gt;
===Seadistus===&lt;br /&gt;
&lt;br /&gt;
Seadistame kaks keepalived serverit millest üks master ja teine slave. Mõlemad jagavad omavahel 192.168.0.5 virtuaalst aadressi. &lt;br /&gt;
&lt;br /&gt;
Master serveri /etc/keepalived/keepalived.conf&lt;br /&gt;
&lt;br /&gt;
 global_defs {&lt;br /&gt;
    notification_email {&lt;br /&gt;
      info@test.ee&lt;br /&gt;
    }&lt;br /&gt;
    notification_email_from keepalived@test.ee&lt;br /&gt;
    smtp_server 192.168.0.10&lt;br /&gt;
    smtp_connect_timeout 30&lt;br /&gt;
    router_id minginimi&lt;br /&gt;
    vrrp_skip_check_adv_addr&lt;br /&gt;
    vrrp_garp_interval 0&lt;br /&gt;
    vrrp_gna_interval 0&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
 vrrp_instance VI_1 {&lt;br /&gt;
   interface eth0 # interface to monitor&lt;br /&gt;
   state MASTER&lt;br /&gt;
   virtual_router_id 1&lt;br /&gt;
   priority 101&lt;br /&gt;
   virtual_ipaddress {&lt;br /&gt;
     192.168.0.5&lt;br /&gt;
   }&lt;br /&gt;
   track_script {&lt;br /&gt;
     chk_haproxy&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Slave serveri /etc/keepalived/keepalived.conf&lt;br /&gt;
&lt;br /&gt;
 global_defs {&lt;br /&gt;
    notification_email {&lt;br /&gt;
      info@test.ee&lt;br /&gt;
    }&lt;br /&gt;
    notification_email_from keepalived@test.ee&lt;br /&gt;
    smtp_server 192.168.0.10&lt;br /&gt;
    smtp_connect_timeout 30&lt;br /&gt;
    router_id minginimi&lt;br /&gt;
    vrrp_skip_check_adv_addr&lt;br /&gt;
    vrrp_garp_interval 0&lt;br /&gt;
    vrrp_gna_interval 0&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 vrrp_instance VI_1 {&lt;br /&gt;
   interface eth0 # interface to monitor&lt;br /&gt;
   state BACKUP&lt;br /&gt;
   virtual_router_id 1&lt;br /&gt;
   priority 100&lt;br /&gt;
   virtual_ipaddress {&lt;br /&gt;
     192.168.0.5&lt;br /&gt;
   }&lt;br /&gt;
   track_script {&lt;br /&gt;
     chk_haproxy&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Võimalik on panna keepalived programmi enda IP aadressi masterilt slave serverile vahetama ka teataval tingimusel. Näiteks kui serveris enal haproxy protsess ei tööta&lt;br /&gt;
&lt;br /&gt;
 vrrp_script chk_haproxy {&lt;br /&gt;
   script &amp;quot;pidof haproxy&amp;quot; # check the haproxy process&lt;br /&gt;
   interval 2 # every 2 seconds&lt;br /&gt;
   weight 2 # add 2 points if OK&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Keepalived&amp;diff=30971</id>
		<title>Keepalived</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Keepalived&amp;diff=30971"/>
		<updated>2020-08-05T18:50:00Z</updated>

		<summary type="html">&lt;p&gt;Jj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Seadistame kaks node master ja slave, kummagil on lokaalsed ip aadressid ning üks virtuaalne mis hüppab vajadusel masterilt slave peale. &lt;br /&gt;
Mõlemad hostid vahetavad selle jaoks hearbeati üle VRRP mis MAC aadressi põhine protokoll.&lt;br /&gt;
&lt;br /&gt;
===Paigaldamine===&lt;br /&gt;
&lt;br /&gt;
CentOSis paigaldamiseks tuleb mõlemal nodel käivitada järgnevad käsud&lt;br /&gt;
&lt;br /&gt;
 # yum install keepalived&lt;br /&gt;
 # systemctl enable keepalived&lt;br /&gt;
&lt;br /&gt;
===Seadistus===&lt;br /&gt;
&lt;br /&gt;
Seadistame kaks keepalived serverit millest üks master ja teine slave. Mõlemad jagavad omavahel 192.168.0.5 virtuaalst aadressi. &lt;br /&gt;
&lt;br /&gt;
Master serveri /etc/keepalived/keepalived.conf&lt;br /&gt;
&lt;br /&gt;
 global_defs {&lt;br /&gt;
    notification_email {&lt;br /&gt;
      info@test.ee&lt;br /&gt;
    }&lt;br /&gt;
    notification_email_from keepalived@test.ee&lt;br /&gt;
    smtp_server 192.168.0.10&lt;br /&gt;
    smtp_connect_timeout 30&lt;br /&gt;
    router_id minginimi&lt;br /&gt;
    vrrp_skip_check_adv_addr&lt;br /&gt;
    vrrp_garp_interval 0&lt;br /&gt;
    vrrp_gna_interval 0&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
 vrrp_instance VI_1 {&lt;br /&gt;
   interface eth0 # interface to monitor&lt;br /&gt;
   state MASTER&lt;br /&gt;
   virtual_router_id 1&lt;br /&gt;
   priority 101&lt;br /&gt;
   virtual_ipaddress {&lt;br /&gt;
     192.168.0.5&lt;br /&gt;
   }&lt;br /&gt;
   track_script {&lt;br /&gt;
     chk_haproxy&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Slave serveri /etc/keepalived/keepalived.conf&lt;br /&gt;
&lt;br /&gt;
 global_defs {&lt;br /&gt;
    notification_email {&lt;br /&gt;
      info@test.ee&lt;br /&gt;
    }&lt;br /&gt;
    notification_email_from keepalived@test.ee&lt;br /&gt;
    smtp_server 192.168.0.10&lt;br /&gt;
    smtp_connect_timeout 30&lt;br /&gt;
    router_id minginimi&lt;br /&gt;
    vrrp_skip_check_adv_addr&lt;br /&gt;
    vrrp_garp_interval 0&lt;br /&gt;
    vrrp_gna_interval 0&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 vrrp_instance VI_1 {&lt;br /&gt;
   interface eth0 # interface to monitor&lt;br /&gt;
   state BACKUP&lt;br /&gt;
   virtual_router_id 1&lt;br /&gt;
   priority 100&lt;br /&gt;
   virtual_ipaddress {&lt;br /&gt;
     192.168.0.5&lt;br /&gt;
   }&lt;br /&gt;
   track_script {&lt;br /&gt;
     chk_haproxy&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Võimalik on panna keepalived programmi enda IP aadressi masterilt slave serverile vahetama ka teataval tingimusel. Näiteks kui serveris enal haproxy protsess ei tööta&lt;br /&gt;
&lt;br /&gt;
 vrrp_script chk_haproxy {&lt;br /&gt;
   script &amp;quot;pidof haproxy&amp;quot; # check the haproxy process&lt;br /&gt;
   interval 2 # every 2 seconds&lt;br /&gt;
   weight 2 # add 2 points if OK&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Keepalived&amp;diff=30970</id>
		<title>Keepalived</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Keepalived&amp;diff=30970"/>
		<updated>2020-08-05T18:48:12Z</updated>

		<summary type="html">&lt;p&gt;Jj: /* Paigaldamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Seadistame kaks node master ja slave, kummagil on lokaalsed ip aadressid ning üks virtuaalne mis hüppab vajadusel masterilt slave peale. &lt;br /&gt;
Mõlemad hostid vahetavad selle jaoks hearbeati üle VRRPi mis MAC aadressi põhine protokoll.&lt;br /&gt;
&lt;br /&gt;
===Paigaldamine===&lt;br /&gt;
&lt;br /&gt;
CentOSis paigaldamiseks tuleb mõlemal nodel käivitada järgnevad käsud&lt;br /&gt;
&lt;br /&gt;
 # yum install keepalived&lt;br /&gt;
 # systemctl enable keepalived&lt;br /&gt;
&lt;br /&gt;
===Seadistus===&lt;br /&gt;
&lt;br /&gt;
Seadistame kaks keepalived serverit millest üks master ja teine slave. Mõlemad jagavad omavahel 192.168.0.5 virtuaalst aadressi. &lt;br /&gt;
&lt;br /&gt;
Master serveri /etc/keepalived/keepalived.conf&lt;br /&gt;
&lt;br /&gt;
 global_defs {&lt;br /&gt;
    notification_email {&lt;br /&gt;
      info@test.ee&lt;br /&gt;
    }&lt;br /&gt;
    notification_email_from keepalived@test.ee&lt;br /&gt;
    smtp_server 192.168.0.10&lt;br /&gt;
    smtp_connect_timeout 30&lt;br /&gt;
    router_id minginimi&lt;br /&gt;
    vrrp_skip_check_adv_addr&lt;br /&gt;
    vrrp_garp_interval 0&lt;br /&gt;
    vrrp_gna_interval 0&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
 vrrp_instance VI_1 {&lt;br /&gt;
   interface eth0 # interface to monitor&lt;br /&gt;
   state MASTER&lt;br /&gt;
   virtual_router_id 1&lt;br /&gt;
   priority 101&lt;br /&gt;
   virtual_ipaddress {&lt;br /&gt;
     192.168.0.5&lt;br /&gt;
   }&lt;br /&gt;
   track_script {&lt;br /&gt;
     chk_haproxy&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Slave serveri /etc/keepalived/keepalived.conf&lt;br /&gt;
&lt;br /&gt;
 global_defs {&lt;br /&gt;
    notification_email {&lt;br /&gt;
      info@test.ee&lt;br /&gt;
    }&lt;br /&gt;
    notification_email_from keepalived@test.ee&lt;br /&gt;
    smtp_server 192.168.0.10&lt;br /&gt;
    smtp_connect_timeout 30&lt;br /&gt;
    router_id minginimi&lt;br /&gt;
    vrrp_skip_check_adv_addr&lt;br /&gt;
    vrrp_garp_interval 0&lt;br /&gt;
    vrrp_gna_interval 0&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 vrrp_instance VI_1 {&lt;br /&gt;
   interface eth0 # interface to monitor&lt;br /&gt;
   state BACKUP&lt;br /&gt;
   virtual_router_id 1&lt;br /&gt;
   priority 100&lt;br /&gt;
   virtual_ipaddress {&lt;br /&gt;
     192.168.0.5&lt;br /&gt;
   }&lt;br /&gt;
   track_script {&lt;br /&gt;
     chk_haproxy&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Võimalik on panna keepalived programmi enda IP aadressi masterilt slave serverile vahetama ka teataval tingimusel. Näiteks kui serveris enal haproxy protsess ei tööta&lt;br /&gt;
&lt;br /&gt;
 vrrp_script chk_haproxy {&lt;br /&gt;
   script &amp;quot;pidof haproxy&amp;quot; # check the haproxy process&lt;br /&gt;
   interval 2 # every 2 seconds&lt;br /&gt;
   weight 2 # add 2 points if OK&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Keepalived&amp;diff=30969</id>
		<title>Keepalived</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Keepalived&amp;diff=30969"/>
		<updated>2020-08-05T18:46:33Z</updated>

		<summary type="html">&lt;p&gt;Jj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Seadistame kaks node master ja slave, kummagil on lokaalsed ip aadressid ning üks virtuaalne mis hüppab vajadusel masterilt slave peale. &lt;br /&gt;
Mõlemad hostid vahetavad selle jaoks hearbeati üle VRRPi mis MAC aadressi põhine protokoll.&lt;br /&gt;
&lt;br /&gt;
===Paigaldamine===&lt;br /&gt;
&lt;br /&gt;
Paigaldamine CentOSis&lt;br /&gt;
&lt;br /&gt;
 # yum install keepalived&lt;br /&gt;
 # systemctl enable keepalived&lt;br /&gt;
&lt;br /&gt;
===Seadistus===&lt;br /&gt;
&lt;br /&gt;
Seadistame kaks keepalived serverit millest üks master ja teine slave. Mõlemad jagavad omavahel 192.168.0.5 virtuaalst aadressi. &lt;br /&gt;
&lt;br /&gt;
Master serveri /etc/keepalived/keepalived.conf&lt;br /&gt;
&lt;br /&gt;
 global_defs {&lt;br /&gt;
    notification_email {&lt;br /&gt;
      info@test.ee&lt;br /&gt;
    }&lt;br /&gt;
    notification_email_from keepalived@test.ee&lt;br /&gt;
    smtp_server 192.168.0.10&lt;br /&gt;
    smtp_connect_timeout 30&lt;br /&gt;
    router_id minginimi&lt;br /&gt;
    vrrp_skip_check_adv_addr&lt;br /&gt;
    vrrp_garp_interval 0&lt;br /&gt;
    vrrp_gna_interval 0&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
 vrrp_instance VI_1 {&lt;br /&gt;
   interface eth0 # interface to monitor&lt;br /&gt;
   state MASTER&lt;br /&gt;
   virtual_router_id 1&lt;br /&gt;
   priority 101&lt;br /&gt;
   virtual_ipaddress {&lt;br /&gt;
     192.168.0.5&lt;br /&gt;
   }&lt;br /&gt;
   track_script {&lt;br /&gt;
     chk_haproxy&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Slave serveri /etc/keepalived/keepalived.conf&lt;br /&gt;
&lt;br /&gt;
 global_defs {&lt;br /&gt;
    notification_email {&lt;br /&gt;
      info@test.ee&lt;br /&gt;
    }&lt;br /&gt;
    notification_email_from keepalived@test.ee&lt;br /&gt;
    smtp_server 192.168.0.10&lt;br /&gt;
    smtp_connect_timeout 30&lt;br /&gt;
    router_id minginimi&lt;br /&gt;
    vrrp_skip_check_adv_addr&lt;br /&gt;
    vrrp_garp_interval 0&lt;br /&gt;
    vrrp_gna_interval 0&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 vrrp_instance VI_1 {&lt;br /&gt;
   interface eth0 # interface to monitor&lt;br /&gt;
   state BACKUP&lt;br /&gt;
   virtual_router_id 1&lt;br /&gt;
   priority 100&lt;br /&gt;
   virtual_ipaddress {&lt;br /&gt;
     192.168.0.5&lt;br /&gt;
   }&lt;br /&gt;
   track_script {&lt;br /&gt;
     chk_haproxy&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Võimalik on panna keepalived programmi enda IP aadressi masterilt slave serverile vahetama ka teataval tingimusel. Näiteks kui serveris enal haproxy protsess ei tööta&lt;br /&gt;
&lt;br /&gt;
 vrrp_script chk_haproxy {&lt;br /&gt;
   script &amp;quot;pidof haproxy&amp;quot; # check the haproxy process&lt;br /&gt;
   interval 2 # every 2 seconds&lt;br /&gt;
   weight 2 # add 2 points if OK&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Keepalived&amp;diff=30968</id>
		<title>Keepalived</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Keepalived&amp;diff=30968"/>
		<updated>2020-08-05T18:45:49Z</updated>

		<summary type="html">&lt;p&gt;Jj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Seadistame kaks node master ja slave, kummagil on lokaalsed ip aadressid ning üks virtuaalne mis hüppab vajadusel masterilt slave peale. &lt;br /&gt;
Mõlemad hostid vahetavad selle jaoks hearbeati üle VRRPi mis MAC aadressi põhine protokoll.&lt;br /&gt;
&lt;br /&gt;
===Paigaldamine===&lt;br /&gt;
&lt;br /&gt;
Paigaldamine CentOSis&lt;br /&gt;
&lt;br /&gt;
 # yum install keepalived&lt;br /&gt;
 # systemctl enable keepalived&lt;br /&gt;
&lt;br /&gt;
===Seadistus===&lt;br /&gt;
&lt;br /&gt;
Seadistame kaks keepalived serverit millest üks master ja teine slave. Mõlemad jagavad omavahel 192.168.0.5 virtuaalst aadressi. &lt;br /&gt;
&lt;br /&gt;
Master serveri /etc/keepalived/keepalived.conf&lt;br /&gt;
&lt;br /&gt;
 global_defs {&lt;br /&gt;
    notification_email {&lt;br /&gt;
      info@test.ee&lt;br /&gt;
    }&lt;br /&gt;
    notification_email_from keepalived@test.ee&lt;br /&gt;
    smtp_server 192.168.0.10&lt;br /&gt;
    smtp_connect_timeout 30&lt;br /&gt;
    router_id minginimi&lt;br /&gt;
    vrrp_skip_check_adv_addr&lt;br /&gt;
    vrrp_garp_interval 0&lt;br /&gt;
    vrrp_gna_interval 0&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
 vrrp_instance VI_1 {&lt;br /&gt;
   interface eth0 # interface to monitor&lt;br /&gt;
   state MASTER&lt;br /&gt;
   virtual_router_id 1&lt;br /&gt;
   priority 101&lt;br /&gt;
   virtual_ipaddress {&lt;br /&gt;
     192.168.0.5&lt;br /&gt;
   }&lt;br /&gt;
   track_script {&lt;br /&gt;
     chk_haproxy&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Slave serveri /etc/keepalived/keepalived.conf&lt;br /&gt;
&lt;br /&gt;
 global_defs {&lt;br /&gt;
    notification_email {&lt;br /&gt;
      info@test.ee&lt;br /&gt;
    }&lt;br /&gt;
    notification_email_from keepalived@{{ k8s_cluster_name }}&lt;br /&gt;
    smtp_server 192.168.0.10&lt;br /&gt;
    smtp_connect_timeout 30&lt;br /&gt;
    router_id minginimi&lt;br /&gt;
    vrrp_skip_check_adv_addr&lt;br /&gt;
    vrrp_garp_interval 0&lt;br /&gt;
    vrrp_gna_interval 0&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 vrrp_instance VI_1 {&lt;br /&gt;
   interface eth0 # interface to monitor&lt;br /&gt;
   state BACKUP&lt;br /&gt;
   virtual_router_id 1&lt;br /&gt;
   priority 100&lt;br /&gt;
   virtual_ipaddress {&lt;br /&gt;
     192.168.0.5&lt;br /&gt;
   }&lt;br /&gt;
   track_script {&lt;br /&gt;
     chk_haproxy&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Võimalik on panna keepalived programmi enda IP aadressi masterilt slave serverile vahetama ka teataval tingimusel. Näiteks kui serveris enal haproxy protsess ei tööta&lt;br /&gt;
&lt;br /&gt;
 vrrp_script chk_haproxy {&lt;br /&gt;
   script &amp;quot;pidof haproxy&amp;quot; # check the haproxy process&lt;br /&gt;
   interval 2 # every 2 seconds&lt;br /&gt;
   weight 2 # add 2 points if OK&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Keepalived&amp;diff=30967</id>
		<title>Keepalived</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Keepalived&amp;diff=30967"/>
		<updated>2020-08-05T18:43:01Z</updated>

		<summary type="html">&lt;p&gt;Jj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Paigaldamine===&lt;br /&gt;
&lt;br /&gt;
Paigaldamine CentOSis&lt;br /&gt;
&lt;br /&gt;
 # yum install keepalived&lt;br /&gt;
 # systemctl enable keepalived&lt;br /&gt;
&lt;br /&gt;
===Seadistus===&lt;br /&gt;
&lt;br /&gt;
Seadistame kaks keepalived serverit millest üks master ja teine slave. Mõlemad jagavad omavahel 192.168.0.5 virtuaalst aadressi. &lt;br /&gt;
&lt;br /&gt;
Master serveri /etc/keepalived/keepalived.conf&lt;br /&gt;
&lt;br /&gt;
 global_defs {&lt;br /&gt;
    notification_email {&lt;br /&gt;
      info@test.ee&lt;br /&gt;
    }&lt;br /&gt;
    notification_email_from keepalived@test.ee&lt;br /&gt;
    smtp_server 192.168.0.10&lt;br /&gt;
    smtp_connect_timeout 30&lt;br /&gt;
    router_id minginimi&lt;br /&gt;
    vrrp_skip_check_adv_addr&lt;br /&gt;
    vrrp_garp_interval 0&lt;br /&gt;
    vrrp_gna_interval 0&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
 vrrp_instance VI_1 {&lt;br /&gt;
   interface eth0 # interface to monitor&lt;br /&gt;
   state MASTER&lt;br /&gt;
   virtual_router_id 1&lt;br /&gt;
   priority 101&lt;br /&gt;
   virtual_ipaddress {&lt;br /&gt;
     192.168.0.5&lt;br /&gt;
   }&lt;br /&gt;
   track_script {&lt;br /&gt;
     chk_haproxy&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Slave serveri /etc/keepalived/keepalived.conf&lt;br /&gt;
&lt;br /&gt;
 global_defs {&lt;br /&gt;
    notification_email {&lt;br /&gt;
      info@test.ee&lt;br /&gt;
    }&lt;br /&gt;
    notification_email_from keepalived@{{ k8s_cluster_name }}&lt;br /&gt;
    smtp_server 192.168.0.10&lt;br /&gt;
    smtp_connect_timeout 30&lt;br /&gt;
    router_id minginimi&lt;br /&gt;
    vrrp_skip_check_adv_addr&lt;br /&gt;
    vrrp_garp_interval 0&lt;br /&gt;
    vrrp_gna_interval 0&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 vrrp_instance VI_1 {&lt;br /&gt;
   interface eth0 # interface to monitor&lt;br /&gt;
   state BACKUP&lt;br /&gt;
   virtual_router_id 1&lt;br /&gt;
   priority 100&lt;br /&gt;
   virtual_ipaddress {&lt;br /&gt;
     192.168.0.5&lt;br /&gt;
   }&lt;br /&gt;
   track_script {&lt;br /&gt;
     chk_haproxy&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Võimalik on panna keepalived programmi enda IP aadressi masterilt slave serverile vahetama ka teataval tingimusel. Näiteks kui serveris enal haproxy protsess ei tööta&lt;br /&gt;
&lt;br /&gt;
 vrrp_script chk_haproxy {&lt;br /&gt;
   script &amp;quot;pidof haproxy&amp;quot; # check the haproxy process&lt;br /&gt;
   interval 2 # every 2 seconds&lt;br /&gt;
   weight 2 # add 2 points if OK&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Keepalived&amp;diff=30966</id>
		<title>Keepalived</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Keepalived&amp;diff=30966"/>
		<updated>2020-08-05T18:42:32Z</updated>

		<summary type="html">&lt;p&gt;Jj: Uus lehekülg: &amp;#039;===Paigaldamine===  Paigaldamine CentOSis   # yum install keepalived  # systemctl enable keepalived  ===Seadistus===  Seadistame kaks keepalived serverit millest üks master ja t...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Paigaldamine===&lt;br /&gt;
&lt;br /&gt;
Paigaldamine CentOSis&lt;br /&gt;
&lt;br /&gt;
 # yum install keepalived&lt;br /&gt;
 # systemctl enable keepalived&lt;br /&gt;
&lt;br /&gt;
===Seadistus===&lt;br /&gt;
&lt;br /&gt;
Seadistame kaks keepalived serverit millest üks master ja teine slave. Mõlemad jagavad omavahel 192.168.0.5 virtuaalst aadressi. &lt;br /&gt;
&lt;br /&gt;
Master serveri /etc/keepalived/keepalived.conf&lt;br /&gt;
&lt;br /&gt;
 global_defs {&lt;br /&gt;
    notification_email {&lt;br /&gt;
      info@test.ee&lt;br /&gt;
    }&lt;br /&gt;
    notification_email_from keepalived@{{ k8s_cluster_name }}&lt;br /&gt;
    smtp_server 192.168.0.10&lt;br /&gt;
    smtp_connect_timeout 30&lt;br /&gt;
    router_id minginimi&lt;br /&gt;
    vrrp_skip_check_adv_addr&lt;br /&gt;
    vrrp_garp_interval 0&lt;br /&gt;
    vrrp_gna_interval 0&lt;br /&gt;
  }&lt;br /&gt;
 &lt;br /&gt;
 vrrp_instance VI_1 {&lt;br /&gt;
   interface eth0 # interface to monitor&lt;br /&gt;
   state MASTER&lt;br /&gt;
   virtual_router_id 1&lt;br /&gt;
   priority 101&lt;br /&gt;
   virtual_ipaddress {&lt;br /&gt;
     192.168.0.5&lt;br /&gt;
   }&lt;br /&gt;
   track_script {&lt;br /&gt;
     chk_haproxy&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Slave serveri /etc/keepalived/keepalived.conf&lt;br /&gt;
&lt;br /&gt;
 global_defs {&lt;br /&gt;
    notification_email {&lt;br /&gt;
      info@test.ee&lt;br /&gt;
    }&lt;br /&gt;
    notification_email_from keepalived@{{ k8s_cluster_name }}&lt;br /&gt;
    smtp_server 192.168.0.10&lt;br /&gt;
    smtp_connect_timeout 30&lt;br /&gt;
    router_id minginimi&lt;br /&gt;
    vrrp_skip_check_adv_addr&lt;br /&gt;
    vrrp_garp_interval 0&lt;br /&gt;
    vrrp_gna_interval 0&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 vrrp_instance VI_1 {&lt;br /&gt;
   interface eth0 # interface to monitor&lt;br /&gt;
   state BACKUP&lt;br /&gt;
   virtual_router_id 1&lt;br /&gt;
   priority 100&lt;br /&gt;
   virtual_ipaddress {&lt;br /&gt;
     192.168.0.5&lt;br /&gt;
   }&lt;br /&gt;
   track_script {&lt;br /&gt;
     chk_haproxy&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Võimalik on panna keepalived programmi enda IP aadressi masterilt slave serverile vahetama ka teataval tingimusel. Näiteks kui serveris enal haproxy protsess ei tööta&lt;br /&gt;
&lt;br /&gt;
 vrrp_script chk_haproxy {&lt;br /&gt;
   script &amp;quot;pidof haproxy&amp;quot; # check the haproxy process&lt;br /&gt;
   interval 2 # every 2 seconds&lt;br /&gt;
   weight 2 # add 2 points if OK&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Toored_palad&amp;diff=30965</id>
		<title>Toored palad</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Toored_palad&amp;diff=30965"/>
		<updated>2020-08-05T18:39:20Z</updated>

		<summary type="html">&lt;p&gt;Jj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Poolvalmis palad ehk must materjal mis on alles&lt;br /&gt;
arendamisjärgus ja millede järgi ei soovita üritada&lt;br /&gt;
midagi käimasaada-õppida. Küll on aga kõik teretulnud&lt;br /&gt;
siin leiduvaid palasid parandama, täiustama, kommenteerima.&lt;br /&gt;
Samuti on oodatud kõik selle teema alla lisama enda sahtlis&lt;br /&gt;
leiduvaid uusi ning vanu kirjatöid.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* [[:Pisikesed asjad]]&lt;br /&gt;
* [[:NFS]] Võrgu failisüsteem.&lt;br /&gt;
* [[:C]] C ja UNIX&lt;br /&gt;
* [[:pptpvpn]] mpd vpn server&lt;br /&gt;
* [[:Poptop]]&lt;br /&gt;
* [[Cherokee]] Järjekordne lihtne ning väike veebiserver (uue versiooniga süntaks võimalik ,et muutunud ja pala OUTDATED)&lt;br /&gt;
* [[Vahendid kettatestiks]]&lt;br /&gt;
* [[OCFS2]]&lt;br /&gt;
* [[Multimeedia]]&lt;br /&gt;
* [[Linux-HA]]&lt;br /&gt;
* [[Kooliserver]] ideede pala&lt;br /&gt;
* [[Mailiserver]]&lt;br /&gt;
* [[runlevels]]&lt;br /&gt;
* [[UNIXI arengu kronoloogia]]&lt;br /&gt;
* [[snordi katsetus]]&lt;br /&gt;
* [[GIT]]&lt;br /&gt;
* [[Radius]]&lt;br /&gt;
* [[Webalizer]]&lt;br /&gt;
* [[ZoneMinder]]&lt;br /&gt;
* [[:UTF8 kodeeringu kasutamine]]&lt;br /&gt;
* [[:Retrospectiva kasutamine Debian Lenniga]]&lt;br /&gt;
* [[:Modsecurity]]&lt;br /&gt;
* [[:Pacemaker kasutamine Debianiga]]&lt;br /&gt;
* [[:test]]&lt;br /&gt;
* [[:Citrix Xenserver]]&lt;br /&gt;
* [[:Smokeping]]&lt;br /&gt;
* [[:AWstats]]&lt;br /&gt;
* [[: Packet filteri optimiseerimine]]&lt;br /&gt;
&lt;br /&gt;
* [[:Linux From Scratch]]&lt;br /&gt;
&lt;br /&gt;
* [[:Selenium IDE]]&lt;br /&gt;
&lt;br /&gt;
* [[:Apache]] Palas kirjeldatakse algajale Linuxi süsteemi administraatorile, kuidas paigalda ning kasutada Apache&#039;i veebiserverit.&lt;br /&gt;
&lt;br /&gt;
* [[:IP maskeraad Linuxis]]&lt;br /&gt;
&lt;br /&gt;
* [[:FFmpeg]]&lt;br /&gt;
&lt;br /&gt;
* [[:Iptables puust ja punaseks]]&lt;br /&gt;
&lt;br /&gt;
* [[:Katkestused]]&lt;br /&gt;
&lt;br /&gt;
* [[:Linux süsteemi tõmmiste loomise tarkvara valik]]&lt;br /&gt;
&lt;br /&gt;
* [[Linux keskhalduse tarkvara]]&lt;br /&gt;
&lt;br /&gt;
* [[FreeBSD Watchdog]]&lt;br /&gt;
&lt;br /&gt;
* [[Puppet kasutamine]]&lt;br /&gt;
&lt;br /&gt;
* [[Linuxis kompileerimine puust ja punaseks]]&lt;br /&gt;
&lt;br /&gt;
* [[Automaatne Debiani install KVM jaoks]]&lt;br /&gt;
&lt;br /&gt;
* [[Epub puust ja punaseks]]&lt;br /&gt;
&lt;br /&gt;
* [[Proxmox VE 2.x]]&lt;br /&gt;
&lt;br /&gt;
* [[Rails koos Unicorni ja Nginxiga]]&lt;br /&gt;
&lt;br /&gt;
* [[Ipv6 praktiline kasutamine]]&lt;br /&gt;
&lt;br /&gt;
* [[Protsessorist algajatele]]&lt;br /&gt;
&lt;br /&gt;
[[Linuxi jõudluse suurendamine]]&lt;br /&gt;
&lt;br /&gt;
[[systemd]]&lt;br /&gt;
&lt;br /&gt;
[[Multihoming ehk trikid ruutinguga]]&lt;br /&gt;
&lt;br /&gt;
[[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
[[ProFTP]]&lt;br /&gt;
&lt;br /&gt;
[[OCFS2]]&lt;br /&gt;
&lt;br /&gt;
[[Calibre]]&lt;br /&gt;
&lt;br /&gt;
* [[:apache ssl]] täiendust vajav&lt;br /&gt;
&lt;br /&gt;
* [[BitTorrent Sync]]&lt;br /&gt;
&lt;br /&gt;
* [[IPsec]]&lt;br /&gt;
&lt;br /&gt;
[[Namazu]]&lt;br /&gt;
&lt;br /&gt;
[[LSI Raid]]&lt;br /&gt;
&lt;br /&gt;
[[Multipath puust ja punaseks]]&lt;br /&gt;
&lt;br /&gt;
[[Honeyd]]&lt;br /&gt;
&lt;br /&gt;
* [[OpenStack installeerimine ja kasutamine Debianil]]&lt;br /&gt;
&lt;br /&gt;
* [[Pulseaudio]]&lt;br /&gt;
&lt;br /&gt;
* [[OwnCloud]]&lt;br /&gt;
&lt;br /&gt;
* [[OpenvSwitch]]&lt;br /&gt;
&lt;br /&gt;
* [[Ceph]]&lt;br /&gt;
&lt;br /&gt;
* [[Dnsmasq]]&lt;br /&gt;
&lt;br /&gt;
* [[iozone]]&lt;br /&gt;
&lt;br /&gt;
* [[Fio]]&lt;br /&gt;
&lt;br /&gt;
* [[DeVeDe]]&lt;br /&gt;
&lt;br /&gt;
* [[KVM puust ja punaseks]]&lt;br /&gt;
&lt;br /&gt;
* [[ELK Stack põhine logiserver]]&lt;br /&gt;
&lt;br /&gt;
* [[Linux ja fiber channel]]&lt;br /&gt;
&lt;br /&gt;
* [[Arch Linux install ja seadistus]]&lt;br /&gt;
&lt;br /&gt;
* [[Samba 4 kasutamine]]&lt;br /&gt;
&lt;br /&gt;
* [[Linux bonding]]&lt;br /&gt;
&lt;br /&gt;
* [[SMS saatmine gammuga]]&lt;br /&gt;
&lt;br /&gt;
* [[Collectd]]&lt;br /&gt;
&lt;br /&gt;
[[Slurm resursihaldur]] Arvutiklastri töödejaotussüsteem&lt;br /&gt;
&lt;br /&gt;
[[PgPool II]]&lt;br /&gt;
&lt;br /&gt;
[[Postgresql varundus]]&lt;br /&gt;
&lt;br /&gt;
[[Pssh]]&lt;br /&gt;
&lt;br /&gt;
[[GFS2 failisüsteemi kasutamine]]&lt;br /&gt;
&lt;br /&gt;
[[Apache proxy]]&lt;br /&gt;
&lt;br /&gt;
[[Java]]&lt;br /&gt;
&lt;br /&gt;
[[Borg]]&lt;br /&gt;
&lt;br /&gt;
[[Proxmox VE 4.x]]&lt;br /&gt;
&lt;br /&gt;
[[Cephi paigaldus käsitsi ilma deploy-utiliidita]]&lt;br /&gt;
&lt;br /&gt;
[[Nagios Check_mk ja Pnp4nagios]]&lt;br /&gt;
&lt;br /&gt;
[[X-tee v6 turvaserveri paigaldamine ja kasutamine]]&lt;br /&gt;
&lt;br /&gt;
[[Ansible]]&lt;br /&gt;
&lt;br /&gt;
[[Salt]]&lt;br /&gt;
&lt;br /&gt;
[[Sssd]]&lt;br /&gt;
&lt;br /&gt;
[[Little Man Computer]]&lt;br /&gt;
&lt;br /&gt;
[[strace]]&lt;br /&gt;
&lt;br /&gt;
[[Linuxi entroopia]]&lt;br /&gt;
&lt;br /&gt;
[[Virtuaalmälu]]&lt;br /&gt;
&lt;br /&gt;
[[Docker]]&lt;br /&gt;
&lt;br /&gt;
[[PHP-FPM]]&lt;br /&gt;
&lt;br /&gt;
[[Zabbix]]&lt;br /&gt;
&lt;br /&gt;
[[Barman]]&lt;br /&gt;
&lt;br /&gt;
[[Jenkins]]&lt;br /&gt;
&lt;br /&gt;
[[Centosi kasutamine]]&lt;br /&gt;
&lt;br /&gt;
[[Docker swarm]]&lt;br /&gt;
&lt;br /&gt;
[[Let&#039;s Encrypt]]&lt;br /&gt;
&lt;br /&gt;
[[Helm]]&lt;br /&gt;
&lt;br /&gt;
[[Flashcache]]&lt;br /&gt;
&lt;br /&gt;
[[FreeIPA]]&lt;br /&gt;
&lt;br /&gt;
[[Keepalived]]&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=FreeIPA&amp;diff=30964</id>
		<title>FreeIPA</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=FreeIPA&amp;diff=30964"/>
		<updated>2020-08-04T11:44:32Z</updated>

		<summary type="html">&lt;p&gt;Jj: /* Serveri paigaldus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
===Serveri paigaldus===&lt;br /&gt;
&lt;br /&gt;
Server vajab esimesena asjana FQDNi ehk siis pädevat domeeni millel töötada mis antud näites on freeipa.test.ee. võimalik on test keskkonnas defineerida ka kõigi masinate hosts failidesse kaudu aga targem oleks see siiski ka reaalselt luua&lt;br /&gt;
&lt;br /&gt;
Lisaks vajab süsteem kõvasti entroopiat mida võib hakata virtuaalmasinates nappima nii tugevalt, et isegi paigaldus võib hanguda, seega tasub esimese asjana lisada süsteemi rng-tools&lt;br /&gt;
&lt;br /&gt;
 # apt -y install rng-tools&lt;br /&gt;
&lt;br /&gt;
Misjärel tuleb avada /etc/default/rng-tools ning lisada allolev rida&lt;br /&gt;
&lt;br /&gt;
 HRNGDEVICE=/dev/urandom&lt;br /&gt;
&lt;br /&gt;
Misjärel stardime rng-tools deemoni&lt;br /&gt;
&lt;br /&gt;
 # sudo systemctl enable rng-tools&lt;br /&gt;
 # sudo systemctl start rng-tools&lt;br /&gt;
&lt;br /&gt;
FreeIPA paigaldamine Ubuntus&lt;br /&gt;
&lt;br /&gt;
 # apt-get install freeipa-server&lt;br /&gt;
&lt;br /&gt;
FreeIPA automaatseks seadistuseks on eraldi utiliit&lt;br /&gt;
&lt;br /&gt;
 # ipa-server-install&lt;br /&gt;
&lt;br /&gt;
Kui paigaldus on tehtud saab luua esimesed kasutajad pöördudes selleks kas browseriga serveri domeeni poole või kasutades käsurea utiliiti. Käsurealt kasutajate loomine näeb välja järgnev&lt;br /&gt;
&lt;br /&gt;
 # ipa config-mod --defaultshell=/bin/bash&lt;br /&gt;
 # ipa user-add test --first=testikas --last=vants --email=test@asutus.ee --password&lt;br /&gt;
&lt;br /&gt;
===Kliendi seadistus===&lt;br /&gt;
&lt;br /&gt;
Kliendi paigaldus Ubuntus&lt;br /&gt;
&lt;br /&gt;
 # apt-get install freeipa-client&lt;br /&gt;
&lt;br /&gt;
Serveriga ühendamine on automaatne protsess kus tuleb ette anda domeen ning Kerberos realm&lt;br /&gt;
&lt;br /&gt;
 # ipa-client-install --hostname=freeipa.test.ee --mkhomedir --server=freeipa.test.ee --domain test.ee --realm TEST.EE&lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
https://computingforgeeks.com/install-and-configure-freeipa-server-on-ubuntu/&lt;br /&gt;
&lt;br /&gt;
https://computingforgeeks.com/how-to-configure-freeipa-client-on-ubuntu-centos/&lt;br /&gt;
&lt;br /&gt;
https://www.howtoforge.com/how-to-install-freeipa-client-on-ubuntu-server-1804/&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=FreeIPA&amp;diff=30963</id>
		<title>FreeIPA</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=FreeIPA&amp;diff=30963"/>
		<updated>2020-08-04T09:52:06Z</updated>

		<summary type="html">&lt;p&gt;Jj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
===Serveri paigaldus===&lt;br /&gt;
&lt;br /&gt;
Server vajab esimesena asjana FQDNi ehk siis pädevat domeeni millel töötada. Võimalik on see test keskkonnas defineerida ka kõigi masinate hosts failidesse kaudu aga targem oleks see siiski ka reaalselt luua&lt;br /&gt;
&lt;br /&gt;
Lisaks vajab süsteem kõvasti entroopiat mida võib hakata virtuaalmasinates nappima nii tugevalt, et isegi paigaldus võib hanguda, seega tasub esimese asjana lisada süsteemi rng-tools&lt;br /&gt;
&lt;br /&gt;
 # apt -y install rng-tools&lt;br /&gt;
&lt;br /&gt;
Misjärel tuleb avada /etc/default/rng-tools ning lisada allolev rida&lt;br /&gt;
&lt;br /&gt;
 HRNGDEVICE=/dev/urandom&lt;br /&gt;
&lt;br /&gt;
Misjärel stardime rng-tools deemoni&lt;br /&gt;
&lt;br /&gt;
 # sudo systemctl enable rng-tools&lt;br /&gt;
 # sudo systemctl start rng-tools&lt;br /&gt;
&lt;br /&gt;
FreeIPA paigaldamine Ubuntus&lt;br /&gt;
&lt;br /&gt;
 # apt-get install freeipa-server&lt;br /&gt;
&lt;br /&gt;
FreeIPA automaatseks seadistuseks on eraldi utiliit&lt;br /&gt;
&lt;br /&gt;
 # ipa-server-install&lt;br /&gt;
&lt;br /&gt;
Kui paigaldus on tehtud saab luua esimesed kasutajad pöördudes selleks kas browseriga serveri domeeni poole või kasutades käsurea utiliiti. Käsurealt kasutajate loomine näeb välja järgnev&lt;br /&gt;
&lt;br /&gt;
 # ipa config-mod --defaultshell=/bin/bash&lt;br /&gt;
 # ipa user-add test --first=testikas --last=vants --email=test@asutus.ee --password&lt;br /&gt;
&lt;br /&gt;
===Kliendi seadistus===&lt;br /&gt;
&lt;br /&gt;
Kliendi paigaldus Ubuntus&lt;br /&gt;
&lt;br /&gt;
 # apt-get install freeipa-client&lt;br /&gt;
&lt;br /&gt;
Serveriga ühendamine on automaatne protsess kus tuleb ette anda domeen ning Kerberos realm&lt;br /&gt;
&lt;br /&gt;
 # ipa-client-install --hostname=freeipa.test.ee --mkhomedir --server=freeipa.test.ee --domain test.ee --realm TEST.EE&lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
https://computingforgeeks.com/install-and-configure-freeipa-server-on-ubuntu/&lt;br /&gt;
&lt;br /&gt;
https://computingforgeeks.com/how-to-configure-freeipa-client-on-ubuntu-centos/&lt;br /&gt;
&lt;br /&gt;
https://www.howtoforge.com/how-to-install-freeipa-client-on-ubuntu-server-1804/&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=FreeIPA&amp;diff=30962</id>
		<title>FreeIPA</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=FreeIPA&amp;diff=30962"/>
		<updated>2020-08-03T22:24:09Z</updated>

		<summary type="html">&lt;p&gt;Jj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
===Serveri paigaldus===&lt;br /&gt;
&lt;br /&gt;
Server vajab esimesena asjana FQDNi ehk siis pädevat domeeni millel töötada. Võimalik on see test keskkonnas defineerida ka kõigi masinate hosts failidesse kaudu aga targem oleks see siiski ka reaalselt luua&lt;br /&gt;
&lt;br /&gt;
Lisaks vajab süsteem kõvasti entroopiat mida võib hakata virtuaalmasinates nappima nii tugevalt, et isegi paigaldus võib hanguda, seega tasub esimese asjana lisada süsteemi rng-tools&lt;br /&gt;
&lt;br /&gt;
 # apt -y install rng-tools&lt;br /&gt;
&lt;br /&gt;
Misjärel tuleb avada /etc/default/rng-tools ning lisada allolev rida&lt;br /&gt;
&lt;br /&gt;
 HRNGDEVICE=/dev/urandom&lt;br /&gt;
&lt;br /&gt;
Misjärel stardime rng-tools deemoni&lt;br /&gt;
&lt;br /&gt;
 # sudo systemctl enable rng-tools&lt;br /&gt;
 # sudo systemctl start rng-tools&lt;br /&gt;
&lt;br /&gt;
FreeIPA paigaldamine Ubuntus&lt;br /&gt;
&lt;br /&gt;
 # apt-get install freeipa-server&lt;br /&gt;
&lt;br /&gt;
FreeIPA automaatseks seadistuseks on eraldi utiliit&lt;br /&gt;
&lt;br /&gt;
 # ipa-server-install&lt;br /&gt;
&lt;br /&gt;
Kui paigaldus on tehtud saab luua esimesed kasutajad pöördudes selleks kas browseriga serveri domeeni poole või kasutades käsurea utiliiti. Käsurealt kasutajate loomine näeb välja järgnev&lt;br /&gt;
&lt;br /&gt;
 # ipa config-mod --defaultshell=/bin/bash&lt;br /&gt;
 # ipa user-add test --first=testikas --last=vants --email=test@asutus.ee --password&lt;br /&gt;
&lt;br /&gt;
===Kliendi seadistus===&lt;br /&gt;
&lt;br /&gt;
Kliendi paigaldus Ubuntus&lt;br /&gt;
&lt;br /&gt;
 # apt-get install freeipa-client&lt;br /&gt;
&lt;br /&gt;
Serveriga ühendamine on automaatne protsess kus tuleb ette anda domeen ning Kerberos realm&lt;br /&gt;
&lt;br /&gt;
 # ipa-client-install --hostname=freeipa.test.ee --mkhomedir --server=freeipa.test.ee --domain test.ee --realm TEST.EE&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Slurm_resursihaldur&amp;diff=30961</id>
		<title>Slurm resursihaldur</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Slurm_resursihaldur&amp;diff=30961"/>
		<updated>2020-08-03T13:09:15Z</updated>

		<summary type="html">&lt;p&gt;Jj: /* Slurmi klustri paigaldus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Slurm (Simple Linux Utility for Resource Management) on arvutiklastri jaoks mõeldud rakendus mille ülesandeks on jagada etteantud töid mööda arvutiresursse laiali, monitoorida töötavaid protsesse ja pidada tööde üle järjekorda.&lt;br /&gt;
&lt;br /&gt;
Üldiselt näeb slurmi arhidektuur välja sarnane allolevale pildile. On keskne haldusserver, kuhu kasutajad logivad ja käske käivitavad ning terve hulk&lt;br /&gt;
arvutusnodesid-servereid, milledele slurm töid edastab.&lt;br /&gt;
&lt;br /&gt;
[[Pilt:SlurmArchitecture.gif]]&lt;br /&gt;
&lt;br /&gt;
===Slurmi klustri paigaldus===&lt;br /&gt;
&lt;br /&gt;
Slurmi server koosneb kolmest suuremast komponendist&lt;br /&gt;
&lt;br /&gt;
# munge - autentimiseks&lt;br /&gt;
# slurmctl - mis juhib selle küljes olevaid kliente&lt;br /&gt;
# slurmdbd - mis tegeleb kasutusstatistika kogumisega ning vajab omakorda mingit andmebaasi, näiteks Mariadb&#039;d&lt;br /&gt;
&lt;br /&gt;
Munge paigaldamiseks Debianis&lt;br /&gt;
&lt;br /&gt;
 # apt-get install libmunge-dev libmunge2 munge&lt;br /&gt;
&lt;br /&gt;
Munge võtme loomine&lt;br /&gt;
&lt;br /&gt;
 # sudo dd if=/dev/urandom bs=1 count=1024 &amp;gt; /etc/munge/munge.key&lt;br /&gt;
 # chown munge:munge /etc/munge/munge.key&lt;br /&gt;
 # chmod 400 /etc/munge/munge.key&lt;br /&gt;
&lt;br /&gt;
See tekkinud fail tuleb kopeerida ka kõigisse klientidesse&lt;br /&gt;
&lt;br /&gt;
 # scp /etc/munge/munge.key &amp;lt;node-user&amp;gt;@&amp;lt;node-ip&amp;gt;:/etc/munge/munge.key&lt;br /&gt;
&lt;br /&gt;
Munge käivitamine&lt;br /&gt;
&lt;br /&gt;
 # sudo systemctl enable munge&lt;br /&gt;
 # sudo systemctl start munge&lt;br /&gt;
&lt;br /&gt;
Paigaldame Mariadb sulrmdb jaoks&lt;br /&gt;
&lt;br /&gt;
 # apt-get install mariadb-server&lt;br /&gt;
&lt;br /&gt;
Slurm on andmebaasi parameetrite osas üsna nõudlik ning vajab innodb seadistamist&lt;br /&gt;
&lt;br /&gt;
Debianis tuleb avada /etc/mysql/mariadb.conf.d/50-server.cnf ning lisada&lt;br /&gt;
&lt;br /&gt;
 innodb_buffer_pool_size=1024M&lt;br /&gt;
 innodb_log_file_size=64M&lt;br /&gt;
 innodb_lock_wait_timeout=900&lt;br /&gt;
&lt;br /&gt;
Stardime mariadb&lt;br /&gt;
&lt;br /&gt;
 # systemctl start mariadb&lt;br /&gt;
 # systemctl enable mariadb&lt;br /&gt;
&lt;br /&gt;
Logime sinna sisse ning tekitame Slurmi kasutaja&lt;br /&gt;
&lt;br /&gt;
 # CREATE USER &#039;slurm2&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;parool&#039;;&lt;br /&gt;
 # GRANT ALL ON slurm_acct_db.* TO &#039;slurm&#039;@&#039;localhost&#039;;&lt;br /&gt;
&lt;br /&gt;
Seejärel võime paigaldada slurmdb, nii andmebaasi enda kui kõik vajalikud andmetabelid tektiab ta seejuures ise&lt;br /&gt;
&lt;br /&gt;
 # apt-get install slurmdb&lt;br /&gt;
&lt;br /&gt;
Tekitame slurmdbd seadistusfaili /etc/slurm-llnl/slurmdbd.conf&lt;br /&gt;
&lt;br /&gt;
 AuthType=auth/munge&lt;br /&gt;
 AuthInfo=/var/run/munge/munge.socket.2&lt;br /&gt;
 StorageHost=localhost&lt;br /&gt;
 DbdHost=server-hostname&lt;br /&gt;
 StoragePort=3306&lt;br /&gt;
 StorageUser=slurm&lt;br /&gt;
 StoragePass=parool&lt;br /&gt;
 StorageType=accounting_storage/mysql&lt;br /&gt;
 StorageLoc=slurm_acct_db&lt;br /&gt;
 LogFile=/var/log/slurm-llnl/slurmdbd.log&lt;br /&gt;
 PidFile=/run/slurmdbd.pid&lt;br /&gt;
 SlurmUser=slurm&lt;br /&gt;
 DebugLevel=1&lt;br /&gt;
&lt;br /&gt;
Paneme slurmdbd käima&lt;br /&gt;
&lt;br /&gt;
 # systemctl enable slurmdbd&lt;br /&gt;
 # systemctl start slurmdbd&lt;br /&gt;
&lt;br /&gt;
Paigaldame slurmctrli. See seadistuse osa on ühine nii peaserveril kui ka kliendil&lt;br /&gt;
&lt;br /&gt;
 # apt-get install slurm-wlm&lt;br /&gt;
&lt;br /&gt;
Tekitame talle seadistusfaili, kus defineerime ära ühtlasi ka slurmdb ning esimese kliendi. Selleks lisame faili /etc/slurm-llnl/slurm.conf&lt;br /&gt;
&lt;br /&gt;
 ClusterName=slurm &lt;br /&gt;
 ControlMachine=server-hostname&lt;br /&gt;
 ControlAddr=localhost&lt;br /&gt;
 #&lt;br /&gt;
 SlurmUser=slurm&lt;br /&gt;
 SlurmctldPort=6817&lt;br /&gt;
 SlurmdPort=6818&lt;br /&gt;
 AuthType=auth/munge&lt;br /&gt;
 StateSaveLocation=/var/spool/slurm/ctld&lt;br /&gt;
 SlurmdSpoolDir=/var/spool/slurm/d&lt;br /&gt;
 SwitchType=switch/none&lt;br /&gt;
 MpiDefault=none&lt;br /&gt;
 SlurmctldPidFile=/run/slurmctld.pid&lt;br /&gt;
 SlurmdPidFile=/run/slurmd.pid&lt;br /&gt;
 ProctrackType=proctrack/pgid&lt;br /&gt;
 ReturnToService=0&lt;br /&gt;
 # &lt;br /&gt;
 # Timers&lt;br /&gt;
 SlurmctldTimeout=300&lt;br /&gt;
 SlurmdTimeout=300&lt;br /&gt;
 InactiveLimit=0&lt;br /&gt;
 MinJobAge=300&lt;br /&gt;
 KillWait=30&lt;br /&gt;
 Waittime=0&lt;br /&gt;
 # &lt;br /&gt;
 # Accounting&lt;br /&gt;
 AccountingStorageType=accounting_storage/slurmdbd&lt;br /&gt;
 AccountingStoreJobComment=YES&lt;br /&gt;
 JobAcctGatherFrequency=30&lt;br /&gt;
 JobAcctGatherType=jobacct_gather/linux&lt;br /&gt;
 # &lt;br /&gt;
 # Logging&lt;br /&gt;
 DebugFlags=NO_CONF_HASH&lt;br /&gt;
 SlurmctldDebug=3&lt;br /&gt;
 SlurmctldLogFile=/var/log/slurm-llnl/slurmctld.log&lt;br /&gt;
 SlurmdDebug=3&lt;br /&gt;
 SlurmdLogFile=/var/log/slurm-llnl/slurmd.log&lt;br /&gt;
 SlurmSchedLogFile= /var/log/slurm-llnl/slurmschd.log&lt;br /&gt;
 SlurmSchedLogLevel=3&lt;br /&gt;
 JobCompType=jobcomp/none&lt;br /&gt;
 #&lt;br /&gt;
 # Compute nodes&lt;br /&gt;
 NodeName=slurm-test NodeAddr=10.40.0.10 Port=17000 Procs=1 State=UNKNOWN &lt;br /&gt;
 PartitionName=test Nodes=ALL Default=YES MaxTime=INFINITE State=UP&lt;br /&gt;
&lt;br /&gt;
Slurmctrld käivitamiseks&lt;br /&gt;
&lt;br /&gt;
 # systemctl enable slurmctld&lt;br /&gt;
 # systemctl start slurmctld&lt;br /&gt;
&lt;br /&gt;
Tekitame test clustri ning esimese kasutaja&lt;br /&gt;
&lt;br /&gt;
 # sacctmgr -i add cluster cluster&lt;br /&gt;
 # sacctmgr -i add account test Cluster=cluster&lt;br /&gt;
 # sacctmgr -i add user test Account=test&lt;br /&gt;
&lt;br /&gt;
Kasutajale admin õiguste lisamiseks&lt;br /&gt;
&lt;br /&gt;
 # sacctmgr modify user test set adminlevel=admin&lt;br /&gt;
&lt;br /&gt;
Kliendi käivitamine&lt;br /&gt;
&lt;br /&gt;
 # systemctl enable slurmd&lt;br /&gt;
 # systemctl start slurmd&lt;br /&gt;
&lt;br /&gt;
Testimiseks võib kasutada käsku&lt;br /&gt;
&lt;br /&gt;
 $ srun uname -a&lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
https://southgreenplatform.github.io/trainings/hpc/slurminstallation/&lt;br /&gt;
&lt;br /&gt;
https://gist.github.com/asmateus/301b0cb86700cbe74c269b27f2ecfbef&lt;br /&gt;
&lt;br /&gt;
https://implement.pt/2018/09/slurm-in-ubuntu-clusters-pt1/&lt;br /&gt;
&lt;br /&gt;
===Tööde käivitamine===&lt;br /&gt;
&lt;br /&gt;
Saadame slurmi töö mis käivitatakse neli korda ja mis väljastab masina kerneli versiooni.&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;srun --ntasks=4 uname -a&#039;&#039;&#039;&lt;br /&gt;
 srun: job 561700 queued and waiting for resources&lt;br /&gt;
 srun: job 561700 has been allocated resources&lt;br /&gt;
 idu08&lt;br /&gt;
 idu08&lt;br /&gt;
 idu08&lt;br /&gt;
 idu08&lt;br /&gt;
&lt;br /&gt;
Või soovides käivitada lihtsalt kokku 24 tööd kõigil nodedel ja ja lasta slurmil ise nad jagada laiali&lt;br /&gt;
&lt;br /&gt;
 # srun --ntasks=24 --partition=gpu hostname&lt;br /&gt;
&lt;br /&gt;
Tasub muidugi tähele panna, et srun sobib peamiselt testimiseks või väga lihtsateks töödeks ning keerukamatel kasutusjuhtudel tuleks kasutada käske salloc või sbatch&lt;br /&gt;
Põhimõtteliselt sama esimene näide skriptiga tehtuna, tekitame parallel_uname.sh&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 #SBATCH –J test                     # Seadistab töö nime mida näeb squeue käsuga &lt;br /&gt;
 #SBATCH –N=4                        # Määrab mitut füüsilist serverit kasutatakse&lt;br /&gt;
 #SBATCH --ntasks-per-node=4         # Määrab, mitu ülesannet ühel serveril käivitatakse&lt;br /&gt;
 #SBATCH --output=kontroll.out       # Väljundfaili nimi – programm ei edastada väljundit kohe ekraanile vaid faili.&lt;br /&gt;
 uname -a                            # käsk, mida käivitatakse. Antud juhul uname -a&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisaks võib seadistada e-maili saatmise töö lõpu korral&lt;br /&gt;
&lt;br /&gt;
 #SBATCH --mail-type=END # Type of email notification- BEGIN,END,FAIL,ALL &lt;br /&gt;
 #SBATCH --mail-user=ajk@123.com # Email to which notifications will be sent&lt;br /&gt;
&lt;br /&gt;
Paneme käima&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;sbatch parallel_uname.sh&#039;&#039;&#039;&lt;br /&gt;
 Submitted batch job 65918&lt;br /&gt;
&lt;br /&gt;
Ja väljund&lt;br /&gt;
&lt;br /&gt;
 # cat slurm-65918.out &lt;br /&gt;
 Linux stage59 2.6.32-431.17.1.el6.x86_64 #1 SMP Wed May 7 14:14:17 CDT 2014 x86_64 x86_64 x86_64 GNU/Linux&lt;br /&gt;
&lt;br /&gt;
====MPI tööde käivitamine====&lt;br /&gt;
&lt;br /&gt;
Message Passing Interface ehk MPI on paraleelsete programmide loomiseks&lt;br /&gt;
&lt;br /&gt;
Kasutamiseks on vaja laadida moodulid&lt;br /&gt;
&lt;br /&gt;
 module load intel&lt;br /&gt;
 module load openmpi&lt;br /&gt;
&lt;br /&gt;
Slurm skript võiks näha välja järgnev&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#SLURM -J myjob&lt;br /&gt;
#SLURM -p mpi-core8&lt;br /&gt;
#SLURM -t 01:00:00&lt;br /&gt;
#SLURM -o myjob-%J.out&lt;br /&gt;
#SLURM -N 4&lt;br /&gt;
#SLURM --ntasks-per-node=8&lt;br /&gt;
module load gcc&lt;br /&gt;
module load openmpi&lt;br /&gt;
cd subdir&lt;br /&gt;
mpirun -np 32 ./myapp&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
https://computing.llnl.gov/tutorials/mpi/&lt;br /&gt;
&lt;br /&gt;
http://brazos.tamu.edu/software/openmpi.html&lt;br /&gt;
&lt;br /&gt;
===Tööde haldus===&lt;br /&gt;
&lt;br /&gt;
Tööde nimekirja näeb&lt;br /&gt;
&lt;br /&gt;
 # squeue &lt;br /&gt;
              JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)&lt;br /&gt;
             561555       gpu   python hpc_tane  R 4-22:47:46      1 idu41&lt;br /&gt;
             561544       gpu   punct2  ottokar  R 5-02:52:19      1 idu40&lt;br /&gt;
             561538       gpu   punct2  ottokar  R 5-03:06:09      1 idu39&lt;br /&gt;
             561528       gpu train_HO hpc_tane  R 6-07:54:01      1 idu40&lt;br /&gt;
             561490       gpu train_HO hpc_tane  R 7-06:15:40      1 idu39&lt;br /&gt;
             561795      long EUWEST_6    elmer  R   10:09:00      1 idu30&lt;br /&gt;
             561802      long EESTI1_7    elmer  R    4:01:17      1 idu02&lt;br /&gt;
             561801      long EESTI1_4    elmer  R    4:01:18      1 idu01&lt;br /&gt;
             561800      long EUWEST_7    elmer  R    4:01:19      1 idu12&lt;br /&gt;
             561794      long SLOVAK_6    elmer  R   10:13:23      1 idu06&lt;br /&gt;
             561793      long EESTI1_2    elmer  R   16:04:42      1 idu05&lt;br /&gt;
             561792      long EESTI1_6    elmer  R   16:09:14      1 idu03&lt;br /&gt;
             561647      long     bash  hpc_kuz  R 3-19:32:13      1 idu04&lt;br /&gt;
             561810      long run_R-1- hpc_eero  R    1:58:03      1 idu34&lt;br /&gt;
             561811      long run_R-1- hpc_eero  R    1:58:03      1 idu31&lt;br /&gt;
             561813      long run_R-1- hpc_eero  R    1:58:03      1 idu32&lt;br /&gt;
             561809      long run_R-1- hpc_eero  R    2:08:03      1 idu29&lt;br /&gt;
             561806      long run_R-1- hpc_eero  R    2:18:03      1 idu33&lt;br /&gt;
             561808      long run_R-1- hpc_eero  R    2:18:03      1 idu35&lt;br /&gt;
&lt;br /&gt;
Töö staatuse nägemiseks tuleb scontrolile anda ette JOBID&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;scontrol show job 561581&#039;&#039;&#039;&lt;br /&gt;
 JobId=561581 Name=SLOVAK_6&lt;br /&gt;
    UserId=elmer(10010) GroupId=elmer(10010)&lt;br /&gt;
    Priority=1503 Account=(null) QOS=(null)&lt;br /&gt;
    JobState=RUNNING Reason=None Dependency=(null)&lt;br /&gt;
    Requeue=1 Restarts=0 BatchFlag=0 ExitCode=0:0&lt;br /&gt;
    RunTime=09:06:37 TimeLimit=12:00:00 TimeMin=N/A&lt;br /&gt;
    SubmitTime=2016-02-25T06:26:02 EligibleTime=2016-02-25T06:26:02&lt;br /&gt;
    StartTime=2016-02-25T06:26:02 EndTime=2016-02-25T18:26:02&lt;br /&gt;
    PreemptTime=None SuspendTime=None SecsPreSuspend=0&lt;br /&gt;
    Partition=long AllocNode:Sid=juur:22238&lt;br /&gt;
    ReqNodeList=(null) ExcNodeList=(null)&lt;br /&gt;
    NodeList=idu38&lt;br /&gt;
    BatchHost=idu38&lt;br /&gt;
    NumNodes=1 NumCPUs=8 CPUs/Task=8 ReqS:C:T=2:4:1&lt;br /&gt;
    MinCPUsNode=8 MinMemoryNode=18G MinTmpDiskNode=0&lt;br /&gt;
    Features=(null) Gres=(null) Reservation=(null)&lt;br /&gt;
    Shared=OK Contiguous=0 Licenses=(null) Network=(null)&lt;br /&gt;
    Command=/storage/jobs/g-9.sh&lt;br /&gt;
    WorkDir=/cluster/elmer&lt;br /&gt;
&lt;br /&gt;
Töö lõppu on muidugi võimatu ette teada/ennustada. Võib-olla umbes töö alustaja ise teab, kaua see VÕIKS aega võtta.&lt;br /&gt;
&lt;br /&gt;
idu seisu vaatamiseks juurest või suvalisest idust anda käsk&lt;br /&gt;
 &lt;br /&gt;
 # &#039;&#039;&#039;scontrol show node idu38&#039;&#039;&#039;&lt;br /&gt;
 NodeName=idu38 Arch=x86_64 CoresPerSocket=6&lt;br /&gt;
    CPUAlloc=8 CPUErr=0 CPUTot=12 CPULoad=5.82 Features=K20&lt;br /&gt;
    Gres=gpu:2&lt;br /&gt;
    NodeAddr=idu38 NodeHostName=idu38&lt;br /&gt;
    OS=Linux RealMemory=48000 AllocMem=18432 Sockets=2 Boards=1&lt;br /&gt;
    State=MIXED ThreadsPerCore=1 TmpDisk=200000 Weight=100&lt;br /&gt;
    BootTime=2015-01-21T00:23:33 SlurmdStartTime=2015-01-21T00:24:09&lt;br /&gt;
    CurrentWatts=0 LowestJoules=0 ConsumedJoules=0&lt;br /&gt;
    ExtSensorsJoules=n/s ExtSensorsWatts=0 ExtSensorsTemp=n/ s&lt;br /&gt;
&lt;br /&gt;
===Slurmi partitsioonid===&lt;br /&gt;
&lt;br /&gt;
Tööde paremaks halduseks on mõistlik erinevad masinad jagada erinevatesse partitsioonide gruppidesse. &lt;br /&gt;
&lt;br /&gt;
Partitsioonide konfiguratsiooni nägemiseks&lt;br /&gt;
&lt;br /&gt;
 # sinfo&lt;br /&gt;
 PARTITION AVAIL  TIMELIMIT  NODES  STATE NODELIST&lt;br /&gt;
 short*       up      30:00      4  idle~ idu[08-11]&lt;br /&gt;
 short*       up      30:00     16    mix idu[01-06,12,29-37]&lt;br /&gt;
 short*       up      30:00      1   down idu07&lt;br /&gt;
 long         up   infinite      4  idle~ idu[08-11]&lt;br /&gt;
 long         up   infinite     16    mix idu[01-06,12,29-37]&lt;br /&gt;
 long         up   infinite      1   down idu07&lt;br /&gt;
 gpu          up   infinite      5  idle~ idu[08-11,38]&lt;br /&gt;
 gpu          up   infinite     10    mix idu[01-06,12,39-41]&lt;br /&gt;
 gpu          up   infinite      1   down idu07&lt;br /&gt;
&lt;br /&gt;
Partitsioonide täpsem info&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;scontrol show partition&#039;&#039;&#039;&lt;br /&gt;
 PartitionName=short&lt;br /&gt;
    AllocNodes=ALL AllowGroups=ALL Default=YES&lt;br /&gt;
    DefaultTime=NONE DisableRootJobs=NO GraceTime=0 Hidden=NO&lt;br /&gt;
    MaxNodes=UNLIMITED MaxTime=00:30:00 MinNodes=1 MaxCPUsPerNode=UNLIMITED&lt;br /&gt;
    Nodes=idu[01-12],idu[29-37]&lt;br /&gt;
    Priority=100 RootOnly=NO ReqResv=NO Shared=YES:4 PreemptMode=OFF&lt;br /&gt;
    State=UP TotalCPUs=204 TotalNodes=21 SelectTypeParameters=N/A&lt;br /&gt;
    DefMemPerCPU=2048 MaxMemPerCPU=12288&lt;br /&gt;
 &lt;br /&gt;
 PartitionName=long&lt;br /&gt;
    AllocNodes=ALL AllowGroups=ALL Default=NO&lt;br /&gt;
    DefaultTime=NONE DisableRootJobs=NO GraceTime=0 Hidden=NO&lt;br /&gt;
    MaxNodes=UNLIMITED MaxTime=UNLIMITED MinNodes=1 MaxCPUsPerNode=UNLIMITED&lt;br /&gt;
    Nodes=idu[01-12],idu[29-37]&lt;br /&gt;
    Priority=150 RootOnly=NO ReqResv=NO Shared=YES:4 PreemptMode=OFF&lt;br /&gt;
    State=UP TotalCPUs=204 TotalNodes=21 SelectTypeParameters=N/A&lt;br /&gt;
    DefMemPerCPU=2048 MaxMemPerCPU=12288&lt;br /&gt;
 &lt;br /&gt;
 PartitionName=gpu&lt;br /&gt;
    AllocNodes=ALL AllowGroups=ALL Default=NO&lt;br /&gt;
    DefaultTime=NONE DisableRootJobs=NO GraceTime=0 Hidden=NO&lt;br /&gt;
    MaxNodes=UNLIMITED MaxTime=UNLIMITED MinNodes=1 MaxCPUsPerNode=UNLIMITED&lt;br /&gt;
    Nodes=idu[01-12],idu[38-41]&lt;br /&gt;
    Priority=1000 RootOnly=NO ReqResv=NO Shared=YES:4 PreemptMode=OFF&lt;br /&gt;
    State=UP TotalCPUs=144 TotalNodes=16 SelectTypeParameters=N/A&lt;br /&gt;
    DefMemPerCPU=2048 MaxMemPerCPU=12288&lt;br /&gt;
&lt;br /&gt;
Näiteks antud juhul asuvad GPUsid sisalduvad noded &amp;quot;long&amp;quot; partitsioonist väljaspool, et neile muid arvutusi ei antaks. &lt;br /&gt;
&lt;br /&gt;
Nodede liigutamiseks partitsoonide vahel. /etc/slurm/slurm.conf lõpus on see partitsioonide konf&lt;br /&gt;
Muuda vastavalt partitsioone, mida tahad ja siis slurmi servisele restart (käivad tööd sellest katki ei lähe).&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/slurm restart&lt;br /&gt;
&lt;br /&gt;
===Veateated ja probleemid===&lt;br /&gt;
&lt;br /&gt;
Mälulimiit on programmi poolt ületatud&lt;br /&gt;
&lt;br /&gt;
 slurmd[n1]: error: Job 60204 exceeded 10240 KB memory limit, being killed&lt;br /&gt;
 slurmd[n1]: error: *** JOB 60204 CANCELLED AT 2011-05-27T19:34:34 ***&lt;br /&gt;
&lt;br /&gt;
Mälulimiit on seadistatud liiga kõrge olemasoleva mälu jaoks&lt;br /&gt;
&lt;br /&gt;
 $ sbatch run.slurm &lt;br /&gt;
 sbatch: error: Batch job submission failed: Requested node configuration is not available&lt;br /&gt;
&lt;br /&gt;
http://www.umbc.edu/hpcf/resources-tara-2013/scheduling-policy.php&lt;br /&gt;
&lt;br /&gt;
Node staatus on &amp;quot;down&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Esmalt võiks proovida seda manuaalselt muuta, näiteks:&lt;br /&gt;
 scontrol update state=MIXED nodename=node84&lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
http://www.schedmd.com/slurmdocs/quickstart.html&lt;br /&gt;
&lt;br /&gt;
https://rc.fas.harvard.edu/resources/running-jobs/&lt;br /&gt;
&lt;br /&gt;
http://www.ibm.com/developerworks/library/l-slurm-utility/&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Slurm_resursihaldur&amp;diff=30960</id>
		<title>Slurm resursihaldur</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Slurm_resursihaldur&amp;diff=30960"/>
		<updated>2020-08-03T09:15:47Z</updated>

		<summary type="html">&lt;p&gt;Jj: /* Slurmi klustri paigaldus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Slurm (Simple Linux Utility for Resource Management) on arvutiklastri jaoks mõeldud rakendus mille ülesandeks on jagada etteantud töid mööda arvutiresursse laiali, monitoorida töötavaid protsesse ja pidada tööde üle järjekorda.&lt;br /&gt;
&lt;br /&gt;
Üldiselt näeb slurmi arhidektuur välja sarnane allolevale pildile. On keskne haldusserver, kuhu kasutajad logivad ja käske käivitavad ning terve hulk&lt;br /&gt;
arvutusnodesid-servereid, milledele slurm töid edastab.&lt;br /&gt;
&lt;br /&gt;
[[Pilt:SlurmArchitecture.gif]]&lt;br /&gt;
&lt;br /&gt;
===Slurmi klustri paigaldus===&lt;br /&gt;
&lt;br /&gt;
Slurmi server koosneb kolmest suuremast komponendist&lt;br /&gt;
&lt;br /&gt;
# munge - autentimiseks&lt;br /&gt;
# slurmctl - mis juhib selle küljes olevaid kliente&lt;br /&gt;
# slurmdbd - mis tegeleb kasutusstatistika kogumisega ning vajab omakorda mingit andmebaasi, näiteks Mariadb&#039;d&lt;br /&gt;
&lt;br /&gt;
Munge paigaldamiseks Debianis&lt;br /&gt;
&lt;br /&gt;
 # apt-get install libmunge-dev libmunge2 munge&lt;br /&gt;
&lt;br /&gt;
Munge võtme loomine&lt;br /&gt;
&lt;br /&gt;
 # sudo dd if=/dev/urandom bs=1 count=1024 &amp;gt; /etc/munge/munge.key&lt;br /&gt;
 # chown munge:munge /etc/munge/munge.key&lt;br /&gt;
 # chmod 400 /etc/munge/munge.key&lt;br /&gt;
&lt;br /&gt;
See tekkinud fail tuleb kopeerida ka kõigisse klientidesse&lt;br /&gt;
&lt;br /&gt;
 # scp /etc/munge/munge.key &amp;lt;node-user&amp;gt;@&amp;lt;node-ip&amp;gt;:/etc/munge/munge.key&lt;br /&gt;
&lt;br /&gt;
Munge käivitamine&lt;br /&gt;
&lt;br /&gt;
 # sudo systemctl enable munge&lt;br /&gt;
 # sudo systemctl start munge&lt;br /&gt;
&lt;br /&gt;
Paigaldame Mariadb sulrmdb jaoks&lt;br /&gt;
&lt;br /&gt;
 # apt-get install mariadb-server&lt;br /&gt;
&lt;br /&gt;
Slurm on andmebaasi parameetrite osas üsna nõudlik ning vajab innodb seadistamist&lt;br /&gt;
&lt;br /&gt;
Debianis tuleb avada /etc/mysql/mariadb.conf.d/50-server.cnf ning lisada&lt;br /&gt;
&lt;br /&gt;
 innodb_buffer_pool_size=1024M&lt;br /&gt;
 innodb_log_file_size=64M&lt;br /&gt;
 innodb_lock_wait_timeout=900&lt;br /&gt;
&lt;br /&gt;
Stardime mariadb&lt;br /&gt;
&lt;br /&gt;
 # systemctl start mariadb&lt;br /&gt;
 # systemctl enable mariadb&lt;br /&gt;
&lt;br /&gt;
Logime sinna sisse ning tekitame Slurmi kasutaja&lt;br /&gt;
&lt;br /&gt;
 # CREATE USER &#039;slurm2&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;parool&#039;;&lt;br /&gt;
 # GRANT ALL ON slurm_acct_db.* TO &#039;slurm&#039;@&#039;localhost&#039;;&lt;br /&gt;
&lt;br /&gt;
Seejärel võime paigaldada slurmdb, nii andmebaasi enda kui kõik vajalikud andmetabelid tektiab ta seejuures ise&lt;br /&gt;
&lt;br /&gt;
 # apt-get install slurmdb&lt;br /&gt;
&lt;br /&gt;
Tekitame slurmdbd seadistusfaili /etc/slurm-llnl/slurmdbd.conf&lt;br /&gt;
&lt;br /&gt;
 AuthType=auth/munge&lt;br /&gt;
 AuthInfo=/var/run/munge/munge.socket.2&lt;br /&gt;
 StorageHost=localhost&lt;br /&gt;
 DbdHost=server-hostname&lt;br /&gt;
 StoragePort=3306&lt;br /&gt;
 StorageUser=slurm&lt;br /&gt;
 StoragePass=parool&lt;br /&gt;
 StorageType=accounting_storage/mysql&lt;br /&gt;
 StorageLoc=slurm_acct_db&lt;br /&gt;
 LogFile=/var/log/slurm-llnl/slurmdbd.log&lt;br /&gt;
 PidFile=/run/slurmdbd.pid&lt;br /&gt;
 SlurmUser=slurm&lt;br /&gt;
 DebugLevel=1&lt;br /&gt;
&lt;br /&gt;
Paneme slurmdbd käima&lt;br /&gt;
&lt;br /&gt;
 # systemctl enable slurmdbd&lt;br /&gt;
 # systemctl start slurmdbd&lt;br /&gt;
&lt;br /&gt;
Paigaldame slurmctrli. See seadistuse osa on ühine nii peaserveril kui ka kliendil&lt;br /&gt;
&lt;br /&gt;
 # apt-get install slurm-wlm&lt;br /&gt;
&lt;br /&gt;
Tekitame talle seadistusfaili, kus defineerime ära ühtlasi ka slurmdb ning esimese kliendi. Selleks lisame faili /etc/slurm-llnl/slurm.conf&lt;br /&gt;
&lt;br /&gt;
 ClusterName=slurm &lt;br /&gt;
 ControlMachine=server-hostname&lt;br /&gt;
 ControlAddr=localhost&lt;br /&gt;
 #&lt;br /&gt;
 SlurmUser=slurm&lt;br /&gt;
 SlurmctldPort=6817&lt;br /&gt;
 SlurmdPort=6818&lt;br /&gt;
 AuthType=auth/munge&lt;br /&gt;
 StateSaveLocation=/var/spool/slurm/ctld&lt;br /&gt;
 SlurmdSpoolDir=/var/spool/slurm/d&lt;br /&gt;
 SwitchType=switch/none&lt;br /&gt;
 MpiDefault=none&lt;br /&gt;
 SlurmctldPidFile=/run/slurmctld.pid&lt;br /&gt;
 SlurmdPidFile=/run/slurmd.pid&lt;br /&gt;
 ProctrackType=proctrack/pgid&lt;br /&gt;
 ReturnToService=0&lt;br /&gt;
 # &lt;br /&gt;
 # Timers&lt;br /&gt;
 SlurmctldTimeout=300&lt;br /&gt;
 SlurmdTimeout=300&lt;br /&gt;
 InactiveLimit=0&lt;br /&gt;
 MinJobAge=300&lt;br /&gt;
 KillWait=30&lt;br /&gt;
 Waittime=0&lt;br /&gt;
 # &lt;br /&gt;
 # Accounting&lt;br /&gt;
 AccountingStorageType=accounting_storage/slurmdbd&lt;br /&gt;
 AccountingStoreJobComment=YES&lt;br /&gt;
 JobAcctGatherFrequency=30&lt;br /&gt;
 JobAcctGatherType=jobacct_gather/linux&lt;br /&gt;
 # &lt;br /&gt;
 # Logging&lt;br /&gt;
 DebugFlags=NO_CONF_HASH&lt;br /&gt;
 SlurmctldDebug=3&lt;br /&gt;
 SlurmctldLogFile=/var/log/slurm-llnl/slurmctld.log&lt;br /&gt;
 SlurmdDebug=3&lt;br /&gt;
 SlurmdLogFile=/var/log/slurm-llnl/slurmd.log&lt;br /&gt;
 SlurmSchedLogFile= /var/log/slurm-llnl/slurmschd.log&lt;br /&gt;
 SlurmSchedLogLevel=3&lt;br /&gt;
 JobCompType=jobcomp/none&lt;br /&gt;
 #&lt;br /&gt;
 # Compute nodes&lt;br /&gt;
 NodeName=slurm-test NodeAddr=10.40.0.10 Port=17000 Procs=1 State=UNKNOWN &lt;br /&gt;
 PartitionName=test Nodes=ALL Default=YES MaxTime=INFINITE State=UP&lt;br /&gt;
&lt;br /&gt;
Slurmctrld käivitamiseks&lt;br /&gt;
&lt;br /&gt;
 # systemctl enable slurmctld&lt;br /&gt;
 # systemctl start slurmctld&lt;br /&gt;
&lt;br /&gt;
Tekitame test clustri ning esimese kasutaja&lt;br /&gt;
&lt;br /&gt;
 # sacctmgr -i add cluster cluster&lt;br /&gt;
 # sacctmgr -i add account test Cluster=cluster&lt;br /&gt;
 # sacctmgr -i add user test Account=test&lt;br /&gt;
&lt;br /&gt;
Kliendi käivitamine&lt;br /&gt;
&lt;br /&gt;
 # systemctl enable slurmd&lt;br /&gt;
 # systemctl start slurmd&lt;br /&gt;
&lt;br /&gt;
Testimiseks võib kasutada käsku&lt;br /&gt;
&lt;br /&gt;
 $ srun uname -a&lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
https://southgreenplatform.github.io/trainings/hpc/slurminstallation/&lt;br /&gt;
&lt;br /&gt;
https://gist.github.com/asmateus/301b0cb86700cbe74c269b27f2ecfbef&lt;br /&gt;
&lt;br /&gt;
https://implement.pt/2018/09/slurm-in-ubuntu-clusters-pt1/&lt;br /&gt;
&lt;br /&gt;
===Tööde käivitamine===&lt;br /&gt;
&lt;br /&gt;
Saadame slurmi töö mis käivitatakse neli korda ja mis väljastab masina kerneli versiooni.&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;srun --ntasks=4 uname -a&#039;&#039;&#039;&lt;br /&gt;
 srun: job 561700 queued and waiting for resources&lt;br /&gt;
 srun: job 561700 has been allocated resources&lt;br /&gt;
 idu08&lt;br /&gt;
 idu08&lt;br /&gt;
 idu08&lt;br /&gt;
 idu08&lt;br /&gt;
&lt;br /&gt;
Või soovides käivitada lihtsalt kokku 24 tööd kõigil nodedel ja ja lasta slurmil ise nad jagada laiali&lt;br /&gt;
&lt;br /&gt;
 # srun --ntasks=24 --partition=gpu hostname&lt;br /&gt;
&lt;br /&gt;
Tasub muidugi tähele panna, et srun sobib peamiselt testimiseks või väga lihtsateks töödeks ning keerukamatel kasutusjuhtudel tuleks kasutada käske salloc või sbatch&lt;br /&gt;
Põhimõtteliselt sama esimene näide skriptiga tehtuna, tekitame parallel_uname.sh&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 #SBATCH –J test                     # Seadistab töö nime mida näeb squeue käsuga &lt;br /&gt;
 #SBATCH –N=4                        # Määrab mitut füüsilist serverit kasutatakse&lt;br /&gt;
 #SBATCH --ntasks-per-node=4         # Määrab, mitu ülesannet ühel serveril käivitatakse&lt;br /&gt;
 #SBATCH --output=kontroll.out       # Väljundfaili nimi – programm ei edastada väljundit kohe ekraanile vaid faili.&lt;br /&gt;
 uname -a                            # käsk, mida käivitatakse. Antud juhul uname -a&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisaks võib seadistada e-maili saatmise töö lõpu korral&lt;br /&gt;
&lt;br /&gt;
 #SBATCH --mail-type=END # Type of email notification- BEGIN,END,FAIL,ALL &lt;br /&gt;
 #SBATCH --mail-user=ajk@123.com # Email to which notifications will be sent&lt;br /&gt;
&lt;br /&gt;
Paneme käima&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;sbatch parallel_uname.sh&#039;&#039;&#039;&lt;br /&gt;
 Submitted batch job 65918&lt;br /&gt;
&lt;br /&gt;
Ja väljund&lt;br /&gt;
&lt;br /&gt;
 # cat slurm-65918.out &lt;br /&gt;
 Linux stage59 2.6.32-431.17.1.el6.x86_64 #1 SMP Wed May 7 14:14:17 CDT 2014 x86_64 x86_64 x86_64 GNU/Linux&lt;br /&gt;
&lt;br /&gt;
====MPI tööde käivitamine====&lt;br /&gt;
&lt;br /&gt;
Message Passing Interface ehk MPI on paraleelsete programmide loomiseks&lt;br /&gt;
&lt;br /&gt;
Kasutamiseks on vaja laadida moodulid&lt;br /&gt;
&lt;br /&gt;
 module load intel&lt;br /&gt;
 module load openmpi&lt;br /&gt;
&lt;br /&gt;
Slurm skript võiks näha välja järgnev&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#SLURM -J myjob&lt;br /&gt;
#SLURM -p mpi-core8&lt;br /&gt;
#SLURM -t 01:00:00&lt;br /&gt;
#SLURM -o myjob-%J.out&lt;br /&gt;
#SLURM -N 4&lt;br /&gt;
#SLURM --ntasks-per-node=8&lt;br /&gt;
module load gcc&lt;br /&gt;
module load openmpi&lt;br /&gt;
cd subdir&lt;br /&gt;
mpirun -np 32 ./myapp&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
https://computing.llnl.gov/tutorials/mpi/&lt;br /&gt;
&lt;br /&gt;
http://brazos.tamu.edu/software/openmpi.html&lt;br /&gt;
&lt;br /&gt;
===Tööde haldus===&lt;br /&gt;
&lt;br /&gt;
Tööde nimekirja näeb&lt;br /&gt;
&lt;br /&gt;
 # squeue &lt;br /&gt;
              JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)&lt;br /&gt;
             561555       gpu   python hpc_tane  R 4-22:47:46      1 idu41&lt;br /&gt;
             561544       gpu   punct2  ottokar  R 5-02:52:19      1 idu40&lt;br /&gt;
             561538       gpu   punct2  ottokar  R 5-03:06:09      1 idu39&lt;br /&gt;
             561528       gpu train_HO hpc_tane  R 6-07:54:01      1 idu40&lt;br /&gt;
             561490       gpu train_HO hpc_tane  R 7-06:15:40      1 idu39&lt;br /&gt;
             561795      long EUWEST_6    elmer  R   10:09:00      1 idu30&lt;br /&gt;
             561802      long EESTI1_7    elmer  R    4:01:17      1 idu02&lt;br /&gt;
             561801      long EESTI1_4    elmer  R    4:01:18      1 idu01&lt;br /&gt;
             561800      long EUWEST_7    elmer  R    4:01:19      1 idu12&lt;br /&gt;
             561794      long SLOVAK_6    elmer  R   10:13:23      1 idu06&lt;br /&gt;
             561793      long EESTI1_2    elmer  R   16:04:42      1 idu05&lt;br /&gt;
             561792      long EESTI1_6    elmer  R   16:09:14      1 idu03&lt;br /&gt;
             561647      long     bash  hpc_kuz  R 3-19:32:13      1 idu04&lt;br /&gt;
             561810      long run_R-1- hpc_eero  R    1:58:03      1 idu34&lt;br /&gt;
             561811      long run_R-1- hpc_eero  R    1:58:03      1 idu31&lt;br /&gt;
             561813      long run_R-1- hpc_eero  R    1:58:03      1 idu32&lt;br /&gt;
             561809      long run_R-1- hpc_eero  R    2:08:03      1 idu29&lt;br /&gt;
             561806      long run_R-1- hpc_eero  R    2:18:03      1 idu33&lt;br /&gt;
             561808      long run_R-1- hpc_eero  R    2:18:03      1 idu35&lt;br /&gt;
&lt;br /&gt;
Töö staatuse nägemiseks tuleb scontrolile anda ette JOBID&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;scontrol show job 561581&#039;&#039;&#039;&lt;br /&gt;
 JobId=561581 Name=SLOVAK_6&lt;br /&gt;
    UserId=elmer(10010) GroupId=elmer(10010)&lt;br /&gt;
    Priority=1503 Account=(null) QOS=(null)&lt;br /&gt;
    JobState=RUNNING Reason=None Dependency=(null)&lt;br /&gt;
    Requeue=1 Restarts=0 BatchFlag=0 ExitCode=0:0&lt;br /&gt;
    RunTime=09:06:37 TimeLimit=12:00:00 TimeMin=N/A&lt;br /&gt;
    SubmitTime=2016-02-25T06:26:02 EligibleTime=2016-02-25T06:26:02&lt;br /&gt;
    StartTime=2016-02-25T06:26:02 EndTime=2016-02-25T18:26:02&lt;br /&gt;
    PreemptTime=None SuspendTime=None SecsPreSuspend=0&lt;br /&gt;
    Partition=long AllocNode:Sid=juur:22238&lt;br /&gt;
    ReqNodeList=(null) ExcNodeList=(null)&lt;br /&gt;
    NodeList=idu38&lt;br /&gt;
    BatchHost=idu38&lt;br /&gt;
    NumNodes=1 NumCPUs=8 CPUs/Task=8 ReqS:C:T=2:4:1&lt;br /&gt;
    MinCPUsNode=8 MinMemoryNode=18G MinTmpDiskNode=0&lt;br /&gt;
    Features=(null) Gres=(null) Reservation=(null)&lt;br /&gt;
    Shared=OK Contiguous=0 Licenses=(null) Network=(null)&lt;br /&gt;
    Command=/storage/jobs/g-9.sh&lt;br /&gt;
    WorkDir=/cluster/elmer&lt;br /&gt;
&lt;br /&gt;
Töö lõppu on muidugi võimatu ette teada/ennustada. Võib-olla umbes töö alustaja ise teab, kaua see VÕIKS aega võtta.&lt;br /&gt;
&lt;br /&gt;
idu seisu vaatamiseks juurest või suvalisest idust anda käsk&lt;br /&gt;
 &lt;br /&gt;
 # &#039;&#039;&#039;scontrol show node idu38&#039;&#039;&#039;&lt;br /&gt;
 NodeName=idu38 Arch=x86_64 CoresPerSocket=6&lt;br /&gt;
    CPUAlloc=8 CPUErr=0 CPUTot=12 CPULoad=5.82 Features=K20&lt;br /&gt;
    Gres=gpu:2&lt;br /&gt;
    NodeAddr=idu38 NodeHostName=idu38&lt;br /&gt;
    OS=Linux RealMemory=48000 AllocMem=18432 Sockets=2 Boards=1&lt;br /&gt;
    State=MIXED ThreadsPerCore=1 TmpDisk=200000 Weight=100&lt;br /&gt;
    BootTime=2015-01-21T00:23:33 SlurmdStartTime=2015-01-21T00:24:09&lt;br /&gt;
    CurrentWatts=0 LowestJoules=0 ConsumedJoules=0&lt;br /&gt;
    ExtSensorsJoules=n/s ExtSensorsWatts=0 ExtSensorsTemp=n/ s&lt;br /&gt;
&lt;br /&gt;
===Slurmi partitsioonid===&lt;br /&gt;
&lt;br /&gt;
Tööde paremaks halduseks on mõistlik erinevad masinad jagada erinevatesse partitsioonide gruppidesse. &lt;br /&gt;
&lt;br /&gt;
Partitsioonide konfiguratsiooni nägemiseks&lt;br /&gt;
&lt;br /&gt;
 # sinfo&lt;br /&gt;
 PARTITION AVAIL  TIMELIMIT  NODES  STATE NODELIST&lt;br /&gt;
 short*       up      30:00      4  idle~ idu[08-11]&lt;br /&gt;
 short*       up      30:00     16    mix idu[01-06,12,29-37]&lt;br /&gt;
 short*       up      30:00      1   down idu07&lt;br /&gt;
 long         up   infinite      4  idle~ idu[08-11]&lt;br /&gt;
 long         up   infinite     16    mix idu[01-06,12,29-37]&lt;br /&gt;
 long         up   infinite      1   down idu07&lt;br /&gt;
 gpu          up   infinite      5  idle~ idu[08-11,38]&lt;br /&gt;
 gpu          up   infinite     10    mix idu[01-06,12,39-41]&lt;br /&gt;
 gpu          up   infinite      1   down idu07&lt;br /&gt;
&lt;br /&gt;
Partitsioonide täpsem info&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;scontrol show partition&#039;&#039;&#039;&lt;br /&gt;
 PartitionName=short&lt;br /&gt;
    AllocNodes=ALL AllowGroups=ALL Default=YES&lt;br /&gt;
    DefaultTime=NONE DisableRootJobs=NO GraceTime=0 Hidden=NO&lt;br /&gt;
    MaxNodes=UNLIMITED MaxTime=00:30:00 MinNodes=1 MaxCPUsPerNode=UNLIMITED&lt;br /&gt;
    Nodes=idu[01-12],idu[29-37]&lt;br /&gt;
    Priority=100 RootOnly=NO ReqResv=NO Shared=YES:4 PreemptMode=OFF&lt;br /&gt;
    State=UP TotalCPUs=204 TotalNodes=21 SelectTypeParameters=N/A&lt;br /&gt;
    DefMemPerCPU=2048 MaxMemPerCPU=12288&lt;br /&gt;
 &lt;br /&gt;
 PartitionName=long&lt;br /&gt;
    AllocNodes=ALL AllowGroups=ALL Default=NO&lt;br /&gt;
    DefaultTime=NONE DisableRootJobs=NO GraceTime=0 Hidden=NO&lt;br /&gt;
    MaxNodes=UNLIMITED MaxTime=UNLIMITED MinNodes=1 MaxCPUsPerNode=UNLIMITED&lt;br /&gt;
    Nodes=idu[01-12],idu[29-37]&lt;br /&gt;
    Priority=150 RootOnly=NO ReqResv=NO Shared=YES:4 PreemptMode=OFF&lt;br /&gt;
    State=UP TotalCPUs=204 TotalNodes=21 SelectTypeParameters=N/A&lt;br /&gt;
    DefMemPerCPU=2048 MaxMemPerCPU=12288&lt;br /&gt;
 &lt;br /&gt;
 PartitionName=gpu&lt;br /&gt;
    AllocNodes=ALL AllowGroups=ALL Default=NO&lt;br /&gt;
    DefaultTime=NONE DisableRootJobs=NO GraceTime=0 Hidden=NO&lt;br /&gt;
    MaxNodes=UNLIMITED MaxTime=UNLIMITED MinNodes=1 MaxCPUsPerNode=UNLIMITED&lt;br /&gt;
    Nodes=idu[01-12],idu[38-41]&lt;br /&gt;
    Priority=1000 RootOnly=NO ReqResv=NO Shared=YES:4 PreemptMode=OFF&lt;br /&gt;
    State=UP TotalCPUs=144 TotalNodes=16 SelectTypeParameters=N/A&lt;br /&gt;
    DefMemPerCPU=2048 MaxMemPerCPU=12288&lt;br /&gt;
&lt;br /&gt;
Näiteks antud juhul asuvad GPUsid sisalduvad noded &amp;quot;long&amp;quot; partitsioonist väljaspool, et neile muid arvutusi ei antaks. &lt;br /&gt;
&lt;br /&gt;
Nodede liigutamiseks partitsoonide vahel. /etc/slurm/slurm.conf lõpus on see partitsioonide konf&lt;br /&gt;
Muuda vastavalt partitsioone, mida tahad ja siis slurmi servisele restart (käivad tööd sellest katki ei lähe).&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/slurm restart&lt;br /&gt;
&lt;br /&gt;
===Veateated ja probleemid===&lt;br /&gt;
&lt;br /&gt;
Mälulimiit on programmi poolt ületatud&lt;br /&gt;
&lt;br /&gt;
 slurmd[n1]: error: Job 60204 exceeded 10240 KB memory limit, being killed&lt;br /&gt;
 slurmd[n1]: error: *** JOB 60204 CANCELLED AT 2011-05-27T19:34:34 ***&lt;br /&gt;
&lt;br /&gt;
Mälulimiit on seadistatud liiga kõrge olemasoleva mälu jaoks&lt;br /&gt;
&lt;br /&gt;
 $ sbatch run.slurm &lt;br /&gt;
 sbatch: error: Batch job submission failed: Requested node configuration is not available&lt;br /&gt;
&lt;br /&gt;
http://www.umbc.edu/hpcf/resources-tara-2013/scheduling-policy.php&lt;br /&gt;
&lt;br /&gt;
Node staatus on &amp;quot;down&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Esmalt võiks proovida seda manuaalselt muuta, näiteks:&lt;br /&gt;
 scontrol update state=MIXED nodename=node84&lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
http://www.schedmd.com/slurmdocs/quickstart.html&lt;br /&gt;
&lt;br /&gt;
https://rc.fas.harvard.edu/resources/running-jobs/&lt;br /&gt;
&lt;br /&gt;
http://www.ibm.com/developerworks/library/l-slurm-utility/&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Slurm_resursihaldur&amp;diff=30959</id>
		<title>Slurm resursihaldur</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Slurm_resursihaldur&amp;diff=30959"/>
		<updated>2020-08-03T09:01:03Z</updated>

		<summary type="html">&lt;p&gt;Jj: /* Slurmi klustri paigaldus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Slurm (Simple Linux Utility for Resource Management) on arvutiklastri jaoks mõeldud rakendus mille ülesandeks on jagada etteantud töid mööda arvutiresursse laiali, monitoorida töötavaid protsesse ja pidada tööde üle järjekorda.&lt;br /&gt;
&lt;br /&gt;
Üldiselt näeb slurmi arhidektuur välja sarnane allolevale pildile. On keskne haldusserver, kuhu kasutajad logivad ja käske käivitavad ning terve hulk&lt;br /&gt;
arvutusnodesid-servereid, milledele slurm töid edastab.&lt;br /&gt;
&lt;br /&gt;
[[Pilt:SlurmArchitecture.gif]]&lt;br /&gt;
&lt;br /&gt;
===Slurmi klustri paigaldus===&lt;br /&gt;
&lt;br /&gt;
Slurmi server koosneb kolmest suuremast komponendist&lt;br /&gt;
&lt;br /&gt;
# munge - autentimiseks&lt;br /&gt;
# slurmctl - mis juhib selle küljes olevaid kliente&lt;br /&gt;
# slurmdb - mis tegeleb kasutusstatistika kogumisega ning vajab omakorda mingit andmebaasi, näiteks Mariadb&#039;d&lt;br /&gt;
&lt;br /&gt;
Munge paigaldamiseks Debianis&lt;br /&gt;
&lt;br /&gt;
 # apt-get install libmunge-dev libmunge2 munge&lt;br /&gt;
&lt;br /&gt;
Munge võtme loomine&lt;br /&gt;
&lt;br /&gt;
 # sudo dd if=/dev/urandom bs=1 count=1024 &amp;gt; /etc/munge/munge.key&lt;br /&gt;
 # chown munge:munge /etc/munge/munge.key&lt;br /&gt;
 # chmod 400 /etc/munge/munge.key&lt;br /&gt;
&lt;br /&gt;
See tekkinud fail tuleb kopeerida ka kõigisse klientidesse&lt;br /&gt;
&lt;br /&gt;
 # scp /etc/munge/munge.key &amp;lt;node-user&amp;gt;@&amp;lt;node-ip&amp;gt;:/etc/munge/munge.key&lt;br /&gt;
&lt;br /&gt;
Munge käivitamine&lt;br /&gt;
&lt;br /&gt;
 # sudo systemctl enable munge&lt;br /&gt;
 # sudo systemctl start munge&lt;br /&gt;
&lt;br /&gt;
Paigaldame Mariadb sulrmdb jaoks&lt;br /&gt;
&lt;br /&gt;
 # apt-get install mariadb-server&lt;br /&gt;
&lt;br /&gt;
Slurm on andmebaasi parameetrite osas üsna nõudlik ning vajab innodb seadistamist&lt;br /&gt;
&lt;br /&gt;
Debianis tuleb avada /etc/mysql/mariadb.conf.d/50-server.cnf ning lisada&lt;br /&gt;
&lt;br /&gt;
 innodb_buffer_pool_size=1024M&lt;br /&gt;
 innodb_log_file_size=64M&lt;br /&gt;
 innodb_lock_wait_timeout=900&lt;br /&gt;
&lt;br /&gt;
Stardime mariadb&lt;br /&gt;
&lt;br /&gt;
 # systemctl start mariadb&lt;br /&gt;
 # systemctl enable mariadb&lt;br /&gt;
&lt;br /&gt;
Logime sinna sisse ning tekitame Slurmi kasutaja&lt;br /&gt;
&lt;br /&gt;
 # CREATE USER &#039;slurm2&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;parool&#039;;&lt;br /&gt;
 # GRANT ALL ON slurm_acct_db.* TO &#039;slurm&#039;@&#039;localhost&#039;;&lt;br /&gt;
&lt;br /&gt;
Seejärel võime paigaldada slurmdb, nii andmebaasi enda kui kõik vajalikud andmetabelid tektiab ta seejuures ise&lt;br /&gt;
&lt;br /&gt;
 # apt-get install slurmdb&lt;br /&gt;
&lt;br /&gt;
Tekitame slurmdbd seadistusfaili /etc/slurm-llnl/slurmdbd.conf&lt;br /&gt;
&lt;br /&gt;
 AuthType=auth/munge&lt;br /&gt;
 AuthInfo=/var/run/munge/munge.socket.2&lt;br /&gt;
 StorageHost=localhost&lt;br /&gt;
 DbdHost=server-hostname&lt;br /&gt;
 StoragePort=3306&lt;br /&gt;
 StorageUser=slurm&lt;br /&gt;
 StoragePass=parool&lt;br /&gt;
 StorageType=accounting_storage/mysql&lt;br /&gt;
 StorageLoc=slurm_acct_db&lt;br /&gt;
 LogFile=/var/log/slurm-llnl/slurmdbd.log&lt;br /&gt;
 PidFile=/run/slurmdbd.pid&lt;br /&gt;
 SlurmUser=slurm&lt;br /&gt;
 DebugLevel=1&lt;br /&gt;
&lt;br /&gt;
Paneme slurmdbd käima&lt;br /&gt;
&lt;br /&gt;
 # systemctl enable slurmdbd&lt;br /&gt;
 # systemctl start slurmdbd&lt;br /&gt;
&lt;br /&gt;
Paigaldame slurmctrli. See seadistuse osa on ühine nii peaserveril kui ka kliendil&lt;br /&gt;
&lt;br /&gt;
 # apt-get install slurm-wlm&lt;br /&gt;
&lt;br /&gt;
Tekitame talle seadistusfaili, kus defineerime ära ühtlasi ka slurmdb ning esimese kliendi. Selleks lisame faili /etc/slurm-llnl/slurm.conf&lt;br /&gt;
&lt;br /&gt;
 ClusterName=slurm &lt;br /&gt;
 ControlMachine=server-hostname&lt;br /&gt;
 ControlAddr=localhost&lt;br /&gt;
 #&lt;br /&gt;
 SlurmUser=slurm&lt;br /&gt;
 SlurmctldPort=6817&lt;br /&gt;
 SlurmdPort=6818&lt;br /&gt;
 AuthType=auth/munge&lt;br /&gt;
 StateSaveLocation=/var/spool/slurm/ctld&lt;br /&gt;
 SlurmdSpoolDir=/var/spool/slurm/d&lt;br /&gt;
 SwitchType=switch/none&lt;br /&gt;
 MpiDefault=none&lt;br /&gt;
 SlurmctldPidFile=/run/slurmctld.pid&lt;br /&gt;
 SlurmdPidFile=/run/slurmd.pid&lt;br /&gt;
 ProctrackType=proctrack/pgid&lt;br /&gt;
 ReturnToService=0&lt;br /&gt;
 # &lt;br /&gt;
 # Timers&lt;br /&gt;
 SlurmctldTimeout=300&lt;br /&gt;
 SlurmdTimeout=300&lt;br /&gt;
 InactiveLimit=0&lt;br /&gt;
 MinJobAge=300&lt;br /&gt;
 KillWait=30&lt;br /&gt;
 Waittime=0&lt;br /&gt;
 # &lt;br /&gt;
 # Accounting&lt;br /&gt;
 AccountingStorageType=accounting_storage/slurmdbd&lt;br /&gt;
 AccountingStoreJobComment=YES&lt;br /&gt;
 JobAcctGatherFrequency=30&lt;br /&gt;
 JobAcctGatherType=jobacct_gather/linux&lt;br /&gt;
 # &lt;br /&gt;
 # Logging&lt;br /&gt;
 DebugFlags=NO_CONF_HASH&lt;br /&gt;
 SlurmctldDebug=3&lt;br /&gt;
 SlurmctldLogFile=/var/log/slurm-llnl/slurmctld.log&lt;br /&gt;
 SlurmdDebug=3&lt;br /&gt;
 SlurmdLogFile=/var/log/slurm-llnl/slurmd.log&lt;br /&gt;
 SlurmSchedLogFile= /var/log/slurm-llnl/slurmschd.log&lt;br /&gt;
 SlurmSchedLogLevel=3&lt;br /&gt;
 JobCompType=jobcomp/none&lt;br /&gt;
 #&lt;br /&gt;
 # Compute nodes&lt;br /&gt;
 NodeName=slurm-test NodeAddr=10.40.0.10 Port=17000 Procs=1 State=UNKNOWN &lt;br /&gt;
 PartitionName=test Nodes=ALL Default=YES MaxTime=INFINITE State=UP&lt;br /&gt;
&lt;br /&gt;
Slurmctrld käivitamiseks&lt;br /&gt;
&lt;br /&gt;
 # systemctl enable slurmctld&lt;br /&gt;
 # systemctl start slurmctld&lt;br /&gt;
&lt;br /&gt;
Tekitame test clustri ning esimese kasutaja&lt;br /&gt;
&lt;br /&gt;
 # sacctmgr -i add cluster cluster&lt;br /&gt;
 # sacctmgr -i add account test Cluster=cluster&lt;br /&gt;
 # sacctmgr -i add user test Account=test&lt;br /&gt;
&lt;br /&gt;
Kliendi käivitamine&lt;br /&gt;
&lt;br /&gt;
 # systemctl enable slurmd&lt;br /&gt;
 # systemctl start slurmd&lt;br /&gt;
&lt;br /&gt;
Testimiseks võib kasutada käsku&lt;br /&gt;
&lt;br /&gt;
 $ srun uname -a&lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
https://southgreenplatform.github.io/trainings/hpc/slurminstallation/&lt;br /&gt;
&lt;br /&gt;
https://gist.github.com/asmateus/301b0cb86700cbe74c269b27f2ecfbef&lt;br /&gt;
&lt;br /&gt;
https://implement.pt/2018/09/slurm-in-ubuntu-clusters-pt1/&lt;br /&gt;
&lt;br /&gt;
===Tööde käivitamine===&lt;br /&gt;
&lt;br /&gt;
Saadame slurmi töö mis käivitatakse neli korda ja mis väljastab masina kerneli versiooni.&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;srun --ntasks=4 uname -a&#039;&#039;&#039;&lt;br /&gt;
 srun: job 561700 queued and waiting for resources&lt;br /&gt;
 srun: job 561700 has been allocated resources&lt;br /&gt;
 idu08&lt;br /&gt;
 idu08&lt;br /&gt;
 idu08&lt;br /&gt;
 idu08&lt;br /&gt;
&lt;br /&gt;
Või soovides käivitada lihtsalt kokku 24 tööd kõigil nodedel ja ja lasta slurmil ise nad jagada laiali&lt;br /&gt;
&lt;br /&gt;
 # srun --ntasks=24 --partition=gpu hostname&lt;br /&gt;
&lt;br /&gt;
Tasub muidugi tähele panna, et srun sobib peamiselt testimiseks või väga lihtsateks töödeks ning keerukamatel kasutusjuhtudel tuleks kasutada käske salloc või sbatch&lt;br /&gt;
Põhimõtteliselt sama esimene näide skriptiga tehtuna, tekitame parallel_uname.sh&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 #SBATCH –J test                     # Seadistab töö nime mida näeb squeue käsuga &lt;br /&gt;
 #SBATCH –N=4                        # Määrab mitut füüsilist serverit kasutatakse&lt;br /&gt;
 #SBATCH --ntasks-per-node=4         # Määrab, mitu ülesannet ühel serveril käivitatakse&lt;br /&gt;
 #SBATCH --output=kontroll.out       # Väljundfaili nimi – programm ei edastada väljundit kohe ekraanile vaid faili.&lt;br /&gt;
 uname -a                            # käsk, mida käivitatakse. Antud juhul uname -a&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lisaks võib seadistada e-maili saatmise töö lõpu korral&lt;br /&gt;
&lt;br /&gt;
 #SBATCH --mail-type=END # Type of email notification- BEGIN,END,FAIL,ALL &lt;br /&gt;
 #SBATCH --mail-user=ajk@123.com # Email to which notifications will be sent&lt;br /&gt;
&lt;br /&gt;
Paneme käima&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;sbatch parallel_uname.sh&#039;&#039;&#039;&lt;br /&gt;
 Submitted batch job 65918&lt;br /&gt;
&lt;br /&gt;
Ja väljund&lt;br /&gt;
&lt;br /&gt;
 # cat slurm-65918.out &lt;br /&gt;
 Linux stage59 2.6.32-431.17.1.el6.x86_64 #1 SMP Wed May 7 14:14:17 CDT 2014 x86_64 x86_64 x86_64 GNU/Linux&lt;br /&gt;
&lt;br /&gt;
====MPI tööde käivitamine====&lt;br /&gt;
&lt;br /&gt;
Message Passing Interface ehk MPI on paraleelsete programmide loomiseks&lt;br /&gt;
&lt;br /&gt;
Kasutamiseks on vaja laadida moodulid&lt;br /&gt;
&lt;br /&gt;
 module load intel&lt;br /&gt;
 module load openmpi&lt;br /&gt;
&lt;br /&gt;
Slurm skript võiks näha välja järgnev&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#SLURM -J myjob&lt;br /&gt;
#SLURM -p mpi-core8&lt;br /&gt;
#SLURM -t 01:00:00&lt;br /&gt;
#SLURM -o myjob-%J.out&lt;br /&gt;
#SLURM -N 4&lt;br /&gt;
#SLURM --ntasks-per-node=8&lt;br /&gt;
module load gcc&lt;br /&gt;
module load openmpi&lt;br /&gt;
cd subdir&lt;br /&gt;
mpirun -np 32 ./myapp&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
https://computing.llnl.gov/tutorials/mpi/&lt;br /&gt;
&lt;br /&gt;
http://brazos.tamu.edu/software/openmpi.html&lt;br /&gt;
&lt;br /&gt;
===Tööde haldus===&lt;br /&gt;
&lt;br /&gt;
Tööde nimekirja näeb&lt;br /&gt;
&lt;br /&gt;
 # squeue &lt;br /&gt;
              JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)&lt;br /&gt;
             561555       gpu   python hpc_tane  R 4-22:47:46      1 idu41&lt;br /&gt;
             561544       gpu   punct2  ottokar  R 5-02:52:19      1 idu40&lt;br /&gt;
             561538       gpu   punct2  ottokar  R 5-03:06:09      1 idu39&lt;br /&gt;
             561528       gpu train_HO hpc_tane  R 6-07:54:01      1 idu40&lt;br /&gt;
             561490       gpu train_HO hpc_tane  R 7-06:15:40      1 idu39&lt;br /&gt;
             561795      long EUWEST_6    elmer  R   10:09:00      1 idu30&lt;br /&gt;
             561802      long EESTI1_7    elmer  R    4:01:17      1 idu02&lt;br /&gt;
             561801      long EESTI1_4    elmer  R    4:01:18      1 idu01&lt;br /&gt;
             561800      long EUWEST_7    elmer  R    4:01:19      1 idu12&lt;br /&gt;
             561794      long SLOVAK_6    elmer  R   10:13:23      1 idu06&lt;br /&gt;
             561793      long EESTI1_2    elmer  R   16:04:42      1 idu05&lt;br /&gt;
             561792      long EESTI1_6    elmer  R   16:09:14      1 idu03&lt;br /&gt;
             561647      long     bash  hpc_kuz  R 3-19:32:13      1 idu04&lt;br /&gt;
             561810      long run_R-1- hpc_eero  R    1:58:03      1 idu34&lt;br /&gt;
             561811      long run_R-1- hpc_eero  R    1:58:03      1 idu31&lt;br /&gt;
             561813      long run_R-1- hpc_eero  R    1:58:03      1 idu32&lt;br /&gt;
             561809      long run_R-1- hpc_eero  R    2:08:03      1 idu29&lt;br /&gt;
             561806      long run_R-1- hpc_eero  R    2:18:03      1 idu33&lt;br /&gt;
             561808      long run_R-1- hpc_eero  R    2:18:03      1 idu35&lt;br /&gt;
&lt;br /&gt;
Töö staatuse nägemiseks tuleb scontrolile anda ette JOBID&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;scontrol show job 561581&#039;&#039;&#039;&lt;br /&gt;
 JobId=561581 Name=SLOVAK_6&lt;br /&gt;
    UserId=elmer(10010) GroupId=elmer(10010)&lt;br /&gt;
    Priority=1503 Account=(null) QOS=(null)&lt;br /&gt;
    JobState=RUNNING Reason=None Dependency=(null)&lt;br /&gt;
    Requeue=1 Restarts=0 BatchFlag=0 ExitCode=0:0&lt;br /&gt;
    RunTime=09:06:37 TimeLimit=12:00:00 TimeMin=N/A&lt;br /&gt;
    SubmitTime=2016-02-25T06:26:02 EligibleTime=2016-02-25T06:26:02&lt;br /&gt;
    StartTime=2016-02-25T06:26:02 EndTime=2016-02-25T18:26:02&lt;br /&gt;
    PreemptTime=None SuspendTime=None SecsPreSuspend=0&lt;br /&gt;
    Partition=long AllocNode:Sid=juur:22238&lt;br /&gt;
    ReqNodeList=(null) ExcNodeList=(null)&lt;br /&gt;
    NodeList=idu38&lt;br /&gt;
    BatchHost=idu38&lt;br /&gt;
    NumNodes=1 NumCPUs=8 CPUs/Task=8 ReqS:C:T=2:4:1&lt;br /&gt;
    MinCPUsNode=8 MinMemoryNode=18G MinTmpDiskNode=0&lt;br /&gt;
    Features=(null) Gres=(null) Reservation=(null)&lt;br /&gt;
    Shared=OK Contiguous=0 Licenses=(null) Network=(null)&lt;br /&gt;
    Command=/storage/jobs/g-9.sh&lt;br /&gt;
    WorkDir=/cluster/elmer&lt;br /&gt;
&lt;br /&gt;
Töö lõppu on muidugi võimatu ette teada/ennustada. Võib-olla umbes töö alustaja ise teab, kaua see VÕIKS aega võtta.&lt;br /&gt;
&lt;br /&gt;
idu seisu vaatamiseks juurest või suvalisest idust anda käsk&lt;br /&gt;
 &lt;br /&gt;
 # &#039;&#039;&#039;scontrol show node idu38&#039;&#039;&#039;&lt;br /&gt;
 NodeName=idu38 Arch=x86_64 CoresPerSocket=6&lt;br /&gt;
    CPUAlloc=8 CPUErr=0 CPUTot=12 CPULoad=5.82 Features=K20&lt;br /&gt;
    Gres=gpu:2&lt;br /&gt;
    NodeAddr=idu38 NodeHostName=idu38&lt;br /&gt;
    OS=Linux RealMemory=48000 AllocMem=18432 Sockets=2 Boards=1&lt;br /&gt;
    State=MIXED ThreadsPerCore=1 TmpDisk=200000 Weight=100&lt;br /&gt;
    BootTime=2015-01-21T00:23:33 SlurmdStartTime=2015-01-21T00:24:09&lt;br /&gt;
    CurrentWatts=0 LowestJoules=0 ConsumedJoules=0&lt;br /&gt;
    ExtSensorsJoules=n/s ExtSensorsWatts=0 ExtSensorsTemp=n/ s&lt;br /&gt;
&lt;br /&gt;
===Slurmi partitsioonid===&lt;br /&gt;
&lt;br /&gt;
Tööde paremaks halduseks on mõistlik erinevad masinad jagada erinevatesse partitsioonide gruppidesse. &lt;br /&gt;
&lt;br /&gt;
Partitsioonide konfiguratsiooni nägemiseks&lt;br /&gt;
&lt;br /&gt;
 # sinfo&lt;br /&gt;
 PARTITION AVAIL  TIMELIMIT  NODES  STATE NODELIST&lt;br /&gt;
 short*       up      30:00      4  idle~ idu[08-11]&lt;br /&gt;
 short*       up      30:00     16    mix idu[01-06,12,29-37]&lt;br /&gt;
 short*       up      30:00      1   down idu07&lt;br /&gt;
 long         up   infinite      4  idle~ idu[08-11]&lt;br /&gt;
 long         up   infinite     16    mix idu[01-06,12,29-37]&lt;br /&gt;
 long         up   infinite      1   down idu07&lt;br /&gt;
 gpu          up   infinite      5  idle~ idu[08-11,38]&lt;br /&gt;
 gpu          up   infinite     10    mix idu[01-06,12,39-41]&lt;br /&gt;
 gpu          up   infinite      1   down idu07&lt;br /&gt;
&lt;br /&gt;
Partitsioonide täpsem info&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;scontrol show partition&#039;&#039;&#039;&lt;br /&gt;
 PartitionName=short&lt;br /&gt;
    AllocNodes=ALL AllowGroups=ALL Default=YES&lt;br /&gt;
    DefaultTime=NONE DisableRootJobs=NO GraceTime=0 Hidden=NO&lt;br /&gt;
    MaxNodes=UNLIMITED MaxTime=00:30:00 MinNodes=1 MaxCPUsPerNode=UNLIMITED&lt;br /&gt;
    Nodes=idu[01-12],idu[29-37]&lt;br /&gt;
    Priority=100 RootOnly=NO ReqResv=NO Shared=YES:4 PreemptMode=OFF&lt;br /&gt;
    State=UP TotalCPUs=204 TotalNodes=21 SelectTypeParameters=N/A&lt;br /&gt;
    DefMemPerCPU=2048 MaxMemPerCPU=12288&lt;br /&gt;
 &lt;br /&gt;
 PartitionName=long&lt;br /&gt;
    AllocNodes=ALL AllowGroups=ALL Default=NO&lt;br /&gt;
    DefaultTime=NONE DisableRootJobs=NO GraceTime=0 Hidden=NO&lt;br /&gt;
    MaxNodes=UNLIMITED MaxTime=UNLIMITED MinNodes=1 MaxCPUsPerNode=UNLIMITED&lt;br /&gt;
    Nodes=idu[01-12],idu[29-37]&lt;br /&gt;
    Priority=150 RootOnly=NO ReqResv=NO Shared=YES:4 PreemptMode=OFF&lt;br /&gt;
    State=UP TotalCPUs=204 TotalNodes=21 SelectTypeParameters=N/A&lt;br /&gt;
    DefMemPerCPU=2048 MaxMemPerCPU=12288&lt;br /&gt;
 &lt;br /&gt;
 PartitionName=gpu&lt;br /&gt;
    AllocNodes=ALL AllowGroups=ALL Default=NO&lt;br /&gt;
    DefaultTime=NONE DisableRootJobs=NO GraceTime=0 Hidden=NO&lt;br /&gt;
    MaxNodes=UNLIMITED MaxTime=UNLIMITED MinNodes=1 MaxCPUsPerNode=UNLIMITED&lt;br /&gt;
    Nodes=idu[01-12],idu[38-41]&lt;br /&gt;
    Priority=1000 RootOnly=NO ReqResv=NO Shared=YES:4 PreemptMode=OFF&lt;br /&gt;
    State=UP TotalCPUs=144 TotalNodes=16 SelectTypeParameters=N/A&lt;br /&gt;
    DefMemPerCPU=2048 MaxMemPerCPU=12288&lt;br /&gt;
&lt;br /&gt;
Näiteks antud juhul asuvad GPUsid sisalduvad noded &amp;quot;long&amp;quot; partitsioonist väljaspool, et neile muid arvutusi ei antaks. &lt;br /&gt;
&lt;br /&gt;
Nodede liigutamiseks partitsoonide vahel. /etc/slurm/slurm.conf lõpus on see partitsioonide konf&lt;br /&gt;
Muuda vastavalt partitsioone, mida tahad ja siis slurmi servisele restart (käivad tööd sellest katki ei lähe).&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/slurm restart&lt;br /&gt;
&lt;br /&gt;
===Veateated ja probleemid===&lt;br /&gt;
&lt;br /&gt;
Mälulimiit on programmi poolt ületatud&lt;br /&gt;
&lt;br /&gt;
 slurmd[n1]: error: Job 60204 exceeded 10240 KB memory limit, being killed&lt;br /&gt;
 slurmd[n1]: error: *** JOB 60204 CANCELLED AT 2011-05-27T19:34:34 ***&lt;br /&gt;
&lt;br /&gt;
Mälulimiit on seadistatud liiga kõrge olemasoleva mälu jaoks&lt;br /&gt;
&lt;br /&gt;
 $ sbatch run.slurm &lt;br /&gt;
 sbatch: error: Batch job submission failed: Requested node configuration is not available&lt;br /&gt;
&lt;br /&gt;
http://www.umbc.edu/hpcf/resources-tara-2013/scheduling-policy.php&lt;br /&gt;
&lt;br /&gt;
Node staatus on &amp;quot;down&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Esmalt võiks proovida seda manuaalselt muuta, näiteks:&lt;br /&gt;
 scontrol update state=MIXED nodename=node84&lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
http://www.schedmd.com/slurmdocs/quickstart.html&lt;br /&gt;
&lt;br /&gt;
https://rc.fas.harvard.edu/resources/running-jobs/&lt;br /&gt;
&lt;br /&gt;
http://www.ibm.com/developerworks/library/l-slurm-utility/&lt;/div&gt;</summary>
		<author><name>Jj</name></author>
	</entry>
</feed>