<?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=Erkko</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=Erkko"/>
	<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php/Eri:Kaast%C3%B6%C3%B6/Erkko"/>
	<updated>2026-04-17T19:54:09Z</updated>
	<subtitle>Kasutaja kaastöö</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Regulaaravaldised&amp;diff=31031</id>
		<title>Regulaaravaldised</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Regulaaravaldised&amp;diff=31031"/>
		<updated>2025-12-29T02:56:10Z</updated>

		<summary type="html">&lt;p&gt;Erkko: omavigaparandus&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Regulaaravaldised===&lt;br /&gt;
&lt;br /&gt;
Regulaaravaldis on kontrolleeskiri, mida rakendatakse mingile tekstile. Iga teksti jaoks antakse vastus, kas tekst klappis avaldisega või mitte.&lt;br /&gt;
&lt;br /&gt;
Kasutame regulaaravaldiste selgitamise näidetes programmi Egrep, kuna ta saab aru ka suhteliselt keerulistest regulaaravaldistest.&lt;br /&gt;
&lt;br /&gt;
Toome lihtsa näite - fail kalastus:&lt;br /&gt;
&lt;br /&gt;
 bash$ cat kalastus&lt;br /&gt;
 tegelane    kalade arv&lt;br /&gt;
 Priit_______1&lt;br /&gt;
 Mart_______12&lt;br /&gt;
 Peeter_____45&lt;br /&gt;
 Konstant___34&lt;br /&gt;
 Tibu________3&lt;br /&gt;
 Miima______12&lt;br /&gt;
&lt;br /&gt;
Eraldame välja read, kus on kalade arv alla kümne. See tähendab, rea lõpus asuv kalade arv on pandud kirja ühe märgiga.&lt;br /&gt;
&lt;br /&gt;
 bash$ egrep &amp;quot;_.$&amp;quot; kalastus&lt;br /&gt;
 Priit_______1&lt;br /&gt;
 Tibu________3&lt;br /&gt;
&lt;br /&gt;
Regulaaravaldis &amp;quot;_.$&amp;quot; klapib nende ridadega, mille lõpus ($) on kõrvuti alakriips ja üks suvaline märk (_.).&lt;br /&gt;
&lt;br /&gt;
Regulaaravaldiste oskuslik kasutamine on oluline muuhulgas selliste programmide nagu Sed, Awk ja Procmail puhul.&lt;br /&gt;
&lt;br /&gt;
===Literaalsed - ja metasümbolid===&lt;br /&gt;
&lt;br /&gt;
Regulaaravaldis &amp;quot;_.$&amp;quot; sisaldab kahte sorti sümboleid:&lt;br /&gt;
&lt;br /&gt;
* literaalsed - need, mis ise esinevad vaatlusaluses tekstis, nagu alakriips&lt;br /&gt;
* metasümbolid - &amp;quot;.&amp;quot; kohal võib olla üks suvaline tähemärk; &amp;quot;$&amp;quot; tähistab rea lõppu. &lt;br /&gt;
&lt;br /&gt;
Regulaaravaldised võeti algselt kasutusele programmis Ed, millest kasvasid välja Grep ja Sed. Piiratud metasümbolite arv, mida nimetatakse traditsiooniliseks metasümbolite hulgaks, tingis laiendatud metasümbolite hulga (ingl. k. extended metacharacters set) kasutuselevõtu. Laiendatud hulka oskavad kasutada Awk ja Egrep.&lt;br /&gt;
&lt;br /&gt;
Aritmeetiliste avaldiste juures on olulised tehtemärgid. Regulaaravaldistes on põhiliseks teheteks sümbolite kõrvutiolek.&lt;br /&gt;
&lt;br /&gt;
===Traditsioonilised metasümbolid===&lt;br /&gt;
&lt;br /&gt;
* . - punkt: suvaline üks sümbol&lt;br /&gt;
* * - tärn: suvaline arv, sh 0 temast vasakule jäävat sümbolit&lt;br /&gt;
* [...] - klass: üks kantsulgude vahel olevatest sümbolitest&lt;br /&gt;
* ^ - katus: rea algus&lt;br /&gt;
* $ - dollar: rea lõpp&lt;br /&gt;
* \ - tagurpidi kaldkriips: varjestab talle järgneva metasümboli. &lt;br /&gt;
&lt;br /&gt;
Järgnevad näited sellise teksti alusel:&lt;br /&gt;
&lt;br /&gt;
 bash~$ cat kohad&lt;br /&gt;
 Tartu 1437&lt;br /&gt;
 Helsinki 1960&lt;br /&gt;
 Yellowstone 1903&lt;br /&gt;
 Tokio 1990&lt;br /&gt;
 Praha 1400&lt;br /&gt;
 Pariis 1500&lt;br /&gt;
&lt;br /&gt;
Kahekümnenda sajandi aastaarvud:&lt;br /&gt;
&lt;br /&gt;
 bash~$ egerp &amp;quot;19..&amp;quot; kohad&lt;br /&gt;
&lt;br /&gt;
Kõik read&lt;br /&gt;
&lt;br /&gt;
 bash~$ egrep &amp;quot;.*&amp;quot; kohad&lt;br /&gt;
&lt;br /&gt;
Kõik i või e -lõpuliste kohanimedega read:&lt;br /&gt;
&lt;br /&gt;
 bash~$ grep &amp;quot;[ie] &amp;quot; kohad&lt;br /&gt;
&lt;br /&gt;
Kõik read kus kohanimi ei lõppe i või e tähega:&lt;br /&gt;
&lt;br /&gt;
 bash~$ grep &amp;quot;[^ie] &amp;quot; kohad&lt;br /&gt;
&lt;br /&gt;
Klassis omab ^ märk inverteerivat tähendust, st klapivad need read, kui tühikule ei eelne i või e.&lt;br /&gt;
&lt;br /&gt;
T -ga algavad viietähelise kohanimega read:&lt;br /&gt;
&lt;br /&gt;
 bash~$ egrep &amp;quot;^T.... &amp;quot; kohad&lt;br /&gt;
&lt;br /&gt;
Sajandivahetusele vastavad kohad:&lt;br /&gt;
&lt;br /&gt;
 bash~$ egrep &amp;quot;00$&amp;quot; kohad&lt;br /&gt;
&lt;br /&gt;
Read, milles esineb sümbol &amp;quot;^&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 bash~$ egrep &amp;quot;\^&amp;quot; kohad&lt;br /&gt;
&lt;br /&gt;
===Laiendatud metasümbolite kirjeldused===&lt;br /&gt;
&lt;br /&gt;
Laiendatud metasümbolite hulka kuuluvad lisaks traditsioonilistele järgmised metasümbolid:&lt;br /&gt;
&lt;br /&gt;
* + - pluss: üks või enam temast vasakul olevat sümbolit&lt;br /&gt;
* ? - küsimärk: null või üks temast vasakul olevat sümbolit&lt;br /&gt;
* | - toru: eelnev või järgnev regulaaravaldis&lt;br /&gt;
* () - sulud: grupeerib regulaaravaldisi&lt;br /&gt;
* {n,m} - loogad: mitu eelnevat sümbolit &lt;br /&gt;
&lt;br /&gt;
Näited eelpool toodud teksti alusel:&lt;br /&gt;
Kõik selle sajandile vastavad e -ga lõppevad kohanimed:&lt;br /&gt;
&lt;br /&gt;
 bash~$ egrep &amp;quot;e +19&amp;quot; kohad&lt;br /&gt;
&lt;br /&gt;
Kohanimi võib olla kirjutatud kokku või sisaldada sidekriipsu:&lt;br /&gt;
&lt;br /&gt;
 bash~$ egrep &amp;quot;Jää-?äär&amp;quot; kohad&lt;br /&gt;
&lt;br /&gt;
Võib alata C või K&#039;ga:&lt;br /&gt;
&lt;br /&gt;
 bash~$ egrep &amp;quot;K|Columbia&amp;quot; kohad&lt;br /&gt;
&lt;br /&gt;
Kui tavaliselt toimivad metasümbolid ühele eelnevale või järgnevale märgile, siis sulgudega on võimalik nad panna toimima mitmele:&lt;br /&gt;
&lt;br /&gt;
 bash~$ egrep &amp;quot;(Columbia)|(Kolumbia)&amp;quot; kohad&lt;br /&gt;
&lt;br /&gt;
Võimalik on näidata, mitu sümbolit lähevad arvesse:&lt;br /&gt;
&lt;br /&gt;
Neli kuni seitse &#039;a&#039; -d:&lt;br /&gt;
&lt;br /&gt;
 bash~$ egrep -E &amp;quot;a{4,7}&amp;quot; kohad&lt;br /&gt;
&lt;br /&gt;
Neli või enam &#039;a&#039; -d:&lt;br /&gt;
&lt;br /&gt;
 bash~$ egrep -E &amp;quot;a{4,}&amp;quot; kohad&lt;br /&gt;
&lt;br /&gt;
Täpselt neli &#039;a&#039; -d:&lt;br /&gt;
&lt;br /&gt;
 bash~$ egrep -E &amp;quot;a{4}&amp;quot; kohad&lt;br /&gt;
&lt;br /&gt;
Null kuni neli &#039;a&#039; -d:&lt;br /&gt;
&lt;br /&gt;
 bash~$ egrep -E &amp;quot;a{,4}&amp;quot; kohad&lt;br /&gt;
&lt;br /&gt;
===Perl sarnaste avaldiste kasutamine===&lt;br /&gt;
&lt;br /&gt;
Logist sarnase rea tabamiseks&lt;br /&gt;
&lt;br /&gt;
 Jan 10 23:49:46 post-relay postfix/smtp[15560]: 5A9CA5FD4E: to=&amp;lt;imre@auul.pri.ee&amp;gt; ...&lt;br /&gt;
&lt;br /&gt;
sobib öelda nt&lt;br /&gt;
&lt;br /&gt;
 $ grep -P &amp;quot;postfix/smtp\[[0-9]+\]: [0-9,A-Z]+:&amp;quot; /var/log/mail.log&lt;br /&gt;
&lt;br /&gt;
===Mõned regexpi mustrid===&lt;br /&gt;
&lt;br /&gt;
 as 112233 sdf&lt;br /&gt;
 asd 0.0232 ads&lt;br /&gt;
&lt;br /&gt;
 Muster:&lt;br /&gt;
 \s(0\.)?[0-9]+\s&lt;br /&gt;
&lt;br /&gt;
Selgitus:&lt;br /&gt;
&lt;br /&gt;
 \s - tühik&lt;br /&gt;
 (0\.)? - luba numbrijada ees 0.&lt;br /&gt;
 [0-9]+ - vähemalt 1 number &lt;br /&gt;
&lt;br /&gt;
Rida httpd logist&lt;br /&gt;
&lt;br /&gt;
 OUTPUT=&amp;quot;HTTP OK HTTP/1.0 200 OK - 3376 bytes in 0.093 seconds&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Selle analoogia põhjal proovi avaldist:&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;output:tm:/- (\\d+) bytes/&amp;quot; &amp;quot;output:tma:/in =  (\\d+\\.?\\d*) seconds/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nimelt, kuna originaalis ilmselt on kirjutatud \\d, siis tähendab see, et \ tuleb veel topelt varjestada, ehk \\, millest võis minu esialgne rida mitte töötada. Teine asi on nende sulgudega - sulgude sees olev regexi osa on see, mis pannakse väljundisse, seega peab sulge õigesti panema.&lt;br /&gt;
&lt;br /&gt;
===Kasulikud lisamaterjalid===&lt;br /&gt;
&lt;br /&gt;
* [[:Sed]]&lt;br /&gt;
* [[:Awk]]&lt;br /&gt;
* [[:Procmail]]&lt;br /&gt;
&lt;br /&gt;
© EENet 2000&lt;/div&gt;</summary>
		<author><name>Erkko</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Regulaaravaldised&amp;diff=31030</id>
		<title>Regulaaravaldised</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Regulaaravaldised&amp;diff=31030"/>
		<updated>2025-12-29T02:53:12Z</updated>

		<summary type="html">&lt;p&gt;Erkko: krijawigased&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Regulaaravaldised===&lt;br /&gt;
&lt;br /&gt;
Regulaaravaldis on kontrolleeskiri, mida rakendatakse mingile tekstile. Iga teksti jaoks antakse vastus, kas tekst klappis avaldisega või mitte.&lt;br /&gt;
&lt;br /&gt;
Kasutame regulaaravaldiste selgitamise näidetes programmi Egrep, kuna ta saab aru ka suhteliselt keerulistest regulaaravaldistest.&lt;br /&gt;
&lt;br /&gt;
Toome lihtsa näite - fail kalastus:&lt;br /&gt;
&lt;br /&gt;
 bash$ cat kalastus&lt;br /&gt;
 tegelane    kalade arv&lt;br /&gt;
 Priit_______1&lt;br /&gt;
 Mart_______12&lt;br /&gt;
 Peeter_____45&lt;br /&gt;
 Konstant___34&lt;br /&gt;
 Tibu________3&lt;br /&gt;
 Miima______12&lt;br /&gt;
&lt;br /&gt;
Eraldame välja read, kus on kalade arv alla kümne. See tähendab, rea lõpus asuv kalade arv on pandud kirja ühe märgiga.&lt;br /&gt;
&lt;br /&gt;
 bash$ egrep &amp;quot;_.$&amp;quot; kalastus&lt;br /&gt;
 Priit_______1&lt;br /&gt;
 Tibu________3&lt;br /&gt;
&lt;br /&gt;
Regulaaravaldis &amp;quot;_.$&amp;quot; klapib nende ridadega, mille lõpus ($) on kõrvuti alakriips ja üks suvaline märk (_.).&lt;br /&gt;
&lt;br /&gt;
Regulaaravaldiste oskuslik kasutamine on oluline muuhulgas selliste programmide nagu Sed, Awk ja Procmail puhul.&lt;br /&gt;
&lt;br /&gt;
===Literaalsed - ja metasümbolid===&lt;br /&gt;
&lt;br /&gt;
Regulaaravaldis &amp;quot;_.$&amp;quot; sisaldab kahte sorti sümboleid:&lt;br /&gt;
&lt;br /&gt;
* literaalsed - need, mis ise esinevad vaatlusaluses tekstis, nagu alakriips&lt;br /&gt;
* metasümbolid - &amp;quot;.&amp;quot; kohal võib olla üks suvaline tähemärk; &amp;quot;$&amp;quot; tähistab rea lõppu. &lt;br /&gt;
&lt;br /&gt;
Regulaaravaldised võeti algselt kasutusele programmis Ed, millest kasvasid välja Grep ja Sed. Piiratud metasümbolite arv, mida nimetatakse traditsiooniliseks metasümbolite hulgaks, tingis laiendatud metasümbolite hulga (ingl. k. extended metacharacters set) kasutuselevõtu. Laiendatud hulka oskavad kasutada Awk ja Egrep.&lt;br /&gt;
&lt;br /&gt;
Aritmeetiliste avaldiste juures on olulised tehtemärgid. Regulaaravaldistes on põhiliseks teheteks sümbolite kõrvutiolek.&lt;br /&gt;
&lt;br /&gt;
===Traditsioonilised metasümbolid===&lt;br /&gt;
&lt;br /&gt;
* . - punkt: suvaline üks sümbol&lt;br /&gt;
* * - tärn: suvaline arv, sh 0 temast vasakule jäävat sümbolit&lt;br /&gt;
* [...] - klass: üks kantsulgude vahel olevatest sümbolitest&lt;br /&gt;
* ^ - katus: rea algus&lt;br /&gt;
* $ - dollar: rea lõpp&lt;br /&gt;
* \ - tagurpidi kaldkriips: varjestab talle järgneva metasümboli. &lt;br /&gt;
&lt;br /&gt;
Järgnevad näited sellise teksti alusel:&lt;br /&gt;
&lt;br /&gt;
 bash~$ cat kohad&lt;br /&gt;
 Tartu 1437&lt;br /&gt;
 Helsinki 1960&lt;br /&gt;
 Yellowstone 1903&lt;br /&gt;
 Tokio 1990&lt;br /&gt;
 Praha 1400&lt;br /&gt;
 Pariis 1500&lt;br /&gt;
&lt;br /&gt;
Kahekümnenda sajandi aastaarvud:&lt;br /&gt;
&lt;br /&gt;
 bash~$ egerp &amp;quot;19..&amp;quot; kohad&lt;br /&gt;
&lt;br /&gt;
Kõik read&lt;br /&gt;
&lt;br /&gt;
 bash~$ egrep &amp;quot;.*&amp;quot; kohad&lt;br /&gt;
&lt;br /&gt;
Kõik i või e -lõpulised kohanimedega read:&lt;br /&gt;
&lt;br /&gt;
 bash~$ grep &amp;quot;[ie] &amp;quot; kohad&lt;br /&gt;
&lt;br /&gt;
Kõik read kus kohanimi ei lõppe i või e tähega:&lt;br /&gt;
&lt;br /&gt;
 bash~$ grep &amp;quot;[^ie] &amp;quot; kohad&lt;br /&gt;
&lt;br /&gt;
Klassis omab ^ märk inverteerivat tähendust, st klapivad need read, kui tühikule ei eelne i või e.&lt;br /&gt;
&lt;br /&gt;
T -ga algavad viietähelise kohanimega read:&lt;br /&gt;
&lt;br /&gt;
 bash~$ egrep &amp;quot;^T.... &amp;quot; kohad&lt;br /&gt;
&lt;br /&gt;
Sajandivahetusele vastavad kohad:&lt;br /&gt;
&lt;br /&gt;
 bash~$ egrep &amp;quot;00$&amp;quot; kohad&lt;br /&gt;
&lt;br /&gt;
Read, milles esineb sümbol &amp;quot;^&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 bash~$ egrep &amp;quot;\^&amp;quot; kohad&lt;br /&gt;
&lt;br /&gt;
===Laiendatud metasümbolite kirjeldused===&lt;br /&gt;
&lt;br /&gt;
Laiendatud metasümbolite hulka kuuluvad lisaks traditsioonilistele järgmised metasümbolid:&lt;br /&gt;
&lt;br /&gt;
* + - pluss: üks või enam temast vasakul olevat sümbolit&lt;br /&gt;
* ? - küsimärk: null või üks temast vasakul olevat sümbolit&lt;br /&gt;
* | - toru: eelnev või järgnev regulaaravaldis&lt;br /&gt;
* () - sulud: grupeerib regulaaravaldisi&lt;br /&gt;
* {n,m} - loogad: mitu eelnevat sümbolit &lt;br /&gt;
&lt;br /&gt;
Näited eelpool toodud teksti alusel:&lt;br /&gt;
Kõik selle sajandile vastavad e -ga lõppevad kohanimed:&lt;br /&gt;
&lt;br /&gt;
 bash~$ egrep &amp;quot;e +19&amp;quot; kohad&lt;br /&gt;
&lt;br /&gt;
Kohanimi võib olla kirjutatud kokku või sisaldada sidekriipsu:&lt;br /&gt;
&lt;br /&gt;
 bash~$ egrep &amp;quot;Jää-?äär&amp;quot; kohad&lt;br /&gt;
&lt;br /&gt;
Võib alata C või K&#039;ga:&lt;br /&gt;
&lt;br /&gt;
 bash~$ egrep &amp;quot;K|Columbia&amp;quot; kohad&lt;br /&gt;
&lt;br /&gt;
Kui tavaliselt toimivad metasümbolid ühele eelnevale või järgnevale märgile, siis sulgudega on võimalik nad panna toimima mitmele:&lt;br /&gt;
&lt;br /&gt;
 bash~$ egrep &amp;quot;(Columbia)|(Kolumbia)&amp;quot; kohad&lt;br /&gt;
&lt;br /&gt;
Võimalik on näidata, mitu sümbolit lähevad arvesse:&lt;br /&gt;
&lt;br /&gt;
Neli kuni seitse &#039;a&#039; -d:&lt;br /&gt;
&lt;br /&gt;
 bash~$ egrep -E &amp;quot;a{4,7}&amp;quot; kohad&lt;br /&gt;
&lt;br /&gt;
Neli või enam &#039;a&#039; -d:&lt;br /&gt;
&lt;br /&gt;
 bash~$ egrep -E &amp;quot;a{4,}&amp;quot; kohad&lt;br /&gt;
&lt;br /&gt;
Täpselt neli &#039;a&#039; -d:&lt;br /&gt;
&lt;br /&gt;
 bash~$ egrep -E &amp;quot;a{4}&amp;quot; kohad&lt;br /&gt;
&lt;br /&gt;
Null kuni neli &#039;a&#039; -d:&lt;br /&gt;
&lt;br /&gt;
 bash~$ egrep -E &amp;quot;a{,4}&amp;quot; kohad&lt;br /&gt;
&lt;br /&gt;
===Perl sarnaste avaldiste kasutamine===&lt;br /&gt;
&lt;br /&gt;
Logist sarnase rea tabamiseks&lt;br /&gt;
&lt;br /&gt;
 Jan 10 23:49:46 post-relay postfix/smtp[15560]: 5A9CA5FD4E: to=&amp;lt;imre@auul.pri.ee&amp;gt; ...&lt;br /&gt;
&lt;br /&gt;
sobib öelda nt&lt;br /&gt;
&lt;br /&gt;
 $ grep -P &amp;quot;postfix/smtp\[[0-9]+\]: [0-9,A-Z]+:&amp;quot; /var/log/mail.log&lt;br /&gt;
&lt;br /&gt;
===Mõned regexpi mustrid===&lt;br /&gt;
&lt;br /&gt;
 as 112233 sdf&lt;br /&gt;
 asd 0.0232 ads&lt;br /&gt;
&lt;br /&gt;
 Muster:&lt;br /&gt;
 \s(0\.)?[0-9]+\s&lt;br /&gt;
&lt;br /&gt;
Selgitus:&lt;br /&gt;
&lt;br /&gt;
 \s - tühik&lt;br /&gt;
 (0\.)? - luba numbrijada ees 0.&lt;br /&gt;
 [0-9]+ - vähemalt 1 number &lt;br /&gt;
&lt;br /&gt;
Rida httpd logist&lt;br /&gt;
&lt;br /&gt;
 OUTPUT=&amp;quot;HTTP OK HTTP/1.0 200 OK - 3376 bytes in 0.093 seconds&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Selle analoogia põhjal proovi avaldist:&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;output:tm:/- (\\d+) bytes/&amp;quot; &amp;quot;output:tma:/in =  (\\d+\\.?\\d*) seconds/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nimelt, kuna originaalis ilmselt on kirjutatud \\d, siis tähendab see, et \ tuleb veel topelt varjestada, ehk \\, millest võis minu esialgne rida mitte töötada. Teine asi on nende sulgudega - sulgude sees olev regexi osa on see, mis pannakse väljundisse, seega peab sulge õigesti panema.&lt;br /&gt;
&lt;br /&gt;
===Kasulikud lisamaterjalid===&lt;br /&gt;
&lt;br /&gt;
* [[:Sed]]&lt;br /&gt;
* [[:Awk]]&lt;br /&gt;
* [[:Procmail]]&lt;br /&gt;
&lt;br /&gt;
© EENet 2000&lt;/div&gt;</summary>
		<author><name>Erkko</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Awk&amp;diff=31029</id>
		<title>Awk</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Awk&amp;diff=31029"/>
		<updated>2025-09-05T22:35:26Z</updated>

		<summary type="html">&lt;p&gt;Erkko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Awk===&lt;br /&gt;
&lt;br /&gt;
Skriptkeel Awk on loodud tekstiliste andmetega manipuleerimiseks. Nimi Awk on akronüüm autorite perekonnanimedest - Aho, Weinberger, Kernighan. Segadust tekitav on paljude Awki versioonide levik, mis erinevad põhiliselt regulaaravaldiste tõlgendamisvõime poolest. Käesolev tegeleb GNU Awki versiooniga, mis muuhulgas tähendab seda, et saab kasutada laiendatud metasümbolite hulka (ingl. k. extended metacharacter set).&lt;br /&gt;
&lt;br /&gt;
===Programmeerimise mudel===&lt;br /&gt;
&lt;br /&gt;
Awk on sisendi poolt juhitav, mis tähendab, et tööosas näidatud käske rakendatakse vaikimisi Awki sisendisse suunatud andmete igale reale. Vaikimisi käsitleb Awk reana kahe järjestikulise &#039;\n&#039; -i vahele jäävat teksti. Awki skript võib koosneda kolmest osast:&lt;br /&gt;
&lt;br /&gt;
 ALGUSOSA - vastavad käsud täidetakse üks kord kõige alguses &lt;br /&gt;
 &lt;br /&gt;
 TÖÖOSA - vastavad käsud rakendatakse järjekorras igale sisendi reale &lt;br /&gt;
 &lt;br /&gt;
 LÕPUOSA - vastavad käsud täidetakse üks kord kõige lõpus&lt;br /&gt;
&lt;br /&gt;
Neid osi märgitakse Awki skriptis selliselt, käsud kirjutatakse loogade vahele&lt;br /&gt;
&lt;br /&gt;
 BEGIN { algusosa käsud }&lt;br /&gt;
       { tööosa   käsud }&lt;br /&gt;
 END   { lõpuosa  käsud }&lt;br /&gt;
&lt;br /&gt;
Awkilik Awki kasutamine toimub rõhuasetusega tööosale. Järgnevas kirjeldame esituse selguse huvides keelevahendite süntaksit algusosa abil.&lt;br /&gt;
&lt;br /&gt;
===Awki käivitamine===&lt;br /&gt;
&lt;br /&gt;
Awki käske saab anda käsurealt või koondades nad ühte faili. Sellist käivitamisõigusega tekstifaili nimetatakse Awki skriptiks. Awki kasutamisel on võimalik tarvitada IO ümbersuunamist.&lt;br /&gt;
&lt;br /&gt;
Toome näite, kuidas kahes tulbas ja tühikutega eraldatud sisendandmetel tulpade järjekord ära vahetada.&lt;br /&gt;
&lt;br /&gt;
Olgu selline algtekst&lt;br /&gt;
&lt;br /&gt;
 bash~$ cat nimed&lt;br /&gt;
 Miima   1959&lt;br /&gt;
 Priit   1963&lt;br /&gt;
 Mart    1940&lt;br /&gt;
 Peeter  1988&lt;br /&gt;
&lt;br /&gt;
Käsurealt toimub tulpade vahetamine selliselt&lt;br /&gt;
&lt;br /&gt;
 bash~$ cat nimed | awk &#039;{ print $2, $1 }&#039;&lt;br /&gt;
 1959 Miima&lt;br /&gt;
 1963 Priit&lt;br /&gt;
 1940 Mart&lt;br /&gt;
 1988 Peeter&lt;br /&gt;
&lt;br /&gt;
Awki skripti, mis vahetab tulbad, on selline&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/awk -f&lt;br /&gt;
 { print $2, $1 }&lt;br /&gt;
&lt;br /&gt;
Skript sisaldab vaid tööosa ja käivitatakse näiteks nii&lt;br /&gt;
&lt;br /&gt;
 bash~$ cat nimed | vaheta.tulbad.awk&lt;br /&gt;
&lt;br /&gt;
Samaväärne oleks jätta skriptist esimene interpretaatorit näitav rida ära ja käivitada Awk selliselt&lt;br /&gt;
&lt;br /&gt;
 bash~$ awk -f vaheta.tulbad.awk nimed&lt;br /&gt;
&lt;br /&gt;
Heaks kombeks on lõpetada skripti nimi viitega interpretaatorile.&lt;br /&gt;
&lt;br /&gt;
Kui juhtumisi on failis erinevad tulbad eraldatud tühiku asemel &amp;quot;:&amp;quot;, või mõne muu märgiga siis saab seda määrata järgnevalt&lt;br /&gt;
&lt;br /&gt;
 cat nimed | awk -F&#039;:&#039; &#039;{ print $2, $1 }&#039;&lt;br /&gt;
&lt;br /&gt;
Ka arvutada saab awkiga, näiteks konvertida baite megabaitideks&lt;br /&gt;
&lt;br /&gt;
 echo &#039;1452360394&#039; | awk &#039;{ foo = $1 / 1024 / 1024 ; print foo &amp;quot;MB&amp;quot; }&#039;&lt;br /&gt;
 1385.08MB&lt;br /&gt;
&lt;br /&gt;
===Muutuja ja avaldis===&lt;br /&gt;
&lt;br /&gt;
Awkis ei ole vaja muutujaid enne kasutamist deklareerida ning puuduvad muutuja tüübid. Sõltuvalt kontekstist käsitletakse muutujat kas stringi või arvuna. Muutuja nimi peab algama tähega ja võib sisaldada peale tähtede ka numbreid ja alakriipse.&lt;br /&gt;
&lt;br /&gt;
Toome näite muutujate kasutamisest&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/awk -f&lt;br /&gt;
 BEGIN {&lt;br /&gt;
 x = 15&lt;br /&gt;
 y = 2&lt;br /&gt;
 w = &amp;quot;Tartu&amp;quot;&lt;br /&gt;
 z = &amp;quot;linn&amp;quot;&lt;br /&gt;
 x_korda_y = x * y&lt;br /&gt;
 print x &amp;quot; x &amp;quot; y &amp;quot; = &amp;quot; x_korda_y&lt;br /&gt;
 tartu_linn = w z&lt;br /&gt;
 print w &amp;quot; ja &amp;quot; z &amp;quot; on &amp;quot; tartu_linn&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* skript sisaldab vaid algusosa&lt;br /&gt;
* defineeritakse neli muutujat: x, y, w, z&lt;br /&gt;
* sooritatakse tehe arvudega ja stringidega ning trükitakse vastavad tulemused&lt;br /&gt;
&lt;br /&gt;
===Sisseehitatud käsud ja funktsioonid===&lt;br /&gt;
&lt;br /&gt;
Käsku print me oleme juba tarvitanud. Tema järgi kirjutatakse jutumärkidesse teksti ja ilma jutumärkideta muutujad, näites nimi ja x&lt;br /&gt;
&lt;br /&gt;
 print &amp;quot;Teie nimi on &amp;quot; nimi &amp;quot;ja te olete &amp;quot; x &amp;quot; aastat vana.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Tihti on otstarbekam kasutada käsku printf, mis sarnaselt C samanimelisele funktsioonile võimaldab väljundit paindlikumalt formateerida. Trükime ekraanile tehte 5/3 tulemuse neljakohalisena, millest kaks on peale koma.&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/awk -f&lt;br /&gt;
 BEGIN {&lt;br /&gt;
 a=5/3&lt;br /&gt;
 printf (&amp;quot;%4.2f\n&amp;quot;, a);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Lisaks on olemas sellised sisseehitatud funktsioonid&lt;br /&gt;
&lt;br /&gt;
* cos(x) - tagastab radiaanides esitatud argumendi koosinuse&lt;br /&gt;
* sin(x) - tagastab radiaanides esitatud argumendi siinuse&lt;br /&gt;
* atan2(x) - tagastab radiaanides esitatud argumendi arkustangensi&lt;br /&gt;
* int(x) - tagastab argumendi täisosa&lt;br /&gt;
* log(x) - võtab argumendist naturaallogaritmi&lt;br /&gt;
* sqrt(x) - tagastab argumendi ruutjuure&lt;br /&gt;
* rand(x) - genereerib juhusliku arvu vahemikus 0 kuni 1&lt;br /&gt;
* srand(x) - tekitab rand() funktsioonile juhusliku alge&lt;br /&gt;
&lt;br /&gt;
===Valikulause ja tingimused===&lt;br /&gt;
&lt;br /&gt;
===if-else===&lt;br /&gt;
&lt;br /&gt;
Toome näite valikulausest, kus skript genereerib juhusliku arvu ja teatab, milline see arv on&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/awk -f&lt;br /&gt;
 BEGIN {&lt;br /&gt;
 srand()&lt;br /&gt;
 x = rand ()&lt;br /&gt;
 if ( x &amp;lt; 0.5 )&lt;br /&gt;
 	{&lt;br /&gt;
 	print x &amp;quot; on vaiksem poolest&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
 else&lt;br /&gt;
 	{&lt;br /&gt;
     	print x &amp;quot; on yle poole&amp;quot;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Tingimusi seatakse võrdlustehte abil:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt; - väiksem&lt;br /&gt;
* &amp;gt; - suurem&lt;br /&gt;
* == - võrdne&lt;br /&gt;
* != - mittevõrdne&lt;br /&gt;
* &amp;lt;= - väiksemvõrdne&lt;br /&gt;
* &amp;gt;= - suuremvõrdne &lt;br /&gt;
&lt;br /&gt;
Võrdlustehete tulemustega saab sooritada loogilisi tehteid:&lt;br /&gt;
&lt;br /&gt;
* ! - eitus&lt;br /&gt;
* &amp;amp;&amp;amp; - ja&lt;br /&gt;
* || - või &lt;br /&gt;
&lt;br /&gt;
Näiteks kirjutame skripti, mis ütleb, kas juhuslik arv on 0.2 &amp;lt; x &amp;lt; 0.8&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/awk -f&lt;br /&gt;
 BEGIN {&lt;br /&gt;
 srand()&lt;br /&gt;
 x = rand ()&lt;br /&gt;
 if   ( x &amp;gt; 0.2 &amp;amp;&amp;amp; x &amp;lt; 0.8 ) print &amp;quot; 0.2 &amp;lt; &amp;quot; x &amp;quot; &amp;lt; 0.8&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Kui tingimusele järgneb vaid üks käsk, siis võib loogad ära jätta ja isegi kirjutada käsu tingimuse järele samale reale.&lt;br /&gt;
&lt;br /&gt;
Võimalik on ka kasutada tuntud&lt;br /&gt;
&lt;br /&gt;
 (tingimus) ? (lause 1) : (lause 2)&lt;br /&gt;
&lt;br /&gt;
sarnast konstruktsiooni.&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/awk -f&lt;br /&gt;
 BEGIN {&lt;br /&gt;
 srand()&lt;br /&gt;
 x = rand ()&lt;br /&gt;
 print ( x &amp;lt; 0.5) ? x &amp;quot; on vaiksem poolest&amp;quot; : x &amp;quot; on yle poole&amp;quot; &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Korduslause===&lt;br /&gt;
&lt;br /&gt;
Kordus sooritab tegevust mitu korda. Kõik näited väljastavad arvud ühest viieni.&lt;br /&gt;
&lt;br /&gt;
====While kordus====&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/awk -f&lt;br /&gt;
 BEGIN { x=1&lt;br /&gt;
 while ( x &amp;lt;= 5 ) {&lt;br /&gt;
 	print x&lt;br /&gt;
 	x++&lt;br /&gt;
 }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
====Do kordus====&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/awk -f&lt;br /&gt;
 BEGIN { x=1&lt;br /&gt;
 do {&lt;br /&gt;
 	print x&lt;br /&gt;
 	x++&lt;br /&gt;
 } while ( x &amp;lt;= 5 )&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
====For kordus====&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/awk -f&lt;br /&gt;
 BEGIN {&lt;br /&gt;
 for (x=1; x &amp;lt;= 5; x++) {&lt;br /&gt;
 	print x&lt;br /&gt;
 }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Massiiv ja paisktabel===&lt;br /&gt;
&lt;br /&gt;
Massiivi on otstarbekas kasutada, kui on vaja tegelda paljude samalaadiliste väärtustega.&lt;br /&gt;
&lt;br /&gt;
Näiteks defineerime massiivi m ja trükime korduse abil välja tema kõigi elementide väärtused:&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/awk -f&lt;br /&gt;
 BEGIN {&lt;br /&gt;
 i=0&lt;br /&gt;
 m[0] = &amp;quot;mina&amp;quot;&lt;br /&gt;
 m[1] = &amp;quot;sina&amp;quot;&lt;br /&gt;
 m[2] = &amp;quot;tema&amp;quot;&lt;br /&gt;
 while ( i &amp;lt; 3 ) {&lt;br /&gt;
       print m[i]&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Paisktabel===&lt;br /&gt;
&lt;br /&gt;
Paisktabel on massiiv, mille indeksiks on string. Defineerime massiivi ja trükime välja teise elemendi.&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/awk -f&lt;br /&gt;
 BEGIN {&lt;br /&gt;
 m[&amp;quot;meie&amp;quot;] = &amp;quot;mina&amp;quot;&lt;br /&gt;
 m[&amp;quot;teie&amp;quot;] = &amp;quot;sina&amp;quot;&lt;br /&gt;
 m[&amp;quot;nemad&amp;quot;] = &amp;quot;tema&amp;quot;&lt;br /&gt;
 print m[&amp;quot;teie&amp;quot;]&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Sisendi ja väljundi kasutamine===&lt;br /&gt;
&lt;br /&gt;
Skript loeb andmeid sisendisse või klaviatuurilt ning kirjutab väljundisse või ekraanile.&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/awk -f&lt;br /&gt;
 BEGIN {&lt;br /&gt;
 print &amp;quot;sisestage oma eesnimi&amp;quot;&lt;br /&gt;
 getline enimi &amp;lt; &amp;quot;-&amp;quot;&lt;br /&gt;
 print &amp;quot;sisestage oma perekonnanimi&amp;quot;&lt;br /&gt;
 getline pnimi &amp;lt; &amp;quot;-&amp;quot;&lt;br /&gt;
 print ( enimi == pnimi) ? &amp;quot;Teie ees- ja perekonnannimi on ühesugused&amp;quot;\&lt;br /&gt;
 : &amp;quot;Teie ees- ja perekonnanimi ei ole ühesugused&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Rida jätkav kaigas peab olema viimane sümbol real.&lt;br /&gt;
&lt;br /&gt;
Eeldades, et tekstifailis on kahel real vastavalt eesnimi ja perekonnanimi, käivitatakse skript selliselt&lt;br /&gt;
&lt;br /&gt;
 bash~$ cat tekst | skript.awk&lt;br /&gt;
&lt;br /&gt;
Soovides skripti tööosa kasutada, tuleb kirjutada selline skript, kusjuures andmefailis on ühel real tühikuga eraldatud ees- ja perekonnanimi.&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/awk -f&lt;br /&gt;
 { &lt;br /&gt;
 print ( $1 == $2 ) ? &amp;quot;Teie ees- ja perekonnannimi on ühesugused&amp;quot;\&lt;br /&gt;
 : &amp;quot;Teie ees- ja perekonnanimi ei ole ühesugused&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Kui andmetega ridu on mitu, teostatakse kontroll iga reaga.&lt;br /&gt;
&lt;br /&gt;
===Faili lugemine ja kirjutamine===&lt;br /&gt;
&lt;br /&gt;
Loeme failist andmed ja kirjutame nummerdatud read teise faili.&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/awk -f&lt;br /&gt;
 BEGIN { i=1&lt;br /&gt;
 while ( (getline rida &amp;lt; &amp;quot;lahteandmed&amp;quot; ) &amp;gt; 0 )&lt;br /&gt;
 	{&lt;br /&gt;
 		 print i &amp;quot;. &amp;quot; rida &amp;gt; &amp;quot;toodeldudandmed&amp;quot;&lt;br /&gt;
 		 i++&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Korduse tingimuseks olev käsu getline lõppkood on nullist suurem seni, kuni midagi failist lähteandmeid lugeda on.&lt;br /&gt;
&lt;br /&gt;
===Süsteemi programmi väljundi lugemine ja sisendisse saatmine===&lt;br /&gt;
&lt;br /&gt;
Omistame muutuja aeg väärtuseks programmi date väljundi ning saadame muutuja aeg väärtuse programmi cat sisendisse.&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/awk -f&lt;br /&gt;
 BEGIN {&lt;br /&gt;
 &amp;quot;date&amp;quot; | getline aeg&lt;br /&gt;
 print &amp;quot;Süsteemi aeg on &amp;quot; aeg&lt;br /&gt;
 print aeg | &amp;quot;cat&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Kirje ja väli===&lt;br /&gt;
&lt;br /&gt;
Awk käsitleb sisendit struktureerituna. Vaikimisi nimetakse kahe järjestikuse reavahetuste vahele jäävat kirjeks. Vaikimisi on jaotatud rida väljadeks tühikute või tabulatsioonimärkide kohalt.&lt;br /&gt;
&lt;br /&gt;
Programmi tööosas saab väljade poole pöörduda muutujate $1, $2, $3, $4 jne abil. Muutuja $0 väärtuseks on terve kirje.&lt;br /&gt;
&lt;br /&gt;
Sõltuvalt välja sisust saab teha nendega tehteid. Toome näite, kus leiame tulpadena esitatud lähteandmete ridade summad&lt;br /&gt;
&lt;br /&gt;
 bash~$ cat arvud&lt;br /&gt;
 1 3 4 5&lt;br /&gt;
 4 6 2 4&lt;br /&gt;
 1 5 9 4&lt;br /&gt;
 2 4 5 5&lt;br /&gt;
&lt;br /&gt;
ning skript leia.summad.awk on seesugune&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/awk -f&lt;br /&gt;
 BEGIN   { print &amp;quot;Leiame ridade- ja kogusumma&amp;quot; }&lt;br /&gt;
             {  summa = $1 + $2 + $3 + $4&lt;br /&gt;
                print $1 &amp;quot; + &amp;quot; $2 &amp;quot; +  &amp;quot; $3 &amp;quot; +  &amp;quot; $4 &amp;quot; = &amp;quot; summa&lt;br /&gt;
                kogusumma = kogusumma + summa&lt;br /&gt;
             }&lt;br /&gt;
 END     { print &amp;quot;Kogusumma = &amp;quot;  kogusumma }&lt;br /&gt;
&lt;br /&gt;
Siin on esitatud kolm võimalikku skripti osa: algusosa, tööosa ja lõpuosa, kusjuures neile osadele vastavad käsud kirjutatakse loogadesse. Ühes osas kasutatud muutujatel on teises osas sama väärtus (nt kogusumma).&lt;br /&gt;
&lt;br /&gt;
Käivitame skripti:&lt;br /&gt;
&lt;br /&gt;
 bash~$ cat arvud | leia.summad.awk&lt;br /&gt;
 Leiame ridade -ja kogusumma&lt;br /&gt;
 1 + 3 + 4 + 5 = 13&lt;br /&gt;
 4 + 6 + 2 + 4 = 16&lt;br /&gt;
 1 + 5 + 9 + 4 = 19&lt;br /&gt;
 2 + 4 + 5 + 5 = 16&lt;br /&gt;
 Kogusumma on 64&lt;br /&gt;
&lt;br /&gt;
===Kirje- ja väljaeraldusmärkide ümbermuutmine===&lt;br /&gt;
&lt;br /&gt;
Mõnel juhul on vajalik andmeid ridadeks ja väljadeks jagavaid märke muuta. Vastavalt saab muuta ka väljundis kasutatavaid rea- ja väljaeraldusmärke.&lt;br /&gt;
&lt;br /&gt;
Seda saab teha näiteks defineerides skripti algusosas üle vastavate muutujate väärtused:&lt;br /&gt;
&lt;br /&gt;
* FS - sisendi välja eraldaja (ingl. k. field separator)&lt;br /&gt;
* RS - sisendi kirje eraldaja (ingl. k. record separator)&lt;br /&gt;
* OFS - väljundi välja eraldaja (ingl. k. output field separator)&lt;br /&gt;
* ORS - väljundi kirje eraldaja (ingl. k. output record separator) &lt;br /&gt;
&lt;br /&gt;
Kui välja eraldajaks on tühik, siis vastab see Awki vaikimisi toimimisele; sarnaselt on reavahetuse märgi ja kirje eraldajaga. Seades eraldajaks mõne teise sümboli, eraldatakse kirjet või välja selle sümboli kohalt. Kui eraldajaks on enam kui üks sümbol, käsitletakse eraldajat regulaaravaldisena.&lt;br /&gt;
&lt;br /&gt;
Lisaks saab kasutada Awkiga seotud muutujaid&lt;br /&gt;
&lt;br /&gt;
* FILENAME - sisendfaili nimi&lt;br /&gt;
* NF - käesoleva kirje väljade arv (ingl. k. number on fields)&lt;br /&gt;
* NR - kirje absoluutne järjekorra number (ingl. k. number of the record)&lt;br /&gt;
* FNR - kirje suhteline järjekorra number; on vajalik mitme sisendfaili kasutamisel &lt;br /&gt;
&lt;br /&gt;
Toome näite nende muutujate kasutamise kohta. Algandmed on sellised&lt;br /&gt;
&lt;br /&gt;
 Priit&lt;br /&gt;
 Elva&lt;br /&gt;
 Jüri 15&lt;br /&gt;
 tel. 15 123&lt;br /&gt;
 &lt;br /&gt;
 Mart&lt;br /&gt;
 Jüri&lt;br /&gt;
 Elva 15&lt;br /&gt;
 tel. 12 3 15&lt;br /&gt;
 &lt;br /&gt;
 Peeter&lt;br /&gt;
 Tartu&lt;br /&gt;
 Telefoni 5&lt;br /&gt;
 tel. 12 34 56&lt;br /&gt;
 &lt;br /&gt;
Nad soovitakse esitada nii, et ühte linna puutuv oleks ühel real, read oleks nummerdatud ning kõige lõppu kirjutataks algandmete faili nimi&lt;br /&gt;
&lt;br /&gt;
 $ ./skript.awk sisend.txt&lt;br /&gt;
 1:Priit:Elva:Jüri 15:tel. 15 123&lt;br /&gt;
 2:Mart:Jüri:Elva 15:tel. 12 3 15&lt;br /&gt;
 3:Peeter:Tartu:Telefoni 5:tel. 12 34 56&lt;br /&gt;
 andmefail: andmed&lt;br /&gt;
&lt;br /&gt;
Sellise töö teeb ära selline skript&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/awk -f&lt;br /&gt;
 BEGIN {FS=&amp;quot;\n&amp;quot;; RS=&amp;quot;\n\n&amp;quot;; OFS=&amp;quot;:&amp;quot;; ORS=&amp;quot;\n&amp;quot;}&lt;br /&gt;
 	{ print NR, $1, $2, $3, $4 }&lt;br /&gt;
 END { OFS=&amp;quot; &amp;quot;; print &amp;quot;andmefail:&amp;quot;, FILENAME }&lt;br /&gt;
&lt;br /&gt;
===Adresseerimine===&lt;br /&gt;
&lt;br /&gt;
Regulaaravaldistega saab määrata, millistele sisendi ridadele tööosa käsud rakenduvad. Toome näite, kus tegeldakse vaid Tartu linna temperatuuride ööpäevase keskmistamisega. Algandmed failis temperatuurid on sellised&lt;br /&gt;
&lt;br /&gt;
 linn   kp         6:00  12:00  18:00  24:00&lt;br /&gt;
 Tartu  19/4/2000  13.6  15.1   15.8   14.0&lt;br /&gt;
 Valga  19/4/2000  11.6  12.1   12.8   11.0&lt;br /&gt;
 Tartu  20/4/2000  14.6  18.4   13.5   13.3&lt;br /&gt;
 Valga  20/4/2000  13.4  15.7   15.1   14.3&lt;br /&gt;
 Tartu  21/4/2000  16.6  21.1   19.3   17.1&lt;br /&gt;
 Valga  21/4/2000  15.7  19.4   17.6   15.5&lt;br /&gt;
 Tartu  22/4/2000  15.6  23.6   22.6   15.4&lt;br /&gt;
 Valga  22/4/2000  13.5  16.2   14.7   15.3&lt;br /&gt;
 Tartu  23/4/2000  17.3  19.4   21.4   12.3&lt;br /&gt;
 Valga  23/4/2000  18.2  16.9   13.8   15.2&lt;br /&gt;
&lt;br /&gt;
Skripti tööosa tegeleb vaid nende andmeridadega, mis klapivad regulaaravaldisega /Tartu/&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/awk -f&lt;br /&gt;
 BEGIN { print &amp;quot;Tartu õhutemperatuuri ööpäevane keskmine&amp;quot;&lt;br /&gt;
 	printf (&amp;quot;Teostati neli mõõtmist: 6:00 12:00 18:00 24:00\n\n&amp;quot;)&lt;br /&gt;
 	print &amp;quot;koht   kuupäev   mõõtmistulemus&amp;quot;&lt;br /&gt;
 	}&lt;br /&gt;
   /Tartu/ { keskmine = ( $3 + $4 + $5 + $6 ) / 4&lt;br /&gt;
             printf (&amp;quot;%s  %s  %2.2f\n&amp;quot;, $1, $2, keskmine)&lt;br /&gt;
 	  }&lt;br /&gt;
 END   { printf (&amp;quot;\nMõõtmisi teostasid Priit ja Mart\n&amp;quot;) }&lt;br /&gt;
&lt;br /&gt;
Käivitamisel saame järgmise tulemuse&lt;br /&gt;
&lt;br /&gt;
 bash$ cat temperatuurid | tartu.keskm.temp.awk &lt;br /&gt;
 Tartu õhutemperatuuri ööpäevane keskmine&lt;br /&gt;
 Teostati neli mõõtmist: 6:00 12:00 18:00 24:00&lt;br /&gt;
 &lt;br /&gt;
 koht   kuupäev   mõõtmistulemus&lt;br /&gt;
 Tartu  19/4/2000  14.62&lt;br /&gt;
 Tartu  20/4/2000  14.95&lt;br /&gt;
 Tartu  21/4/2000  18.52&lt;br /&gt;
 Tartu  22/4/2000  19.30&lt;br /&gt;
 Tartu  23/4/2000  17.60 &lt;br /&gt;
 &lt;br /&gt;
 Mõõtmisi teostasid Priit ja Mart&lt;br /&gt;
&lt;br /&gt;
===Funktsiooni defineerimine===&lt;br /&gt;
&lt;br /&gt;
Funktsioonid defineeritakse väljaspool skripti osasid sellise süntaksi alusel&lt;br /&gt;
&lt;br /&gt;
 function funktsiooni.nimi (arg1, arg2, arg3) {&lt;br /&gt;
      laused&lt;br /&gt;
      return res1 res2&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Esitame eelmise punkti viimase näite nii, et keskmine temperatuur leitakse funktsiooni abil&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/awk -f&lt;br /&gt;
 BEGIN { print &amp;quot;Tartu õhutemperatuuri ööpäevane keskmine&amp;quot;&lt;br /&gt;
 	printf (&amp;quot;Teostati neli mõõtmist: 6:00 12:00 18:00 24:00\n\n&amp;quot;)&lt;br /&gt;
 	print &amp;quot;koht   kuupäev   mõõtmistulemus&amp;quot;&lt;br /&gt;
 	}&lt;br /&gt;
 function kesktemp (m1, m2, m3, m4) {&lt;br /&gt;
 	keskmine = ( m1 + m2 + m3 + m4 ) / 4&lt;br /&gt;
 	return keskmine&lt;br /&gt;
 	}&lt;br /&gt;
   /Tartu/ { printf (&amp;quot;%s  %s  %2.2f\n&amp;quot;, $1, $2, kesktemp($3, $4, $5, $6)) }&lt;br /&gt;
 &lt;br /&gt;
 END   { printf (&amp;quot;\nMõõtmisi teostasid Priit ja Mart\n&amp;quot;) }&lt;br /&gt;
&lt;br /&gt;
===Tööosa kasutamise näited===&lt;br /&gt;
&lt;br /&gt;
====SQL dump faili tükeldamine====&lt;br /&gt;
&lt;br /&gt;
Olgu lähtepunktiks SQL dump fail sql.sql, mis sisaldab sarnaseid INSERT lauseid&lt;br /&gt;
&lt;br /&gt;
  INSERT INTO inimesed VALUES (1, &#039;Mart&#039;, &#039;Kask&#039;, 38709067463);&lt;br /&gt;
  INSERT INTO inimesed VALUES (2, &#039;Priit&#039;, &#039;Kask&#039;, 38406087465);&lt;br /&gt;
  INSERT INTO inimesed VALUES (3, &#039;Laa&#039;, &#039;Lee&#039;, 38701304463);&lt;br /&gt;
  INSERT INTO inimesed VALUES (4, &#039;Koosinus&#039;, &#039;Pii&#039;, 31415926535);&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Soovides jagada suure faili tükkideks nii, et iga tükk sisaldab 100 kirjet tuleb näiteks öelda&lt;br /&gt;
&lt;br /&gt;
  $ awk &#039;BEGIN{RS=&amp;quot;\nINSERT INTO inimesed &amp;quot;;} { i=i+1; j= i % 100 ; if ( j == 1 ) fi=fi+1; if ( i &amp;gt; 1 ) printf \&lt;br /&gt;
  (&amp;quot;%s&amp;quot;, &amp;quot;INSERT INTO inimesed &amp;quot;) &amp;gt;&amp;gt; &amp;quot;fn_&amp;quot;fi; print &amp;gt;&amp;gt; &amp;quot;fn_&amp;quot;fi ; printf (&amp;quot;%d\n&amp;quot;, i); system (&amp;quot;sleep 1&amp;quot;) }&#039; sql.sql&lt;br /&gt;
&lt;br /&gt;
Skriptis on näha tööosas selliste konstruktsioonide kasutamist&lt;br /&gt;
&lt;br /&gt;
* aritmeetilised tehted ja võrdlused&lt;br /&gt;
* väljundi formateermine ja faili suunamine&lt;br /&gt;
* süsteemse käsu andmine&lt;br /&gt;
&lt;br /&gt;
====Tabulatsioonimärkidega edaldatud väljade info kättesaamine failist====&lt;br /&gt;
&lt;br /&gt;
 $ awk &#039;BEGIN {FS=&amp;quot;\t&amp;quot;; OFS=&amp;quot;\t&amp;quot;} {print $1,$2}&#039; large.txt &amp;gt; small.txt&lt;br /&gt;
&lt;br /&gt;
===Awkiga sisendi jooksev lugemine ja töötlemine===&lt;br /&gt;
&lt;br /&gt;
Jooksvalt töötav awk wrapper e vahekiht mis loeb ühelt töötavalt programmilt väljundit ja käitab vastavalt käske&lt;br /&gt;
&lt;br /&gt;
Stardime programmi ja suuname ta väljundi wrapper skriptile, jätame mõlemad taustale tööle&lt;br /&gt;
&lt;br /&gt;
 /root/bin/programm | /root/bin/wrapper.sh &amp;amp;&lt;br /&gt;
&lt;br /&gt;
Skript on ise selline, näiteskriptis loeb ta väljundist vaid kahte numbrit &amp;quot;1&amp;quot; ja &amp;quot;2&amp;quot;. Esimesel juhul&lt;br /&gt;
saadab ta maili generaator ok, teisel juhul väljastab teate rike ja saadab emaili generaator töötab.&lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/awk -f&lt;br /&gt;
 {&lt;br /&gt;
 if ( $3 != &amp;quot;1&amp;quot; )&lt;br /&gt;
         {&lt;br /&gt;
          print &amp;quot; systeem toimib&amp;quot;&lt;br /&gt;
          &amp;quot;echo \&amp;quot;generaator ok!\&amp;quot; | mail -s \&amp;quot;generaator ok!\&amp;quot; email@asdf.ee&amp;quot; | getline current_time&lt;br /&gt;
         }&lt;br /&gt;
 else&lt;br /&gt;
         {&lt;br /&gt;
          print &amp;quot; rike&amp;quot;&lt;br /&gt;
           &amp;quot;echo \&amp;quot;generaator t22tab!\&amp;quot; | mail -s \&amp;quot;generaator t22tab!\&amp;quot; email@asdf.ee -c  email@asdf.ee&amp;quot;&amp;quot; | getline current_time&lt;br /&gt;
         } &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
http://www.ee.ucl.ac.uk/~hamed/misc/awk1line.txt Awk näidete kogumik&lt;br /&gt;
&lt;br /&gt;
https://wiki.itcollege.ee/index.php/Awk&lt;br /&gt;
&lt;br /&gt;
http://www.cyberciti.biz/faq/bash-scripting-using-awk/ hea lühike manual&lt;/div&gt;</summary>
		<author><name>Erkko</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Squirrelmail_kasutamine_Debian_Lennyga&amp;diff=31028</id>
		<title>Squirrelmail kasutamine Debian Lennyga</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Squirrelmail_kasutamine_Debian_Lennyga&amp;diff=31028"/>
		<updated>2025-09-05T22:20:17Z</updated>

		<summary type="html">&lt;p&gt;Erkko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Squirrelmail http://squirrelmail.org/ on veebipõhine eposti klient, mis töötab tavaliselt teenusepakkuja serveris ja kuhu kasutaja pöördub oma brauseriga. Squirrelmail sisaldab eposti kasutamiseks olulist funktsionaalsust esitades samal ajal nii veebiserverile kui kasutaja brauserile minimaalselt nõudeid. 2009 aasta keskel on paketihalduses oleva Squirrelmaili versioon 1.4.15.&lt;br /&gt;
&lt;br /&gt;
Veebimaili kasutamine on populaarne ja kasutajale mugav seetõttu, et kasutaja arvutisse ei pea paigaldama ja seadistama mingit eposti-spetsiifilist tarkvara. Kuna kõik eposti puudutavad andmed, saadetud ja vastuvõetud kirjad, aadressraamat jms asuvad serveris, ei pea kasutaja muretsema nende varundamise pärast (eeldusel, et seda teeb teenusepakkuja).&lt;br /&gt;
&lt;br /&gt;
===Tööpõhimõte===&lt;br /&gt;
&lt;br /&gt;
Squirrelmail sisaldab ainult IMAP v.4 postimasinaga suhtlemiseks vajalikku veebiliidest, st ta ei pea ise kasutajate kirjadega postkaste vms. Joonisel võiks kujutada eposti kasutamise komponente selliselt&lt;br /&gt;
&lt;br /&gt;
                   kasutaja brauser&lt;br /&gt;
  &lt;br /&gt;
                          |&lt;br /&gt;
                          v&lt;br /&gt;
  &lt;br /&gt;
                     veebiserver &lt;br /&gt;
                ( Squirrelmail rakendus )&lt;br /&gt;
  &lt;br /&gt;
                      ^        |&lt;br /&gt;
    kirjade lugemine  |        | kirjade saatmine&lt;br /&gt;
        IMAP          |        | SMTP või /usr/sbin/sendmail&lt;br /&gt;
                      |        v&lt;br /&gt;
  &lt;br /&gt;
        Cyrus (IMAP server)   Postfix&lt;br /&gt;
  &lt;br /&gt;
                      postimasin&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* kasutaja pöördub brauseriga veebiserveris töötava Squirrelmail rakenduse poole&lt;br /&gt;
* kui kasutaja loeb veebiserveris töötava rakenduse kasutajaliideses kirju, siis kopeerib rakendus IMAP serverist andmeid&lt;br /&gt;
* kui kasutaja saadab kasutajaliideses kirju, siis sõltuvalt rakenduse seadistusest saadetakse kiri otse üle võrgu SMTP serverile või lokaalselt nn /usr/sbin/sendmail programmi poolt (see eeldab, et veebiserverisse on samuti MTA, nt Postfix paigaldatud)&lt;br /&gt;
* kõige all on kujutatud postimasinat, kus töötab kirjade lugemiseks vajalik IMAP server, nt Cyrus ja kirjade saatmiseks vajalik server, nt Postfix; need teenused võivad esineda ka kahes erinevas postimasinas&lt;br /&gt;
&lt;br /&gt;
===Ettevalmistused Squirrelmaili kasutamiseks===&lt;br /&gt;
&lt;br /&gt;
Kuna Squirrelmail on veebirakendus, siis Squirrelmaili kasutamine eeldab &lt;br /&gt;
&lt;br /&gt;
* töötavat veebiserverit, nt võiks kasutada Apache tarkvara&lt;br /&gt;
* töötavat kasutaja postikasti, nt Cyrus tarkvara abil realiseeritud postimasinat&lt;br /&gt;
* töötavat smtp releed, mille abil saab veebirakendus kirju välja saata&lt;br /&gt;
&lt;br /&gt;
===Tarkvara paigaldamine===&lt;br /&gt;
&lt;br /&gt;
Tarkvara paigaldamiseks tuleb öelda&lt;br /&gt;
&lt;br /&gt;
  # apt-get install squirrelmail&lt;br /&gt;
  ...&lt;br /&gt;
  Installing default squirrelmail config.&lt;br /&gt;
  Run /usr/sbin/squirrelmail-configure as root to configure/upgrade config.&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Squirrelmaili pakett sisaldab&lt;br /&gt;
&lt;br /&gt;
* /etc/squirrelmail - programmi seadistusfailid&lt;br /&gt;
* /etc/cron.daily/squirrelmail - crontabi töö nö ajutiste andmete puhastamiseks&lt;br /&gt;
* /usr/share/squirrelmail - veebirakendus&lt;br /&gt;
* /usr/sbin/squirrelmail-configure - seadistusprogramm (õieti link sellele)&lt;br /&gt;
&lt;br /&gt;
===Squirrelmaili seadistamine===&lt;br /&gt;
&lt;br /&gt;
Squirrelmaili seadistamine koosneb kahest osast&lt;br /&gt;
&lt;br /&gt;
* Squirrelmaili enda seadistamine, nt IMAP serveri asukoha näitamine&lt;br /&gt;
* Squirrelmaili Apache veebiserveriga kokkuühendamine&lt;br /&gt;
&lt;br /&gt;
====Squirrelmaili programmi seadistamine====&lt;br /&gt;
&lt;br /&gt;
Squirrelmaili seadistamiseks sobib peale tarkvara paidaldamist öelda&lt;br /&gt;
&lt;br /&gt;
  # /usr/sbin/squirrelmail-configure&lt;br /&gt;
&lt;br /&gt;
ning avaneb selline seadistusliides&lt;br /&gt;
&lt;br /&gt;
[[Pilt:Squirrelmail-1.gif]]&lt;br /&gt;
&lt;br /&gt;
Oluline on näidata&lt;br /&gt;
&lt;br /&gt;
* kasutatav IMAP serveri nimi &#039;D&#039; valimisega, nt cyrus&lt;br /&gt;
* IMAP aadress ja port&lt;br /&gt;
&lt;br /&gt;
Squirrelmail hoiab oma seadistusi failis /etc/squirrelmail/config.php ja seda faili sisaldavas kataloogis. Lisaks on olulised kataloogid&lt;br /&gt;
&lt;br /&gt;
* /var/lib/squirrelmail/data - kasutajate seadistused, nt mart.pref&lt;br /&gt;
* /var/spool/squirrelmail/attach - kataloog kirja lisadega töötlemiseks, nt mart.abook&lt;br /&gt;
&lt;br /&gt;
====Squirrelmaili ühendamine Apache veebiserveriga====&lt;br /&gt;
&lt;br /&gt;
Paketis sisaldub Apache seadistusfaili näidis failis /etc/squirrelmail/apache.conf mida on sobiv vastavas Apache virtuaalhostis kasutada, nt&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost ...&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  ...&lt;br /&gt;
  Include /etc/squirrelmail/apache.conf&lt;br /&gt;
  &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemusena on vaikimisi Squirrelmaili kasutajaliides ligipääsetav aadressil http://www.loomaaed.tartu.ee/squirrelmail/, aadressi viimast osa saab juhtida inkluuditud failis Alias direktiiviga.&lt;br /&gt;
&lt;br /&gt;
===Kasutamine===&lt;br /&gt;
&lt;br /&gt;
Squirrelmaili kasutamiseks tuleb avada brauseris veebiserveri Squirrelmaili rakenduse aadress ning logida sisse oma IMAP postkasti ligipääsudega, tulemusena avaneb sarnane pilt&lt;br /&gt;
&lt;br /&gt;
[[Pilt:Squirrelmail-3.gif]]&lt;br /&gt;
&lt;br /&gt;
===Märkused===&lt;br /&gt;
&lt;br /&gt;
* imapproxy paketist võib olla abi veebiseveri ja imap arvuti vahelise suhtlemise koormuse vähendamisel&lt;br /&gt;
* Veebimeili kasutamisel tuleb arvestada, et võõrast arvutit kasutades võib jääda brauserisse maha olulisi jälgi loetud meilist, nt brauseri cache&#039;i või kui peale kasutamist ei logita korrektselt välja, siis saab arvuti omanik nö kasutamist jätkata.&lt;br /&gt;
* Veebimeili kasutajaliides on soovitav seadistada käima üle https:// kanali.&lt;br /&gt;
* Kui postimasina ja selle veebiserveri, kus töötab Squirrelmaili rakendus vahel on märkimisväärne vahekaugus, saab Squirrelmaili vahenditega korraldada IMAPS ühenduse; lisaks on võimalik kasutada nö generic lahendusi, nt Stunnelit.&lt;br /&gt;
* Attachmenti maksimaalse suuruse muutmine käib läbi php muutujate http://squirrelmail.org/wiki/AttachmentSize&lt;br /&gt;
&lt;br /&gt;
===Kasulikud lisamaterjalid===&lt;br /&gt;
&lt;br /&gt;
* [[:Cyruse kasutamine Postfixi ja Debianiga]]&lt;br /&gt;
* zless /usr/share/doc/squirrelmail/README.Debian.gz&lt;br /&gt;
* http://squirrelmail.org/&lt;/div&gt;</summary>
		<author><name>Erkko</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Squirrelmail_kasutamine_Debian_Lennyga&amp;diff=31027</id>
		<title>Squirrelmail kasutamine Debian Lennyga</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Squirrelmail_kasutamine_Debian_Lennyga&amp;diff=31027"/>
		<updated>2025-09-05T22:19:36Z</updated>

		<summary type="html">&lt;p&gt;Erkko: typod&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Squirrelmail http://squirrelmail.org/ on veebipõhine eposti klient, mis töötab tavaliselt teenusepakkuja serveris ja kuhu kasutaja pöördub oma brauseriga. Squirrelmail sisaldab eposti kasutamiseks olulist funktsionaalsust esitades samal ajal nii veebiserverile kui kasutaja brauserile minimaalselt nõudeid. 2009 aasta keskel on paketihalduses oleva Squirrelmaili versioon 1.4.15.&lt;br /&gt;
&lt;br /&gt;
Veebimaili kasutamine on populaarne ja kasutajale mugav seetõttu, et kasutaja arvutisse ei pea paigaldama ja seadistama mingit eposti-spetsiifilist tarkvara. Kuna kõik eposti puudutavad andmed, saadetud ja vastuvõetud kirjad, aadressraamat jms asuvad serveris, ei pea kasutaja muretsema nende varundamise pärast (eeldusel, et seda teeb teenusepakkuja).&lt;br /&gt;
&lt;br /&gt;
===Tööpõhimõte===&lt;br /&gt;
&lt;br /&gt;
Squirrelmail sisaldab ainult IMAP v.4 postimasinaga suhtlemiseks vajalikku veebiliidest, st ta ei pea ise kasutajate kirjadega postkaste vms. Joonisel võiks kujutada eposti kasutamise komponente selliselt&lt;br /&gt;
&lt;br /&gt;
                   kasutaja brauser&lt;br /&gt;
  &lt;br /&gt;
                          |&lt;br /&gt;
                          v&lt;br /&gt;
  &lt;br /&gt;
                     veebiserver &lt;br /&gt;
                ( Squirrelmail rakendus )&lt;br /&gt;
  &lt;br /&gt;
                      ^        |&lt;br /&gt;
    kirjade lugemine  |        | kirjade saatmine&lt;br /&gt;
        IMAP          |        | SMTP või /usr/sbin/sendmail&lt;br /&gt;
                      |        v&lt;br /&gt;
  &lt;br /&gt;
        Cyrus (IMAP server)   Postfix&lt;br /&gt;
  &lt;br /&gt;
                      postimasin&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* kasutaja pöördub brauseriga veebiserveris töötava Squirrelmail rakenduse poole&lt;br /&gt;
* kui kasutaja loeb veebiserveris töötava rakenduse kasutajaliideses kirju, siis kopeerib rakendus IMAP serverist andmeid&lt;br /&gt;
* kui kasutaja saadab kasutajaliideses kirju, siis sõltuvalt rakenduse seadistusest saadetakse kiri otse üle võrgu SMTP serverile või lokaalselt nn /usr/sbin/sendmail programmi poolt (see eeldab, et veebiserverisse on samuti MTA, nt Postfix paigaldatud)&lt;br /&gt;
* kõige all on kujutatud postimasinat, kus töötab kirjade lugemiseks vajalik IMAP server, nt Cyrus ja kirjade saatmiseks vajalik server, nt Postfix; need teenused võivad esineda ka kahes erinevas postimasinas&lt;br /&gt;
&lt;br /&gt;
===Ettevalmistused Squirrelmaili kasutamiseks===&lt;br /&gt;
&lt;br /&gt;
Kuna Squirrelmail on veebirakendus, siis Squirrelmaili kasutamine eeldab &lt;br /&gt;
&lt;br /&gt;
* töötavat veebiserverit, nt võiks kasutada Apache tarkvara&lt;br /&gt;
* töötavat kasutaja postikasti, nt Cyrus tarkvara abil realiseeritud postimasinat&lt;br /&gt;
* töötavat smtp releed, mille abil saab veebirakendus kirju välja saata&lt;br /&gt;
&lt;br /&gt;
===Tarkvara paigaldamine===&lt;br /&gt;
&lt;br /&gt;
Tarkvara paigaldamiseks tuleb öelda&lt;br /&gt;
&lt;br /&gt;
  # apt-get install squirrelmail&lt;br /&gt;
  ...&lt;br /&gt;
  Installing default squirrelmail config.&lt;br /&gt;
  Run /usr/sbin/squirrelmail-configure as root to configure/upgrade config.&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Squirrelmaili pakett sisaldab&lt;br /&gt;
&lt;br /&gt;
* /etc/squirrelmail - programmi seadistusfailid&lt;br /&gt;
* /etc/cron.daily/squirrelmail - crontabi töö nö ajutiste andmete puhastamiseks&lt;br /&gt;
* /usr/share/squirrelmail - veebirakendus&lt;br /&gt;
* /usr/sbin/squirrelmail-configure - seadistusprogramm (õieti link sellele)&lt;br /&gt;
&lt;br /&gt;
===Squirrelmaili seadistamine===&lt;br /&gt;
&lt;br /&gt;
Squirrelmaili seadistamine koosneb kahest osast&lt;br /&gt;
&lt;br /&gt;
* Squirrelmaili enda seadistamine, nt IMAP serveri asukoha näitamine&lt;br /&gt;
* Squirrelmaili Apache veebiserveriga kokkuühendamine&lt;br /&gt;
&lt;br /&gt;
====Squirrelmaili programmi seadistamine====&lt;br /&gt;
&lt;br /&gt;
Squirrelmaili seadistamiseks sobib peale tarkvara paidaldamist öelda&lt;br /&gt;
&lt;br /&gt;
  # /usr/sbin/squirrelmail-configure&lt;br /&gt;
&lt;br /&gt;
ning avaneb selline seadistusliides&lt;br /&gt;
&lt;br /&gt;
[[Pilt:Squirrelmail-1.gif]]&lt;br /&gt;
&lt;br /&gt;
Oluline on näidata&lt;br /&gt;
&lt;br /&gt;
* kasutatav IMAP serveri nimi &#039;D&#039; valimisega, nt cyrus&lt;br /&gt;
* IMAP aadress ja port&lt;br /&gt;
&lt;br /&gt;
Squirrelmail hoiab oma seadistusi failis /etc/squirrelmail/config.php ja seda faili sisaldavas kataloogis. Lisaks on olulised kataloogid&lt;br /&gt;
&lt;br /&gt;
* /var/lib/squirrelmail/data - kasutajate seadistused, nt mart.pref&lt;br /&gt;
* /var/spool/squirrelmail/attach - kataloog kirja lisadega töötlemiseks, nt mart.abook&lt;br /&gt;
&lt;br /&gt;
====Squirrelmaili ühendamine Apache veebiserveriga====&lt;br /&gt;
&lt;br /&gt;
Paketis sisaldub Apache seadistusfaili näidis failis /etc/squirrelmail/apache.conf mida on sobiv vastavas Apache virtuaalhostis kasutada, nt&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost ...&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  ...&lt;br /&gt;
  Include /etc/squirrelmail/apache.conf&lt;br /&gt;
  &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulemusena on vaikimisi Squirrelmaili kasutajaliides ligipääsetav aadressil http://www.loomaaed.tartu.ee/squirrelmail/, aadressi viimast osa saab juhtida inkluuditud failis Alias direktiiviga.&lt;br /&gt;
&lt;br /&gt;
===Kasutamine===&lt;br /&gt;
&lt;br /&gt;
Squirrelmaili kasutamiseks tuleb avada brauseris veebiserveri Squirrelmaili rakenduse aadress ning logida sisse oma IMAP postkasti ligipääsudega, tulemusena avaneb sarnane pilt&lt;br /&gt;
&lt;br /&gt;
[[Pilt:Squirrelmail-3.gif]]&lt;br /&gt;
&lt;br /&gt;
===Märkused===&lt;br /&gt;
&lt;br /&gt;
* imapproxy paketist võib olla abi veebiseveri ja imap arvuti vahelise suhtlemise koormuse vähendamisel&lt;br /&gt;
* Veebimeili kasutamisel tuleb arvestada, et võõrast arvutit kasutades võib jääda brauserisse maha olulisi jälgi loetud meilist, nt brauseri cache&#039;i või kui peale kasutamist ei logita korrektselt välja, siis saab arvuti omanik nö kasutamist jätkata.&lt;br /&gt;
* Veebimeili kasutajaliides on soovitav seadistada käima üle https:// kanali.&lt;br /&gt;
* Kui postimasina ja selle veebiserveri, kus töötab Squirrelmaili rakendus vahel on märkimisväärne vahekaugus, saab Squirrelmaili vahenditega korraldada IMAPS ühenduse; lisaks on võimalik kasutada nö generic lahendusi, nt Stunnelit.&lt;br /&gt;
* Attachmendi maksimaalse suuruse muutmine käib läbi php muutujate http://squirrelmail.org/wiki/AttachmentSize&lt;br /&gt;
&lt;br /&gt;
===Kasulikud lisamaterjalid===&lt;br /&gt;
&lt;br /&gt;
* [[:Cyruse kasutamine Postfixi ja Debianiga]]&lt;br /&gt;
* zless /usr/share/doc/squirrelmail/README.Debian.gz&lt;br /&gt;
* http://squirrelmail.org/&lt;/div&gt;</summary>
		<author><name>Erkko</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=SPF_kasutamine_Postfixiga&amp;diff=31026</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=31026"/>
		<updated>2025-09-03T23:20:57Z</updated>

		<summary type="html">&lt;p&gt;Erkko: &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ÕTVAS 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>Erkko</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=DKIM_ja_DMARC&amp;diff=31025</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=31025"/>
		<updated>2025-09-03T23:17:07Z</updated>

		<summary type="html">&lt;p&gt;Erkko: &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äevase 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 väljuvaid kirju allkirjastama hakata).&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; (NB! Selector ja service type on erinevad tähendused/väärtused&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 saatja domeeni 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äänuid 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 mailchimp või mõni muu masspostitustööriist), 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;sp=none;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;
* sp= - poliitika alamdomeenide jaoks (kui pole öeldud eraldi), väärtused samad mis p&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, formaat &amp;lt;nowiki&amp;gt;mailto:dmarcreports@example.com&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
* ruf= - detailsem analüüs DMARCi kohta, peab olema samas domeenis mille kohta DMARC kirje on, formaat &amp;lt;nowiki&amp;gt;mailto:dmarcreports@example.com&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Mitu emaili on lubatud panna, kirje on siis midagi sellist &amp;lt;nowiki&amp;gt;rua=mailto:dmarcreports@example.com,mailto:teine@domeen.ee&amp;lt;/nowiki&amp;gt;.&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/opendmarc/opendmarc.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;
&lt;br /&gt;
Mailisaatmise teel SPF/DKIM/DMARC -testimiseks saata email aadressile check-auth@verifier.port25.com millelt saabuvas vastuses on kirjas, millisena nad saabunud emaili antud kontekstis näevad.&lt;br /&gt;
&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;br /&gt;
* DKIM, DMARC valideerimine ja tagasiside (vt Tools menüüst juurde): https://www.dmarcanalyzer.com/dmarc/dmarc-record-check/&lt;br /&gt;
* https://dmarcian.com/domain-checker/&lt;br /&gt;
* https://tools.wordtothewise.com/authentication&lt;/div&gt;</summary>
		<author><name>Erkko</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Kahetasemelise_Postfix%27i_s%C3%BCsteemi_kasutamine_Debianiga&amp;diff=31024</id>
		<title>Kahetasemelise Postfix&#039;i süsteemi kasutamine Debianiga</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Kahetasemelise_Postfix%27i_s%C3%BCsteemi_kasutamine_Debianiga&amp;diff=31024"/>
		<updated>2025-09-03T22:53:34Z</updated>

		<summary type="html">&lt;p&gt;Erkko: kjrijawigaš&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Turvalisuse, jõudluse või lihtsalt süsteemi modulaarsuse asjaoludest lähtudes seadistakse vahel Postfix süsteemi käima kahetasemeliselt, nö kahel perimeetril, sealjuures kõige ees saab täiendavalt pidada greylistingut.&lt;br /&gt;
&lt;br /&gt;
* greylisting - esimene perimeeter&lt;br /&gt;
* relee - teine perimeeter, internetist smtp ühenduste vastuvõtmine, adressaadikontroll, viirustõrje ning spämmianalüüs&lt;br /&gt;
* delivery - kolmas perimeeter, kirjade postkastidesse jagamine ja aliaste alusel edasisaatmine, listimootorid&lt;br /&gt;
&lt;br /&gt;
              internet&lt;br /&gt;
  &lt;br /&gt;
                  |&lt;br /&gt;
                __|__  &lt;br /&gt;
               |     |&lt;br /&gt;
               | TM  | OpenBSD spamd (greylisting)&lt;br /&gt;
               |_____|&lt;br /&gt;
                  |&lt;br /&gt;
                  |&lt;br /&gt;
              ----|--------|-----------------------------------|------&lt;br /&gt;
                           |                                   |&lt;br /&gt;
                         __|__                               __|__&lt;br /&gt;
                        |     |                             |     |&lt;br /&gt;
                        |_____|                             |_____|&lt;br /&gt;
  &lt;br /&gt;
                      RELEE-MTA1                          DELIVERY-MTA2&lt;br /&gt;
                        ClamAV                             @lists.loomaaeed.tartu.ee listid&lt;br /&gt;
                      Spamassassin                         @loomaaed.tartu.ee postkastid&lt;br /&gt;
&lt;br /&gt;
===Relee seadistamine===&lt;br /&gt;
&lt;br /&gt;
Relee arvuti võtab kirjad internetist vastu, aga ei teosta nendega local deliverit, vaid peale adressaadikontrolli ning viiruse ja spämmi kontrolle saadab edasi delivery arvutile.&lt;br /&gt;
&lt;br /&gt;
====Adressaadikontroll====&lt;br /&gt;
&lt;br /&gt;
Kahetasemelise Postfixi süsteemi puhul on oluline, et relee kontrolliks vastuvõetud kirja adressaati selleks, et saaks sama smtp sessiooni sees anda vajadusel smtp kliendile 550 veateate &#039;Recipient address rejected: User unknown in relay recipient table&#039;. Vastasel korral võtab relee olematu adressaadile saadetud kirja vastu, pöördub delivery arvuti poole, saab sealt ise 550 teate ja saadab tema poole algselt pöördunud kasutaja envelope aadressil uue kirja veateatega. Kuna aga väga suure tõenäosusega on olematule adressaadile saadetud kiri võltsitud ümbriku aadressidega, siis raiskab postisüsteem asjata oma ressurssi ning risustab internetti järjekordse mõttetu kirjaga, efektiivselt ise spämmi tekitades. Sellise järgnevuse tulemusel saadetud veateate kohta öeldakse &amp;quot;backscatter&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Adressaati saab kontrollida relee arvutis relay_recipient_maps direktiiviga, nt selliselt&lt;br /&gt;
&lt;br /&gt;
  relay_recipient_maps = hash:/etc/postfix/relay_recipients pgsql:/etc/postfix/relay_recipients-pgsql&lt;br /&gt;
&lt;br /&gt;
kus fail /etc/postfix/relay_recipients-txt sisaldab adressaatide või domeeninimede nimekirja, nt&lt;br /&gt;
&lt;br /&gt;
  mart@loomaaed.tartu.ee&lt;br /&gt;
  priit@loomaaed.tartu.ee&lt;br /&gt;
  @test.loomaaed.tartu.ee&lt;br /&gt;
&lt;br /&gt;
baasi genereerimiseks tuleb öelda&lt;br /&gt;
&lt;br /&gt;
  # postmap /etc/postfix/relay_recipients-txt&lt;br /&gt;
&lt;br /&gt;
/etc/postfix/relay_recipients-pgsql sisaldab baasi ühenduse kirjeldust, nt&lt;br /&gt;
&lt;br /&gt;
  user = cyrus_auth&lt;br /&gt;
  password = parool&lt;br /&gt;
  hosts = baas.looomaaed.tartu.ee&lt;br /&gt;
  dbname = postisysteem&lt;br /&gt;
  table = tla.cyrus_auth&lt;br /&gt;
  select_field = rcpt&lt;br /&gt;
  where_field = alias&lt;br /&gt;
&lt;br /&gt;
Kas adressaat on kontrollitav saab testida öeldes&lt;br /&gt;
&lt;br /&gt;
  # postmap -q mart@loomaaed.tartu.ee pgsql:/etc/postfix/relay_recipients-pgsql&lt;br /&gt;
  mart@cyrus.tla&lt;br /&gt;
&lt;br /&gt;
Olematu aadressi küsimisel ei anta vastust ning exit code on 1.&lt;br /&gt;
&lt;br /&gt;
Logis paistab, et andmevahetus kliendiga lõpetati enne kirja sappa võtmist, NOQUEUE (ingl. k. sabasse mitte lisatud)&lt;br /&gt;
&lt;br /&gt;
  Jul  8 19:54:09 smtp1a postfix/smtpd[15869]: NOQUEUE: reject: RCPT from vmail.sone.ee[192.168.5.205]: \&lt;br /&gt;
    550 5.1.1 &amp;lt;tonn.saadre@loomaaed.tartu.ee&amp;gt;: Recipient address rejected: User unknown in relay recipient table; \&lt;br /&gt;
    from=&amp;lt;tiiterror@bmail.com&amp;gt; to=&amp;lt;tonn.saadre@loomaaed.tartu.ee&amp;gt; proto=ESMTP helo=&amp;lt;vmail.sone.ee&lt;br /&gt;
&lt;br /&gt;
====Viiruste ja spämmi analüüs====&lt;br /&gt;
&lt;br /&gt;
Viirute ja spämmi analüüsi saab relee arvutis korraldada tarkvaraga Amavis, ClamAV ja Spamassassin nii nagu on juhatatud tekstis http://kuutorvaja.eenet.ee/wiki/Amavis_kasutamine_Debian_Lenniga&lt;br /&gt;
&lt;br /&gt;
====SMTP ruuting====&lt;br /&gt;
&lt;br /&gt;
Nn SMTP ruutingu abil saadab relee vastuvõetud posti edasi delivery arvutile. /etc/postfix/main.cf failis tuleb smtp ruutingu tegemiseks kasutada selliseid direktiive&lt;br /&gt;
&lt;br /&gt;
  relay_domains = loomaaed.tartu.ee&lt;br /&gt;
  transport_maps = hash:/etc/postfix/transport&lt;br /&gt;
&lt;br /&gt;
ja transport map failis rida&lt;br /&gt;
&lt;br /&gt;
  loomaaed.tartu.ee :[localdelivery.loomaaed.tartu.ee]&lt;br /&gt;
&lt;br /&gt;
map&#039;i moodustamiseks öelda&lt;br /&gt;
&lt;br /&gt;
  # postmap /etc/postfix/transport&lt;br /&gt;
&lt;br /&gt;
tulemusena tekib faili&lt;br /&gt;
&lt;br /&gt;
  # file /etc/postfix/transport.db&lt;br /&gt;
  /etc/postfix/transport.db: Berkeley DB (Hash, version 9, native byte-order)&lt;br /&gt;
&lt;br /&gt;
===Delivery seadistamine===&lt;br /&gt;
&lt;br /&gt;
Delivery arvuti võtab kirju vastu ainult relee arvutilt ning teostab local delivery või saadab kirjad edasi vastavalt aliaste lahendumisele.&lt;br /&gt;
&lt;br /&gt;
main.cf failis sisaldub mydestination real domeeninimi&lt;br /&gt;
&lt;br /&gt;
  mydestination = localhost, loomaaed.tartu.ee&lt;br /&gt;
&lt;br /&gt;
===Kasulikud lisamaterjalid===&lt;br /&gt;
&lt;br /&gt;
* http://www.postfix.org/STANDARD_CONFIGURATION_README.html&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/OpenBSD_spamd_tarkvara_kasutamine&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/Postfix&lt;/div&gt;</summary>
		<author><name>Erkko</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Postfix%27i_arhitektuuri_kirjeldus_ja_kasutamise_keerulisemad_v%C3%B5imalused&amp;diff=31023</id>
		<title>Postfix&#039;i arhitektuuri kirjeldus ja kasutamise keerulisemad võimalused</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Postfix%27i_arhitektuuri_kirjeldus_ja_kasutamise_keerulisemad_v%C3%B5imalused&amp;diff=31023"/>
		<updated>2025-09-03T22:44:27Z</updated>

		<summary type="html">&lt;p&gt;Erkko: pisiparandused&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Täienda}}&lt;br /&gt;
&lt;br /&gt;
===Postfixi arhitektuur===&lt;br /&gt;
&lt;br /&gt;
Postfix on vabavaraline mail transfer agent (MTA), serveritarkvara mis mõeldud&lt;br /&gt;
emailide vastuvõtmiseks ning saatmiseks. Postfixi kiirus, kergelt administreeritavus ja turvalisus&lt;br /&gt;
on teinud sellest ühe enimkasutatava mta ja levinud alternatiivi sendmailile.&lt;br /&gt;
&lt;br /&gt;
Selle kirjutas hollandlane Wietse Venema ja kasutusse võeti esmakordselt 1999.a. &lt;br /&gt;
&lt;br /&gt;
Abstraktsel tasemel võiks Postfixi tööd iseloomustada sellise skeemiga&lt;br /&gt;
&lt;br /&gt;
                      SISEND                                                      VÄLJUND&lt;br /&gt;
  &lt;br /&gt;
        postimasinast saadetud kiri                                          &lt;br /&gt;
              võrgust saabunud kiri   --------&amp;gt;  järjekorrahaldur --------&amp;gt;  smtp, relay, lmtp&lt;br /&gt;
  kohapeal tekitatud edasisuunamine                queue manager             local, virtual, pipe&lt;br /&gt;
         kohapeal moodustatud teade&lt;br /&gt;
&lt;br /&gt;
kus on üldiselt kujutatud, et Postfixi sisendisse saabuvate kirjadega asub tegelema järjekorrahaldur ning seejärel väljub kiri ühel kuuest näidatud viisil.&lt;br /&gt;
&lt;br /&gt;
Vasakul on loetletud neli erinevat võimalust, kuidas kiri võib jõuda Postfixi töötlemisele&lt;br /&gt;
&lt;br /&gt;
Kitsam pilt MTA&#039;st oleks allolev. Tegemist on hea pildiga näitamaks, et postfixi näol ei ole tegemist mingi väikese tarkvaraga. Kokku koosneb postfix umbes 11-st põhilisest käsurea utiliidist ja 20-st protsessist/deemonist.&lt;br /&gt;
&lt;br /&gt;
[[Pilt:Img17.png]]&lt;br /&gt;
&lt;br /&gt;
Skeemil suur mull &amp;quot;Master&amp;quot;, mille sees kõik teised deemoneid sümboliseerivad kastikesed asuvad, on postfixi nn emadeemon, mis kontrollib kõiki teise protsesse. Tema on postfix aju mis käivitab vajaduse&lt;br /&gt;
korral erinevaid postfixi ala-deemoneid muude tarvilike tööde jaoks. Nö kubjas&lt;br /&gt;
&lt;br /&gt;
Väiksemad kandilised kastikesed on:&lt;br /&gt;
&lt;br /&gt;
* smtpd - Tegeleb sissetulevate ühendustega&lt;br /&gt;
* smtp - haldab väljuvaid ühendusi&lt;br /&gt;
* qmgr - controls all messages in the mail queues.&lt;br /&gt;
* local - Postfix own local delivery agent. It stores messages in mailboxes.&lt;br /&gt;
&lt;br /&gt;
Järjekordadest jutustades on Posfixil neli põhilist järjekorda: &#039;&#039;&#039;maildrop, incoming, active ja deferred.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Lokaalne meil saadetakse maildropile ja kopeeritakse incoming järjekorda. Incoming&lt;br /&gt;
järjekord on mailidele mis äsja saabunud ja queue manager pole neid veel ülevaadanud.&lt;br /&gt;
Mailid mida ei saa edastada tõstetakse deferred järjekorda, et see ei jääks&lt;br /&gt;
saabuvatele-saadetavatele kirjadele jalgu.&lt;br /&gt;
&lt;br /&gt;
Kui laiemalt vaadata siis ümbritseb postfixi omakorda veel terve pilv mitmesugustest&lt;br /&gt;
abitarkvaradest, millega postfix aktiivselt suhtleb nagu spämmitõrje, viirusetõrje jne. Lühidalt oleks&lt;br /&gt;
ühe tänapäevase viirusetõrjega varustatud postiserveri skeem järgnev:&lt;br /&gt;
&lt;br /&gt;
[[Pilt:Openbsd-postfix.png]]&lt;br /&gt;
&lt;br /&gt;
Ehk siis kiri liigutatakse enne postkasti potsatamist veel läbi portide ning socketite&lt;br /&gt;
mitmesuguse kontrollprogrammistiku kätte.&lt;br /&gt;
&lt;br /&gt;
Pisut detailsemat juttu http://www.linuxjournal.com/article/9454&lt;br /&gt;
&lt;br /&gt;
Paigalduse osas peaks iga vähegi enesest lugupidavam ja suurem operatsioonisüsteem&lt;br /&gt;
omama mingit oma porti/installipakki postfixist.&lt;br /&gt;
Postfix on juba paljude operatsioonisüsteemide vaikimisi mta&#039;ks, näiteks ubuntul.&lt;br /&gt;
Kaasa tuleb installiga ka ohtralt seadistuse näiteid, abifaile ja manuale&lt;br /&gt;
&lt;br /&gt;
====Postimasinast endast saadetud kiri====&lt;br /&gt;
&lt;br /&gt;
Nt postimasin seest kasutaja enda poolt saadetud /usr/sbin/sendmail käsuga&lt;br /&gt;
&lt;br /&gt;
  $ echo &amp;quot;kirja sisu&amp;quot; | sendmail -s subjekt mart@loomaaed.tartu.ee&lt;br /&gt;
&lt;br /&gt;
Kirja &lt;br /&gt;
&lt;br /&gt;
* võrgust saabunud kiri - kõnealune Postfix kuulab arvuti võrguseadme port 25/tcp peal ning üle võrgu pöördub nt teine Postfix&lt;br /&gt;
* kohapeal tekitatud edasisuunamine - nt aliaste lahendamisel&lt;br /&gt;
* kohapeal moodustatud teade - Postfix genereerib oma töö käigus teated, nt nn bounce kirju kui kiri võeti küll töötlemisele nt võrgust aga kirja töötlemisel selgus, et kirja ei õnnestu edasi saata&lt;br /&gt;
&lt;br /&gt;
===Eposti kirja ja kirja edastamise protokollid===&lt;br /&gt;
&lt;br /&gt;
Huvitav asjaolu on, et eposti kirja formaat ja eposti kirjade vahetamine on kirjeldatud erinevates RFC (Request for Comments) tekstides, vastavalt&lt;br /&gt;
&lt;br /&gt;
* RFC2822 (Internet Message Format) - http://www.faqs.org/rfcs/rfc2822.html&lt;br /&gt;
* RFC2821 (Simple Mail Transfer Protocol) - http://www.faqs.org/rfcs/rfc2821.html&lt;br /&gt;
&lt;br /&gt;
Kui postiprogrammiga, nt Icedove koostada kiri ja see saata, siis iseenesest saadab klient postimasinale nt sellise teksti&lt;br /&gt;
&lt;br /&gt;
  Message-ID: &amp;lt;4A90629C.6050100@loomaaed.tartu.ee&amp;gt;&lt;br /&gt;
  Date: Sun, 23 Aug 2009 00:26:52 +0300&lt;br /&gt;
  From: Priit Kask &amp;lt;priit@loomaaed.tartu.ee&amp;gt;&lt;br /&gt;
  User-Agent: Mozilla-Thunderbird 2.0.0.22 (X11/20090706)&lt;br /&gt;
  MIME-Version: 1.0&lt;br /&gt;
  To: Mart Kask &amp;lt;mart@loomaaed.tartu.ee&amp;gt;&lt;br /&gt;
  Subject: testkiri&lt;br /&gt;
  Content-Type: text/plain; charset=UTF-8&lt;br /&gt;
  Content-Transfer-Encoding: 8bit&lt;br /&gt;
  &lt;br /&gt;
  Tere!&lt;br /&gt;
  &lt;br /&gt;
  Ja siit tuleb üks test kiri.&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  Priit&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* read kuni esimese tühja reani moodustavad kirja päised (headers)&lt;br /&gt;
* ülejäänud read moodustavad kirja keha (body)&lt;br /&gt;
&lt;br /&gt;
Kui aga kirja kätte saanud kasutaja vaatab kogu kirja, siis paistab talle kiri selline&lt;br /&gt;
&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
kus kirja algusse seda kirja töötlenud postimasinad lisanud juurde kirjeid&lt;br /&gt;
&lt;br /&gt;
* Received - iga postimasin lisab reeglina ühe sellise rea (see on üks rida kuna protokolli kohaselt rida jätkub kui järgmine rida algab tühikuga (ingl. k. whitespace))&lt;br /&gt;
* Return-Path - kohaliku kättetoimetamise (ingl. k. local delivery) teinud postimasin lisab nn ümbriku from aadressi&lt;br /&gt;
&lt;br /&gt;
Kõik juurde lisatud andmed on lisatud SMTP protokolli rääkimise alusel, st need kõik väljendavad kirja teekonna erinevatel etappidel kasutatud ümbriku aadresse.&lt;br /&gt;
&lt;br /&gt;
===Aadressklassid===&lt;br /&gt;
&lt;br /&gt;
Aadressklasside (ingl. k. address classes) http://www.postfix.org/ADDRESS_CLASS_README.html abil otsustab Postfix milliseid kirju vastu võtta ja kuidas neid edasi toimetada. Addressklass on määratletud kolme tunnuse alusel&lt;br /&gt;
&lt;br /&gt;
* klassiga seotud domeenide nimekiri (ingl. k. list of domains that are a member of the class) - nt kõik local_domains, kõik relay_domains&lt;br /&gt;
* vaikimisi edasitoimetamise transport (ingl. k. default delivery transport) - nt local, virtual või relay&lt;br /&gt;
* kirjasaajate nimekiri (ingl. k. list of valid recipient addresses)&lt;br /&gt;
&lt;br /&gt;
Vaikimisi on 2009 aastal Postfixis kasutusel sellised aadressklassid&lt;br /&gt;
&lt;br /&gt;
* local domain class - canonical domains&lt;br /&gt;
* virtual alias domain class - hosted domains&lt;br /&gt;
* virtual mailbox domain class - hosted domains&lt;br /&gt;
* relay domain class - relay domains&lt;br /&gt;
* default domain class&lt;br /&gt;
&lt;br /&gt;
====Virtuaalsed domeenid====&lt;br /&gt;
&lt;br /&gt;
Oletame, et meil on olukord, kus serveri aadressiks on zoo.tartu.ee ja meil&lt;br /&gt;
on veel sellel serveril kaks domeeni. Esimene domeen on siil.ee ja teine&lt;br /&gt;
domeen on karu.ee. Nüüd oleks kiusatus kirjutada need domeenid &#039;&#039;&#039;mydestination&#039;&#039;&#039; &lt;br /&gt;
muutujale aga sellega kaasneb probleeme. Näiteks, kui meil on serveris kasutaja&lt;br /&gt;
mart, siis töötaksid seejärel automaatselt mailiaadressid mart@siil.ee ja mart@karu.ee,&lt;br /&gt;
mida me ei pruugi tahta. Olukorra elegantseks lahendamiseks on virtual maps.&lt;br /&gt;
&lt;br /&gt;
mail.cf konfi kirjutame esiteks virtuaalsed domeenid ja defineerime map faili askoha&lt;br /&gt;
&lt;br /&gt;
  # cat mail.cf:&lt;br /&gt;
  ...&lt;br /&gt;
  virtual_alias_domains = siil.ee, karu.ee&lt;br /&gt;
  virtual_alias_maps = hash:/etc/postfix/virtual&lt;br /&gt;
&lt;br /&gt;
Seejärel tekitame virtual faili, kus kinnistame domeenid kindlate kasutajatega.&lt;br /&gt;
&lt;br /&gt;
  # cat virtual&lt;br /&gt;
  mart@siil.ee   mart&lt;br /&gt;
  ants@karu.ee   ants&lt;br /&gt;
&lt;br /&gt;
Ja seejärel tekitame virtual faili alusel map faili.&lt;br /&gt;
&lt;br /&gt;
 # postmap /etc/postfix/virtual&lt;br /&gt;
&lt;br /&gt;
====Ühe domeeni kirjade blokeerimine====&lt;br /&gt;
&lt;br /&gt;
Näiteks on tegemist releeserveriga, mis edastab paljude veebiserverite&lt;br /&gt;
meili. Või siis ühe hostinguserveri meili, kus on sadu domeene. Üks domeenidest&lt;br /&gt;
hakkab aga agaralt spämmima ja vaja oleks sealt lähtuvad kirjad blokeerida.&lt;br /&gt;
&lt;br /&gt;
Spämmivaks domeeniks on näites hundionu.ee&lt;br /&gt;
&lt;br /&gt;
 smtpd_sender_restrictions =&lt;br /&gt;
         check_sender_access hash:/etc/postfix/access&lt;br /&gt;
         permit_mynetworks&lt;br /&gt;
         ...&lt;br /&gt;
&lt;br /&gt;
NB! Järjekord peab kindlasti olema, et permit_mynetworks ja muud lubamised&lt;br /&gt;
tuleksid peale saatja ligipääsu kontrolli. Nimelt osustatakse esimese reegliga&lt;br /&gt;
sageli kirja saatus ära ja edasisi reegleid enam ei vaadata.&lt;br /&gt;
&lt;br /&gt;
Seejärel tekitame access faili&lt;br /&gt;
&lt;br /&gt;
 # cat /etc/postfix/access&lt;br /&gt;
 hundionu.ee     REJECT&lt;br /&gt;
&lt;br /&gt;
Tekitame map faili&lt;br /&gt;
&lt;br /&gt;
 # postmap /etc/postfix/access&lt;br /&gt;
&lt;br /&gt;
Testimiseks võime anda käsu:&lt;br /&gt;
&lt;br /&gt;
 $ echo test | mail kirja_saaja@zoo.tartu.ee -r kirja_saatja@hundionu.ee &lt;br /&gt;
&lt;br /&gt;
Logis on seejärel näha&lt;br /&gt;
&lt;br /&gt;
 Jun 13 11:50:40 re2 postfix/smtpd[4988]: NOQUEUE: reject: RCPT from wwww.zoo.tartu.ee[193.40.0.47]: 554  5.7.1 &amp;lt;jacquelyn_dejesus@hundionu.ee&amp;gt;: Sender address rejected: Access denied; from =&amp;lt;jacquelyn_dejesus@hundionu.ee&amp;gt; to=&amp;lt;kallinson@yahoo.com&amp;gt; proto=ESMTP helo=&amp;lt;www.localdoma&lt;br /&gt;
&lt;br /&gt;
Blokeerida võib ka mitte ainult domeene vaid üksikuid kirju, näiteks kirjutades&lt;br /&gt;
&lt;br /&gt;
 ants@hundionu.ee     REJECT&lt;br /&gt;
&lt;br /&gt;
Ajutiste kiirete piirangute jaoks on see lahendus hea kuid püsiva spämmitabeli teemiseks ilmselt liiga tülikas&lt;br /&gt;
&lt;br /&gt;
====Kirjade ümbersuunamine teise serverisse====&lt;br /&gt;
&lt;br /&gt;
Abiks on kirjade edasi suunamisel ka transports mis&lt;br /&gt;
Võimaldab kõiki või teatud domeenide maile suunata edasi teisele aadressile&lt;br /&gt;
&lt;br /&gt;
Kasutamiseks vaja main.cf&#039;is defineerida&lt;br /&gt;
&lt;br /&gt;
 transport_maps = hash:/etc/postfix/transport&lt;br /&gt;
&lt;br /&gt;
Ning faili /etc/postfix/transport&lt;br /&gt;
&lt;br /&gt;
 *midagi.ee smtp:mail.tartu.ee&lt;br /&gt;
&lt;br /&gt;
postmapi andmebaasi genereerimiseks&lt;br /&gt;
&lt;br /&gt;
 postmap /etc/postfix/transport&lt;br /&gt;
&lt;br /&gt;
restart postfix and now every e-mail sent to example.com will relay through your specified e-mail server.&lt;br /&gt;
&lt;br /&gt;
sender_canonical_maps võimaldab saatja aadresse ümber kirjutada, kasutamine&lt;br /&gt;
&lt;br /&gt;
 sender_canonical_maps = hash:/etc/postfix/sender_canonical &lt;br /&gt;
&lt;br /&gt;
ja sinna faili kirjutada midagi sellist:&lt;br /&gt;
 root@localhost	root@loomaaed.zoo.edu.ee&lt;br /&gt;
&lt;br /&gt;
===Postfixi konfiguratsioon ehk failid main.cf ja master.cf ===&lt;br /&gt;
&lt;br /&gt;
Postfixi põhilisteks seadistusfailideks on &#039;&#039;&#039;main.cf&#039;&#039;&#039; ja &#039;&#039;&#039;master.cf&#039;&#039;&#039;. Main.cf sisaldab&lt;br /&gt;
postfixi seadistusparameetreid mis vajalikud mailide liigutamiseks ning master.cf seadistab deemonprotsesse&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsamaks main.cf seadistuseks oleks&lt;br /&gt;
&lt;br /&gt;
 smtpd_banner = $myhostname ESMTP $mail_name (no spam please ;) )&lt;br /&gt;
 myhostname = loomaaed.tartu.ee&lt;br /&gt;
 mydomain = $myhostname&lt;br /&gt;
 myorigin = $mydomain&lt;br /&gt;
 inet_interfaces = all&lt;br /&gt;
 mynetworks = 127.0.0.0/8, 192.168.1.0/24&lt;br /&gt;
 mydestination = $myhostname, localhost.$mydomain, elva.loomaaed.tartu.ee ../etc/postfix/mydestination&lt;br /&gt;
 unknown_local_recipient_reject_code = 550&lt;br /&gt;
 alias_maps = hash:/etc/mail/aliases&lt;br /&gt;
 alias_database = hash:/etc/mail/aliases&lt;br /&gt;
 relay_domains = $mydestination, ../relay_domains&lt;br /&gt;
 home_mailbox = mbox&lt;br /&gt;
 smtpd_sender_restrictions = permit_mynetworks, reject_unknown_sender_domain&lt;br /&gt;
 smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination&lt;br /&gt;
&lt;br /&gt;
See kõik on üldine ja töötab ühtemoodi nii freebsd, solarise kui debiani või kasvõi windowsil (kui postfix sinna kunagi porditakse)&lt;br /&gt;
&lt;br /&gt;
Seejärel tuleb muidugi seadistada ka postfixi septsiifilisem osa, mis varieerub erinevatel operatsioonisüsteemidel, näiteks kus asub deemon, kus spool kaust või mis õigustes töötab postfix&lt;br /&gt;
&lt;br /&gt;
Kasutada võib ka muutujaid stiilis config_directory = ../postfix&lt;br /&gt;
ja kasutada stiilis transport_maps = hash:$config_directory/transport&lt;br /&gt;
&lt;br /&gt;
Seletaks pisut põhilisi ridu lahti&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;smtpd_banner = $myhostname ESMTP $mail_name (no spam please ;) )&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Üldine teade mida näeb kui ühenduda 25 pordi külge, üldiselt&lt;br /&gt;
täidab pigem ilu ülesannet :)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;myhostname = kool.edu.ee&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
See muutuja võetakse tavaliselt shellist ja sõltub mis on sereri hostnameks määratud,&lt;br /&gt;
üldiselt võib olla soov seda siiski sageli muuta&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;mydomain = $myhostname&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
mydomain võib samuti sageli erineda myhostnamest, üldiselt kui aga ei võib&lt;br /&gt;
kasutada näiteks muutujat $myhostname&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;myorigin = $mydomain&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
is the domain name that locally-posted email appears to have come from and is delivered to.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;inet_interfaces = all&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Postfix kuulab vaikimisi kõikidel võrguseadmetel mis serveril küljes 25ndat porti ja&lt;br /&gt;
kust posti ka vastu võetakse&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;mynetworks = 127.0.0.0/8, 192.168.1.0/24&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
IP aadressid või võrkude vahemikud mis on turvalised nimetame localhosti ja serveritaguse kontori sisevõrgu.&lt;br /&gt;
Nendest võrkudest võib saata maile läbi serveri. Kõik katsed saata või relay&#039;da maili teistelt&lt;br /&gt;
mitte siin defineeritud ip&#039;delt keelatakse&lt;br /&gt;
&lt;br /&gt;
Selleks, et etteantud IP vahemikust mõni aadress ajutiselt välja jätta, näiteks on see arvuti hakanud levitama spammi ning ei soovi, et postimasin pakuks talle relay ehk kirjade edasisaatmise võimalusi saab&lt;br /&gt;
$mynetworks sisse kirjutada ka kujul !1.2.3.4/32 või !/path/to/file ja viimase sees siis IP numbrid/vahemikud, mis tuleb välja jätta. Töötab ka type:table. Seejuures tuleb tähele panna, et esimene sobivus võidab ehk soovitatav on kirjutada need piirangud enne teisi aadresse.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;mydestination = $myhostname, localhost.$mydomain, ../etc/mydestination&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Siin võib defineerida veel kõik masina küljes olevad domeenid neid komaga eraldadest, kust&lt;br /&gt;
server peaks emaile vastuvõtma, lihtustamise huvides võib need kõik mydestination faili lisada&lt;br /&gt;
ning faili korraga külge võtta&lt;br /&gt;
&lt;br /&gt;
 ../etc/mydestination&lt;br /&gt;
 loomaaed.tartu.ee&lt;br /&gt;
 mail.tartu.ee&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;unknown_local_recipient_reject_code = 550&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Viisakas seadistada teiste mailisaatjate jaoks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; alias_maps = hash:/etc/mail/aliases&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
alias faili, vaikimisi etc all&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; alias_database = hash:/etc/mail/aliases&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Alias faili andmebaas&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;relay_domains = $mydestination, /etc/postfix/relay_domains&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Nimed domeenidest millele mailiserver on teiseks mx&#039;iks. Näiteks lihtsalt loeteluna.&lt;br /&gt;
&lt;br /&gt;
 loomaaed.tartu.ee&lt;br /&gt;
 mail.tartu.ee&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;home_mailbox = mbox&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mailide salvestamise formaadiks mailbox. See on kõige vanem ja lihtsam formaat&lt;br /&gt;
kuid mitte kõige parem ja tänapäeval oleks&lt;br /&gt;
tegelikult juba üsnagi mõttekas kasutada maildir&#039;i home_mailbox = Maildir/&lt;br /&gt;
võimalik on kogu maili kettale transportimine anda eraldi programmina, näit&lt;br /&gt;
cyrusele mailbox_transport = cyrus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;smtpd_sender_restrictions = permit_mynetworks, reject_unknown_sender_domain&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Piirangud läbi mailiserveri saatjale, lubame automaatselt mynetwork&#039;ist saatmised&lt;br /&gt;
ning keelame tundmatud&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
siinpuhul saab seadistada veel &lt;br /&gt;
&lt;br /&gt;
  permit_sasl_authenticated,&lt;br /&gt;
  reject_non_fqdn_hostname,&lt;br /&gt;
  reject_non_fqdn_sender,&lt;br /&gt;
  reject_non_fqdn_recipient,&lt;br /&gt;
  reject_unauth_destination,&lt;br /&gt;
  reject_unauth_pipelining,&lt;br /&gt;
  reject_invalid_hostname,&lt;br /&gt;
  reject_rbl_client bl.spamcop.net,&lt;br /&gt;
  reject_rbl_client sbl-xbl.spamhaus.org&lt;br /&gt;
&lt;br /&gt;
Kui on soov suunata väljuv epost läbi mingi kindla serveri tasub kasutada relayhost muutujat, nt&lt;br /&gt;
&lt;br /&gt;
 relayhost = mail.hot.ee&lt;br /&gt;
&lt;br /&gt;
Ja veel main.cf&#039;i kasulikke muutujaid töökindluse suurendamiseks&lt;br /&gt;
&lt;br /&gt;
Kõikide muutujate lahtiseletamine ja esiletoomine läheks väga pikaks,&lt;br /&gt;
nendekohta on üsnagi mahukas ja põhjalik kirjeldus ametlikus postconf manualis http://www.postfix.org/postconf.5.html aga püüaks veel mõningaid ja põhiliselt spämmimise/ddos&#039;imisi piiravaid&lt;br /&gt;
ja töökindlust suurendavaid parameetreid esiletuua&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;maximal_queue_lifetime = 3d&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;bounce_queue_lifetime = 3h&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Saba elupikkuse reguleerimine, oluline masinates&lt;br /&gt;
mis näiteks paljudele teistele domeenidele relay&#039;ks&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;relay_domains = /etc/mail/relay-domains&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
domeenid milledele näiteks ollakse teiseks mx&#039;iks&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suhtlemiskiiruste limiteerimised&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 anvil_rate_time_unit = 60s&lt;br /&gt;
 smtpd_client_connection_count_limit = 5&lt;br /&gt;
 smtpd_client_connection_rate_limit = 100&lt;br /&gt;
 smtpd_client_message_rate_limit = 100&lt;br /&gt;
 smtpd_client_recipient_rate_limit = 200&lt;br /&gt;
 smtpd_client_event_limit_exceptions = $mynetworks, &amp;quot;.ee&amp;quot;&lt;br /&gt;
 smtpd_timeout = 60s&lt;br /&gt;
&lt;br /&gt;
Hea kasutada spammimiste pidurdamisteks&lt;br /&gt;
&lt;br /&gt;
selleks hea näiteks nõuda ka &#039;&#039;&#039;smtpd_helo_required = yes&#039;&#039;&#039;&lt;br /&gt;
kui korrektset suhtlus pole ei tule ka vastuseid&lt;br /&gt;
ja määrata veel lisatäiendusi &#039;&#039;&#039;smtpd_helo_restrictions = permit_mynetworks, reject_non_fqdn_hostname, reject_invalid_hostname&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kui on vaja omakorda mingit ip&#039;d või domeeni whitelistida mis on ometigi mitmetes rbl listides sees või ei vasta mingitele tingimustele&lt;br /&gt;
tuleks see lisada rida         check_client_access hash:/etc/postfix/client_access tekitada vastav fail sisuga näiteks 193.40.0.9 OK&lt;br /&gt;
ning genereerida failile postmapiga andmebaas&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aadresside laiendused&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
postfixi main.cf&#039;i tuleb lisada&lt;br /&gt;
&lt;br /&gt;
 recipient_delimiter = +&lt;br /&gt;
&lt;br /&gt;
See teeb võimalikuks saata kirje aadressidele kasutaja+laiend@loomaaed.zoo.ee&lt;br /&gt;
&lt;br /&gt;
See on hea seepärast, et saaks erinevatesse kohtadesse panna näiliselt erinevad aadressid, samas aliasi defineerimata. Postfix üritab esmalt saata kirja kasutajale &#039;kasutaja+laiend&#039;, kui see ei õnnestu, siis &#039;kasutaja&#039;.&lt;br /&gt;
&lt;br /&gt;
Nüüd saan panna aadressid nt kasutaja+plesk_admin ja kasutaja+plesk_reseller ja postkastist kirja lugedes saan teada, kellele mingisugune kiri mõeldud oli. &lt;br /&gt;
&lt;br /&gt;
Seda on hea kasutada ka mingitesse foorumitesse jne registreerimisel, kus paned kasutaja+fooruminimi@zoo.ee aadressiks ja kui spämmi tulema hakkab, on kohe teada, kust lekkis (vähemalt saab pahandada ja teisi hoiatada). &lt;br /&gt;
&lt;br /&gt;
===Postisüsteemi testimine===&lt;br /&gt;
&lt;br /&gt;
Postisüsteemi heaks testimise abivahendiks on ikka telnet muidugi ja telnet port 25&lt;br /&gt;
sest kui MX pole masinale määratud siis on talle väga raske maili normaalsete vahenditega saata&lt;br /&gt;
&lt;br /&gt;
Ühendume mailiserveriga&lt;br /&gt;
&lt;br /&gt;
 # &#039;&#039;&#039;telnet zoo.loomaaed.ee 25&#039;&#039;&#039;&lt;br /&gt;
 Trying 193.40.0.17...&lt;br /&gt;
 Connected to zoo.loomaaed.ee.&lt;br /&gt;
 Escape character is &#039;^]&#039;.&lt;br /&gt;
 220 zoo.loomaaed.ee ESMTP&lt;br /&gt;
&lt;br /&gt;
Ütleme tervituse&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;HELO zoo.loomaaed.ee&#039;&#039;&#039;&lt;br /&gt;
 250 zoo.loomaaed.ee&lt;br /&gt;
&lt;br /&gt;
Aadress kellele soovime maili saata&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;MAIL FROM: kadri@mailiserver.ee&#039;&#039;&#039;&lt;br /&gt;
 250 2.1.0 Ok&lt;br /&gt;
&lt;br /&gt;
Kirjutame aadressi mis aadressilt saadetakse&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;RCPT TO: katsetus@zoo.loomaaed.ee&#039;&#039;&#039;&lt;br /&gt;
 250 2.1.5 Ok&lt;br /&gt;
&lt;br /&gt;
Sisestame andmed&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;DATA&#039;&#039;&#039;&lt;br /&gt;
 354 End data with &amp;lt;CR&amp;gt;&amp;lt;LF&amp;gt;.&amp;lt;CR&amp;gt;&amp;lt;LF&amp;gt;&lt;br /&gt;
 &#039;&#039;&#039;tere&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kui enam midagi lisada ei soovi lõpetame punktiga&lt;br /&gt;
 &#039;&#039;&#039;.&#039;&#039;&#039;&lt;br /&gt;
 250 2.0.0 Ok: queued as 95C49F3118&lt;br /&gt;
&lt;br /&gt;
Kirjutatud mail on ülal oleva teksti järgi lisatud järjekorda ning võime väljuda quit käsuga&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;quit&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Jõudlus====&lt;br /&gt;
&lt;br /&gt;
TODo&lt;br /&gt;
&lt;br /&gt;
====Spam====&lt;br /&gt;
&lt;br /&gt;
Aadressil http://spamassassin.apache.org/gtube/ on nö standardspämmi, mille nt Spamassassin peaks avastama&lt;br /&gt;
&lt;br /&gt;
  XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X&lt;br /&gt;
&lt;br /&gt;
Katsetamiseks tuleks see järgnevus sisestada kirja eraldi reana, reavahetusega lõpus.&lt;br /&gt;
&lt;br /&gt;
====Viirus====&lt;br /&gt;
&lt;br /&gt;
Aadressil http://www.eicar.org/anti_virus_test_file.htm on nö standardne viirus, mille nt ClamAV peaks avastama&lt;br /&gt;
&lt;br /&gt;
  X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*&lt;br /&gt;
&lt;br /&gt;
Katsetamiseks tuleks see salvestada tekstifaili reavahetusega lõpus ning lisada kirjale.&lt;br /&gt;
&lt;br /&gt;
===Piirangute rakendamine töödeldavale epostile===&lt;br /&gt;
&lt;br /&gt;
Postfix võimaldab üksikasjaliselt kontrollida, millist eposti süsteem töötlema hakkab, st võtab vastu ning saadab edasi või edasisaatmise asemel teeb local delivery. Käesolevas punktis käsitletavad piirangud on nn before-queue piirangud, st need rakendatakse enne kirja sabasse (ingl. k. queue) võtmist.&lt;br /&gt;
&lt;br /&gt;
Selleks, et paremini mõista Postfix poolt pakutavate piirangute seadistamise võimalusi, kordame üle milline järgnevust sooritatakse vastavalt SMTP protokollile kui postimasina poole pöördub SMTP klient; rea lõpus on märgitud millist Postfixi piirangute nimekirja on mingi andmevahetuse etapi juures võimalik rakendada.&lt;br /&gt;
&lt;br /&gt;
  smtp-client ---&amp;gt; smtp-klient.auul ühendub Postfix serveri 25/tcp pordile   &amp;lt;--- smtpd_client_restrictions&lt;br /&gt;
  smtp-server ---&amp;gt; 220 smtp-server.auul ESMTP Postfix (Debian/GNU)        &lt;br /&gt;
  smtp-klient ---&amp;gt; EHLO post-klient.auul                                     &amp;lt;--- smtpd_helo_restrictions&lt;br /&gt;
  smtp-server ---&amp;gt; 250-smtp-server.auul&lt;br /&gt;
                   250-PIPELINING&lt;br /&gt;
                   250-SIZE 10240000&lt;br /&gt;
                   250-VRFY&lt;br /&gt;
                   250-ETRN&lt;br /&gt;
                   250-STARTTLS&lt;br /&gt;
                   250-ENHANCEDSTATUSCODES&lt;br /&gt;
                   250-8BITMIME&lt;br /&gt;
                   250 DSN&lt;br /&gt;
  smtp-klient ---&amp;gt; MAIL FROM:&amp;lt;priit@loomaaed.tartu.ee&amp;gt; SIZE=325              &amp;lt;--- smtpd_sender_restrictions&lt;br /&gt;
                   RCPT TO:&amp;lt;mart@bmail.com&amp;gt; ORCPT=rfc822;mart@bmail.com      &amp;lt;--- smtpd_recipient_restrictions&lt;br /&gt;
                   DATA&lt;br /&gt;
  smtp-server ---&amp;gt; 250 2.1.0 Ok&lt;br /&gt;
                   250 2.1.5.Ok&lt;br /&gt;
                   354 End data with &amp;lt;CR&amp;gt;&amp;lt;LF&amp;gt;.&amp;lt;CR&amp;gt;&amp;lt;LF&amp;gt;&lt;br /&gt;
  smtp-klient ---&amp;gt; saadab kirja osa&lt;br /&gt;
                   ...&lt;br /&gt;
Piirangute nimekiri võib olla mõnel juhul tühi ja mõnel juhul peab kindlasti sisaldama vähemalt kindlaksmääratud piiranguid. Piirangute kontroll toimub selliselt&lt;br /&gt;
&lt;br /&gt;
* piirangute nimekirjast rakendatakse esimene klappinud piirang, järgmisi selle nimekirja piiranguid ei kontrollita&lt;br /&gt;
* rakendatakse esimene tulemusega (REJECT, DEFER või PERMIT) lõppenud piirangute nimekiri&lt;br /&gt;
&lt;br /&gt;
Kontrolli tulemus rakendatakse peale RCPT TO andmete saamist.&lt;br /&gt;
&lt;br /&gt;
Nt võiks kasutada sellist piirangute nimekirja, selline on nimekiri vaikimisi Debiani Lenny puhul ja väljund on esitatud järjestatuna rakendamise järjekorras&lt;br /&gt;
&lt;br /&gt;
  # postconf | grep smtpd_ | egrep &amp;quot;(_client_|_helo_|_sender_|_recipient_)&amp;quot; | egrep &amp;quot;restrictions &amp;quot;&lt;br /&gt;
  smtpd_client_restrictions = &lt;br /&gt;
  smtpd_helo_restrictions = &lt;br /&gt;
  smtpd_sender_restrictions = &lt;br /&gt;
  smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination&lt;br /&gt;
&lt;br /&gt;
Siinjuures tuleb tähele panna asjaolu, et igas reeglite nimekirjas on lubatud kasutada ainult teatud kontrolle, kusjuures igas järgmises on lubatud kasutada eelmiste nimekirjade kontrolle. Antud juhul ongi smtpd_recipient_restrictions juures kasutatud permit_mynetworks&#039;i, mis on iseenesest smtpd_client_restrictions nimekirja kontroll, vt http://www.postfix.org/postconf.5.html&lt;br /&gt;
&lt;br /&gt;
Esitatud näites esimesena kehtestatav ning ainuke piirangute nimekiri on smtpd_recipients_restrictions ja mis sisaldab kahte kontrolli&lt;br /&gt;
&lt;br /&gt;
* permit_mynetworks - lubada saata posti nendest alamvõrkudest, milles asub postimasin&lt;br /&gt;
* reject_unauth_destination - keeldutakse töötlemast posti mida ei ole postimasin seadistatud kas vahendama või millele tegema local deliverit&lt;br /&gt;
&lt;br /&gt;
Mõned allikad soovitavad kõik piirangud seadistada ühe smtpd_recipient_restrictions parameetri abil kuna nii on ehk tagatud parem ülevaatlikkus.&lt;br /&gt;
&lt;br /&gt;
===Seadistamine===&lt;br /&gt;
&lt;br /&gt;
Süsteemist väljuva posti ümbriku muutmiseks tuleb kasutada mail.cf failis rida&lt;br /&gt;
&lt;br /&gt;
  smtp_generic_maps = hash:/etc/postfix/generic&lt;br /&gt;
&lt;br /&gt;
ning /etc/postfix/generic ise sisaldab näiteks selliseid ridu&lt;br /&gt;
&lt;br /&gt;
  www-data@arvuti.sisedomeen   www-bounce@valisdomeen.ee&lt;br /&gt;
  root@arvuti.sisedomee       www-bounce@valisdomeen.ee&lt;br /&gt;
&lt;br /&gt;
Muudatuste kehtestamiseks tuleb generic&#039;ile vastav andmebaas moodustada käsuga&lt;br /&gt;
&lt;br /&gt;
  # postmap /etc/postfix/generic&lt;br /&gt;
&lt;br /&gt;
ning laadida reload&#039;iga Postfix.&lt;br /&gt;
&lt;br /&gt;
Käsuga postconf testitatakse parasjagu kehtetatud Posfixi seadistusi&lt;br /&gt;
&lt;br /&gt;
  # postconf&lt;br /&gt;
&lt;br /&gt;
ning lisades võtme -n esitatakse main.cf failis kasutatud parameetrite väärtused&lt;br /&gt;
&lt;br /&gt;
  # postconf -n&lt;br /&gt;
&lt;br /&gt;
Konkreetse parameetri väärtust saab küsida nii, nt&lt;br /&gt;
&lt;br /&gt;
  # postconf mail_version&lt;br /&gt;
  mail_version = 2.5.5&lt;br /&gt;
&lt;br /&gt;
Kui on vaja näha postfixi vaikimisi seatud väärtusi siis tuleb käivitada postconf -d võtmega&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===TLS krüpteering ja SASL auth===&lt;br /&gt;
&lt;br /&gt;
Kasutajate autentimine ja kürpteeritud login&lt;br /&gt;
&lt;br /&gt;
[[Postfix TLS]]&lt;br /&gt;
&lt;br /&gt;
====Postiserverite vahelise andmevahetuse krüptimine====&lt;br /&gt;
&lt;br /&gt;
Selleks, et server võimaldaks krüptida smtp klientide sissetulevaid ühendusi peavad olema seadistusfailis main.cf read&lt;br /&gt;
&lt;br /&gt;
 smtpd_tls_key_file = /etc/postfix/serdid/smtp.loomaaed.tartu.ee.pem&lt;br /&gt;
 smtpd_tls_cert_file = /etc/postfix/serdid/smtp.loomaaed.tartu.ee.crt&lt;br /&gt;
 smtpd_tls_CAfile = /etc/postfix/serdid/loomaaed-ca.crt&lt;br /&gt;
 smtpd_use_tls=yes&lt;br /&gt;
 smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* smtpd_tls_key_file näitab, millises failis asub sertifikaadile vastav salajane võti&lt;br /&gt;
* smtpd_tls_cert_file näitab, millises failis asub sertifikaat&lt;br /&gt;
* smtpd_tls_CAfile näitab, millises failis asuvad sertifikaadi allkirjastanud ahela ülemised sertifikaadid &lt;br /&gt;
&lt;br /&gt;
Selleks, et teha kindlaks, kas postiserver toetab SMTP STARTSSL laiendust sobib öelda&lt;br /&gt;
&lt;br /&gt;
 $ openssl s_client -starttls smtp -showcerts -connect 192.168.1.251:25&lt;br /&gt;
&lt;br /&gt;
===Kirjade töötlemine välise programmiga===&lt;br /&gt;
&lt;br /&gt;
Ühel või teisel põhjusel võib olla vaja sellist asjakorraldus, et kas postisüsteemi kõiki või vaid teatud tunnustele vastavaid kirju saaks töödelda välise programmiga. Ja selliselt, et väline programm saab andmeid oma stdio&#039;sse ning järele mõned argumendid. Üheks võimaluseks seda korraldada on kostümiseeritud transporti kirjeldamise abil.&lt;br /&gt;
&lt;br /&gt;
* /etc/postfix/main.cf faili tuleb lisada rida&lt;br /&gt;
&lt;br /&gt;
  transport_maps = hash:/etc/postfix/transport&lt;br /&gt;
&lt;br /&gt;
* /etc/postfix/transport failis peab sisalduma nt rida&lt;br /&gt;
&lt;br /&gt;
  loomaaed.tartu.ee pf&lt;br /&gt;
&lt;br /&gt;
ning tuleb öelda&lt;br /&gt;
&lt;br /&gt;
  # postmap /etc/postfix/transport&lt;br /&gt;
&lt;br /&gt;
* /etc/postfix/master.cf failis peab sisaldub sektsioon&lt;br /&gt;
&lt;br /&gt;
  pf    unix  -       n       n       -       -       pipe   &lt;br /&gt;
  flags=RDX user=programmikasutaja argv=/bin/pf.pl ${user} ${domain}&lt;br /&gt;
&lt;br /&gt;
ning kui /bin/pf.pl sisaldab nt&lt;br /&gt;
&lt;br /&gt;
  #!/usr/bin/perl&lt;br /&gt;
  open (fh, &amp;quot;&amp;gt;&amp;gt;/tmp/pf.log&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  print fh &amp;quot;$ARGV[0]\n&amp;quot;;&lt;br /&gt;
  print fh &amp;quot;$ARGV[1]\n\n\n&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
  @read=&amp;lt;STDIN&amp;gt;;&lt;br /&gt;
  &lt;br /&gt;
  foreach $rida (@read) {&lt;br /&gt;
    print fh $rida;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Siis selle faili algusse kirjutatakse epostiaadressi @ märgist vasemale ja paremale jääv osa erinevatele ridadele ning kirja sisu kusjuures lisatakse päisele mõned read vastavalt sellele, mida lipud flags järel ütlevad.&lt;br /&gt;
&lt;br /&gt;
===SPF - Sender Policy Framework===&lt;br /&gt;
&lt;br /&gt;
SPF (Sender Policy Framework - ingl. k. epost saatja kontrollimise raamistik) http://www.openspf.org/Project_Overview võimaldab saavutada sellised eesmärke&lt;br /&gt;
&lt;br /&gt;
* kaitsta eposti vastuvõtjat ümbriku from aadressi võltsijate eest (eeldusel, et võltsitava domeeninime omanikud oma domeenidele kirjeldanud spf (või sfp sisuga txt) -kirjed)&lt;br /&gt;
* kaitsta domeeninime omanikku ümbriku from aadressi võltsijate tegevuse eest, tulemusena ei saa võltsijad saata kontrollimatult adressaatidele võltsitud eposti&lt;br /&gt;
&lt;br /&gt;
====SPF tööpõhimõtte kirjeldus====&lt;br /&gt;
&lt;br /&gt;
Leidub palas [[Spam]]&lt;br /&gt;
&lt;br /&gt;
====Eposti vastuvõtja ettevalmistamine====&lt;br /&gt;
&lt;br /&gt;
Postfix sisaldab &#039;Postfix SMTP access policy delegation&#039; http://www.postfix.org/SMTPD_POLICY_README.html süsteemi, mille abil saab ühendada MTA välise lahendusega, antud juhul SPF&#039;iga, selleks, et teostada täiendavat kontrolli, milliste omadustega kirju saab läbi kõnealuse postisüsteemi saata.&lt;br /&gt;
&lt;br /&gt;
===Logi ja probleemidega tegelemine===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui mingil põhjusel on tarvis uurida mõnda parasjagu sabas olevat kirja, siis sobib selleks programm postcat. Tavaliselt saab logist või mailq programmi väljundist teada kirja identifikaatori ning selle abil õnnestub sabast kirjale  vastav fail üles leida.&lt;br /&gt;
&lt;br /&gt;
  # mailq&lt;br /&gt;
  ....&lt;br /&gt;
  C558C4DC80      794 Sat Dec 20 10:18:55  bounce@loomaaed.tartu.ee&lt;br /&gt;
            (connect to smtp-gw.loomaaed.tartu.ee[10.0.2.5]: Connection refused)&lt;br /&gt;
                                         mart@loomaaed.tartu.ee&lt;br /&gt;
  ..&lt;br /&gt;
  # find /var/spool/postfix -name C558C4DC80 -ls&lt;br /&gt;
  313873    4 -rw-------   1 postfix  postfix       257 Dec 21 23:14 /var/spool/postfix/defer/C/C558C4DC80&lt;br /&gt;
  318592    4 -rwx------   1 postfix  postfix      1001 Dec 22 00:20 /var/spool/postfix/deferred/C/C558C4DC80&lt;br /&gt;
  &lt;br /&gt;
  # postcat /var/spool/postfix/deferred/C/C558C4DC80&lt;br /&gt;
  ... &lt;br /&gt;
  nö inimloetaval kujul formateeritud väljund&lt;br /&gt;
&lt;br /&gt;
Kui on vajadus sabas olev kiri kustutada, siis ei tohiks seda teha niisama failisüsteemist vastavate failide kustutamise teel vaid tuleb kasutada nt programmi postsuper, öeldes&lt;br /&gt;
&lt;br /&gt;
  # postsuper -d C558C4DC80&lt;br /&gt;
&lt;br /&gt;
Suuremate mailivoogude ning blokeerumiste korral on hea uurida mis domeenid on probleemiks&lt;br /&gt;
ja mis järjekordades on need kinni. Mailq pole samuti sageli selles osas eriti ülevaatlik.&lt;br /&gt;
&lt;br /&gt;
 # qshape deferred | head&lt;br /&gt;
                                          T  5 10 20 40 80 160 320 640 1280 1280+&lt;br /&gt;
                                  TOTAL 540  0  3  1  2 10   4  14  31   59   416&lt;br /&gt;
                           mingi.edu.ee 320  0  2  1  0  9   3   4  11   51   239&lt;br /&gt;
                            hotmail.org  25  0  0  0  0  1   0   0   0    0    24&lt;br /&gt;
&lt;br /&gt;
Mõne domeeni või saatja kõigi kirjade eemaldamiseks võib kasutada sarnast käsku&lt;br /&gt;
&lt;br /&gt;
 # mailq | grep &#039;&#039;&#039;spamidomeen.ee&#039;&#039;&#039; | awk &#039;{ print $1 }&#039; | postsuper -d -&lt;br /&gt;
&lt;br /&gt;
Või &lt;br /&gt;
&lt;br /&gt;
 # mailq | grep &#039;MAILER-DAEMON$&#039; | cut -d &#039; &#039; -f 1 | postsuper -d - &lt;br /&gt;
&lt;br /&gt;
Selleks, et eemaldada sabast kõik kirjad siis allolev käsk, soovites mõnda spetsiifilist järjekorda siis lisada sellele käsu lõppu veel näiteks DEFERRED&lt;br /&gt;
&lt;br /&gt;
 # postsuper -d ALL&lt;br /&gt;
&lt;br /&gt;
Kirjade sabast ära saatmiseks&lt;br /&gt;
&lt;br /&gt;
  # postqueue -f&lt;br /&gt;
&lt;br /&gt;
Pseudograafiline mailisaba haldur pfqueue http://pfqueue.sourceforge.net/&lt;br /&gt;
&lt;br /&gt;
[[Pilt:Pfqueue.JPG]]&lt;br /&gt;
&lt;br /&gt;
====Postfixi sabaga töötamist hõlbustav skript====&lt;br /&gt;
&lt;br /&gt;
Postfixi queue on kasutamiseks üsnagi halvas formaadis, nimelt esitatakse iga kirja kohta info kolmel real. Selle hõlbustamiseks võiib tekitada nt järgneva bashi skripti.&lt;br /&gt;
&lt;br /&gt;
 # cat /usr/local/bin/mailq_filter &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 if [[ &amp;quot;$1&amp;quot; == &amp;quot;-l&amp;quot; ]]&lt;br /&gt;
 then&lt;br /&gt;
   LONG=&#039;&amp;quot; &amp;quot; err&#039;&lt;br /&gt;
 fi&lt;br /&gt;
 mailq | awk &amp;quot;BEGIN{ RS = \&amp;quot;\n\n\&amp;quot;};&lt;br /&gt;
 {&lt;br /&gt;
   gsub(/\n/,\&amp;quot; \&amp;quot;);&lt;br /&gt;
   match(\$0, /\(.*\)/);&lt;br /&gt;
   err = substr(\$0, RSTART, RLENGTH);&lt;br /&gt;
   sub(/\(.*\)/, \&amp;quot;-&amp;gt;\&amp;quot;, \$0);&lt;br /&gt;
   if( \$1 != \&amp;quot;--\&amp;quot;) \$2 = \&amp;quot;\&amp;quot;;&lt;br /&gt;
   gsub(/  */, \&amp;quot; \&amp;quot;);&lt;br /&gt;
   print \$0 $LONG&lt;br /&gt;
 }&amp;quot;&lt;br /&gt;
&lt;br /&gt;
See skript väljastab ühel real mail ID kuupäev saatja -&amp;gt;  saajad. Kui lisada võti &#039;-l&#039; (nagu long), siis paneb kõige lõppu ka Postfixi veateate, mispärast see deferred&#039;is istub.&lt;br /&gt;
&lt;br /&gt;
Nüüd saab näiteks selliseid otsinguid korraldada:&lt;br /&gt;
&lt;br /&gt;
 $ mailq_filter | grep &amp;quot;\.com -&amp;gt;  .*\.com&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Või kirjutada selliseid konstruktsioone&lt;br /&gt;
&lt;br /&gt;
 $ mailq_filter | grep mingistring-domeen | awk &#039;{ print $1 }&#039; | postsuper -d -&lt;br /&gt;
&lt;br /&gt;
Või koostada pingerida sabas olevatest kirjadest saatja alusel&lt;br /&gt;
&lt;br /&gt;
 $ mailq_filter | awk &#039;{ print $6 }&#039; | sort | uniq -c | sort -rn | head&lt;br /&gt;
&lt;br /&gt;
tulemuseks&lt;br /&gt;
&lt;br /&gt;
       7 notification+kjdm13h7wupd@facebookmail.com&lt;br /&gt;
       6 personalikeskus@gmail.com&lt;br /&gt;
       5 web.office.0100.10@att.net&lt;br /&gt;
       5 notification+kr4mwb45snxr@facebookmail.com&lt;br /&gt;
       3 returned@mail2market.net&lt;br /&gt;
&lt;br /&gt;
===Milter===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
===Postfixi olulised tööriistad===&lt;br /&gt;
&lt;br /&gt;
Oluliseimad posfixi käsud mida sagedamini igapäevaelus võib vajaminna on&lt;br /&gt;
&lt;br /&gt;
*postalias - loob aliase andmebaasi&lt;br /&gt;
&lt;br /&gt;
*postcat - võimaldab vaadata järjekorras olevate failide sisu&lt;br /&gt;
&lt;br /&gt;
*postmap - loob lookup map&#039;e, suur hulk postfixi konfiguratsiooni informatsiooni hoitakse lookup tabelites.&lt;br /&gt;
&lt;br /&gt;
*postconf - postfixi parameetrite/seadistuse vaatamine ja muutmine&lt;br /&gt;
&lt;br /&gt;
konfiguratsiooni saab jooksvalt vaadata käsuga&lt;br /&gt;
postconf -n&lt;br /&gt;
&lt;br /&gt;
Postconf võimaldab kiirelt ja mugavalt muuta mingeid parameetreid main.cf seadistuses&lt;br /&gt;
ning seda võib kasutada nii hästi skriptimisel näiteks&lt;br /&gt;
&lt;br /&gt;
 postconf -e &#039;readme_directory = no&#039;&lt;br /&gt;
&lt;br /&gt;
Käsuga muudetakse readme_directory väli&lt;br /&gt;
&lt;br /&gt;
*postqueue - võimaldab ligipääsu postfixi järjekorrale&lt;br /&gt;
&lt;br /&gt;
*postsuper - võimaldab järjekorraga manipuleerida, kustutada neid või liigutada ringi, samuti parandada vajaduse korral järjekorra struktuuri &lt;br /&gt;
&lt;br /&gt;
*postdrop - &lt;br /&gt;
&lt;br /&gt;
*postfix&lt;br /&gt;
&lt;br /&gt;
*postkick&lt;br /&gt;
&lt;br /&gt;
*postlock&lt;br /&gt;
&lt;br /&gt;
*postlog&lt;br /&gt;
&lt;br /&gt;
===Imap deemonid mis sobivad kasutamiseks koos postfixiga===&lt;br /&gt;
&lt;br /&gt;
====Imap-uw====&lt;br /&gt;
&lt;br /&gt;
Vanem ja lihtsam deemon, suudab vaid mbox formaati jagada. Halvasti konfigureeritav ja ebastabiilsem. Suurtesse süsteemidesse ei soovitaks&lt;br /&gt;
&lt;br /&gt;
====Dovecot====&lt;br /&gt;
&lt;br /&gt;
Lihtne, töökindel ja äärmiselt hästi konfigureeritav imap klient, loeb&lt;br /&gt;
nii maildir++ kui mbox formaati. Sobib väiksematesse mailiserveritesse eriti hästi.&lt;br /&gt;
&lt;br /&gt;
====Courier====&lt;br /&gt;
&lt;br /&gt;
maildir++ formaati hästi lugev töökindel imapideemon, mboxi ei toeta, võimaldab mysqlilt autentimist.&lt;br /&gt;
Sobib koos mysql ja postfixadminiga ideaalselt keskmise suurusega süsteemidesse.&lt;br /&gt;
&lt;br /&gt;
====Cyrus====&lt;br /&gt;
&lt;br /&gt;
Lisaks imap deemonile tegeleb ka ise mailide kettale toimetamisega. Hoiab&lt;br /&gt;
neid eraldi muudetud maildir++ formaadis ning peab berkeley db andmebaasides infot.&lt;br /&gt;
Sobib väga suure koormusega süsteemidesse.&lt;br /&gt;
&lt;br /&gt;
===Postfix delivery tegemine Mysql kataloogi alusel===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
===Postfix delivery tegemine LDAP kataloogi alusel===&lt;br /&gt;
&lt;br /&gt;
Valmistada LDAP kliendi seadistused ette /etc/ldap/ldap.conf failis ja Postfixi jaoks põhimõtteliselt midagi sellist&lt;br /&gt;
&lt;br /&gt;
  # cat /etc/postfix/ldap.cf&lt;br /&gt;
  server_host = ldaps://ldap.loomaaed.tartu.ee&lt;br /&gt;
  version = 3&lt;br /&gt;
  &lt;br /&gt;
  search_base = dc=loomaaed,dc=tartu,dc=ee&lt;br /&gt;
  query_filter = mail=%s&lt;br /&gt;
  result_attribute = sn&lt;br /&gt;
&lt;br /&gt;
kontrolliks sobib küsida&lt;br /&gt;
&lt;br /&gt;
  # postmap -q mart@loomaaed.tartu.ee ldap:/etc/postfix/ldap.cf &lt;br /&gt;
  Kask&lt;br /&gt;
&lt;br /&gt;
===Queue kopeerimine postimasinate vahel===&lt;br /&gt;
&lt;br /&gt;
Kui mitu postimasinat töötavad koostöös, siis võib olla asjakohane nt ühe arvuti hoolduse ajaks sinna sappa kogunenud kirjad paigutada mõnda sobivasse muusse postimasinasse ringi. Selleks peab teine postimasin lubama kõnealuse postimasina kirju ning hooldusse minevas postimasinas tuleb nt relayhost parameetri abil kopeerida kirjad ära.&lt;br /&gt;
&lt;br /&gt;
===Kasulikud lisamaterjalid===&lt;br /&gt;
&lt;br /&gt;
* The book of Postfix: state-of-the-art message transport (Ralf Hildebrandt, Patrick Koetter) - 2009 aasta seisuga tõenäoliselt parim raamat sel teemal&lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
http://www.postfix.org/documentation.html Ametlik dokumentatsioon&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/Comparison_of_mail_servers Mailiserverite võrdlused&lt;br /&gt;
&lt;br /&gt;
http://dspam.nuclearelephant.com/index.shtml dspam koduleht&lt;br /&gt;
&lt;br /&gt;
http://www.redhat.com/support/resources/howto/RH-postfix-HOWTO/x368.html redhat&#039;i postfixi põhjalikud manualid&lt;br /&gt;
&lt;br /&gt;
http://www.postfix.org/OVERVIEW.html postfixi arhitektuuri täpsem ülevaade&lt;br /&gt;
&lt;br /&gt;
http://www.onlamp.com/pub/a/onlamp/2004/01/22/postfix.html postfixi logimisest&lt;br /&gt;
&lt;br /&gt;
http://www.cyberciti.biz/faq/howto-blacklist-reject-sender-email-address/ blacklist aadressidele&lt;br /&gt;
&lt;br /&gt;
http://www.linuxjournal.com/article/9454 Postfixi anatoomia&lt;br /&gt;
&lt;br /&gt;
http://www.compwrite.com/?p=57&lt;br /&gt;
&lt;br /&gt;
http://www.cyberciti.biz/tips/howto-postfix-flush-mail-queue.html saba puhastamisest&lt;/div&gt;</summary>
		<author><name>Erkko</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Domeenide_delegeerimine&amp;diff=31020</id>
		<title>Domeenide delegeerimine</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Domeenide_delegeerimine&amp;diff=31020"/>
		<updated>2023-01-18T19:00:39Z</updated>

		<summary type="html">&lt;p&gt;Erkko: Kirjawigad.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategooria:Interneti domeeninimede süsteem]]&lt;br /&gt;
===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Domeenide delegeerimine teeb võimalikuks interneti nimeserverite vahelise töö jaotamise.&lt;br /&gt;
&lt;br /&gt;
Käesolevas palas esitame tervikliku näite esitades ja kommenteerides erineva taseme nimeserverites vajalikke muudatusi seoses domeenide delegeerimise, tsoonide moodustamise ja domeeninimede kirjeldamisega.&lt;br /&gt;
&lt;br /&gt;
Seame eesmärgiks delegeerida kohtadele kahe C-klassi alamvõrgule vastavat tsooni. &lt;br /&gt;
&lt;br /&gt;
Füüsiliselt tekitatakse Loomaaias kaks alamvõrku, mis vastavad erinevatele domeenidele&lt;br /&gt;
&lt;br /&gt;
* 193.40.10.128/28 - loomaaed.ee.&lt;br /&gt;
* 193.40.10.144/28 - bassein.loomaaed.ee. &lt;br /&gt;
&lt;br /&gt;
Eelarvamuste kõigutamiseks märgime, et kui domeeninimede süsteemi suhtes asetseb domeen bassein.loomaaed.ee. domeeni loomaaed.ee. sees, siis neile vastavad füüsilised alamvõrgud ei pruugi asetseda sarnaselt üksteise &#039;taga&#039;. Lisaks, ruutingu korraldamine Vabriku ja Loomaaia arvutivõrkude ja interneti vahel on täiesti omaette küsimus.&lt;br /&gt;
&lt;br /&gt;
in-addr.arpa. domeenist 40.193.in-addr.arpa. delegeeritakse kohtadele ka pöördteisenduste tegemise võimalus, so tsoonid &lt;br /&gt;
&lt;br /&gt;
* 15.40.193.in-addr.arpa. - Vabrikule&lt;br /&gt;
* 10.40.193.in-addr.arpa. - Loomaaiale&lt;br /&gt;
&lt;br /&gt;
===Tipptaseme tsoonifailides vajalikud muudatused===&lt;br /&gt;
&lt;br /&gt;
Loomaaiale ja Vabrikule domeenide delegeerimisel tuleb tipptaseme domeeni administraatoril lisada ee. tsoonifaili järgmised kirjed&lt;br /&gt;
&lt;br /&gt;
 loomaaed.ee.            1D IN NS        ns.loomaaed.ee.&lt;br /&gt;
 loomaaed.ee.            1D IN NS        ns.aafrika.ee.&lt;br /&gt;
 ns.loomaaed.ee.         1D IN A         193.40.10.129&lt;br /&gt;
 vabrik.ee.              1D IN NS        alasi.vabrik.ee.&lt;br /&gt;
 vabrik.ee.              1D IN NS        ns.lenin.ee.&lt;br /&gt;
 alasi.vabrik.ee.        1D IN A         193.40.15.0.1&lt;br /&gt;
&lt;br /&gt;
eeldusel, et ns.loomaaed.ee. ja alasi.vabrik.ee. on vastavad primaarsed nimeserverid. Hea kombe kohaselt tuleb domeenile näidata lisaks primaarsele nimeserverile ka vähemalt üks sekundaarne server, selleks on vastavalt ns.aafrika.ee. ja ns.lenin.ee.&lt;br /&gt;
&lt;br /&gt;
Toodud A-kirjeid nimetatakse kleepekirjeteks, sest kuna NS-kirjete ridadel kasutatud nimeserverite nimed lahenduvad nimeserveris endas, peavad päringud siiski nimeserveritesse kohale jõudama.&lt;br /&gt;
&lt;br /&gt;
Lisada tuleb ka delegatsioon in-addr.arpa. domeeni tsoonifailidesse &lt;br /&gt;
&lt;br /&gt;
 10.40.193.in-addr.arpa. 1D IN NS        ns.loomaaed.ee.&lt;br /&gt;
 10.40.193.in-addr.arpa. 1D IN NS        ns.aafrika.ee. &lt;br /&gt;
 15.40.193.in-addr.arpa. 1D IN NS        alasi.vabrik.ee.&lt;br /&gt;
 15.40.193.in-addr.arpa. 1D IN NS        ns.lenin.ee.&lt;br /&gt;
&lt;br /&gt;
Kui nüüd tipptaseme nimeserverisse tuleb päringud näiteks mõne domeeni loomaaed.ee. jääva domeeninime kohta, siis saadetakse kliente vaheldumisi ühe ja teise nimeserveri juurde. Seega põhimõtteliselt saab nimeserveri abil ka teenust pakkuvate serverite koormust jagada.&lt;br /&gt;
&lt;br /&gt;
Sarnaselt käitutakse ka in-addr.arpa. domeeni tulevate päringutega.&lt;br /&gt;
&lt;br /&gt;
===Tsooni vabrik.ee. nimeserverite seadistamine===&lt;br /&gt;
&lt;br /&gt;
Nimeserveri seadistusfail /etc/named.conf eeldusel, et muid tsoone ei ole seal kirjeldatud&lt;br /&gt;
&lt;br /&gt;
 options {&lt;br /&gt;
         directory &amp;quot;/var/named&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 zone &amp;quot;.&amp;quot; IN {&lt;br /&gt;
         type hint;&lt;br /&gt;
         file &amp;quot;root.hints&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 zone &amp;quot;localhost&amp;quot; IN {&lt;br /&gt;
         type master;&lt;br /&gt;
         file &amp;quot;localhost.zone&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 zone &amp;quot;0.0.127.in-addr.arpa&amp;quot; IN {&lt;br /&gt;
         type master;&lt;br /&gt;
         file &amp;quot;0.0.127.zone&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 zone &amp;quot;vabrik.ee&amp;quot; IN {&lt;br /&gt;
         type master;&lt;br /&gt;
         file &amp;quot;vabrik.ee.zone&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 zone &amp;quot;15.40.193.in-addr.arpa&amp;quot; IN {&lt;br /&gt;
         type master;&lt;br /&gt;
         file &amp;quot;15.40.193.zone&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
localhost domeeni ja juurnimeservereid puudutav osa tuleb seadistada sarnaselt punktis &amp;quot;Nimeserveri tööleseadmine&amp;quot; kirjeldatule.&lt;br /&gt;
&lt;br /&gt;
Järgmisena toome ära tsooni vabrik.ee. primaarse nimeserveri tsoonifailide sisu&lt;br /&gt;
&lt;br /&gt;
Vabriku päriteisendustele vastav tsoonifail vabrik.ee.zone on sellise sisuga &lt;br /&gt;
&lt;br /&gt;
 $TTL    86400&lt;br /&gt;
 @            1D IN SOA   alasi.vabrik.ee. root.vabrik.ee. (&lt;br /&gt;
                                         2001072801      ; serial&lt;br /&gt;
                                         3H              ; refresh&lt;br /&gt;
                                         15M             ; retry&lt;br /&gt;
                                         1W              ; expiry&lt;br /&gt;
                                         1D )            ; minimum&lt;br /&gt;
 vabrik.ee.               1D IN NS        alasi.vabrik.ee.&lt;br /&gt;
 vabrik.ee.               1D IN NS        ns.lenin.ee.&lt;br /&gt;
 alasi.vabrik.ee.         1D IN A         193.40.15.1&lt;br /&gt;
 vabrik.ee.               1D IN A         193.40.15.1&lt;br /&gt;
 vork.vabrik.ee.          1D IN A         193.40.15.0&lt;br /&gt;
 levi.vabrik.ee.          1D IN A         193.40.15.255&lt;br /&gt;
 kangasteljed.vabrik.ee.  1D IN A         193.40.15.2 &lt;br /&gt;
&lt;br /&gt;
Omanimelise tsooni tsoonifaili sees olevaid domeeni NS kirjeid nimetatakse pädevuskirjeteks. Pange tähele, et SOA kirjes näidatakse tsooni primaarse nimeserveri nimi.&lt;br /&gt;
&lt;br /&gt;
Vabriku pöördteisendustele vastav tsoonifail 15.40.193.zone on sellise sisuga &lt;br /&gt;
&lt;br /&gt;
 $TTL    86400&lt;br /&gt;
 @           1D IN SOA   vabrik.ee. root.vabrik.ee. (&lt;br /&gt;
                                         2001072801      ; serial&lt;br /&gt;
                                         3H              ; refresh&lt;br /&gt;
                                         15M             ; retry&lt;br /&gt;
                                         1W              ; expiry&lt;br /&gt;
                                         1D )            ; minimum&lt;br /&gt;
 15.40.193.in-addr.arpa.     1D IN NS      alasi.vabrik.ee.&lt;br /&gt;
 15.40.193.in-addr.arpa.     1D IN NS      ns.lenin.ee.&lt;br /&gt;
 1.15.40.193.in-addr.arpa.   1D IN PTR     alasi.vabrik.ee.&lt;br /&gt;
 0.15.40.193.in-addr.arpa.   1D IN PTR     vork.vabrik.ee.&lt;br /&gt;
 255.15.40.193.in-addr.arpa. 1D IN PTR     levi.vabrik.ee.&lt;br /&gt;
 2.15.40.193.in-addr.arpa.   1D IN PTR     kangasteljad.vabrik.ee.&lt;br /&gt;
&lt;br /&gt;
Vabriku sekundaarses nimeserveri seadistusfailis tuleb näidata sektsioonid&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;vabrik.ee&amp;quot; {&lt;br /&gt;
         type slave;&lt;br /&gt;
         file &amp;quot;vabrik.ee.slave.zone&amp;quot;;&lt;br /&gt;
         masters {&lt;br /&gt;
                 alasi.vabrik.ee;&lt;br /&gt;
         };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;15.40.193.in-addr.arpa&amp;quot; {&lt;br /&gt;
         type slave;&lt;br /&gt;
         file &amp;quot;15.40.193.slave.zone&amp;quot;;&lt;br /&gt;
         masters {&lt;br /&gt;
                 alasi.vabrik.ee;&lt;br /&gt;
         };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
===Tsooni loomaaed.ee. nimeserverite seadistamine===&lt;br /&gt;
&lt;br /&gt;
Loomaaed nimeserveri seadistamine toimub sarnaselt vabrikule, kuid erinevusega, et delegeeritakse edasi domeen bassein.loomaaed.ee. ning vastavad pöördteisendused in-addr.arpa. domeenist. Viimase teeb keerukaks asjaolu, et ei delegeerita tervele C-klassile vastavat tsooni, vaid ainult osa.&lt;br /&gt;
&lt;br /&gt;
Nimeserveri seadistusfail /etc/named.con&lt;br /&gt;
&lt;br /&gt;
 options {&lt;br /&gt;
         directory &amp;quot;/var/named&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 zone &amp;quot;.&amp;quot; IN {&lt;br /&gt;
         type hint;&lt;br /&gt;
         file &amp;quot;root.hints&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;localhost&amp;quot; IN {&lt;br /&gt;
         type master;&lt;br /&gt;
         file &amp;quot;localhost.zone&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 zone &amp;quot;0.0.127.in-addr.arpa&amp;quot; IN {&lt;br /&gt;
         type master;&lt;br /&gt;
         file &amp;quot;0.0.127.zone&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 zone &amp;quot;loomaaed.ee&amp;quot; IN {&lt;br /&gt;
         type master;&lt;br /&gt;
         file &amp;quot;loomaaed.ee.zone&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 zone &amp;quot;10.40.193.in-addr.arpa&amp;quot; IN {&lt;br /&gt;
         type master;&lt;br /&gt;
         file &amp;quot;10.40.193.zone&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
localhost domeeni ja juurnimeservereid puudutav osa tuleb seadistada sarnaselt punktis &amp;quot;Nimeserveri tööleseadmine&amp;quot; kirjeldatule.&lt;br /&gt;
&lt;br /&gt;
Järgmisena toome ära tsooni loomaaed.ee. primaarse nimeserveri tsoonifailide sisu.&lt;br /&gt;
&lt;br /&gt;
Loomaaia päriteisendustele vastav tsoonifail loomaaed.ee.zone on sellise sisuga &lt;br /&gt;
&lt;br /&gt;
 $TTL    86400&lt;br /&gt;
 @            1D IN SOA       ns.loomaaed.ee. root.loomaaed.ee. (&lt;br /&gt;
                                         2001072801      ; serial&lt;br /&gt;
                                         3H              ; refresh&lt;br /&gt;
                                         15M             ; retry&lt;br /&gt;
                                         1W              ; expiry&lt;br /&gt;
                                         1D )            ; minimum&lt;br /&gt;
 loomaaed.ee.             1D IN NS        ns.loomaaed.ee.&lt;br /&gt;
 loomaaed.ee.             1D IN NS        ns.aafrika.ee.&lt;br /&gt;
 ns.loomaaed.ee.          1D IN A         193.40.10.129&lt;br /&gt;
 loomaaed.ee.             1D IN A         193.40.10.129&lt;br /&gt;
 vork.loomaaed.ee.        1D IN A         193.40.10.128&lt;br /&gt;
 levi.loomaaed.ee.        1D IN A         193.40.10.143&lt;br /&gt;
 bassein.loomaaed.ee.     1D IN NS        ns.bassein.loomaaed.ee.&lt;br /&gt;
 ns.bassein.loomaaed.ee.  1D IN A         193.40.10.145&lt;br /&gt;
&lt;br /&gt;
Loomaaia pöördteisendustele vastav tsoonifail 10.40.193.zone on sellise sisuga&lt;br /&gt;
&lt;br /&gt;
 $TTL    86400&lt;br /&gt;
 @           1D IN SOA   ns.loomaaed.ee. root.loomaaed.ee. (&lt;br /&gt;
                                         2001072801      ; serial&lt;br /&gt;
                                         3H              ; refresh&lt;br /&gt;
                                         15M             ; retry&lt;br /&gt;
                                         1W              ; expiry&lt;br /&gt;
                                         1D )            ; minimum&lt;br /&gt;
 10.40.193.in-addr.arpa.         1D IN NS     ns.loomaaed.ee.&lt;br /&gt;
 10.40.193.in-addr.arpa.         1D IN NS     ns.aafrika.ee.&lt;br /&gt;
 129.10.40.193.in-addr.arpa.     1D IN PTR    ns.loomaaed.ee.&lt;br /&gt;
 128.10.40.193.in-addr.arpa.     1D IN PTR    vork.loomaaed.ee.&lt;br /&gt;
 143.10.40.193.in-addr.arpa.     1D IN PTR    levi.loomaaed.ee.&lt;br /&gt;
 bassein.10.40.193.in-addr.arpa. 1D IN NS     ns.bassein.loomaaed.ee.&lt;br /&gt;
 145.10.40.193.in-addr.arpa.     1D IN CNAME  145.bassein.10.40.193.in-addr.arpa.&lt;br /&gt;
 144.10.40.193.in-addr.arpa.     1D IN CNAME  144.bassein.10.40.193.in-addr.arpa.&lt;br /&gt;
 159.10.40.193.in-addr.arpa.     1D IN CNAME  159.bassein.10.40.193.in-addr.arpa.&lt;br /&gt;
 146.10.40.193.in-addr.arpa.     1D IN CNAME  146.bassein.10.40.193.in-addr.arpa.&lt;br /&gt;
&lt;br /&gt;
CNAME&#039;isid kasutatakse in-addr.arpa. domeeninimede delegeerimiseks teisele nimeserverile, kusjuures seda saab teha ühe kaupa.&lt;br /&gt;
&lt;br /&gt;
Loomaaia sekundaarse nimeserveri seadistusfailis tuleb näidata sektsioonid &lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;loomaaed.ee&amp;quot; {&lt;br /&gt;
         type slave;&lt;br /&gt;
         file &amp;quot;loomaaed.ee.slave.zone&amp;quot;;&lt;br /&gt;
         masters {&lt;br /&gt;
                 ns.loomaaed.ee;&lt;br /&gt;
         };&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 zone &amp;quot;10.40.193.in-addr.arpa&amp;quot; {&lt;br /&gt;
         type slave;&lt;br /&gt;
         file &amp;quot;10.40.193.slave.zone&amp;quot;;&lt;br /&gt;
         masters {&lt;br /&gt;
                 ns.loomaaed.ee;&lt;br /&gt;
         };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
===Tsooni bassein.loomaaed.ee. nimeserverite seadistamine===&lt;br /&gt;
&lt;br /&gt;
 options {&lt;br /&gt;
         directory &amp;quot;/var/named&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 zone &amp;quot;.&amp;quot; IN {&lt;br /&gt;
         type hint;&lt;br /&gt;
         file &amp;quot;root.hints&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 zone &amp;quot;localhost&amp;quot; IN {&lt;br /&gt;
         type master;&lt;br /&gt;
         file &amp;quot;localhost.zone&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 zone &amp;quot;0.0.127.in-addr.arpa&amp;quot; IN {&lt;br /&gt;
         type master;&lt;br /&gt;
         file &amp;quot;0.0.127.zone&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 zone &amp;quot;bassein.loomaaed.ee&amp;quot; IN {&lt;br /&gt;
         type master;&lt;br /&gt;
         file &amp;quot;vabrik.ee.zone&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 zone &amp;quot;bassein.10.40.193.in-addr.arpa&amp;quot; IN {&lt;br /&gt;
         type master;&lt;br /&gt;
         file &amp;quot;bassein.10.40.193.zone&amp;quot;;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
localhost domeeni ja juurnimeservereid puutuv osa tuleb seadistada sarnaselt punktis &amp;quot;Nimeserveri tööleseadmine&amp;quot; kirjeldatud.&lt;br /&gt;
&lt;br /&gt;
Järgmisena toome ära tsooni bassein.loomaaed.ee. primaarse nimeserveri tsoonifailide sisu. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $TTL    86400&lt;br /&gt;
 @      1D IN SOA   ns.bassein.loomaaed.ee. root.bassein.loomaaed.ee. (&lt;br /&gt;
                                         2001072801      ; serial&lt;br /&gt;
                                         3H              ; refresh&lt;br /&gt;
                                         15M             ; retry&lt;br /&gt;
                                         1W              ; expiry&lt;br /&gt;
                                         1D )            ; minimum&lt;br /&gt;
 bassein.loomaaed.ee.            1D IN NS        ns.bassein.loomaaed.ee.&lt;br /&gt;
 ns.bassein.loomaaed.ee.         1D IN A         193.40.10.145&lt;br /&gt;
 bassein.loomaaed.ee.            1D IN A         193.40.10.145&lt;br /&gt;
 vork.bassein.loomaaed.ee.       1D IN A         193.40.10.144&lt;br /&gt;
 levi.bassein.loomaaed.ee.       1D IN A         193.40.10.159&lt;br /&gt;
 tuuker.bassein.loomaaed.ee.     1D IN A         193.40.10.146&lt;br /&gt;
&lt;br /&gt;
Basseini pöördteisendustele vastav tsoonifail bassein.10.40.193.zone on sellise sisuga&lt;br /&gt;
&lt;br /&gt;
 $TTL    86400&lt;br /&gt;
 @       1D IN SOA   ns.bassein.loomaaed.ee. root.bassein.loomaaed.ee. (&lt;br /&gt;
                                         2001072801      ; serial&lt;br /&gt;
                                         3H              ; refresh&lt;br /&gt;
                                         15M             ; retry&lt;br /&gt;
                                         1W              ; expiry&lt;br /&gt;
                                         1D )            ; minimum&lt;br /&gt;
 bassein.10.40.193.in-addr.arpa.       1D IN NS    ns.bassein.loomaaed.ee.&lt;br /&gt;
 45.bassein.10.40.193.in-addr.arpa.    1D IN PTR     ns.bassein.loomaaed.ee.&lt;br /&gt;
 44.bassein.10.40.193.in-addr.arpa.    1D IN PTR     vork.bassein.loomaaed.ee.&lt;br /&gt;
 59.bassein.10.40.193.in-addr.arpa.    1D IN PTR     levi.bassein.loomaaed.ee.&lt;br /&gt;
 46.bassein.10.40.193.in-addr.arpa.    1D IN PTR     tuuker.bassein.loomaaed.ee.&lt;br /&gt;
&lt;br /&gt;
Basseini sekundaarse nimeserveri, milleks võiks kasutada näiteks nimeserverit ns.loomaaed.ee., seadistusfailis tuleb näidata sektsioonid&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;bassein.loomaaed.ee&amp;quot; {&lt;br /&gt;
         type slave;&lt;br /&gt;
         file &amp;quot;bassein.loomaaed.ee.slave.zone&amp;quot;;&lt;br /&gt;
         masters {&lt;br /&gt;
                 ns.bassein.loomaaed.ee;&lt;br /&gt;
         };&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 zone &amp;quot;bassein.10.40.193.in-addr.arpa&amp;quot; {&lt;br /&gt;
         type slave;&lt;br /&gt;
         file &amp;quot;bassein.10.40.193.slave.zone&amp;quot;;&lt;br /&gt;
         masters {&lt;br /&gt;
                 ns.bassein.loomaaed.ee;&lt;br /&gt;
         };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
===Kontroll===&lt;br /&gt;
&lt;br /&gt;
Veendumaks, et seadistatud nimeserver toimib, kasutage näiteks programmi dig ning esitage päringuid, kopeerige tsoone.&lt;br /&gt;
&lt;br /&gt;
Tuletame meelde, et parandades tsoonifaile, tuleb suurendada ka seerianumbrit ning tsoonifailid uuesti laadida käsuga &lt;br /&gt;
&lt;br /&gt;
 bash# rndc reload&lt;br /&gt;
&lt;br /&gt;
Kui te muudate ka nimeserveri seadistusfaili /etc/named.conf, siis tuleb nimeserver uuesti käivitada&lt;br /&gt;
&lt;br /&gt;
 bash# rndc restart&lt;br /&gt;
&lt;br /&gt;
ning jälgige samal ajal süsteemi logisse ilmuvaid teateid&lt;br /&gt;
&lt;br /&gt;
 bash# tail -f /var/log/messages&lt;br /&gt;
&lt;br /&gt;
===Ilma tsoonita domeen===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Palas täitsime kõik püstitatud ülesanded, sh delegeerisime domeeni bassein.loomaaed.ee. ja in-addr.arpa. domeeni osa edasi nimeserverile ns.bassein.loomaaed.ee.&lt;br /&gt;
&lt;br /&gt;
Nimesüsteemi kasutajaile pealtnäha sama tulemuse oleks saanud saavutada ka kahel muul moel ilma teise nimeserveri abita:&lt;br /&gt;
&lt;br /&gt;
    * delegeerides domeeni bassein.loomaaed.ee. samale nimeserverile ns.loomaaed.ee. ning kirjeldades vastava tsoonifaili&lt;br /&gt;
    * kirjeldades samas loomaaed.ee. tsoonifailis ka bassein.loomaaed.ee. domeeninimed &lt;br /&gt;
&lt;br /&gt;
Esimene variant on täiesti analoogne eespool tooduga, ainult tuleb delegatsiooni muuta.&lt;br /&gt;
&lt;br /&gt;
Teisel juhu päri-ja pöördteisendustele vastavad tsoonid esitame siinkohal.&lt;br /&gt;
&lt;br /&gt;
Tsooni loomaaed.ee. primaarse nimeserveri päriteisenduste tsoonifaili loomaaed.ee.zone sisu &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 $TTL    86400&lt;br /&gt;
 @                 1D IN SOA       ns.loomaaed.ee. root.loomaaed.ee. (&lt;br /&gt;
                                         2001072801      ; serial&lt;br /&gt;
                                         3H              ; refresh&lt;br /&gt;
                                         15M             ; retry  &lt;br /&gt;
                                         1W              ; expiry &lt;br /&gt;
                                         1D )            ; minimum&lt;br /&gt;
 loomaaed.ee.                 1D IN NS        ns.loomaaed.ee.&lt;br /&gt;
 loomaaed.ee.                 1D IN NS        ns.aafrika.ee.&lt;br /&gt;
 ns.loomaaed.ee.              1D IN A         193.40.10.129  &lt;br /&gt;
 loomaaed.ee.                 1D IN A         193.40.10.129  &lt;br /&gt;
 vork.loomaaed.ee.            1D IN A         193.40.10.128  &lt;br /&gt;
 levi.loomaaed.ee.            1D IN A         193.40.10.143  &lt;br /&gt;
 ns.bassein.loomaaed.ee.      1D IN A         193.40.10.145&lt;br /&gt;
 vork.bassein.loomaaed.ee.    1D IN A         193.40.10.144&lt;br /&gt;
 levi.bassein.loomaaed.ee.    1D IN A         193.40.10.159&lt;br /&gt;
 tuuker.bassein.loomaaed.ee.  1D IN A         193.40.15.146&lt;br /&gt;
&lt;br /&gt;
Loomaaia pöördteisendustele vastav tsoonifail 10.40.193.zone on sellise sisuga&lt;br /&gt;
&lt;br /&gt;
 $TTL    86400&lt;br /&gt;
 @            1D IN SOA   ns.loomaaed.ee. root.loomaaed.ee. (&lt;br /&gt;
                                         2001072801      ; serial&lt;br /&gt;
                                         3H              ; refresh&lt;br /&gt;
                                         15M             ; retry  &lt;br /&gt;
                                         1W              ; expiry &lt;br /&gt;
                                         1D )            ; minimum&lt;br /&gt;
 10.40.193.in-addr.arpa.     1D IN NS     ns.loomaaed.ee.&lt;br /&gt;
 10.40.193.in-addr.arpa.     1D IN NS     ns.aafrika.ee.&lt;br /&gt;
 129.10.40.193.in-addr.arpa. 1D IN PTR    ns.loomaaed.ee. &lt;br /&gt;
 128.10.40.193.in-addr.arpa. 1D IN PTR    vork.loomaaed.ee.&lt;br /&gt;
 143.10.40.193.in-addr.arpa. 1D IN PTR    levi.loomaaed.ee.&lt;br /&gt;
 145.10.40.193.in-addr.arpa. 1D IN PTR    ns.bassein.loomaaed.ee.&lt;br /&gt;
 144.10.40.193.in-addr.arpa. 1D IN PTR    vork.bassein.loomaaed.ee.&lt;br /&gt;
 159.10.40.193.in-addr.arpa. 1D IN PTR    levi.bassein.loomaaed.ee.&lt;br /&gt;
 146.10.40.193.in-addr.arpa. 1D IN PTR    tuuker.bassein.loomaaed.ee.&lt;br /&gt;
&lt;br /&gt;
Niisiis, tõepoolest domeen bassein.loomaaed.ee. on domeeninimede ruumis olemas, kuid vastav tsoon puudub. Vajadusel saab selle tsooni kasutajatele nähtamatult tekitada.&lt;br /&gt;
&lt;br /&gt;
===Varjatud primaarse nimeserveri kasutamine===&lt;br /&gt;
&lt;br /&gt;
Mõnel juhul, näiteks lähtudes turvakaalutlustest, ei soovita tsooni primaarset serverit avalikku kasutusse lülitada. Sel juhul saab korraldada nii, et avalikuks kasutuseks mõeldud tsooni sekundaarsed nimeserverid kopeerivad tsooni primaarselt ning teenindavad päringuid.&lt;br /&gt;
&lt;br /&gt;
Selleks, et ainult sekundaarsed nimeserverid omaksid õigust primaarsega suhelda, saab näiteks seada sobiva IP-paketi filtreerimisreeglite kehtestamisega primaarses nimeserveris.&lt;br /&gt;
&lt;br /&gt;
Ülemises nimeserveris, kust kõnealune tsoon on delegeeritud, tuleb delegeerimisel näidata vaid reaalselt kliente teenindavad tsooni nimeserverid, so antud juhul sekundaarsed. Kui näidata ka varjatud primaarne, siis suunatakse kliente aegajalt ka neid mitteteenindava nimeserveri juurde ning see oleks nimesüsteemi viga.&lt;/div&gt;</summary>
		<author><name>Erkko</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=V%C3%B5rgudiagnostika&amp;diff=30532</id>
		<title>Võrgudiagnostika</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=V%C3%B5rgudiagnostika&amp;diff=30532"/>
		<updated>2018-10-29T12:08:01Z</updated>

		<summary type="html">&lt;p&gt;Erkko: plaa&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Käesolev tekst on esitatud oma võrgu ja tulemüüride ning tcp/ip protokolli paremaks tundmaõppimiseks.&lt;br /&gt;
Ühtlasi tutvustatakse programme, millega saab uurida, kas võrk töötab ning kui, siis kuidas see töötab. Näiteks hinnata andmevahetuskiirusi, kuulata Etherneti pealt ja uurida millised pordid on serveritel lahti.&lt;br /&gt;
&lt;br /&gt;
Ilmselt saab allpool esitatud õpetusi kasutada nii hea- kui kuritahtlikul eesmärgil, manitseme seda tegema mitte kuritahtlikult. Tavaliselt on tuvastatav, kust tehakse ping floodi või nmapiga masinad skaneeritakse.&lt;br /&gt;
&lt;br /&gt;
Reeglina tuleb esitatud programme kasutada juurkasutajana. Näiteks toodud viiba järgi saab teada, kas programm on kasutatav ka tavakasutaja ($) või ainult juurkasutaja (#) õigustes.&lt;br /&gt;
&lt;br /&gt;
===Võrguseadmed===&lt;br /&gt;
&lt;br /&gt;
Käesolevas tekstis mõeldakse võrguseadme all arvuti füüsilist või loogilist võrguseadet, nt&lt;br /&gt;
&lt;br /&gt;
* füüsiline võrguseade - Linux puhul wlan0, eth0, eth1 jne; BSD puhul nt em0, bnx0 jne&lt;br /&gt;
* lokaalne võrguseade - Linux puhul lo; BSD puhul lo1, lo2&lt;br /&gt;
* sild - Linux puhul nt br0, br1; BSD puhul bridge0&lt;br /&gt;
* VLAN seade - Linux puhul nt vlan513, BSD puhul vlan513&lt;br /&gt;
&lt;br /&gt;
Võrguseadmete jälgimisel tuleb arvestada, et arvuti kohalik liiklus toimub üle lokaalse võrguseadme, kusjuures ka juhtumil kui arvuti eth0 seadmele on omistatud nt aadress 192.168.1.15 ning arvutist pöördutakse selle aadressi poole.&lt;br /&gt;
&lt;br /&gt;
===tcpdump===&lt;br /&gt;
&lt;br /&gt;
Programm tcpdump (kuulub paljude operatsioonisüsteemide tarkvara põhiosa koosseisu) abil saab  pealtkuulata võrguseadmel toimuvat liiklust. Tulemust võib salvestada faili või esitada ip paketti puudutavaid huvipakkuvaid andmeid programmi standardväljundisse. Oluline on tähele panna, et tcpdump kuulab liiklust võrguseadmel, st sisenevad paketid paistavad nii nagu nad olid enne RDR-teisendust ning väljuvad paketid on sellised nagu nad on peale NAT-teisendust.&lt;br /&gt;
&lt;br /&gt;
tcpdump programmiga saab filtreerida liiklust selliste standardsete tunnuste järgi&lt;br /&gt;
&lt;br /&gt;
* protokoll (nt icmp, tcp, udp, arp)&lt;br /&gt;
* andmevahetuse lähte- ja sihtpunkti ip aadress&lt;br /&gt;
* andmevahetuse lähte- ja sihtpunkti port&lt;br /&gt;
* ip paketi lippude järgi (nt salvestada vaid SYN pakette)&lt;br /&gt;
* paketi suurus&lt;br /&gt;
&lt;br /&gt;
OpenBSD puhul lisanduvad järgmised võimalused&lt;br /&gt;
&lt;br /&gt;
* paketifiltri reegli number, &#039;&#039;&lt;br /&gt;
* paketifiltri reegline määratud tegevus (pass, block, nat, rdr jt ning logitud liiklus)&lt;br /&gt;
&lt;br /&gt;
Pakettide korjamise alustamiseks võrguseadmelt ed0&lt;br /&gt;
&lt;br /&gt;
 # tcpdump -i ed0&lt;br /&gt;
&lt;br /&gt;
Oletame, et kahtlustame broadcast pakette ning seda, et nad aeglustavad võrgutööd: &lt;br /&gt;
&lt;br /&gt;
 # tcpdump -i ed0 broadcast&lt;br /&gt;
&lt;br /&gt;
Uurime kahe masina vahelist liiklust&lt;br /&gt;
&lt;br /&gt;
 # tcpdump -i ed0 host klient and server&lt;br /&gt;
&lt;br /&gt;
Veel täpsem on vaadata&lt;br /&gt;
&lt;br /&gt;
 # tcpdump -i ed0 src host klient and dnst host server&lt;br /&gt;
&lt;br /&gt;
Kõigi arvuti võrguseadmete peal töötamiseks sobib öelda&lt;br /&gt;
&lt;br /&gt;
 # tcpdump -i any ...&lt;br /&gt;
&lt;br /&gt;
====ICMP====&lt;br /&gt;
&lt;br /&gt;
Kui näiteks on kahtlusi kas kaks arvutit, 192.168.10.210 ja 192.168.10.11 (vastav võrguseade olgu em0) näevad üksteist, siis tuleks arvutis 192.168.10.210 öelda&lt;br /&gt;
&lt;br /&gt;
  # ping 192.168.10.11&lt;br /&gt;
  PING 192.168.10.11 (192.168.10.11): 56 data bytes&lt;br /&gt;
  64 bytes from 192.168.10.11: icmp_seq=0 ttl=64 time=0.422 ms&lt;br /&gt;
  64 bytes from 192.168.10.11: icmp_seq=1 ttl=64 time=0.306 ms&lt;br /&gt;
&lt;br /&gt;
ning teises arvutis võrguseadmel em0 ICMP protokolli filtreerimiseks tuleb öelda&lt;br /&gt;
&lt;br /&gt;
  # tcpdump -nettti em0 icmp&lt;br /&gt;
  tcpdump: listening on em0, link-type EN10MB&lt;br /&gt;
  May 19 16:23:10.480585 00:0e:0c:ba:4b:3e 00:16:3e:6a:0c:4b 0800 98: 192.168.10.210 &amp;gt; 192.168.10.11: icmp: echo request&lt;br /&gt;
  May 19 16:23:10.480829 00:16:3e:6a:0c:4b 00:0e:0c:ba:4b:3e 0800 98: 192.168.10.11 &amp;gt; 192.168.10.210: icmp: echo reply&lt;br /&gt;
  May 19 16:23:11.490525 00:0e:0c:ba:4b:3e 00:16:3e:6a:0c:4b 0800 98: 192.168.10.210 &amp;gt; 192.168.10.11: icmp: echo request&lt;br /&gt;
  May 19 16:23:11.490639 00:16:3e:6a:0c:4b 00:0e:0c:ba:4b:3e 0800 98: 192.168.10.11 &amp;gt; 192.168.10.210: icmp: echo reply&lt;br /&gt;
&lt;br /&gt;
Väljundina esitatakse:&lt;br /&gt;
&lt;br /&gt;
* paketi jälgimise aeg (-ttt, vt man tcpdump -t erinevaid variante)&lt;br /&gt;
* kummagi poole MAC aadressid (-e)&lt;br /&gt;
* paketi ethertype (-e, 0800 on ipv4 protokoll)&lt;br /&gt;
* ip paketi suurus baitides&lt;br /&gt;
* osaliste ip aadressid nimelahenduseta kujul (-n)&lt;br /&gt;
* paketi sisulisemad andmed, antud juhul on tegu icmp echo päringute ja vastustega&lt;br /&gt;
&lt;br /&gt;
Antud juhul saab järeldada, et võrguühendus arvutite vahel on olemas. St kuigi ping ise näitab väljundit, annab teises arvutis võrgu pealtkuulamine täieliku kinnituse, et paketid just sinna välja jõuavad.&lt;br /&gt;
&lt;br /&gt;
====TCP====&lt;br /&gt;
&lt;br /&gt;
tcpdump võimaldab kasutada avaldisi, millega peab pakett klappima, nt SYN pakettide jälgmiseks:&lt;br /&gt;
&lt;br /&gt;
  # tcpdump -n -i em0 &#039;tcp[13] &amp;amp; 2 != 0&#039; and dst 10.0.6.180 and port 80&lt;br /&gt;
&lt;br /&gt;
TCP liikluse tõlgendamine:&lt;br /&gt;
&lt;br /&gt;
 22:05:25.828149 10.50.96.138.50215 &amp;gt; 10.184.32.82.80: S 1263958777:1263958777(0) win 5840 \&lt;br /&gt;
   &amp;lt;mss 1460,sackOK,timestamp 787576523 0,nop,wscale 6&amp;gt;  (DF)&lt;br /&gt;
 22:05:25.845445 10.184.32.82.80 &amp;gt; 10.50.96.138.50215: S 1989118317:1989118317(0) ack 1263958778 win 5792 \&lt;br /&gt;
   &amp;lt;mss 1460,sackOK,timestamp 539529245 787576523,nop,wscale 6&amp;gt; (DF)&lt;br /&gt;
 22:05:25.845896 10.50.96.138.50215 &amp;gt; 10.184.32.82.80: . ack 1 win 92 &amp;lt;nop,nop,timestamp 787576527 539529245&amp;gt; (DF)&lt;br /&gt;
 22:05:25.845908 10.50.96.138.50215 &amp;gt; 10.184.32.82.80: P 1:134(133) ack 1 win 92 &amp;lt;nop,nop,timestamp 787576527 539529245&amp;gt; (DF)&lt;br /&gt;
 22:05:25.856417 10.184.32.82.80 &amp;gt; 10.50.96.138.50215: . ack 134 win 108 &amp;lt;nop,nop,timestamp 539529249 787576527&amp;gt; (DF)&lt;br /&gt;
 22:05:25.862904 10.184.32.82.80 &amp;gt; 10.50.96.138.50215: . 1:1449(1448) ack 134 win 108 &amp;lt;nop,nop,timestamp 539529249 787576527&amp;gt; (DF)&lt;br /&gt;
 22:05:25.863286 10.50.96.138.50215 &amp;gt; 10.184.32.82.80: . ack 1449 win 137 &amp;lt;nop,nop,timestamp 787576532 539529249&amp;gt; (DF)&lt;br /&gt;
 22:05:25.868800 10.184.32.82.80 &amp;gt; 10.50.96.138.50215: . 1449:2897(1448) ack 134 win 108 &amp;lt;nop,nop,timestamp 539529249 787576527&amp;gt; (DF)&lt;br /&gt;
 22:05:25.869206 10.50.96.138.50215 &amp;gt; 10.184.32.82.80: . ack 2897 win 182 &amp;lt;nop,nop,timestamp 787576533 539529249&amp;gt; (DF)&lt;br /&gt;
 22:05:25.878659 10.184.32.82.80 &amp;gt; 10.50.96.138.50215: . 2897:4345(1448) ack 134 win 108 &amp;lt;nop,nop,timestamp 539529253 787576532&amp;gt; (DF)&lt;br /&gt;
 22:05:25.879036 10.50.96.138.50215 &amp;gt; 10.184.32.82.80: . ack 4345 win 227 &amp;lt;nop,nop,timestamp 787576536 539529253&amp;gt; (DF)&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* esimene rida vastab ühenduse algatamise SYN paketile&lt;br /&gt;
* mss 1460 -  tcp maximum segment size väärtus, ütleb teisele poolele, kui suuri tcp pakette saata&lt;br /&gt;
* sackOK - selective acknowledgement on ok paketi saatja jaoks&lt;br /&gt;
* win 5840 - paketi saatja teatab paketi vastuvõtjale, et tal on puhvrit võtta ise pakette vastu 5840 baiti&lt;br /&gt;
* win 92 - kuna alguses lepiti kokku wscale=6, siis 92 tähendab 92 * 2^6 = 5888 baiti&lt;br /&gt;
* ack arv - loeb kui palju baite on paketi saatja teise poole käest vastu võtnud&lt;br /&gt;
* DF - kõigil pakettidel on seatud don&#039;t fragment&lt;br /&gt;
* nop - not operating, sisuliselt kasutatakse paddinguks&lt;br /&gt;
* 1449:2897(1448) - sulgudes olev väärtus on tcp paketi sisu suurus baitides&lt;br /&gt;
* kasutades lisaks võtit -e esitatakse eraldi tulbas etherneti frame sees kantud protokolli nimi, nt ip ning vastava paketi suurus&lt;br /&gt;
&lt;br /&gt;
====ARP====&lt;br /&gt;
&lt;br /&gt;
Huvitav on tähele panna, et tcpdump tegeleb mitme protokolliga, nt ip (0800) ja arp (0806) protokolli pakettidega, mis on saadetud arp broadcast aadressile:&lt;br /&gt;
&lt;br /&gt;
  # tcpdump -nei re0 ether host ff:ff:ff:ff:ff:ff&lt;br /&gt;
  tcpdump: listening on re0, link-type EN10MB&lt;br /&gt;
  11:00:49.928582 00:0e:0c:b0:96:b6 ff:ff:ff:ff:ff:ff 0800 210: 192.168.10.10.631 &amp;gt; 192.168.10.255.631: udp 168 (DF)&lt;br /&gt;
  11:01:08.024422 00:16:3e:00:00:01 ff:ff:ff:ff:ff:ff 0800 249: 192.168.10.41.138 &amp;gt; 192.168.10.255.138: udp 207&lt;br /&gt;
  11:01:26.338380 00:1b:21:1d:f6:06 ff:ff:ff:ff:ff:ff 0806 60: arp who-has 192.168.10.254 tell 192.168.10.250&lt;br /&gt;
&lt;br /&gt;
Kui tcpdump väljundit on vaja saata toru kaudu mõne teksti töötlevale programmile edasi on asjakohane kasutada lisaks -l võtit, mis puhverdab rea kaupa:&lt;br /&gt;
&lt;br /&gt;
  # tcpdump -nlei re0 ether host ff:ff:ff:ff:ff:ff | grep 0806&lt;br /&gt;
&lt;br /&gt;
====Liikluse salvestamine faili====&lt;br /&gt;
&lt;br /&gt;
Selleks, et salvestada tulemus ka faili:&lt;br /&gt;
&lt;br /&gt;
 # tcpdump -i ed0 -w liiklus.log&lt;br /&gt;
&lt;br /&gt;
Liikluse faili salvestamiseks sobib öelda nö tavalise MTU&#039;ga (1,5 kBaiti) võrgus nt (-s 0 võti tähendab, et salvestatakse kõik paketi sisu suurusest hoolimata):&lt;br /&gt;
&lt;br /&gt;
  # tcpdump -s 1600 -w /tmp/liiklus.log -i em0 host 10.0.6.180 and port 80&lt;br /&gt;
&lt;br /&gt;
Selliselt salvestatud liikluse analüüsimiseks sobib öelda:&lt;br /&gt;
&lt;br /&gt;
 # tcpdump -r /tmp/liiklus.log&lt;br /&gt;
&lt;br /&gt;
====IP====&lt;br /&gt;
&lt;br /&gt;
Kui IP kihis leiab aset pakettide fragmenteerumine, siis paistab see tcpdump väljundis nt selliselt:&lt;br /&gt;
&lt;br /&gt;
 23:43:36.802989 10.100.0.161.32545 &amp;gt; 10.100.1.190.80: S 3394332515:3394332515(0) win 16384 \&lt;br /&gt;
   &amp;lt;mss 8960,nop,nop,sackOK,nop,wscale 0,nop,nop,timestamp 3055259272 0&amp;gt;&lt;br /&gt;
 23:43:36.803982 10.100.1.190.80 &amp;gt; 10.100.0.161.32545: S 2791894032:2791894032(0) ack 3394332516 win 16384 \&lt;br /&gt;
   &amp;lt;mss 8960,nop,nop,sackOK,nop,wscale 0,nop,nop,timestamp 313564159 3055259272&amp;gt;&lt;br /&gt;
 23:43:36.805275 10.100.0.161.32545 &amp;gt; 10.100.1.190.80: . ack 1 win 16384 &amp;lt;nop,nop,timestamp 3055259272 313564159&amp;gt;&lt;br /&gt;
 23:43:36.805527 10.100.0.161.32545 &amp;gt; 10.100.1.190.80: P 1:67(66) ack 1 win 16384 &amp;lt;nop,nop,timestamp 3055259272 313564159&amp;gt;&lt;br /&gt;
 23:43:36.809486 10.100.1.190.80 &amp;gt; 10.100.0.161.32545: . 1:1449(1448) ack 67 win 17896 \&lt;br /&gt;
   &amp;lt;nop,nop,timestamp 313564159 0&amp;gt; (frag 35143:1480@0+)&lt;br /&gt;
 23:43:36.809503 10.100.1.190 &amp;gt; 10.100.0.161: (frag 35143:1480@1480+)&lt;br /&gt;
 23:43:36.809515 10.100.1.190 &amp;gt; 10.100.0.161: (frag 35143:1480@2960+)&lt;br /&gt;
 23:43:36.809527 10.100.1.190 &amp;gt; 10.100.0.161: (frag 35143:1480@4440+)&lt;br /&gt;
 23:43:36.809539 10.100.1.190 &amp;gt; 10.100.0.161: (frag 35143:1480@5920+)&lt;br /&gt;
 23:43:36.809554 10.100.1.190 &amp;gt; 10.100.0.161: (frag 35143:824@7400)&lt;br /&gt;
 23:43:36.810014 10.100.1.190.80 &amp;gt; 10.100.0.161.32545: P 8193:9641(1448) ack 67 win 17896 \&lt;br /&gt;
   &amp;lt;nop,nop,timestamp 313564159 0&amp;gt; (frag 46914:1480@0+)&lt;br /&gt;
 23:43:36.810030 10.100.1.190 &amp;gt; 10.100.0.161: (frag 46914:1480@1480+)&lt;br /&gt;
 23:43:36.810045 10.100.1.190 &amp;gt; 10.100.0.161: (frag 46914:1452@2960)&lt;br /&gt;
 23:43:36.810157 10.100.1.190.80 &amp;gt; 10.100.0.161.32545: F 12573:12573(0) ack 67 win 17896 &amp;lt;nop,nop,timestamp 313564159 0&amp;gt;&lt;br /&gt;
 23:43:36.813600 10.100.0.161.32545 &amp;gt; 10.100.1.190.80: . ack 8193 win 16384 &amp;lt;nop,nop,timestamp 3055259272 313564159&amp;gt;&lt;br /&gt;
 23:43:36.813856 10.100.0.161.32545 &amp;gt; 10.100.1.190.80: . ack 12574 win 12004 &amp;lt;nop,nop,timestamp 3055259272 313564159&amp;gt;&lt;br /&gt;
 23:43:36.816244 10.100.0.161.32545 &amp;gt; 10.100.1.190.80: F 67:67(0) ack 12574 win 16384 &amp;lt;nop,nop,timestamp 3055259272 313564159&amp;gt;&lt;br /&gt;
 23:43:36.817042 10.100.1.190.80 &amp;gt; 10.100.0.161.32545: . ack 68 win 17896 &amp;lt;nop,nop,timestamp 313564159 0&amp;gt;&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* (frag 35143:1480@0+) - järgnevad IP fragmendid&lt;br /&gt;
* (frag 35143:824@7400) - viimane IP fragment kuna järel + märk puudub&lt;br /&gt;
&lt;br /&gt;
ICMP pakettide puhul on fragmenteerimist veel otsekohesem jälgida, öeldes ühes aknas:&lt;br /&gt;
&lt;br /&gt;
 # ping -c 1 -s 6000 192.168.209.245&lt;br /&gt;
 PING 192.168.209.245 (192.168.209.245): 6000 data bytes&lt;br /&gt;
 6008 bytes from 192.168.209.245: icmp_seq=0 ttl=56 time=74.206 ms&lt;br /&gt;
&lt;br /&gt;
Võrku pealt kuulates võib paista midagi sellist:&lt;br /&gt;
&lt;br /&gt;
 22:30:44.799162 84.50.96.138 &amp;gt; 192.168..209.245: icmp: echo request (frag 36688:1480@0+)&lt;br /&gt;
 22:30:44.799168 84.50.96.138 &amp;gt; 192.168..209.245: (frag 36688:1480@1480+)&lt;br /&gt;
 22:30:44.799175 84.50.96.138 &amp;gt; 192.168..209.245: (frag 36688:1480@2960+)&lt;br /&gt;
 22:30:44.799180 84.50.96.138 &amp;gt; 192.168..209.245: (frag 36688:1480@4440+)&lt;br /&gt;
 22:30:44.799187 84.50.96.138 &amp;gt; 192.168..209.245: (frag 36688:88@5920)&lt;br /&gt;
 22:30:44.872529 192.168.209.245 &amp;gt; 84.50.96.138: icmp: echo reply (frag 42199:1480@0+)&lt;br /&gt;
 22:30:44.872674 192.168.209.245 &amp;gt; 84.50.96.138: (frag 42199:1480@1480+)&lt;br /&gt;
 22:30:44.872774 192.168.209.245 &amp;gt; 84.50.96.138: (frag 42199:1480@2960+)&lt;br /&gt;
 22:30:44.872899 192.168.209.245 &amp;gt; 84.50.96.138: (frag 42199:1480@4440+)&lt;br /&gt;
 22:30:44.872913 192.168.209.245 &amp;gt; 84.50.96.138: (frag 42199:88@5920)&lt;br /&gt;
&lt;br /&gt;
===ping===&lt;br /&gt;
&lt;br /&gt;
Kuulub enamuse operatsioonisüsteemide pakettide hulka.&lt;br /&gt;
&lt;br /&gt;
Ping utiliidi abil saab hõlpasti veenduda, et kahe punkti vahel on füüsiliselt võrguühendus olemas. Ping kasutab andmevahetuseks ICMP (Internet Control Message Protocol) protokolli ja arusaadavalt ei tohi sellise kontrolli õnnestumiseks kahe punkti vahel olla ICMP protokolli kasutamine takistatud, täpsemini  ICMP echo request ja ICMP echo reply sõnumite vahetamine.&lt;br /&gt;
&lt;br /&gt;
Kasutamiseks tuleb ühes punktis öelda:&lt;br /&gt;
&lt;br /&gt;
  # ping 192.168.10.11&lt;br /&gt;
  PING 192.168.10.11 (192.168.10.11): 56 data bytes&lt;br /&gt;
  64 bytes from 192.168.10.11: icmp_seq=0 ttl=64 time=3.922 ms&lt;br /&gt;
  64 bytes from 192.168.10.11: icmp_seq=1 ttl=64 time=0.286 ms&lt;br /&gt;
  64 bytes from 192.168.10.11: icmp_seq=2 ttl=64 time=0.274 ms&lt;br /&gt;
  64 bytes from 192.168.10.11: icmp_seq=3 ttl=64 time=0.193 ms&lt;br /&gt;
&lt;br /&gt;
Väljundist on näha, et pöördutud aadress vastab, vastused on järjekorras ja kadudeta saabunud ning vastuse saamise aeg on suhteliselt stabiilne. Võib järeldada, et võrk toimib.&lt;br /&gt;
&lt;br /&gt;
Kasutades võtit -n ei püüa ping lahendada nimesid, tihti seisneb võrgu nö mittetöötamine valesti konfigureeritud nimeserveris või nimeserveri mittekasutamises.&lt;br /&gt;
&lt;br /&gt;
Pingimise intervalli võib ka vähendada järgnevalt:&lt;br /&gt;
&lt;br /&gt;
 # ping -i 0 -c 5 neti.ee &lt;br /&gt;
&lt;br /&gt;
Silmas tasub ainult sel juhul pidada järgnevaid asju:&lt;br /&gt;
&lt;br /&gt;
* flood ping (intervall 0) on masinate kiusamine, mõned tulemüürid võivad seda spetsiifiliselt tuvastada ja blokeerida&lt;br /&gt;
* mida lühem intervall, seda hüplikumaks muutub tulemus, pendeldades rohkem 100% ja 0% vahel&lt;br /&gt;
* alla 1 sek intervalliga ping tuleb ruudu poolt käivitada&lt;br /&gt;
&lt;br /&gt;
===traceroute===&lt;br /&gt;
&lt;br /&gt;
Samuti enamuse operatsioonisüsteemides leiduv programm.&lt;br /&gt;
&lt;br /&gt;
Traceroute utiliidi abil saab jälgida, millistest võrgusõlmedest käib läbi kahe punkti vahel toimuv liiklus. Traceroute kasutab andmevahetuseks vaikimisi UDP protokolli ning asjaolu, et kui IP pakett läbib võrgusõlme, siis vähendatakse päises olevat TTL väärtust ühe võrra kusjuures kui võrgusõlme jõuab pakett, mille TTL väärtus on üks, siis saadetakse tagasi ICMP vastus:&lt;br /&gt;
&lt;br /&gt;
   icmp: time exceeded in-transit&lt;br /&gt;
&lt;br /&gt;
UDP pakett saadetakse vaikimisi porti 33434 (eeldades, et sihtpunktiks olevas arvutis ei kuula seal teenust). Esimese paketi TTL on väärtusega 1 ning &#039;icmp: time exceeded in-transit&#039; saadakse vaikelüüsilt. Järgmise paketi TTL seatakse 2 ning &#039;icmp: time exceeded in-transit&#039; saadakse järgmises võrgu sõlmpunktis asuvalt ruuterilt jne kuni lõpuks UDP puhul saadakse sihtpunktilt vastuseks:&lt;br /&gt;
&lt;br /&gt;
  icmp: 172.168.1.1 udp port 33443 unreachable&lt;br /&gt;
&lt;br /&gt;
UDP asemel on võimalik kasutada ka ICMP või TCP protokolli, aga UDP annab praktikas kõige paremaid tulemusi. Toome näite kasutades ICMP protokolli kuna liiklust sisaldavas võrgus on tulemust nii parem näha ja esitada. Ütleme arvuti ühes promptis:&lt;br /&gt;
&lt;br /&gt;
  # traceroute -n -q 1 -I cache.eenet.ee &lt;br /&gt;
  traceroute to cache.eenet.ee (193.40.133.134), 64 hops max, 40 byte packets&lt;br /&gt;
   1  195.80.102.33  0.494 ms&lt;br /&gt;
   2  213.184.51.121  0.418 ms&lt;br /&gt;
   3  194.116.188.19  0.524 ms&lt;br /&gt;
   4  193.40.133.187  4.724 ms&lt;br /&gt;
   5  193.40.133.134  3.760 ms&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* väljundis esitatakse järjekorras kõigi võrgusõlmede aadressid, mida pakett läbib sihtpunkti jõudmiseks; täpsemalt, need on võrgusõlmpunktide traceroute kasutaja poolsete võrguseadmede aadressid&lt;br /&gt;
* iga aadressi järel esitatakse vastuse tagasijõudmiseks kulunud aeg, kusjuures aeg esitatakse iga rea kohta eraldi st viimase rea aeg ei ole kõige aegade summa (antud juhul on see ka selgesti näha, et mingil põhjusel jõudis viimase hosti juurest vastus kiiremini tagasi kui eelviimasest)&lt;br /&gt;
&lt;br /&gt;
Kuulates samas arvutis liiklust pealt teises promptis näeme:&lt;br /&gt;
&lt;br /&gt;
  # tcpdump -nttti em3 icmp &lt;br /&gt;
  tcpdump: listening on em3, link-type EN10MB&lt;br /&gt;
  May 19 18:12:08.419036 195.80.102.35 &amp;gt; 193.40.133.134: icmp: echo request [ttl 1]&lt;br /&gt;
  May 19 18:12:08.419459 195.80.102.33 &amp;gt; 195.80.102.35: icmp: time exceeded in-transit [tos 0xc0]&lt;br /&gt;
  May 19 18:12:08.419659 195.80.102.35 &amp;gt; 193.40.133.134: icmp: echo request&lt;br /&gt;
  May 19 18:12:08.419957 213.184.51.121 &amp;gt; 195.80.102.35: icmp: time exceeded in-transit [tos 0xc0]&lt;br /&gt;
  May 19 18:12:08.420152 195.80.102.35 &amp;gt; 193.40.133.134: icmp: echo request&lt;br /&gt;
  May 19 18:12:08.420582 194.116.188.19 &amp;gt; 195.80.102.35: icmp: time exceeded in-transit&lt;br /&gt;
  May 19 18:12:08.420760 195.80.102.35 &amp;gt; 193.40.133.134: icmp: echo request&lt;br /&gt;
  May 19 18:12:08.424455 193.40.133.187 &amp;gt; 195.80.102.35: icmp: time exceeded in-transit&lt;br /&gt;
  May 19 18:12:08.424638 195.80.102.35 &amp;gt; 193.40.133.134: icmp: echo request&lt;br /&gt;
  May 19 18:12:08.428660 193.40.133.134 &amp;gt; 195.80.102.35: icmp: echo reply&lt;br /&gt;
&lt;br /&gt;
Vahel esineb traceroute väljundis real * märk, mis tähendab, et vaatlusalune võrgusõlm ei vastanud &#039;icmp: time exceeded in-transit&#039; teatega või see teade ei jõudnud kohale&lt;br /&gt;
&lt;br /&gt;
  # traceroute -n -q 1 -I www.eenet.ee&lt;br /&gt;
  traceroute to www.eenet.ee (193.40.0.131), 64 hops max, 60 byte packets&lt;br /&gt;
   1  84.50.96.137  58.500 ms&lt;br /&gt;
   2  88.196.144.137  5.230 ms&lt;br /&gt;
   3  90.190.153.17  4.325 ms&lt;br /&gt;
   4  195.250.191.17  8.805 ms&lt;br /&gt;
   5  *&lt;br /&gt;
   6  194.116.188.19  9.124 ms&lt;br /&gt;
   7  193.40.133.187  11.953 ms&lt;br /&gt;
   8  193.40.0.131  11.744 ms&lt;br /&gt;
&lt;br /&gt;
TCP ja port 80 tracroute:&lt;br /&gt;
&lt;br /&gt;
 # traceroute -n -q 1 -T www.eenet.ee -p 80&lt;br /&gt;
 traceroute to www.eenet.ee (193.40.0.131), 30 hops max, 60 byte packets&lt;br /&gt;
  1  10.0.0.1  0.313 ms&lt;br /&gt;
  2  184.50.25.1  0.659 ms&lt;br /&gt;
  3  184.50.157.2  5.896 ms&lt;br /&gt;
  4  213.168.1.18  3.562 ms&lt;br /&gt;
  5  213.168.1.27  3.680 ms&lt;br /&gt;
  6  195.250.170.70  3.797 ms&lt;br /&gt;
  7  193.40.133.6  6.987 ms&lt;br /&gt;
  8  193.40.133.26  7.113 ms&lt;br /&gt;
  9  193.40.0.131  7.993 ms&lt;br /&gt;
&lt;br /&gt;
===tracepath===&lt;br /&gt;
&lt;br /&gt;
tracepath programmi abil saab teha kindlaks Path MTU väärtusi, paigaldamiseks tuleb Debian Lenny keskkonnas öelda:&lt;br /&gt;
&lt;br /&gt;
 # apt-get install iputils-tracepath&lt;br /&gt;
&lt;br /&gt;
Kasutamine toimub selliselt:&lt;br /&gt;
&lt;br /&gt;
 $ tracepath -n 192.168.1.4&lt;br /&gt;
  1:  192.168.10.10     0.062ms pmtu 1500&lt;br /&gt;
  1:  192.168.10.210    0.444ms &lt;br /&gt;
  1:  192.168.10.210    0.220ms &lt;br /&gt;
  2:  192.168.1.4       0.835ms reached&lt;br /&gt;
      Resume: pmtu 1500 hops 2 back 63&lt;br /&gt;
&lt;br /&gt;
Kasulikud lisamaterjalid:&lt;br /&gt;
&lt;br /&gt;
* http://en.wikipedia.org/wiki/Path_MTU_Discovery&lt;br /&gt;
&lt;br /&gt;
===nmap===&lt;br /&gt;
&lt;br /&gt;
Programm nmap on populaarne võrgu kaardistamise vahend, mida võrguadministraatorid ja süsteemiadministraatorid armastavad kasutada teenuste kontrollimiseks, samuti diagnostikavahendina probleemide või kahtluste olemasolul. Lisaks tundub, et pahalased kasutavad sarnast võrgu kaardistamise vahendit ründe sihtmärkide kindlakstegemiseks. Nmap töö põhineb erinevate omadustega pakettide väljasaatmisel ning vastuste (sh vastuste saamatajäämise) analüüsil. Üldiselt võiks eristada kahte taset nmapi kasutamisel:&lt;br /&gt;
&lt;br /&gt;
* võrgus arvutite leidmine (host discovery)&lt;br /&gt;
* üksikute arvutite omaduste kindlakstegemine (nt millistel portidel pakutakse teenust) (port scanning)&lt;br /&gt;
&lt;br /&gt;
Nmap ei kuulu enamuse operatsioonisüsteemi baaskonfiguratsiooni ning tuleb eelnevalt&lt;br /&gt;
paketihalduse vahenditega paigaldada.&lt;br /&gt;
&lt;br /&gt;
Nt Debian v. 7 Wheezy puhul sobib öelda, et ei paigaldatakse hulka Recommends olekus pakette:&lt;br /&gt;
&lt;br /&gt;
 # apt-get --no-install-recommends install nmap&lt;br /&gt;
&lt;br /&gt;
====võrgust arvutite leidmine====&lt;br /&gt;
&lt;br /&gt;
Võrgus arvutite kindlakstegemiseks on nmap&#039;il kaks võtit, -sL ja -sP&lt;br /&gt;
&lt;br /&gt;
Selleks, et lihtsalt kuvada subnetis olevad ip aadressid koos pöördteisendustega, mingit skaneerimist ei toimu:&lt;br /&gt;
&lt;br /&gt;
  # nmap -sL 192.168.1.0/24&lt;br /&gt;
  &lt;br /&gt;
  Starting Nmap 4.53 ( http://insecure.org ) at 2008-06-23 22:30 EEST&lt;br /&gt;
  Host 192.168.1.0 not scanned&lt;br /&gt;
  Host sipsik.loomaaed.tartu.ee (192.168.1.1) not scanned&lt;br /&gt;
  Host www.loomaaed.tartu.ee (192.168.1.2) not scanned&lt;br /&gt;
  Host vaktsiin.loomaaed.tartu.ee (192.168.1.3) not scanned&lt;br /&gt;
  Host loomaaed.tartu.ee (192.168.1.4) not scanned&lt;br /&gt;
  Host 192.168.1.5 not scanned&lt;br /&gt;
  Host hilja.loomaaed.tartu.ee (192.168.1.6) not scanned&lt;br /&gt;
  ..&lt;br /&gt;
  Nmap done: 256 IP addresses (0 hosts up) scanned in 0.142 seconds&lt;br /&gt;
&lt;br /&gt;
Selleks, et saada subnetis olevate arvutite mac aadresside nimekirja sobib öelda:&lt;br /&gt;
&lt;br /&gt;
  # nmap -sP 192.168.1.0/24 -n&lt;br /&gt;
  &lt;br /&gt;
  Starting Nmap 4.53 ( http://insecure.org ) at 2008-06-23 23:03 EEST&lt;br /&gt;
  Host 192.168.1.1 appears to be up.&lt;br /&gt;
  MAC Address: 00:16:3E:1C:3C:B3 (Xensource)&lt;br /&gt;
  Host 192.168.1.2 appears to be up.&lt;br /&gt;
  MAC Address: 00:16:3E:2C:7E:DD (Xensource)&lt;br /&gt;
  Host 192.168.1.3 appears to be up.&lt;br /&gt;
  MAC Address: 00:18:F8:E5:F8:F2 (Cisco-Linksys)&lt;br /&gt;
  Host 192.168.1.4 appears to be up.&lt;br /&gt;
  MAC Address: 00:0C:42:07:1A:46 (Routerboard.com)&lt;br /&gt;
  Nmap done: 256 IP addresses (5 hosts up) scanned in 6.054 seconds&lt;br /&gt;
&lt;br /&gt;
Kui nö teises aknas võrku kuulata, näeb, et nmap teeb subneti iga ip aadressi kohta arp päringu, väga efektiivne moodus arvuti olemasolu kindlakstegemiseks:&lt;br /&gt;
&lt;br /&gt;
  # tcpdump -nettti fxp1 arp&lt;br /&gt;
  Jun 23 22:49:26.743432 00:02:55:ee:42:72 ff:ff:ff:ff:ff:ff 0806 42: arp who-has 192.168.1.1 (ff:ff:ff:ff:ff:ff) tell 192.168.1.254&lt;br /&gt;
  Jun 23 22:49:26.743466 00:02:55:ee:42:72 ff:ff:ff:ff:ff:ff 0806 42: arp who-has 192.168.1.2 (ff:ff:ff:ff:ff:ff) tell 192.168.1.254&lt;br /&gt;
  Jun 23 22:49:26.943286 00:02:55:ee:42:72 ff:ff:ff:ff:ff:ff 0806 42: arp who-has 192.168.1.3 (ff:ff:ff:ff:ff:ff) tell 192.168.1.254&lt;br /&gt;
  Jun 23 22:49:26.943339 00:02:55:ee:42:72 ff:ff:ff:ff:ff:ff 0806 42: arp who-has 192.168.1.4 (ff:ff:ff:ff:ff:ff) tell 192.168.1.254&lt;br /&gt;
  ..&lt;br /&gt;
&lt;br /&gt;
Kui sedasi pöörduda mittelokaalse võrgu poole, siis nmap saadab icmp echo requesti ning tcp ack paketi porti 80 (mis tavaliselt ei saa tulemüüridest edasi, kuna ei kuulu ühenduse hulka) ning näitab samuti tulemust.&lt;br /&gt;
&lt;br /&gt;
Lisaks saab -sP võtmega koos kasutada nn probe&#039;isid (-PS, -PA jt) võtmeid, et vaikimisi käitumist muuta.&lt;br /&gt;
&lt;br /&gt;
Nmap programmi võrgust arvutite leidmise protseduuri väljundi saab salvestada faili, et seda seejärel üksikute arvutite omaduste kindlakstegemiseks kasutada, näiteks selliselt, -oG võtme kasutamisel salvestatakse väljund võimalikult nö grep&#039;itavas formaadis&lt;br /&gt;
&lt;br /&gt;
  # nmap -sP 192.168.1.0/24 -oG /tmp/nmap-192.168.1.0-24.log&lt;br /&gt;
&lt;br /&gt;
====Üksikute arvutite omaduste kindlakstegemine====&lt;br /&gt;
&lt;br /&gt;
Üksikute arvutite omaduste all mõeldaks seda, millises olekus on tema erinevad pordid, näiteks:&lt;br /&gt;
&lt;br /&gt;
* open - pordil töötab rakendus&lt;br /&gt;
* closed - pordile ei ole ligipääs takistatud, aga rakendust ei tööta (tavaliselt saadab arvuti nmapile vastuseks RST paketi)&lt;br /&gt;
* filtered - nmap ei saa kindlaks teha pordi olekut (kas open või closed) kuna vaatlusaluses endas või tema eest töötab paketifilter&lt;br /&gt;
&lt;br /&gt;
Tegemaks kindlaks, kas failis /tmp/192.168.1.0-24.log sisalduvatel ip aadressidel vastab SYN paketile 22 port tuleb näiteks öelda:&lt;br /&gt;
&lt;br /&gt;
  # nmap -p T:22 -sS -iL /tmp/nmap.log -PN -oG -&lt;br /&gt;
&lt;br /&gt;
* -oG - tundub, et väljund on sedasi pisut paremini loetav kui vaikimisi&lt;br /&gt;
* -PN - nmap ei soorita taustal nn host discovery&#039;t, kui tcpflow abil liiklust jälgida, on pilt selgem&lt;br /&gt;
&lt;br /&gt;
Sedasi on näiteks ka hea kontrollida, kas oma synproxy režiimis käivitatud tulemüür ikka toimib nõuetekohaselt.&lt;br /&gt;
&lt;br /&gt;
Nmap võimaldab vaatlusaluse arvuti tcp/ip stackiga suhtlemisel saadud info põhjal kaudselt ennustada selle arvuti operatsioonisüsteemi ning portidel kuulavate tarkvarade versioonid:&lt;br /&gt;
&lt;br /&gt;
  # nmap -A 192.168.0.239     &lt;br /&gt;
  Starting Nmap 4.53 ( http://insecure.org ) at 2008-04-10 23:12 EEST&lt;br /&gt;
  Interesting ports on 192.168.0.239:&lt;br /&gt;
  Not shown: 1711 closed ports&lt;br /&gt;
  PORT    STATE SERVICE VERSION&lt;br /&gt;
  22/tcp  open  ssh     OpenSSH 4.7p1 Debian 2 (protocol 2.0)&lt;br /&gt;
  MAC Address: 00:11:25:85:64:34 (IBM)&lt;br /&gt;
  Device type: general purpose&lt;br /&gt;
  Running: Linux 2.6.X&lt;br /&gt;
  OS details: Linux 2.6.17 - 2.6.20&lt;br /&gt;
  Uptime: 0.640 days (since Thu Apr 10 07:51:45 2008)&lt;br /&gt;
  Network Distance: 1 hop&lt;br /&gt;
  Service Info: OSs: Unix, Linux&lt;br /&gt;
  &lt;br /&gt;
  OS and Service detection performed. Please report any incorrect results at http://insecure.org/nmap/submit/ .&lt;br /&gt;
  Nmap done: 1 IP address (1 host up) scanned in 20.592 seconds&lt;br /&gt;
&lt;br /&gt;
TCP handshake&#039;i tegemiseks sobib kasutada, nn connect scan:&lt;br /&gt;
&lt;br /&gt;
  # nmap -p T:443 -sT -PN 192.168.0.239&lt;br /&gt;
&lt;br /&gt;
Lisaks saab seada tcp paketi lippe ka näidates vajalikud lipud otse, nt seada SYN ja ACK, korrektselt seadistatud tulemüürist selline pakett läbi minna ei tohiks:&lt;br /&gt;
&lt;br /&gt;
 # nmap -p T:80 --scanflags SYNACK -PN 192.168.0.239&lt;br /&gt;
&lt;br /&gt;
IP aadressiga seotud portide vahemiku tcp handshake skaneerimine:&lt;br /&gt;
&lt;br /&gt;
 # nmap -p T:22-100 -sT -Pn 192.168.0.111&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* -p T:22-100 - portide vahemik ja TCP (tegelikult -T on ta niikuinii antud juhul ja selle võiks ka ära jätta)&lt;br /&gt;
* -Pn - mitte pingida, st saadetakse vaid tcp syn jne pakette&lt;br /&gt;
* -sT - tcp handshake skaneerimine&lt;br /&gt;
&lt;br /&gt;
Mitme ip aadressi puhul:&lt;br /&gt;
&lt;br /&gt;
 # nmap -p T:22-100 -sT -Pn 192.168.0.111-116 -o /var/tmp/nmap-20180222.log&lt;br /&gt;
&lt;br /&gt;
====Võrgust teatud omadustega arvutite otsimine====&lt;br /&gt;
&lt;br /&gt;
 # nmap -PS -p 443 192.168.2.200-245&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* -PS - tcp syn&lt;br /&gt;
* -p 443 - port&lt;br /&gt;
* 192.168.2.200-245 - ip vahemik&lt;br /&gt;
&lt;br /&gt;
====Turvavigade kontroll====&lt;br /&gt;
&lt;br /&gt;
Tööks vajalikud huvitavad failid asuvad kaustas nmap/scripts/smb-check-vulns.nse&lt;br /&gt;
nt FreeBSD&#039;s /usr/local/share/nmap/scripts/&lt;br /&gt;
&lt;br /&gt;
Ideepoolest peaks töötama ka käsk:&lt;br /&gt;
&lt;br /&gt;
 # nmap --script-updatedb&lt;br /&gt;
 Starting Nmap 4.85BETA7 ( http://nmap.org ) at 2009-09-15 00:33 EEST&lt;br /&gt;
 NSE script database updated successfully.&lt;br /&gt;
 Nmap done: 0 IP addresses (0 hosts up) scanned in 0.23 seconds&lt;br /&gt;
&lt;br /&gt;
Salvestame nmapi töö faili mis meie subneti nimeline ning viime läbi&lt;br /&gt;
SYN skänni pordile 445 ning käivitame SMB vigade kontrollimiseks mõeldud NSE skripti&lt;br /&gt;
ja teeme seda kõigile arvutitele 192.168.1.0/24 võrgus.&lt;br /&gt;
&lt;br /&gt;
 nmap -oA 192168-filename -sS -p445 --script smb-check-vulns.nse 192.168.1.0/24&lt;br /&gt;
&lt;br /&gt;
Tulemused võivad välja näha näiteks järgnevad:&lt;br /&gt;
&lt;br /&gt;
 Interesting ports on kasutaja.zoo.tartu.ee (192.168.1.5):&lt;br /&gt;
 PORT    STATE SERVICE&lt;br /&gt;
 445/tcp open  microsoft-ds&lt;br /&gt;
 MAC Address: 00:03:0D:51:E5:CA (Uniwill Computer)&lt;br /&gt;
 &lt;br /&gt;
 Host script results:&lt;br /&gt;
 |_ smb-check-vulns: This host is likely vulnerable to MS08-067 (it&lt;br /&gt;
 stopped responding during the test)&lt;br /&gt;
&lt;br /&gt;
Skriptide poole pöördudes võib kasutada ka järgmist lähenemist:&lt;br /&gt;
&lt;br /&gt;
 nmap --script &amp;quot;http-*&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Mis laadib kõik skriptid millede nimi algab httpd- reaga, näiteks http-auth ja http-open-proxy&lt;br /&gt;
&lt;br /&gt;
Või siis laadime kõik skriptid, välja arvatud intrusive kategooriast:&lt;br /&gt;
&lt;br /&gt;
 nmap --script &amp;quot;not intrusive&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Vaikimisi kategoriseeritud default ja safe kataloogi:&lt;br /&gt;
&lt;br /&gt;
 nmap --script &amp;quot;default or safe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====nping====&lt;br /&gt;
&lt;br /&gt;
nmap paketi koosseisu kuulub nping programm, mis on natuke sarnane oma võimalustelt hping ja pingile.&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
====ncat====&lt;br /&gt;
&lt;br /&gt;
nmap paketi koosseisu kuulub ncat programm, mis on natuke sarnane oma võimalustelt netcat programmile.&lt;br /&gt;
&lt;br /&gt;
===arping===&lt;br /&gt;
&lt;br /&gt;
Erinevalt programmist ping, mis saadab võrku ip pakette (ethertype 0x0800) tekitab arping arp pakette (ethertype 0x0806). Kui ühes aknas pingida/arpingida ja teises jälgida liiklust, siis paistavad erinevused sellised:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  # ping 192.168.10.251&lt;br /&gt;
&lt;br /&gt;
  # tcpdump -nettti em0 arp or icmp&lt;br /&gt;
  Jun 24 13:27:08.032376 00:0e:0c:ba:4b:3e 00:0c:42:07:1a:45 0800 98: 192.168.10.210 &amp;gt; 192.168.10.251: icmp: echo request&lt;br /&gt;
  Jun 24 13:27:08.032511 00:0c:42:07:1a:45 00:0e:0c:ba:4b:3e 0800 98: 192.168.10.251 &amp;gt; 192.168.10.210: icmp: echo reply&lt;br /&gt;
&lt;br /&gt;
  # arping 192.168.10.251&lt;br /&gt;
&lt;br /&gt;
  # tcpdump -nettti em0 arp or icmp&lt;br /&gt;
  Jun 24 13:27:10.069533 0c:80:18:03:00:00 ff:ff:ff:ff:ff:ff 0806 42: arp who-has 192.168.10.251 tell 192.168.10.210&lt;br /&gt;
  Jun 24 13:27:10.069644 00:0c:42:07:1a:45 0c:80:18:03:00:00 0806 60: arp reply 192.168.10.251 is-at 00:0c:42:07:1a:45&lt;br /&gt;
&lt;br /&gt;
===Ssmpingiga multicasti toimimise testimine===&lt;br /&gt;
&lt;br /&gt;
Multicast ehk multiedastus võimaldab ühe saatekorraga edastada sama infot korraga valitud arvutite rühmale. Seda ei tohi segi ajada broadcastiga, mis edastab paketi absoluutselt kõigile võrgus olevatele masinatele. Multicasti töötamise jaoks on switchis tarvilik IGMP (Internet Group Management Protocol) tugi (snooping ja query). Ruuteril on tarvilik &amp;quot;multicast routing&amp;quot; tuge. Multiedastust kasutatakse laialdaselt audio-video ülekandmiseks ja clustri nodede sünkroniseerimiseks. Mittemanageeritavad switchid võivad multiedastus teateid edastada kui broadcasti kõigisse switchi portidesse ja tekitada seega võrgus üleliigset liiklust. IGMP Snoopingu halvaks küljeks on aga suurem switchi protsessori ja mälu kasutus.&lt;br /&gt;
&lt;br /&gt;
http://et.wikipedia.org/wiki/Multiedastus&lt;br /&gt;
http://en.wikipedia.org/wiki/Multicast&lt;br /&gt;
&lt;br /&gt;
Kahe masina vahel multicasti testimine ssmpingi abil. Paigaldamiseks:&lt;br /&gt;
&lt;br /&gt;
 # apt-get install ssmping&lt;br /&gt;
&lt;br /&gt;
Esimeses masinas:&lt;br /&gt;
&lt;br /&gt;
 # ssmpingd&lt;br /&gt;
&lt;br /&gt;
Teises masinas:&lt;br /&gt;
&lt;br /&gt;
 # ssmping -I eth0 &amp;lt;IP aadress&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulem võiks näha välja järgnev:&lt;br /&gt;
&lt;br /&gt;
 asmping joined (S,G) = (*,224.0.2.234)&lt;br /&gt;
 pinging 192.168.8.6 from 192.168.8.5&lt;br /&gt;
   unicast from 192.168.8.6, seq=1 dist=0 time=0.221 ms&lt;br /&gt;
   unicast from 192.168.8.6, seq=2 dist=0 time=0.229 ms&lt;br /&gt;
 multicast from 192.168.8.6, seq=2 dist=0 time=0.261 ms&lt;br /&gt;
   unicast from 192.168.8.6, seq=3 dist=0 time=0.198 ms&lt;br /&gt;
 multicast from 192.168.8.6, seq=3 dist=0 time=0.213 ms&lt;br /&gt;
   unicast from 192.168.8.6, seq=4 dist=0 time=0.234 ms&lt;br /&gt;
 multicast from 192.168.8.6, seq=4 dist=0 time=0.248 ms&lt;br /&gt;
   unicast from 192.168.8.6, seq=5 dist=0 time=0.249 ms&lt;br /&gt;
 multicast from 192.168.8.6, seq=5 dist=0 time=0.263 ms&lt;br /&gt;
   unicast from 192.168.8.6, seq=6 dist=0 time=0.250 ms&lt;br /&gt;
 multicast from 192.168.8.6, seq=6 dist=0 time=0.264 ms&lt;br /&gt;
   unicast from 192.168.8.6, seq=7 dist=0 time=0.245 ms&lt;br /&gt;
 multicast from 192.168.8.6, seq=7 dist=0 time=0.260 ms&lt;br /&gt;
&lt;br /&gt;
Nii unicast kui multicast tunduvad töötavat.&lt;br /&gt;
&lt;br /&gt;
Võime testida ka mõne kaugema serveri pihta:&lt;br /&gt;
&lt;br /&gt;
 # ssmping ssmping.uninett.no&lt;br /&gt;
 ssmping joined (S,G) = (2001:700:0:4501:158:38:0:230,ff3e::4321:1234)&lt;br /&gt;
 pinging S from 2001:bb8:2001:2:21b:21ff:fe65:54c9&lt;br /&gt;
   unicast from 2001:700:0:4501:158:38:0:230, seq=1 dist=14 time=39.017 ms&lt;br /&gt;
   unicast from 2001:700:0:4501:158:38:0:230, seq=2 dist=14 time=38.840 ms&lt;br /&gt;
   unicast from 2001:700:0:4501:158:38:0:230, seq=3 dist=14 time=38.950 ms&lt;br /&gt;
   unicast from 2001:700:0:4501:158:38:0:230, seq=4 dist=14 time=38.704 ms&lt;br /&gt;
 --- 2001:700:0:4501:158:38:0:230 statistics ---&lt;br /&gt;
 4 packets transmitted, time 3564 ms&lt;br /&gt;
 unicast:&lt;br /&gt;
   4 packets received, 0% packet loss&lt;br /&gt;
    rtt min/avg/max/std-dev = 38.704/38.877/39.017/0.269 ms&lt;br /&gt;
 multicast:&lt;br /&gt;
    0 packets received, 100% packet loss&lt;br /&gt;
&lt;br /&gt;
Viimase näite puhul multicast üle ipv6 ei paista töötavat. Unicast aga küll..&lt;br /&gt;
&lt;br /&gt;
===Ethtool===&lt;br /&gt;
&lt;br /&gt;
Selleks, et vaadata ühenduse parameetreid ning seda, kas võrgukaarti on ühendatud kaabel või ei ole on olemas töövahend ethtool. Üsna sageli võib olla segadus, et serveril&lt;br /&gt;
on 4+ võrguseadet ning raske öelda kuidaspidi on udev nad jaganud. Paigaldamiseks:&lt;br /&gt;
&lt;br /&gt;
 # apt-get install ethtool&lt;br /&gt;
&lt;br /&gt;
Kasutamine:&lt;br /&gt;
&lt;br /&gt;
 # ethtool eth0&lt;br /&gt;
&lt;br /&gt;
Ja sealt antud infost saab vaadata nt välja:&lt;br /&gt;
&lt;br /&gt;
 Link detected: yes&lt;br /&gt;
&lt;br /&gt;
Detailsema info küsimiseks:&lt;br /&gt;
&lt;br /&gt;
 # ethtool -i eth5&lt;br /&gt;
 driver: i40e&lt;br /&gt;
 version: 1.2.37&lt;br /&gt;
 firmware-version: f4.22.27454 a1.2 n4.25 e143f&lt;br /&gt;
 bus-info: 0000:06:00.1&lt;br /&gt;
 supports-statistics: yes&lt;br /&gt;
 supports-test: yes&lt;br /&gt;
 supports-eeprom-access: yes&lt;br /&gt;
 supports-register-dump: yes&lt;br /&gt;
 supports-priv-flags: yes&lt;br /&gt;
&lt;br /&gt;
===tcpflow===&lt;br /&gt;
&lt;br /&gt;
Programmi tcpflow abil on hea uurida rakenduskihile vastavate andmete liikumist võrgus, nt jälgida http päringud ja vastuseid. tcpflow salvestab käesolevasse kataloogi (current directory) tabatud liikluse automaatselt moodustatud failinimesid kasutades.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  # mkdir /tmp/ftp.aso.ee&lt;br /&gt;
  # cd /tmp/ftp.aso.ee&lt;br /&gt;
  # tcpflow -i rl0 host ftp.aso.ee                                                                                                                                       &lt;br /&gt;
  # ls -l&lt;br /&gt;
  total 8&lt;br /&gt;
  -rw-r--r--  1 root  wheel  104 Jun 13 10:22 084.050.096.138.50120-213.184.032.082.00080&lt;br /&gt;
  -rw-r--r--  1 root  wheel  847 Jun 13 10:22 213.184.032.082.00080-084.050.096.138.50120&lt;br /&gt;
&lt;br /&gt;
Failinimed sisaldavad kasutatud pordinumbreid, päring:&lt;br /&gt;
&lt;br /&gt;
  # cat 084.050.096.138.50120-213.184.032.082.00080&lt;br /&gt;
  GET /README HTTP/1.0&lt;br /&gt;
  User-Agent: Wget/1.11.2&lt;br /&gt;
  Accept: */*&lt;br /&gt;
  Host: ftp.aso.ee&lt;br /&gt;
  Connection: Keep-Alive&lt;br /&gt;
&lt;br /&gt;
ning vastus:&lt;br /&gt;
&lt;br /&gt;
  # cat 213.184.032.082.00080-084.050.096.138.50&lt;br /&gt;
  HTTP/1.1 200 OK&lt;br /&gt;
  Date: Fri, 13 Jun 2008 07:22:50 GMT&lt;br /&gt;
  Server: Apache&lt;br /&gt;
  Last-Modified: Mon, 05 Nov 2007 19:14:36 GMT&lt;br /&gt;
  ETag: &amp;quot;1c980fa-22e-53bd1f00&amp;quot;&lt;br /&gt;
  Accept-Ranges: bytes&lt;br /&gt;
  Content-Length: 558&lt;br /&gt;
  Keep-Alive: timeout=15, max=100&lt;br /&gt;
  Connection: Keep-Alive&lt;br /&gt;
  Content-Type: text/plain; charset=UTF-8&lt;br /&gt;
  &lt;br /&gt;
  Welcome to the Estonian Informatics Center&#039;s FTP server!&lt;br /&gt;
  &lt;br /&gt;
  On this server are hosted following software distributions&lt;br /&gt;
  &lt;br /&gt;
  Debian GNU/Linux - /debian&lt;br /&gt;
  Ubuntu Linux     - /pub/ubuntu&lt;br /&gt;
  Mandriva Linux   - /pub/Mandrake&lt;br /&gt;
  X-Road System    - /pub/x-tee&lt;br /&gt;
  Solaris CSW      - /pub/csw&lt;br /&gt;
  OpenBSD          - /pub/OpenBSD&lt;br /&gt;
  &lt;br /&gt;
  You can access data anonymously using http, ftp or rsync protocol and&lt;br /&gt;
  one of these domainnames: &lt;br /&gt;
  &lt;br /&gt;
  ftp.aso.ee&lt;br /&gt;
  ftp.ria.ee&lt;br /&gt;
  ftp.ee.debian.org&lt;br /&gt;
  &lt;br /&gt;
  If you have any comments or encounter problems using this archive, please send&lt;br /&gt;
  them via e-mail to ftpmaster_at_aso.ee.&lt;br /&gt;
&lt;br /&gt;
tcpdump abil salvestatud faile saab uurida&lt;br /&gt;
&lt;br /&gt;
 $ tcpflow -r failinimi.pcap&lt;br /&gt;
&lt;br /&gt;
===hping===&lt;br /&gt;
&lt;br /&gt;
Programm hping võimaldab konstrueerida ja võrku saata igasuguseid pakette ja sobib seetõttu hästi nt võrgusõlmede testimiseks. Tarkvarast on kolm populaarset versiooni, hping, hping2 ja hping3. Näiteks SYN paketi tekitamiseks tuleb öelda:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  # hping -S -c 4 -p 80 192.168.10.12&lt;br /&gt;
  HPING farm.loomaaed.tartu.ee (em0 192.168.10.12): S set, 40 headers + 0 data bytes&lt;br /&gt;
  len=46 ip=192.168.10.12 ttl=56 DF id=60008 sport=80 flags=SA seq=0 win=5840 rtt=9.4 ms&lt;br /&gt;
  len=46 ip=192.168.10.12 ttl=56 DF id=53433 sport=80 flags=SA seq=1 win=5840 rtt=9.8 ms&lt;br /&gt;
  len=46 ip=192.168.10.12 ttl=56 DF id=39504 sport=80 flags=SA seq=2 win=5840 rtt=9.5 ms&lt;br /&gt;
  len=46 ip=192.168.10.12 ttl=56 DF id=54821 sport=80 flags=SA seq=3 win=5840 rtt=9.5 ms&lt;br /&gt;
&lt;br /&gt;
kus võtmed:&lt;br /&gt;
&lt;br /&gt;
* -S - konstrueerida SYN pakett&lt;br /&gt;
* -c 4 - saata viis paketti&lt;br /&gt;
* -i arv - saata intervalliga arv sekundit, vaikimisi ühe sekundise intervalliga&lt;br /&gt;
* -p - pordile 80&lt;br /&gt;
&lt;br /&gt;
Näiteks nii saab nö tavalist ICMP pingi sooritada öeldes paketi src aadressiks 192.168.12.144:&lt;br /&gt;
&lt;br /&gt;
  # hping3 -1 -a 192.168.12.144 192.168.11.145&lt;br /&gt;
&lt;br /&gt;
Fragmenteeritud IP pakettide genereerimiseks sobib öelda:&lt;br /&gt;
&lt;br /&gt;
 # hping3 -d 5400 -E /tmp/50M -S -c 3 -p 80 192.168.10.12 -m 200&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* -d paketi andmeosa suurus&lt;br /&gt;
* -E - mida kasutada andmeosa täitmiseks&lt;br /&gt;
* -m - mtu suurus&lt;br /&gt;
&lt;br /&gt;
===netcat===&lt;br /&gt;
&lt;br /&gt;
Programm netcat võimaldab hõlpsasti testida võrku, või vahetda arvutite ning programmide vahel infot. Sarnane tuntud programmile socket. Tuleb osades operatsioonisüsteemides paigaldada, nt OpenBSD&#039;s on ta olemas. &lt;br /&gt;
Ühes arvutis tuleb ta käivitada porti kuulama öeldes, näiteks faili /tmp/filename.out kopeerimiseks:&lt;br /&gt;
&lt;br /&gt;
  # nc -l -p 1010 &amp;gt; /tmp/filename.out&lt;br /&gt;
&lt;br /&gt;
ja teisest pöörduda:&lt;br /&gt;
&lt;br /&gt;
  # nc teise.arvuti.ip.aadress 1010 &amp;lt; /tmp/filename.out&lt;br /&gt;
&lt;br /&gt;
Sedasi töötab Linuxi peal lihtne server:&lt;br /&gt;
&lt;br /&gt;
  # while true ; do cat /tmp/http.txt  | nc -l -p 1500 head --bytes 2000 &amp;gt;&amp;gt;/tmp/requests ; date &amp;gt;&amp;gt;/tmp/requests ; done&lt;br /&gt;
&lt;br /&gt;
Hädapärast saab netcati kasutades vahendada ka arvutite ning skriptide vahel infot, näiteks kuulame 1001 porti ühes masinas:&lt;br /&gt;
&lt;br /&gt;
abiks käsk testimisel:&lt;br /&gt;
&lt;br /&gt;
 nc -l -p 1001 | awk -F&amp;quot;,&amp;quot; &#039;{print $2}&#039;&lt;br /&gt;
&lt;br /&gt;
Syslogiga suhtlemine:&lt;br /&gt;
&lt;br /&gt;
 $ echo &#039;&amp;lt;0&amp;gt;message&#039; | nc -w 1 -u  192.168.102.114 514&lt;br /&gt;
&lt;br /&gt;
Whois teenuse kasutamine (20131116 - tundub, et päris nii see alati ei tööta):&lt;br /&gt;
&lt;br /&gt;
 $ echo &amp;quot;loomaaed.tartu.ee&amp;quot; | netcat 193.40.0.12 43&lt;br /&gt;
 The registry database contains only .EE, .COM.EE, .PRI.EE, .FIE.EE,&lt;br /&gt;
 .ORG.EE and .MED.EE domains.&lt;br /&gt;
 &lt;br /&gt;
 Registrant:&lt;br /&gt;
    Tartu Loomaaed&lt;br /&gt;
    Looma tee 1&lt;br /&gt;
    TEL 1234 5678&lt;br /&gt;
    FAX 8765 4321&lt;br /&gt;
 &lt;br /&gt;
    Domain Name: loomaaed.tartu.ee&lt;br /&gt;
 &lt;br /&gt;
    Contacts:&lt;br /&gt;
      Priit Kask priit@loomaaed.tartu.ee&lt;br /&gt;
 ..&lt;br /&gt;
&lt;br /&gt;
Netcat abil saab hõlpsasti demonstreerida kui lihtne on nö pordile shelli külge ühendada (see on üks põhjus, miks tuleb pigem paketifiltriga kasutamata pordid blokeerida), serveris öelda:&lt;br /&gt;
&lt;br /&gt;
 $ nc -l -p 8443 -e /bin/bash&lt;br /&gt;
&lt;br /&gt;
ja kliendis:&lt;br /&gt;
&lt;br /&gt;
 $ nc 192.168.10.10 8443&lt;br /&gt;
 /sbin/route -n&lt;br /&gt;
 Kernel IP routing table&lt;br /&gt;
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;
 0.0.0.0         192.168.10.254  0.0.0.0         UG    0      0        0 eth0&lt;br /&gt;
 192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0&lt;br /&gt;
&lt;br /&gt;
Mingi määratluse järgi jagatakse turvaauke local ja remote alla kuuluvateks. Tihtipeale annavad local augud rohkem võimalusi ja neide parandamisse suhtutaks kergekäelisemalt. Kui selline shell on kasutada, siis arusaadavalt saab eemalt ligi local aukudesse (nt käivitada spetsiaalselt ettevalmistatud faile jms).&lt;br /&gt;
&lt;br /&gt;
Tundub, et uuemal ajal sobib öelda:&lt;br /&gt;
&lt;br /&gt;
 $ cat /tmp/f | /bin/sh -i 2&amp;gt;&amp;amp;1 | nc -l 127.0.0.1 8443 &amp;gt; /tmp/f&lt;br /&gt;
&lt;br /&gt;
Võrgukiiruse primitiivseks testimine sobib öelda (iseäralik on antud juhul, et mõõdetakse puhast võrgukiirust, kohalike ketaste io ei sega):&lt;br /&gt;
&lt;br /&gt;
 netcat-server$ nc -l -p 6000 &amp;gt; /dev/null&lt;br /&gt;
 netcat-klient$ nc 192.168.10.189 6000 &amp;lt; /dev/zero&lt;br /&gt;
&lt;br /&gt;
ja liikluse kiiruse hindamiseks öelda ükskõik kummas arvutis:&lt;br /&gt;
&lt;br /&gt;
 # tcpstat -i eth0 -o &amp;quot;Time:%S\tn=%n\tavg=%a\tstddev=%d\tBaitspersecond=%B\n&amp;quot; -f &amp;quot;tcp and host 192.168.10.189 and port 6000&amp;quot; 1&lt;br /&gt;
 Time:1463902007 n=11782 avg=1044.15     stddev=672.42   Baitspersecond=12302148.00&lt;br /&gt;
 Time:1463902008 n=11603 avg=1046.16     stddev=671.66   Baitspersecond=12138628.00&lt;br /&gt;
 Time:1463902009 n=11367 avg=1056.14     stddev=667.52   Baitspersecond=12005096.00&lt;br /&gt;
 Time:1463902010 n=11652 avg=1051.81     stddev=669.35   Baitspersecond=12255700.00&lt;br /&gt;
 Time:1463902011 n=11514 avg=1053.25     stddev=668.74   Baitspersecond=12127072.00&lt;br /&gt;
&lt;br /&gt;
Lisaks peaks jälgima võrguliidestel toimuvat liiklus vigade osas, nt (errors, dropped jt):&lt;br /&gt;
&lt;br /&gt;
 # ifconfig &lt;br /&gt;
 eth0      Link encap:Ethernet  HWaddr 00:1c:c0:38:97:a9  &lt;br /&gt;
           inet addr:192.168.10.8  Bcast:192.168.10.255  Mask:255.255.255.0&lt;br /&gt;
           inet6 addr: fe80::21c:c0ff:fe38:97a9/64 Scope:Link&lt;br /&gt;
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
           RX packets:47321279 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
           TX packets:42781684 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
&lt;br /&gt;
===IPerf===&lt;br /&gt;
&lt;br /&gt;
IPerf http://www.noc.ucf.edu/Tools/Iperf/ tarkvaraga saab mõõta kahe arvuti vahelise võrguühenduse jõudlust.&lt;br /&gt;
&lt;br /&gt;
====TCP====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi kasutatakse TCP protokolli, näide: kaks masinat klient 192.168.1.2 ja server 192.168.1.3&lt;br /&gt;
&lt;br /&gt;
Server:&lt;br /&gt;
&lt;br /&gt;
 # iperf -s&lt;br /&gt;
 ------------------------------------------------------------&lt;br /&gt;
 Server listening on TCP port 5001&lt;br /&gt;
 TCP window size: 85.3 KByte (default)&lt;br /&gt;
 ------------------------------------------------------------&lt;br /&gt;
 [  4] local 192.168.1.3 port 5001 connected with 192.168.1.2 port 32054&lt;br /&gt;
 [ ID] Interval       Transfer     Bandwidth&lt;br /&gt;
 [  4]  0.0-10.0 sec    826 MBytes    692 Mbits/sec&lt;br /&gt;
&lt;br /&gt;
klient:&lt;br /&gt;
&lt;br /&gt;
 # iperf -c 192.168.1.3&lt;br /&gt;
 ------------------------------------------------------------&lt;br /&gt;
 Client connecting to 192.168.1.2, TCP port 5001&lt;br /&gt;
 TCP window size: 32.5 KByte (default)&lt;br /&gt;
 ------------------------------------------------------------&lt;br /&gt;
 [  3] local 192.168.1.2 port 32054 connected with 192.168.1.3 port 5001&lt;br /&gt;
 [ ID] Interval       Transfer     Bandwidth&lt;br /&gt;
 [  3]  0.0-10.0 sec   826 MBytes   693 Mbits/sec&lt;br /&gt;
&lt;br /&gt;
Soovides täpsemat andmehulka ette anda tuleb täpsustada kasutades võtit &#039;-l&#039;&lt;br /&gt;
&lt;br /&gt;
Vaikimisi kestab test 10 sekundit, soovides seda ajaakent suurendada tuleb kasutada võtit &#039;-t&#039;&lt;br /&gt;
&lt;br /&gt;
 # iperf -t 60 -c 192.168.1.3&lt;br /&gt;
&lt;br /&gt;
Täpsem jooksev statistika:&lt;br /&gt;
&lt;br /&gt;
 # iperf -c 192.168.1.2 -w 400k -P 2 -i 1&lt;br /&gt;
 Client connecting to 192.168.1.2, TCP port 5001&lt;br /&gt;
 TCP window size:   400 KByte&lt;br /&gt;
 ------------------------------------------------------------&lt;br /&gt;
 [ ID] Interval       Transfer     Bandwidth&lt;br /&gt;
 [SUM]  0.0- 1.0 sec  1.06 GBytes  9.07 Gbits/sec&lt;br /&gt;
 [SUM]  1.0- 2.0 sec  1.08 GBytes  9.30 Gbits/sec&lt;br /&gt;
 [SUM]  2.0- 3.0 sec  1.15 GBytes  9.89 Gbits/sec&lt;br /&gt;
 [SUM]  3.0- 4.0 sec  1.15 GBytes  9.89 Gbits/sec&lt;br /&gt;
 [SUM]  4.0- 5.0 sec  1.15 GBytes  9.89 Gbits/sec&lt;br /&gt;
 [SUM]  5.0- 6.0 sec  1.15 GBytes  9.89 Gbits/sec&lt;br /&gt;
 [SUM]  6.0- 7.0 sec  1.15 GBytes  9.89 Gbits/sec&lt;br /&gt;
 [SUM]  7.0- 8.0 sec  1.15 GBytes  9.89 Gbits/sec&lt;br /&gt;
 [SUM]  8.0- 9.0 sec  1.15 GBytes  9.89 Gbits/sec&lt;br /&gt;
 [SUM]  9.0-10.0 sec  1.15 GBytes  9.89 Gbits/sec&lt;br /&gt;
 [SUM]  0.0-10.0 sec  11.4 GBytes  9.75 Gbits/sec &lt;br /&gt;
&lt;br /&gt;
Vaikimisi kestab test 10 sekundit -t parameetriga saab muuta, lisaks saab muuta -i parameetriga statistika kuvamise intervalli.&lt;br /&gt;
&lt;br /&gt;
====UDP====&lt;br /&gt;
&lt;br /&gt;
UDP protokolli kasutamiseks tuleb lisaks kasutada kliendi ja serveri poolel lisaks suvandit -u, kusjuures UDP puhul on kiiruse piirang vaikimisi 1 Mbit/s. Kiirust saab täpsustada suvandiga -b 1000M:&lt;br /&gt;
&lt;br /&gt;
 # iperf -s -u&lt;br /&gt;
 # iperf -c 192.0.0.118 -t 600 -i 10 -l 1472 -b 20M -u&lt;br /&gt;
&lt;br /&gt;
====IPv6====&lt;br /&gt;
&lt;br /&gt;
IPv6 kasutamiseks tuleb serveri ja kliendi poolel lisaks kasutada suvandit:&lt;br /&gt;
&lt;br /&gt;
 server # iperf -V -s -u&lt;br /&gt;
 klient # iperf -V -c 2a02:98:0:a07::a00:7bf -t 600 -i 10 -l 1452 -b 20M -u&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* ipv6 puhul on ip paketi kapsli overhead 40 baiti (erinevalt ipv4 20 baidist)&lt;br /&gt;
* udp kapsli overhead on 8 baiti&lt;br /&gt;
* -l 1452 puhul ei toimu veel fragmenteerimist, suurema väärtuse puhul tekivad tõenäoliselt fragmenditud paketid&lt;br /&gt;
&lt;br /&gt;
===netstrain===&lt;br /&gt;
&lt;br /&gt;
Programm netstrain võimaldab tekitada ja jälgida võrgus tcp koormust. Ühes arvutis tuleb netstraind käivitada:&lt;br /&gt;
&lt;br /&gt;
  # netstraind -4 1010 &lt;br /&gt;
  NetStrain 3.0  (c) 2002 Christoph Pfisterer &amp;lt;cp@chrisp.de&amp;gt;&lt;br /&gt;
  Listening on 0.0.0.0 port 1010 using IPv4...&lt;br /&gt;
  One-shot server waiting for connection&lt;br /&gt;
  Incoming connection from 172.16.3.254 port 5606&lt;br /&gt;
&lt;br /&gt;
ning teisest pöörduda:&lt;br /&gt;
&lt;br /&gt;
  # netstrain -4 172.16.3.251 1010 both &lt;br /&gt;
  NetStrain 3.0  (c) 2002 Christoph Pfisterer &amp;lt;cp@chrisp.de&amp;gt;&lt;br /&gt;
  Looking up hostname 172.16.3.251...&lt;br /&gt;
  Connecting to 172.16.3.251 port 1010 using IPv4...&lt;br /&gt;
  Connected&lt;br /&gt;
  sent:      6450M,   10589.2K/s total,   10586.8K/s current&lt;br /&gt;
  recv&#039;d:    6252M,   10264.4K/s total,   10286.5K/s current&lt;br /&gt;
&lt;br /&gt;
===ipcalc ja ipv6calc===&lt;br /&gt;
&lt;br /&gt;
ipcalc on paketist paigaldatav pisike utiliit, millega saab nö võrke arvutada. Näiteks küsida milline on kaheksane subnet kuhu kuulub ip aadress 192.168.2.201:&lt;br /&gt;
&lt;br /&gt;
  # ipcalc 192.168.2.201/29&lt;br /&gt;
  address   : 192.168.2.201   &lt;br /&gt;
  netmask   : 255.255.255.248 (0xfffffff8)&lt;br /&gt;
  network   : 192.168.2.200   /29&lt;br /&gt;
  broadcast : 192.168.2.207   &lt;br /&gt;
  host min  : 192.168.2.201   &lt;br /&gt;
  host max  : 192.168.2.206   &lt;br /&gt;
  hosts/net : 6&lt;br /&gt;
&lt;br /&gt;
===sipcalc===&lt;br /&gt;
&lt;br /&gt;
sipcalc (IP subnet calculator) programmiga saab arvutada IPv4 ja IPv6 võrguaadresse:&lt;br /&gt;
&lt;br /&gt;
 $ sipcalc -a 2a01:88:0:21::2 &lt;br /&gt;
 -[ipv6 : 2a01:88:0:21::2] - 0&lt;br /&gt;
 &lt;br /&gt;
 [IPV6 INFO]&lt;br /&gt;
 Expanded Address        - 2a01:0088:0000:0021:0000:0000:0000:0002&lt;br /&gt;
 Compressed address      - 2a01:88:0:21::2&lt;br /&gt;
 Subnet prefix (masked)  - 2a01:88:0:21:0:0:0:2/128&lt;br /&gt;
 Address ID (masked)     - 0:0:0:0:0:0:0:0/128&lt;br /&gt;
 Prefix address          - ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff&lt;br /&gt;
 Prefix length           - 128&lt;br /&gt;
 Address type            - Aggregatable Global Unicast Addresses&lt;br /&gt;
 Network range           - 2a01:0088:0000:0021:0000:0000:0000:0002 -&lt;br /&gt;
                           2a01:0088:0000:0021:0000:0000:0000:0002&lt;br /&gt;
 &lt;br /&gt;
 [V4INV6]&lt;br /&gt;
 Expanded v4inv6 address - 2a01:0088:0000:0021:0000:0000:0.0.0.2&lt;br /&gt;
 Compr. v4inv6 address   - 2a01:88:0:21::0.0.0.2&lt;br /&gt;
 &lt;br /&gt;
 [IPV6 DNS]&lt;br /&gt;
 Reverse DNS (ip6.arpa)  -&lt;br /&gt;
 2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.2.0.0.0.0.0.0.8.8.0.0.1.0.a.2.ip6.arpa.&lt;br /&gt;
&lt;br /&gt;
===httping===&lt;br /&gt;
&lt;br /&gt;
httping programmiga saab esitada http päringuid eesmärgiga jälgida veebiserveri vastuste andmist. On võimalik täpsustades, kas esitatakse GET või HEAD päringuid ning millise sagedusega päringuid esitatakse. Programmi kasutamine võiks toimuda selliselt:&lt;br /&gt;
&lt;br /&gt;
  $ httping -s -S -i 2 -r -g http://www.loomaaed.tartu.ee/loomafail.cgi&lt;br /&gt;
  PING www.loomaaed.tartu.ee:80 (http://www.loomaaed.tartu.ee/loomafail.cgi):&lt;br /&gt;
  connected to www.loomaaed.tartu.ee:80, seq=0 time=11.99+501.00=512.99 ms 200 OK&lt;br /&gt;
  connected to www.loomaaed.tartu.ee:80, seq=1 time=10.20+475.94=486.14 ms 200 OK&lt;br /&gt;
  connected to www.loomaaed.tartu.ee:80, seq=2 time=9.71+471.03=480.74 ms 200 OK&lt;br /&gt;
  connected to www.loomaaed.tartu.ee:80, seq=3 time=10.88+420.74=431.62 ms 200 OK&lt;br /&gt;
  connected to www.loomaaed.tartu.ee:80, seq=4 time=9.99+336.93=346.92 ms 200 OK&lt;br /&gt;
&lt;br /&gt;
kus on kasutatud võtmeid:&lt;br /&gt;
&lt;br /&gt;
* -s - esitab http päringu vastuse http koodi, st 200, 403, 404, 500 jne&lt;br /&gt;
* -S - esitab vastuses eraldi tcp ühenduse moodustamiseks ja vastuse saamiseks kulunud aja&lt;br /&gt;
* -i - päringute esitamise intervall sekundites&lt;br /&gt;
* -r - nimelahendus sooritatakse vaid üks kord&lt;br /&gt;
* -g - esitatakse GET päringuid (vaikimisi HEAD)&lt;br /&gt;
&lt;br /&gt;
Üks abiks httping programmi kasutusjuht võiks olla näiteks veebikoha koormustesti ajal jälgida milline on tavakasutaja jaoks kõnealuse veebikoha kättesaadavus.&lt;br /&gt;
&lt;br /&gt;
https teenuse jälgimiseks sobib öelda:&lt;br /&gt;
&lt;br /&gt;
  $ httping -G -l -g &amp;quot;/index.html&amp;quot; -h 192.168.10.12&lt;br /&gt;
&lt;br /&gt;
* -l - pöörduda https abil&lt;br /&gt;
&lt;br /&gt;
===tcpstat===&lt;br /&gt;
&lt;br /&gt;
Vahel on selle programmi kasutamine muutnud süsteemi ebastabiilseks, tõenäoliselt on seoses konkreetselt kasutuses oleva riistvaraga. Muidu aga võimaldab ta jälgida tingimustele vastava andmevahetuse kiirust:&lt;br /&gt;
&lt;br /&gt;
  # tcpstat -i vlan13 -o &amp;quot;Time:%S\tn=%n\tavg=%a\tstddev=%d\tBaitspersecond=%B\n&amp;quot; -f &amp;quot;tcp and host 192.168.110.149&amp;quot; 10&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* -i - võrguseade&lt;br /&gt;
* -o - väljundi vorming&lt;br /&gt;
* -f - nö tcpdump vormingu filter&lt;br /&gt;
* 10 - väljundi esitamise intervall, kusjuures kui andmeid ei ole, siis intervalli möödudes nulle ei esitata&lt;br /&gt;
&lt;br /&gt;
===tcptrace===&lt;br /&gt;
&lt;br /&gt;
tcptrace on üks paljudest programmidest, millega esitada salvetatud võrguliikluse kohta ülevaatlikke andmeid, võimalik, et programmi kõige olulisem väärtus on pedagoogiline&lt;br /&gt;
&lt;br /&gt;
  $ tcptrace -l tt.log&lt;br /&gt;
  1 arg remaining, starting with &#039;tt.log&#039;&lt;br /&gt;
  Ostermann&#039;s tcptrace -- version 6.6.1 -- Wed Nov 19, 2003&lt;br /&gt;
  &lt;br /&gt;
  54 packets seen, 54 TCP packets traced&lt;br /&gt;
  elapsed wallclock time: 0:00:00.007053, 7656 pkts/sec analyzed&lt;br /&gt;
  trace file elapsed time: 0:00:02.787589&lt;br /&gt;
  TCP connection info:&lt;br /&gt;
  1 TCP connection traced:&lt;br /&gt;
  TCP connection 1:&lt;br /&gt;
        host a:        moraal.auul:52081&lt;br /&gt;
        host b:        ftp.loomaaed.tartu.ee:22&lt;br /&gt;
        complete conn: yes&lt;br /&gt;
        first packet:  Sat Oct 10 12:56:15.713740 2009&lt;br /&gt;
        last packet:   Sat Oct 10 12:56:18.501330 2009&lt;br /&gt;
        elapsed time:  0:00:02.787589&lt;br /&gt;
        total packets: 54&lt;br /&gt;
        filename:      tt.log&lt;br /&gt;
   a-&amp;gt;b:                              b-&amp;gt;a:&lt;br /&gt;
     total packets:            30           total packets:            24      &lt;br /&gt;
     ack pkts sent:            29           ack pkts sent:            24      &lt;br /&gt;
     pure acks sent:           14           pure acks sent:            7      &lt;br /&gt;
     sack pkts sent:            0           sack pkts sent:            0      &lt;br /&gt;
     dsack pkts sent:           0           dsack pkts sent:           0      &lt;br /&gt;
     max sack blks/ack:         0           max sack blks/ack:         0     &lt;br /&gt;
     ..&lt;br /&gt;
     data xmit time:        2.547 secs      data xmit time:        2.547 secs &lt;br /&gt;
     idletime max:         1141.1 ms        idletime max:         1151.3 ms   &lt;br /&gt;
     throughput:             1291 Bps       throughput:             1072 Bps&lt;br /&gt;
&lt;br /&gt;
===Wireshark===&lt;br /&gt;
&lt;br /&gt;
Tarkvara Wireshark eelised avalduvad tema ülevaatlikkust pakkuvas graafilises kasutajaliideses, kus on võimalus:&lt;br /&gt;
&lt;br /&gt;
* liiklust filtreerida nt otspunktide ip aadresside, protokolli vms parameetrite alusel&lt;br /&gt;
* hõlpsasti eristada liiklusest tcp sessioone&lt;br /&gt;
* ülevaatlikult näha paketi kapseldust OSI kihtide mõttes&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lihtne wiresharki kasutusjuhus tööarvutis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Käivita wireshark. Vajuta nupule &amp;quot;List available capture interfaces...&amp;quot; ja seejärel võib alustada pakettide püüdmist soovitud võrguaadressil. Pakettide püüdmise lõpetab nupp &amp;quot;Stop the running live capture&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Kui võrguliiklust on palju, võib wiresharki väljund tulla liiga kirju. Otsitava informatsiooni valimiseks võib kasutada erinevaid filtreid:&lt;br /&gt;
&lt;br /&gt;
* ip.addr == 192.168.1.253 - Näitab ainult pakette, mis kas pärinevad või on suunatud antud aadressile&lt;br /&gt;
* tcp.port == 22 - Näitab ainult pakette, mis kas pärinevad või on suunatud TCP porti 22&lt;br /&gt;
* !(udp.port == 80) - näitab ainult pakette, mille src ega dst pooles ei esine port 80&lt;br /&gt;
&lt;br /&gt;
Erinevaid filtreid saab kombineerida loogiliste tehetega: &amp;amp;&amp;amp;, ||, !&lt;br /&gt;
&lt;br /&gt;
Wireshark kasutamist on keerukamatel juhtudel mõistlik korraldada nii, et tulemüüris/serveris salvestatakse liiklus tcpdump abil faili ning see fail kopeeritakse töökohaarvutisse kuhu on paigaldatud Wireshark. Wireshark kasutajaliides näeb välja selline, antud juhul on kuulatud pealt liiklust tulemüürist ftp.aso.ee arvutiga:&lt;br /&gt;
&lt;br /&gt;
  # tcpdump -n -i eth0 -s 1600 -w /tmp/ftp.aso.ee.log host ftp.aso.ee&lt;br /&gt;
&lt;br /&gt;
Seejärel on käivitatud wireshark&lt;br /&gt;
&lt;br /&gt;
  linux$ wireshark ftp.aso.ee.log&lt;br /&gt;
&lt;br /&gt;
Wiresharkis on filtreeritud välja ainult liiklus ftp.aso.ee arvutiga (kui seda praktiliselt pole ka vaja filtreerida, kuna ainult seda kuulatigi tcpflow&#039;ga). Allolevalt pildilt on näha kuidas Wireshark esitab väljundit kolmes üksteise kohal paiknevas raamis:&lt;br /&gt;
&lt;br /&gt;
# ülemises raamis on esitatud filtreeritud 10 paketti, järjekorranumber, aeg, lähte ja siht aadress, protokoll ja muu info &lt;br /&gt;
# keskmises raamis esitatakse ülemises raamis ära märgitud paketi kapseldatud koosseis, on näha ISO kihid kusjuures wireshark interpreteerib lisaks paketi nn payloadis olevaid andmeid&lt;br /&gt;
# alumises raamis on esitatud paketi sisu kõrvuti kahes tulbas, 16nd-süsteemis ning võimalusel vastavad ascii sümbolid, kusjuures keskmises raamis märgitule on ära vastav osa ära tähistatud&lt;br /&gt;
&lt;br /&gt;
[[Pilt:Wireshark-ftp.aso.ee.log-1.gif]]&lt;br /&gt;
&lt;br /&gt;
Näiteks võib antud juhul jälgida kuidas ühenduse loomiseks ja lõpetamiseks on vahetatud vastavalt kolm ja kolm paketti, ning sisuliste andmete vahetamiseks on kokku saadetud neli paketti. Välja arvatud erijuhud üldiselt ongi nii, et andmevahetusel osapooled saadavad üksteisele samas suurusjärgus pakette, isegi kui tegu on sisuliselt ühesuunalise andmevahetusega. Ja eriliselt võiks antud juhul tähele panna, et tcp ühenduse sees saadetakse andmeid mõlemas suunas.&lt;br /&gt;
&lt;br /&gt;
Antud juhul kuuluvad juba tcpdump abil salvestatud ühte tcp sessiooni, kuid wiresharkil on võimalus suuremat hulgast pakettidest välja filtreerida ka ühe tcp sessiooni. Selleks tuleb ülemises raamis valida mingi paketi peal olles hiire parema nupuga avanevast hüpikmenüüst &#039;Follow TCP Stream&#039; ning esitakse sessioonis toimunud http get päringu sisu ja vastuse sisu&lt;br /&gt;
&lt;br /&gt;
[[Pilt:Wireshark-ftp.aso.ee.log-2.gif]]&lt;br /&gt;
&lt;br /&gt;
====editcap ja mergecap kasutamine====&lt;br /&gt;
&lt;br /&gt;
editcap programmiga saab varem salvestatud pcap vormingus faili osadeks jagada, nt pakettide arvu järgi, tulemusena tekivad osad* nimelised failid:&lt;br /&gt;
&lt;br /&gt;
 # editcap -c 100 tcp.log osad&lt;br /&gt;
&lt;br /&gt;
mergecap programmiga saab pcap vormingus osad liita kokku üheks failiks:&lt;br /&gt;
&lt;br /&gt;
 # mergecap -w tcp-kokkuyhendatud.log osad*&lt;br /&gt;
&lt;br /&gt;
====capinfos====&lt;br /&gt;
&lt;br /&gt;
Salvestatud pcap faili kohta saab küsida capinfos programmiga:&lt;br /&gt;
&lt;br /&gt;
 # capinfos tcp.log &lt;br /&gt;
 File name:           tcp.log&lt;br /&gt;
 File type:           Wireshark/tcpdump/... - libpcap&lt;br /&gt;
 File encapsulation:  Ethernet&lt;br /&gt;
 Number of packets:   1000&lt;br /&gt;
 File size:           590818 bytes&lt;br /&gt;
 Data size:           592758 bytes&lt;br /&gt;
 Capture duration:    6 seconds&lt;br /&gt;
 Start time:          Sat Oct 22 20:06:11 2011&lt;br /&gt;
 End time:            Sat Oct 22 20:06:16 2011&lt;br /&gt;
 Data byte rate:      106709.45 bytes/sec&lt;br /&gt;
 Data bit rate:       853675.63 bits/sec&lt;br /&gt;
 Average packet size: 592.76 bytes&lt;br /&gt;
 Average packet rate: 180.02 packets/sec&lt;br /&gt;
&lt;br /&gt;
====RSA võtmevahetusega SSL liikluse dekrüptimine====&lt;br /&gt;
&lt;br /&gt;
* http://wiki.wireshark.org/SSL&lt;br /&gt;
* http://wirewatcher.wordpress.com/2010/07/20/decrypting-ssl-traffic-with-wireshark-and-ways-to-prevent-it/&lt;br /&gt;
&lt;br /&gt;
===tcpbench===&lt;br /&gt;
&lt;br /&gt;
OpenBSD baas sisaldab tcpbench utiliiti, mille abil saab otsekoheselt testida kahe OpenBSD arvuti vahelist võrguühendust. Utiliidi kasutamisel hakkab klient serverisse kopeerima maksimaalse võimaliku suurusega tcp pakette, tegevuse käigus esitavad klient ja server programmi väljundis toimuvat andmevahetust iseloomustavat infot:&lt;br /&gt;
&lt;br /&gt;
  server# tcpbench -s &lt;br /&gt;
     pid   elapsed_ms          bytes         Mbps &lt;br /&gt;
   25537         1009       20811800      165.009 &lt;br /&gt;
   25537         2009       20610544      165.049 &lt;br /&gt;
   25537         3013       20230168      161.197 &lt;br /&gt;
   25537 closed by remote end&lt;br /&gt;
&lt;br /&gt;
  klient#  tcpbench 192.168.10.8                  &lt;br /&gt;
     pid   elapsed_ms          bytes         Mbps &lt;br /&gt;
    2628         1026       20990016      163.665 &lt;br /&gt;
    2628         2008       20460296      166.683 &lt;br /&gt;
    2628         3037       20230168      157.433 &lt;br /&gt;
  ^Ctcpbench: Terminated by signal 2&lt;br /&gt;
&lt;br /&gt;
===ssldump===&lt;br /&gt;
&lt;br /&gt;
ssldump võimaldab SSL/TLS liiklust analüüsida, tarkvara paigaldamiseks tuleb öelda Debian keskkonnas:&lt;br /&gt;
&lt;br /&gt;
  # apt-get install ssldump&lt;br /&gt;
&lt;br /&gt;
FreeBSD&#039;s asub pakett net/ssldump&lt;br /&gt;
&lt;br /&gt;
kasutamiseks:&lt;br /&gt;
&lt;br /&gt;
  # ssldump -i eth0 -d port 993&lt;br /&gt;
  New TCP connection #1: moraal.auul(49305) &amp;lt;-&amp;gt; smtp.loomaaed.tartu.ee(993)&lt;br /&gt;
  1 1  0.0100 (0.0100)  C&amp;gt;S  Handshake&lt;br /&gt;
        ClientHello&lt;br /&gt;
          Version 3.1 &lt;br /&gt;
          resume [32]=&lt;br /&gt;
            9c 5e 98 a5 0c 7a e1 f6 59 70 cb 42 ff 7e d0 2c &lt;br /&gt;
            0c d6 03 57 34 e5 01 74 4e 4f fb 70 3b a5 61 02 &lt;br /&gt;
          cipher suites&lt;br /&gt;
          Unknown value 0xc00a&lt;br /&gt;
          TLS_RSA_WITH_RC4_128_MD5&lt;br /&gt;
          TLS_RSA_WITH_RC4_128_SHA&lt;br /&gt;
          TLS_RSA_WITH_3DES_EDE_CBC_SHA&lt;br /&gt;
          ...&lt;br /&gt;
          compression methods&lt;br /&gt;
                    NULL&lt;br /&gt;
  1 2  0.0342 (0.0242)  S&amp;gt;C  Handshake&lt;br /&gt;
        ServerHello&lt;br /&gt;
         Version 3.1 &lt;br /&gt;
          session_id[32]=&lt;br /&gt;
            9c 5e 98 a5 0c 7a e1 f6 59 70 cb 42 ff 7e d0 2c &lt;br /&gt;
            0c d6 03 57 34 e5 01 74 4e 4f fb 70 3b a5 61 02 &lt;br /&gt;
          cipherSuite         Unknown value 0x35&lt;br /&gt;
          compressionMethod                   NULL&lt;br /&gt;
  1 3  0.0342 (0.0000)  S&amp;gt;C  ChangeCipherSpec&lt;br /&gt;
  1 4  0.0342 (0.0000)  S&amp;gt;C  Handshake&lt;br /&gt;
  1 5  0.0349 (0.0006)  C&amp;gt;S  ChangeCipherSpec&lt;br /&gt;
  1 6  0.0349 (0.0000)  C&amp;gt;S  Handshake&lt;br /&gt;
  1 7  0.0443 (0.0094)  S&amp;gt;C  application_data&lt;br /&gt;
  1 8  0.0450 (0.0006)  C&amp;gt;S  application_data&lt;br /&gt;
  1 9  0.0546 (0.0095)  S&amp;gt;C  application_data&lt;br /&gt;
  ..&lt;br /&gt;
&lt;br /&gt;
kust on näha:&lt;br /&gt;
&lt;br /&gt;
* C&amp;gt;S, S&amp;gt;C - vastavalt kliendilt serveri ja serverilt kliendi suunas toimuv liiklus&lt;br /&gt;
* ClientHello, ServerHello, jt - kliendi ja serveri vahel toimuv SSL ühenduse parameetrite kokkuleppimine&lt;br /&gt;
* application_data - antud juhul jääb ssldump jaoks sisuline andmevahetus ligipääsmatuks&lt;br /&gt;
&lt;br /&gt;
Kui lisaks on kasutada ssl võtmed, siis saab teatud juhtumitel ka liikluse sisu debugida, nt https puhul:&lt;br /&gt;
&lt;br /&gt;
  # cat www.loomaaed.tartu.ee.key www.loomaaed.tartu.ee.crt &amp;gt; www.pem&lt;br /&gt;
  # ssldump -i eth0 -d -k www.pem port 443&lt;br /&gt;
  ..&lt;br /&gt;
  1 10 0.0849 (0.0341)  C&amp;gt;S  application_data&lt;br /&gt;
      ---------------------------------------------------------------&lt;br /&gt;
      GET /text.html HTTP/1.1&lt;br /&gt;
      Host: 192.168.10.53&lt;br /&gt;
      User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.14) \&lt;br /&gt;
        Gecko/2009091010 Iceweasel/3.0.6 (Debian-3.0.6-3)&lt;br /&gt;
      Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8&lt;br /&gt;
      Accept-Language: en-us,en;q=0.5&lt;br /&gt;
      Accept-Encoding: gzip,deflate&lt;br /&gt;
      Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7&lt;br /&gt;
      Keep-Alive: 300&lt;br /&gt;
      Connection: keep-alive&lt;br /&gt;
      Pragma: no-cache&lt;br /&gt;
      Cache-Control: no-cache&lt;br /&gt;
     &lt;br /&gt;
      ---------------------------------------------------------------&lt;br /&gt;
  1 11 0.0857 (0.0007)  S&amp;gt;C  application_data&lt;br /&gt;
      ---------------------------------------------------------------&lt;br /&gt;
      HTTP/1.1 200 OK&lt;br /&gt;
      Date: Fri, 23 Oct 2009 06:32:59 GMT&lt;br /&gt;
      Server: Apache/2.2.9 (Debian) mod_jk/1.2.26 mod_ssl/2.2.9 OpenSSL/0.9.8g&lt;br /&gt;
      Vary: Accept-Encoding&lt;br /&gt;
      Content-Encoding: gzip&lt;br /&gt;
      Content-Length: 266&lt;br /&gt;
      Keep-Alive: timeout=15, max=100&lt;br /&gt;
      Connection: Keep-Alive&lt;br /&gt;
      Content-Type: text/html; charset=iso-8859-1&lt;br /&gt;
&lt;br /&gt;
Seejuures tuleb veebiserveris kasutada sobivat SSLCipherSuite väärtust, selline töötab mingil määral:&lt;br /&gt;
&lt;br /&gt;
  SSLCipherSuite RSA:-HIGH:MEDIUM:-EXP:-DH&lt;br /&gt;
&lt;br /&gt;
Kasutatud järgnevusele &#039;RSA:-HIGH:MEDIUM:-EXP:-DH&#039; vastavaid väärtusi näeb:&lt;br /&gt;
&lt;br /&gt;
  # openssl ciphers -v &#039;RSA:-HIGH:MEDIUM:-EXP:-DH&#039;&lt;br /&gt;
  DES-CBC-SHA             SSLv3 Kx=RSA      Au=RSA  Enc=DES(56)   Mac=SHA1&lt;br /&gt;
  RC4-SHA                 SSLv3 Kx=RSA      Au=RSA  Enc=RC4(128)  Mac=SHA1&lt;br /&gt;
  RC4-MD5                 SSLv3 Kx=RSA      Au=RSA  Enc=RC4(128)  Mac=MD5 &lt;br /&gt;
  NULL-SHA                SSLv3 Kx=RSA      Au=RSA  Enc=None      Mac=SHA1&lt;br /&gt;
  NULL-MD5                SSLv3 Kx=RSA      Au=RSA  Enc=None      Mac=MD5 &lt;br /&gt;
  DES-CBC-MD5             SSLv2 Kx=RSA      Au=RSA  Enc=DES(56)   Mac=MD5 &lt;br /&gt;
  RC2-CBC-MD5             SSLv2 Kx=RSA      Au=RSA  Enc=RC2(128)  Mac=MD5 &lt;br /&gt;
  RC4-MD5                 SSLv2 Kx=RSA      Au=RSA  Enc=RC4(128)  Mac=MD5&lt;br /&gt;
&lt;br /&gt;
Lisaks saab ssldump jaoks kaustada tcpdump abil kogutud pcap faili (eriti see on -s 0 võtmega salvestatud):&lt;br /&gt;
&lt;br /&gt;
 $ ssldump -r failinimi.pcap&lt;br /&gt;
&lt;br /&gt;
===ICMP redirect===&lt;br /&gt;
&lt;br /&gt;
Olgu selliste ruutingutega olukord:&lt;br /&gt;
&lt;br /&gt;
                                  ....&lt;br /&gt;
                                   |&lt;br /&gt;
                                  _|_   tulemüür&lt;br /&gt;
                                 |   |  vaikelüüs, kus on kirjeldatud staatiline ruuting 192.168.201.0/24 -&amp;gt; 192.168.2.201&lt;br /&gt;
                                 |___|  192.168.2.1&lt;br /&gt;
        192.168.2.0/24             |&lt;br /&gt;
   --|-------------------|--------------|--&lt;br /&gt;
    _|_                 _|_             &lt;br /&gt;
   |   | 192.168.2.30  |   |  192.168.2.201&lt;br /&gt;
   |___| host-1        |___|  ruuter-2&lt;br /&gt;
                         |&lt;br /&gt;
                         |    192.168.201.0/24&lt;br /&gt;
                    -----|-------------------------|---&lt;br /&gt;
                                                  _|_&lt;br /&gt;
                                                 |   | 192.168.201.30&lt;br /&gt;
                                                 |___| host-2&lt;br /&gt;
&lt;br /&gt;
ICMP redirect http://en.wikipedia.org/wiki/ICMP_Redirect_Message sõnumiga juhatab tulemüür host-1 pöörduma host-2 poole läbi ruuter-2 seadme.&lt;br /&gt;
&lt;br /&gt;
 09:42:25.399922 192.168.2.1 &amp;gt; 192.168.2.30: icmp: redirect 192.168.201.30 to host 192.168.2.201&lt;br /&gt;
&lt;br /&gt;
Parasjagu kehtivad redirectid ei ole nähtavad linux hostis ei tavalistes arp ega route andmebaasides, vaid:&lt;br /&gt;
&lt;br /&gt;
 # cat /proc/net/rt_cache&lt;br /&gt;
&lt;br /&gt;
Sissekande kustutamiseks tuleb vastav ruuting eemaldada ja tagasi tekitada.&lt;br /&gt;
&lt;br /&gt;
===ARP flux===&lt;br /&gt;
&lt;br /&gt;
Olgu üks arvuti on oma kahe füüsiliste võrguseadmega ühendatud sama etherneti peale ning seal ethernetis on veel teisi arvuteid:&lt;br /&gt;
&lt;br /&gt;
            --|--|---------------------------|----------------&lt;br /&gt;
      eth0   _|__|_   eth1                  _|_             &lt;br /&gt;
 10.0.2.30  |      |  192.168.2.30         |   |  192.168.2.201&lt;br /&gt;
            |______|                       |___|&lt;br /&gt;
          &lt;br /&gt;
             host-1                        host-2&lt;br /&gt;
&lt;br /&gt;
Tundub, et reeglina käituvad 2011 aastal Linux distributsioonide tuumad selliselt, et joonisel kujutatud ühenduse puhul vastab host-2 poolt aadressile 192.168.2.30 tehtud arp päringule host-1 kahe arp vastusega, kummagi ethernet seadme mac aadressiga, kusjuures host-2 kasutab esimesena kohale jõudnud vastust järgnevaks andmevahetuseks. Selline olukord põhjustab selles mõttes segadust, et kui host-1 võrguseadmed on sarnaste omadustega, siis vahel kasutab host-2 ühe ja vahel teise ethernet seadme mac aadressi ning liiklus käib vastavalt läbi ühe või teise host-1 võrguseadme (lisaks võib ka nii olla, et ühes suunas liiguvad paketid läbi host-1 eth0 ja teises suunas läbi eth1 seadme). Kui host-1 peal ei ole paketifiltrit seadistatud, siis seal töötavate rakenduste jaoks andmevahetus töötab, kuid nt võrgu debugimine on raskendatud.&lt;br /&gt;
&lt;br /&gt;
Selleks, et host-2 arp päringule vastaks host-1 vaid selle mac aadressiga, millele vastava võrguseadme kaudu toimuks ip mõttes korrektne ruuting sobib öelda host-1 arvutis:&lt;br /&gt;
&lt;br /&gt;
 # sysctl -w net.ipv4.conf.all.arp_filter=1&lt;br /&gt;
&lt;br /&gt;
Kasulikud lisamaterjalid:&lt;br /&gt;
&lt;br /&gt;
* http://linux-ip.net/html/ether-arp.html&lt;br /&gt;
* http://robertlathanh.com/2009/08/two-subnetworks-on-one-lan-and-linux-arp_filter/&lt;br /&gt;
* http://www.embedded-bits.co.uk/tag/arp_filter/&lt;br /&gt;
&lt;br /&gt;
===tcpkill===&lt;br /&gt;
&lt;br /&gt;
tcpkill programmi abil saab ühenduse osapoolele saata sobiva RST paketi eesmärgiga ühendus lõpetada, tarkvara paigaldamiseks tuleb nt Debian Lenny keskkonnas paigaldada pakett dsniff:&lt;br /&gt;
&lt;br /&gt;
 # apt-get install dsniff&lt;br /&gt;
&lt;br /&gt;
kasutamiseks:&lt;br /&gt;
&lt;br /&gt;
 # tcpkill -i eth0 port 80 and host ftp.loomaaed.tartu.ee&lt;br /&gt;
&lt;br /&gt;
Tulemusena jääb tcpkill käima arvuti eth0 seadmel ja tegeleb näidatud regulaaravaldisega klappivate ühendustega.&lt;br /&gt;
&lt;br /&gt;
===lsof===&lt;br /&gt;
&lt;br /&gt;
Kasutaja priit (-u priit) programmiga Firefox (-c firefox-bin) seotud võrguühenduste (-i) esitamine:&lt;br /&gt;
&lt;br /&gt;
 $ lsof -n -a -u priit -c firefox-bin -i&lt;br /&gt;
 COMMAND     PID USER    FD   TYPE  DEVICE SIZE NODE NAME&lt;br /&gt;
 firefox-b 22322 priit   51u  IPv4 1870238       TCP 192.168.10.10:53360-&amp;gt;113.184.32.83:https (ESTABLISHED)&lt;br /&gt;
 firefox-b 22322 priit   72u  IPv4 1870025       TCP 192.168.10.10:35441-&amp;gt;74.125.43.100:www (ESTABLISHED)&lt;br /&gt;
 firefox-b 22322 priit   73u  IPv4 1870035       TCP 192.168.10.10:53903-&amp;gt;74.125.10.213:www (ESTABLISHED)&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* -n - mitte teisendada ip aadresse nimedeks&lt;br /&gt;
* -a - järgnevad muud suvandid loogiliselt korrutada&lt;br /&gt;
* PID - protsessi ID&lt;br /&gt;
&lt;br /&gt;
Pordile vastava protsessi küsimine:&lt;br /&gt;
&lt;br /&gt;
 # lsof -i :514&lt;br /&gt;
 COMMAND  PID     USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME&lt;br /&gt;
 syslogd 6628 _syslogd    4u  IPv4 0xfffffe803f51d000      0t0  UDP *:syslog&lt;br /&gt;
&lt;br /&gt;
Kasulikud lisamaterjalid:&lt;br /&gt;
&lt;br /&gt;
* http://ph7spot.com/musings/leveraging-lsof&lt;br /&gt;
&lt;br /&gt;
===strace===&lt;br /&gt;
&lt;br /&gt;
strace kasutusala on laiem, kuid seoses võrguga on tal samuti rakendus, nt esitada jooksvalt protsessiga seotud võrgu syscallid, 4940 on w3m brauseri protsess:&lt;br /&gt;
&lt;br /&gt;
 # strace -e trace=network -p 4940&lt;br /&gt;
 ...&lt;br /&gt;
 socket(PF_NETLINK, SOCK_RAW, 0)         = 4&lt;br /&gt;
 bind(4, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 0&lt;br /&gt;
 getsockname(4, {sa_family=AF_NETLINK, pid=4940, groups=00000000}, [12]) = 0&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
===Arpwatch===&lt;br /&gt;
&lt;br /&gt;
Võimaldab jälgida võrgus liikuvaid ARP teateid ning avastada ARP tabeli mürgitamisjuhtumeid.&lt;br /&gt;
&lt;br /&gt;
Koduleht:&lt;br /&gt;
* http://ee.lbl.gov/&lt;br /&gt;
Arpi mürgitamise toimimine ja selle takistamine:&lt;br /&gt;
* http://shsc.info/ARPPoisoning&lt;br /&gt;
Mõned võrguhaldurile abiks skriptid:&lt;br /&gt;
* http://blog.stardothosting.com/2009/05/01/detect-arp-poisoning-on-lan/&lt;br /&gt;
&lt;br /&gt;
===Ettercap===&lt;br /&gt;
&lt;br /&gt;
Ettercap http://ettercap.sourceforge.net/ tarkvara võimaldab kohtvõrgus korraldada MITM tüüpi ründeid ja seejuures kontrollida kui tundlik kohtvõrk on selliste rünnete suhtes sh kas need avastatakse. Ettercap kasutab oma tööks põhiliselt arp-mürgitamist (arp poisoning). Tarkvara paigaldamiseks on tavaliselt piisav paigalda operatsioonisüsteemi paketihaldusvahenditega ettercap nimeline pakett. Ettercap programmi saab käivitada kolme erineva kasutajaliidesega:&lt;br /&gt;
&lt;br /&gt;
* käsurealt -ettercap -T&lt;br /&gt;
* curses liidesega - ettercap -C&lt;br /&gt;
* gtk gui liidesega - ettercap -G&lt;br /&gt;
&lt;br /&gt;
Kasulikud lisamaterjalid:&lt;br /&gt;
&lt;br /&gt;
* http://en.wikipedia.org/wiki/Ettercap_%28computing%29&lt;br /&gt;
* http://openmaniak.com/ettercap.php&lt;br /&gt;
&lt;br /&gt;
===Scapy===&lt;br /&gt;
&lt;br /&gt;
Scapy http://www.secdev.org/projects/scapy/ abil saab töötada pakettidega pythonis. Tarkvara on kirjutatud Pythonis ja sellele on iseloomulik, et saab nö programmeerimise võtteid kasutades nt koostada sobiva sisuga paketi ja saata võrku; seejärel saab käsitleda sarnaselt vastuseks tulnud paketti. Scapy sisaldab mitmeid lisasid, nt saab lasta esitada graafiliselt traceroute tulemuse. Tarkvara paigaldamiseks sobib paigaldada nt Debian Squeeze all pakett python-scapy:&lt;br /&gt;
&lt;br /&gt;
 # apt-get install python-scapy&lt;br /&gt;
&lt;br /&gt;
Lisaks on vajalikud:&lt;br /&gt;
&lt;br /&gt;
 # apt-get install tcpdump graphviz imagemagick&lt;br /&gt;
&lt;br /&gt;
Interaktiivselt käivitamiseks:&lt;br /&gt;
&lt;br /&gt;
 # scapy&lt;br /&gt;
 ...&lt;br /&gt;
 Welcome to Scapy (2.1.0)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; res,unans = traceroute([&amp;quot;www.eesti.ee&amp;quot;, &amp;quot;www.eenet.ee&amp;quot;],dport=[80,443],maxttl=20,retry=-2)&lt;br /&gt;
 ..&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; res.graph()&lt;br /&gt;
&lt;br /&gt;
Tulemusena esitatakse sarnane pilt:&lt;br /&gt;
&lt;br /&gt;
[[Pilt:Scapy-1.gif]]&lt;br /&gt;
&lt;br /&gt;
Scapy sisaldab mitmeid funktsioone, millega pakette moodustada, neid välja saata ning vastuseid lugeda.&lt;br /&gt;
&lt;br /&gt;
* ICMP paketi saatmine&lt;br /&gt;
&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; send(IP(dst=&amp;quot;192.168.10.123&amp;quot;)/ICMP())&lt;br /&gt;
&lt;br /&gt;
* DNS päringu esitamine&lt;br /&gt;
&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; sr(IP(dst=&amp;quot;10.192.0.53&amp;quot;)/UDP()/DNS(rd=1,qd=DNSQR(qname=&amp;quot;www.loomaaed.tartu.ee&amp;quot;)))&lt;br /&gt;
&lt;br /&gt;
* etteantud subnetti kuuluva juhusliku src aadressiga pakettide saatmine&lt;br /&gt;
&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; send(IP(src=RandIP(&amp;quot;192.168.10.0/24&amp;quot;), dst=&amp;quot;10.192.0.53&amp;quot;)/TCP(dport=80,flags=&amp;quot;S&amp;quot;), loop=1)&lt;br /&gt;
&lt;br /&gt;
===Socat===&lt;br /&gt;
&lt;br /&gt;
* Pordi edasisuunamine&lt;br /&gt;
&lt;br /&gt;
 # socat TCP-LISTEN:8888,fork TCP:192.168.1.4:80&lt;br /&gt;
&lt;br /&gt;
* pordi edasisuunamine lokaalselt (mida tavaliselt tehakse paketifiltri abil)&lt;br /&gt;
&lt;br /&gt;
 # socat TCP-L:2323 TCP:localhost:22&lt;br /&gt;
&lt;br /&gt;
* unixi soketi ühendamine interneti soketiga, kuulaku unix soketil MySQL ning peab saama hakata pöörduma MySQL poole üle võrgu arvuti mõnel ip aadressil, port 3308&lt;br /&gt;
&lt;br /&gt;
 # socat -v tcp-l:3308,bind=192.168.10.10,reuseaddr,fork unix:/var/run/mysqld/mysqld.sock&lt;br /&gt;
&lt;br /&gt;
* remote shell (nt sellepärast võiks pigem olla serverite pordid tulemüürist vaikimisi blokeeritud), EXEC täidetakse kliendi pöördumisel&lt;br /&gt;
&lt;br /&gt;
 server:~$ socat TCP-LISTEN:2323,reuseaddr,fork EXEC:/bin/bash&lt;br /&gt;
&lt;br /&gt;
ja vastav klient:&lt;br /&gt;
&lt;br /&gt;
 $ socat STDIO TCP:server-loomaaed:2323&lt;br /&gt;
 hostname -f&lt;br /&gt;
 server.loomaaed&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL soketi suunamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
 tookohaarvuti$ socat &amp;quot;UNIX-LISTEN:/tmp/.s.PGSQL.5432,reuseaddr,fork&amp;quot; \&lt;br /&gt;
   EXEC:&#039;ssh postgres@192.168.1.105 socat STDIO UNIX-CONNECT\:/var/run/postgresql/.s.PGSQL.5432&#039;&lt;br /&gt;
&lt;br /&gt;
kasutamiseks öelda, kusjuures EXEC täidetakse, st ssh ühendus käivitatakse alles psql kliendi abil pöördumisel:&lt;br /&gt;
&lt;br /&gt;
 tookohaarvuti$ psql -h /tmp -U postgres&lt;br /&gt;
&lt;br /&gt;
Faili sisu esitamiseks üle võrgu, kasutamiseks nt netcat abil pöörduda:&lt;br /&gt;
&lt;br /&gt;
 $ socat -u FILE:/opt/suricata/var/log/suricata/eve.json,ignoreeof TCP4-LISTEN:12345,fork,reuseaddr&lt;br /&gt;
&lt;br /&gt;
Kasulikud lisamaterjalid:&lt;br /&gt;
&lt;br /&gt;
* http://technostuff.blogspot.com/2008/10/some-useful-socat-commands.html&lt;br /&gt;
* http://jdimpson.livejournal.com/6534.html&lt;br /&gt;
* http://www.debian-administration.org/users/dkg/weblog/68&lt;br /&gt;
&lt;br /&gt;
===vnstat===&lt;br /&gt;
&lt;br /&gt;
Tarkvara paigaldamiseks:&lt;br /&gt;
&lt;br /&gt;
 # apt-get install vnstat&lt;br /&gt;
&lt;br /&gt;
Kasutamine paistab välja selline:&lt;br /&gt;
&lt;br /&gt;
 # vnstat -l&lt;br /&gt;
 Monitoring eth0...    (press CTRL-C to stop)&lt;br /&gt;
 &lt;br /&gt;
   rx:        0 kbit/s     1 p/s          tx:        0 kbit/s     0 p/s^C&lt;br /&gt;
 &lt;br /&gt;
  eth0  /  traffic statistics&lt;br /&gt;
 &lt;br /&gt;
                            rx         |       tx&lt;br /&gt;
 --------------------------------------+------------------&lt;br /&gt;
   bytes                   385.08 MiB  |      990.42 MiB&lt;br /&gt;
 --------------------------------------+------------------&lt;br /&gt;
           max           88.19 Mbit/s  |   227.04 Mbit/s&lt;br /&gt;
       average           57.36 Mbit/s  |   147.52 Mbit/s&lt;br /&gt;
           min               0 kbit/s  |        0 kbit/s&lt;br /&gt;
 --------------------------------------+------------------&lt;br /&gt;
   packets                    4588718  |         3670125&lt;br /&gt;
 --------------------------------------+------------------&lt;br /&gt;
           max             128266 p/s  |      102612 p/s&lt;br /&gt;
       average              83431 p/s  |       66729 p/s&lt;br /&gt;
           min                  1 p/s  |           0 p/s&lt;br /&gt;
 --------------------------------------+------------------&lt;br /&gt;
   time                    55 seconds&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* rx, tx - vastavalt saabumised ja väljumised&lt;br /&gt;
* bytes, packet - andmete mahu ja pakettide arvu järgi&lt;br /&gt;
&lt;br /&gt;
===iptstate===&lt;br /&gt;
&lt;br /&gt;
iptstate kasutab kerneli conntrack süsteemi ja esitab võrguliikluse kohta andmeid, tarkvara paigaldamiseks:&lt;br /&gt;
&lt;br /&gt;
 # apt-get install iptstate&lt;br /&gt;
&lt;br /&gt;
Kasutamiseks peab olema kernelisse laaditud nt ip_conntrack moodul:&lt;br /&gt;
&lt;br /&gt;
 # modprobe ip_conntrack&lt;br /&gt;
&lt;br /&gt;
Käivitamiseks:&lt;br /&gt;
&lt;br /&gt;
 # iptstate&lt;br /&gt;
&lt;br /&gt;
ja paistab sarnane pilt:&lt;br /&gt;
&lt;br /&gt;
 TODO&lt;br /&gt;
&lt;br /&gt;
Samad andmed on teksti kujul esitatavad selliselt:&lt;br /&gt;
&lt;br /&gt;
 # cat /proc/net/ip_conntrack&lt;br /&gt;
&lt;br /&gt;
===tcptrack===&lt;br /&gt;
&lt;br /&gt;
Programm tcptrack annab top väljundi sarnase ülevaate toimuvatest tcp ühendustest. Paigaldamiseks sobib öelda:&lt;br /&gt;
&lt;br /&gt;
 # apt-get install tcptrack&lt;br /&gt;
&lt;br /&gt;
Kasutamiseks:&lt;br /&gt;
&lt;br /&gt;
 # tcptrack -i eth0 -r 10 port 80&lt;br /&gt;
&lt;br /&gt;
ja paistab selline pilt:&lt;br /&gt;
&lt;br /&gt;
 TODO&lt;br /&gt;
&lt;br /&gt;
===conntrack===&lt;br /&gt;
&lt;br /&gt;
 # modprobe nf_conntrack_ipv4&lt;br /&gt;
 # conntrack -p tcp --dport 80 -E -e NEW | pv -l -i 1 -r &amp;gt; /dev/null&lt;br /&gt;
&lt;br /&gt;
===Kasulikud lisamaterjalid===&lt;br /&gt;
&lt;br /&gt;
* Soovides muide teada mis ISP omandusse mingi ip kuulub tasub kasutada aadress http://www.ip-adress.com/ip_tracer/&#039;&#039;&#039;&amp;lt;IP&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* http://www.linuxfoundation.org/collaborate/workgroups/networking/netem&lt;br /&gt;
* http://tools.netsa.cert.org/silk/docs.html&lt;/div&gt;</summary>
		<author><name>Erkko</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=V%C3%B5rgudiagnostika&amp;diff=30479</id>
		<title>Võrgudiagnostika</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=V%C3%B5rgudiagnostika&amp;diff=30479"/>
		<updated>2018-07-24T17:39:00Z</updated>

		<summary type="html">&lt;p&gt;Erkko: kijravigad&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Käesolev tekst on esitatud oma võrgu ja tulemüüride ning tcp/ip protokolli paremaks tundmaõppimiseks.&lt;br /&gt;
Ühtlasi tutvustatakse programme, millega saab uurida, kas võrk töötab ning kui, siis kuidas see töötab. Näiteks hinnata andmevahetuskiirusi, kuulata Etherneti pealt ja uurida millised pordid on serveritel lahti.&lt;br /&gt;
&lt;br /&gt;
Ilmselt saab allpool esitatud õpetusi kasutada nii hea- kui kuritahtlikul eesmärgil, manitseme seda tegema mitte kuritahtlikult. Tavaliselt on tuvastatav, kust tehakse ping floodi või nmapiga masinad skaneeritakse.&lt;br /&gt;
&lt;br /&gt;
Reeglina tuleb esitatud programme kasutada juurkasutajana. Näiteks toodud viiba järgi saab teada, kas programm on kasutatav ka tavakasutaja ($) või ainult juurkasutaja (#) õigustes.&lt;br /&gt;
&lt;br /&gt;
===Võrguseadmed===&lt;br /&gt;
&lt;br /&gt;
Käesolevas tekstis mõeldakse võrguseadme all arvuti füüsilist või loogilist võrguseadet, nt&lt;br /&gt;
&lt;br /&gt;
* füüsiline võrguseade - Linux puhul wlan0, eth0, eth1 jne; BSD puhul nt em0, bnx0 jne&lt;br /&gt;
* lokaalne võrguseade - Linux puhul lo; BSD puhul lo1, lo2&lt;br /&gt;
* sild - Linux puhul nt br0, br1; BSD puhul bridge0&lt;br /&gt;
* VLAN seade - Linux puhul nt vlan513, BSD puhul vlan513&lt;br /&gt;
&lt;br /&gt;
Võrguseadmete jälgimisel tuleb arvestada, et arvuti kohalik liiklus toimub üle lokaalse võrguseadme, kusjuures ka juhtumil kui arvuti eth0 seadmele on omistatud nt aadress 192.168.1.15 ning arvutist pöördutakse selle aadressi poole.&lt;br /&gt;
&lt;br /&gt;
===tcpdump===&lt;br /&gt;
&lt;br /&gt;
Programm tcpdump (kuulub paljude operatsioonisüsteemide tarkvara põhiosa koosseisu) abil saab nö kuulata võrguseadmel pealt liiklust. Tulemust võib salvestada faili või esitada ip paketti puudutavaid huvipakkuvaid andmeid programmi standardväljundisse. Oluline on tähele panna, et tcpdump kuulab liiklust võrguseadmel, st sisenevad paketid paistavad nii nagu nad olid enne RDR-teisendust ning väljuvad paketid on sellised nagu nad on peale NAT-teisendust.&lt;br /&gt;
&lt;br /&gt;
tcpdump programmiga saab filtreerida liiklust selliste standardsete tunnuste järgi&lt;br /&gt;
&lt;br /&gt;
* protokoll (nt icmp, tcp, udp, arp)&lt;br /&gt;
* andmevahetuse lähte- ja sihtpunkti ip aadress&lt;br /&gt;
* andmevahetuse lähte- ja sihtpunkti port&lt;br /&gt;
* ip paketi lippude järgi (nt salvestada vaid SYN pakette)&lt;br /&gt;
* paketi suurus&lt;br /&gt;
&lt;br /&gt;
OpenBSD puhul lisanduvad järgmised võimalused&lt;br /&gt;
&lt;br /&gt;
* paketifiltri reegli number, &#039;&#039;&lt;br /&gt;
* paketifiltri reegline määratud tegevus (pass, block, nat, rdr jt ning logitud liiklus)&lt;br /&gt;
&lt;br /&gt;
Pakettide korjamise alustamiseks võrguseadmelt ed0&lt;br /&gt;
&lt;br /&gt;
 # tcpdump -i ed0&lt;br /&gt;
&lt;br /&gt;
Oletame, et kahtlustame broadcast pakette ning seda, et nad aeglustavad võrgutööd: &lt;br /&gt;
&lt;br /&gt;
 # tcpdump -i ed0 broadcast&lt;br /&gt;
&lt;br /&gt;
Uurime kahe masina vahelist liiklust&lt;br /&gt;
&lt;br /&gt;
 # tcpdump -i ed0 host klient and server&lt;br /&gt;
&lt;br /&gt;
Veel täpsem on vaadata&lt;br /&gt;
&lt;br /&gt;
 # tcpdump -i ed0 src host klient and dnst host server&lt;br /&gt;
&lt;br /&gt;
Kõigi arvuti võrguseadmete peal töötamiseks sobib öelda&lt;br /&gt;
&lt;br /&gt;
 # tcpdump -i any ...&lt;br /&gt;
&lt;br /&gt;
====ICMP====&lt;br /&gt;
&lt;br /&gt;
Kui näiteks on kahtlusi kas kaks arvutit, 192.168.10.210 ja 192.168.10.11 (vastav võrguseade olgu em0) näevad üksteist, siis tuleks arvutis 192.168.10.210 öelda&lt;br /&gt;
&lt;br /&gt;
  # ping 192.168.10.11&lt;br /&gt;
  PING 192.168.10.11 (192.168.10.11): 56 data bytes&lt;br /&gt;
  64 bytes from 192.168.10.11: icmp_seq=0 ttl=64 time=0.422 ms&lt;br /&gt;
  64 bytes from 192.168.10.11: icmp_seq=1 ttl=64 time=0.306 ms&lt;br /&gt;
&lt;br /&gt;
ning teises arvutis võrguseadmel em0 ICMP protokolli filtreerimiseks tuleb öelda&lt;br /&gt;
&lt;br /&gt;
  # tcpdump -nettti em0 icmp&lt;br /&gt;
  tcpdump: listening on em0, link-type EN10MB&lt;br /&gt;
  May 19 16:23:10.480585 00:0e:0c:ba:4b:3e 00:16:3e:6a:0c:4b 0800 98: 192.168.10.210 &amp;gt; 192.168.10.11: icmp: echo request&lt;br /&gt;
  May 19 16:23:10.480829 00:16:3e:6a:0c:4b 00:0e:0c:ba:4b:3e 0800 98: 192.168.10.11 &amp;gt; 192.168.10.210: icmp: echo reply&lt;br /&gt;
  May 19 16:23:11.490525 00:0e:0c:ba:4b:3e 00:16:3e:6a:0c:4b 0800 98: 192.168.10.210 &amp;gt; 192.168.10.11: icmp: echo request&lt;br /&gt;
  May 19 16:23:11.490639 00:16:3e:6a:0c:4b 00:0e:0c:ba:4b:3e 0800 98: 192.168.10.11 &amp;gt; 192.168.10.210: icmp: echo reply&lt;br /&gt;
&lt;br /&gt;
Väljundina esitatakse&lt;br /&gt;
&lt;br /&gt;
* paketi jälgimise aeg (-ttt, vt man tcpdump -t erinevaid variante)&lt;br /&gt;
* kummagi poole MAC aadressid (-e)&lt;br /&gt;
* paketi ethertype (-e, 0800 on ipv4 protokoll)&lt;br /&gt;
* ip paketi suurus baitides&lt;br /&gt;
* osaliste ip aadressid nimelahenduseta kujul (-n)&lt;br /&gt;
* paketi sisulisemad andmed, antud juhul on tegu icmp echo päringute ja vastustega&lt;br /&gt;
&lt;br /&gt;
Antud juhul saab järeldada, et võrguühendus arvutite vahel on olemas. St kuigi ping ise näitab väljundit, annab teises arvutis võrgu pealtkuulamine täieliku kinnituse, et paketid just sinna välja jõuavad.&lt;br /&gt;
&lt;br /&gt;
====TCP====&lt;br /&gt;
&lt;br /&gt;
tcpdump võimaldab kasutada avaldisi, millega peab pakett klappima, nt SYN pakettide jälgmiseks&lt;br /&gt;
&lt;br /&gt;
  # tcpdump -n -i em0 &#039;tcp[13] &amp;amp; 2 != 0&#039; and dst 10.0.6.180 and port 80&lt;br /&gt;
&lt;br /&gt;
TCP liikluse tõlgendamine&lt;br /&gt;
&lt;br /&gt;
 22:05:25.828149 10.50.96.138.50215 &amp;gt; 10.184.32.82.80: S 1263958777:1263958777(0) win 5840 \&lt;br /&gt;
   &amp;lt;mss 1460,sackOK,timestamp 787576523 0,nop,wscale 6&amp;gt;  (DF)&lt;br /&gt;
 22:05:25.845445 10.184.32.82.80 &amp;gt; 10.50.96.138.50215: S 1989118317:1989118317(0) ack 1263958778 win 5792 \&lt;br /&gt;
   &amp;lt;mss 1460,sackOK,timestamp 539529245 787576523,nop,wscale 6&amp;gt; (DF)&lt;br /&gt;
 22:05:25.845896 10.50.96.138.50215 &amp;gt; 10.184.32.82.80: . ack 1 win 92 &amp;lt;nop,nop,timestamp 787576527 539529245&amp;gt; (DF)&lt;br /&gt;
 22:05:25.845908 10.50.96.138.50215 &amp;gt; 10.184.32.82.80: P 1:134(133) ack 1 win 92 &amp;lt;nop,nop,timestamp 787576527 539529245&amp;gt; (DF)&lt;br /&gt;
 22:05:25.856417 10.184.32.82.80 &amp;gt; 10.50.96.138.50215: . ack 134 win 108 &amp;lt;nop,nop,timestamp 539529249 787576527&amp;gt; (DF)&lt;br /&gt;
 22:05:25.862904 10.184.32.82.80 &amp;gt; 10.50.96.138.50215: . 1:1449(1448) ack 134 win 108 &amp;lt;nop,nop,timestamp 539529249 787576527&amp;gt; (DF)&lt;br /&gt;
 22:05:25.863286 10.50.96.138.50215 &amp;gt; 10.184.32.82.80: . ack 1449 win 137 &amp;lt;nop,nop,timestamp 787576532 539529249&amp;gt; (DF)&lt;br /&gt;
 22:05:25.868800 10.184.32.82.80 &amp;gt; 10.50.96.138.50215: . 1449:2897(1448) ack 134 win 108 &amp;lt;nop,nop,timestamp 539529249 787576527&amp;gt; (DF)&lt;br /&gt;
 22:05:25.869206 10.50.96.138.50215 &amp;gt; 10.184.32.82.80: . ack 2897 win 182 &amp;lt;nop,nop,timestamp 787576533 539529249&amp;gt; (DF)&lt;br /&gt;
 22:05:25.878659 10.184.32.82.80 &amp;gt; 10.50.96.138.50215: . 2897:4345(1448) ack 134 win 108 &amp;lt;nop,nop,timestamp 539529253 787576532&amp;gt; (DF)&lt;br /&gt;
 22:05:25.879036 10.50.96.138.50215 &amp;gt; 10.184.32.82.80: . ack 4345 win 227 &amp;lt;nop,nop,timestamp 787576536 539529253&amp;gt; (DF)&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* esimene rida vastab ühenduse algatamise SYN paketile&lt;br /&gt;
* mss 1460 -  tcp maximum segment size väärtus, ütleb teisele poolele, kui suuri tcp pakette saata&lt;br /&gt;
* sackOK - selective acknowledgement on ok paketi saatja jaoks&lt;br /&gt;
* win 5840 - paketi saatja teatab paketi vastuvõtjale, et tal on puhvrit võtta ise pakette vastu 5840 baiti&lt;br /&gt;
* win 92 - kuna alguses lepiti kokku wscale=6, siis 92 tähendab 92 * 2^6 = 5888 baiti&lt;br /&gt;
* ack arv - loeb kui palju baite on paketi saatja teise poole käest vastu võtnud; &lt;br /&gt;
* DF - kõigil pakettidel on seatud don&#039;t fragment&lt;br /&gt;
* nop - not operating, sisuliselt kasutatakse paddinguks&lt;br /&gt;
* 1449:2897(1448) - sulgudes olev väärtus on tcp paketi sisu suurus baitides&lt;br /&gt;
* kasutades lisaks võtit -e esitatakse eraldi tulbas etherneti frame sees kantud protokolli nimi, nt ip ning vastava paketi suurus&lt;br /&gt;
&lt;br /&gt;
====ARP====&lt;br /&gt;
&lt;br /&gt;
Huvitav on tähele panna, et tcpdump tegeleb mitme protokolliga, nt ip (0800) ja arp (0806) protokolli pakettidega, mis on saadetud arp broadcast aadressile&lt;br /&gt;
&lt;br /&gt;
  # tcpdump -nei re0 ether host ff:ff:ff:ff:ff:ff&lt;br /&gt;
  tcpdump: listening on re0, link-type EN10MB&lt;br /&gt;
  11:00:49.928582 00:0e:0c:b0:96:b6 ff:ff:ff:ff:ff:ff 0800 210: 192.168.10.10.631 &amp;gt; 192.168.10.255.631: udp 168 (DF)&lt;br /&gt;
  11:01:08.024422 00:16:3e:00:00:01 ff:ff:ff:ff:ff:ff 0800 249: 192.168.10.41.138 &amp;gt; 192.168.10.255.138: udp 207&lt;br /&gt;
  11:01:26.338380 00:1b:21:1d:f6:06 ff:ff:ff:ff:ff:ff 0806 60: arp who-has 192.168.10.254 tell 192.168.10.250&lt;br /&gt;
&lt;br /&gt;
Kui tcpdump väljundit on vaja saata toru kaudu mõne teksti töötlevale programmile edasi on asjakohane kasutada lisaks -l võtit, mis puhverdab rea kaupa, nt&lt;br /&gt;
&lt;br /&gt;
  # tcpdump -nlei re0 ether host ff:ff:ff:ff:ff:ff | grep 0806&lt;br /&gt;
&lt;br /&gt;
====Liikluse salvestamine faili====&lt;br /&gt;
&lt;br /&gt;
Selleks, et salvestada tulemus ka faili:&lt;br /&gt;
&lt;br /&gt;
 # tcpdump -i ed0 -w liiklus.log&lt;br /&gt;
&lt;br /&gt;
Liikluse faili salvestamiseks sobib öelda nö tavalise MTU&#039;ga (1,5 kBaiti) võrgus nt (-s 0 võti tähendab, et salvestatakse kõik paketi sisu suurusest hoolimata)&lt;br /&gt;
&lt;br /&gt;
  # tcpdump -s 1600 -w /tmp/liiklus.log -i em0 host 10.0.6.180 and port 80&lt;br /&gt;
&lt;br /&gt;
Selliselt salvestatud liikluse analüüsimiseks sobib öelda nt&lt;br /&gt;
&lt;br /&gt;
 # tcpdump -r /tmp/liiklus.log&lt;br /&gt;
&lt;br /&gt;
====IP====&lt;br /&gt;
&lt;br /&gt;
Kui IP kihis leiab aset pakettide fragmenteerumine, siis paistab see tcpdump väljundis nt selliselt&lt;br /&gt;
&lt;br /&gt;
 23:43:36.802989 10.100.0.161.32545 &amp;gt; 10.100.1.190.80: S 3394332515:3394332515(0) win 16384 \&lt;br /&gt;
   &amp;lt;mss 8960,nop,nop,sackOK,nop,wscale 0,nop,nop,timestamp 3055259272 0&amp;gt;&lt;br /&gt;
 23:43:36.803982 10.100.1.190.80 &amp;gt; 10.100.0.161.32545: S 2791894032:2791894032(0) ack 3394332516 win 16384 \&lt;br /&gt;
   &amp;lt;mss 8960,nop,nop,sackOK,nop,wscale 0,nop,nop,timestamp 313564159 3055259272&amp;gt;&lt;br /&gt;
 23:43:36.805275 10.100.0.161.32545 &amp;gt; 10.100.1.190.80: . ack 1 win 16384 &amp;lt;nop,nop,timestamp 3055259272 313564159&amp;gt;&lt;br /&gt;
 23:43:36.805527 10.100.0.161.32545 &amp;gt; 10.100.1.190.80: P 1:67(66) ack 1 win 16384 &amp;lt;nop,nop,timestamp 3055259272 313564159&amp;gt;&lt;br /&gt;
 23:43:36.809486 10.100.1.190.80 &amp;gt; 10.100.0.161.32545: . 1:1449(1448) ack 67 win 17896 \&lt;br /&gt;
   &amp;lt;nop,nop,timestamp 313564159 0&amp;gt; (frag 35143:1480@0+)&lt;br /&gt;
 23:43:36.809503 10.100.1.190 &amp;gt; 10.100.0.161: (frag 35143:1480@1480+)&lt;br /&gt;
 23:43:36.809515 10.100.1.190 &amp;gt; 10.100.0.161: (frag 35143:1480@2960+)&lt;br /&gt;
 23:43:36.809527 10.100.1.190 &amp;gt; 10.100.0.161: (frag 35143:1480@4440+)&lt;br /&gt;
 23:43:36.809539 10.100.1.190 &amp;gt; 10.100.0.161: (frag 35143:1480@5920+)&lt;br /&gt;
 23:43:36.809554 10.100.1.190 &amp;gt; 10.100.0.161: (frag 35143:824@7400)&lt;br /&gt;
 23:43:36.810014 10.100.1.190.80 &amp;gt; 10.100.0.161.32545: P 8193:9641(1448) ack 67 win 17896 \&lt;br /&gt;
   &amp;lt;nop,nop,timestamp 313564159 0&amp;gt; (frag 46914:1480@0+)&lt;br /&gt;
 23:43:36.810030 10.100.1.190 &amp;gt; 10.100.0.161: (frag 46914:1480@1480+)&lt;br /&gt;
 23:43:36.810045 10.100.1.190 &amp;gt; 10.100.0.161: (frag 46914:1452@2960)&lt;br /&gt;
 23:43:36.810157 10.100.1.190.80 &amp;gt; 10.100.0.161.32545: F 12573:12573(0) ack 67 win 17896 &amp;lt;nop,nop,timestamp 313564159 0&amp;gt;&lt;br /&gt;
 23:43:36.813600 10.100.0.161.32545 &amp;gt; 10.100.1.190.80: . ack 8193 win 16384 &amp;lt;nop,nop,timestamp 3055259272 313564159&amp;gt;&lt;br /&gt;
 23:43:36.813856 10.100.0.161.32545 &amp;gt; 10.100.1.190.80: . ack 12574 win 12004 &amp;lt;nop,nop,timestamp 3055259272 313564159&amp;gt;&lt;br /&gt;
 23:43:36.816244 10.100.0.161.32545 &amp;gt; 10.100.1.190.80: F 67:67(0) ack 12574 win 16384 &amp;lt;nop,nop,timestamp 3055259272 313564159&amp;gt;&lt;br /&gt;
 23:43:36.817042 10.100.1.190.80 &amp;gt; 10.100.0.161.32545: . ack 68 win 17896 &amp;lt;nop,nop,timestamp 313564159 0&amp;gt;&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* (frag 35143:1480@0+) - järgnevad IP fragmendid&lt;br /&gt;
* (frag 35143:824@7400) - viimane IP fragment kuna järel + märk puudub&lt;br /&gt;
&lt;br /&gt;
ICMP pakettide puhul on fragmenteerimist veel otsekohesem jälgida, öeldes ühes aknas&lt;br /&gt;
&lt;br /&gt;
 # ping -c 1 -s 6000 192.168.209.245&lt;br /&gt;
 PING 192.168.209.245 (192.168.209.245): 6000 data bytes&lt;br /&gt;
 6008 bytes from 192.168.209.245: icmp_seq=0 ttl=56 time=74.206 ms&lt;br /&gt;
&lt;br /&gt;
võib võrku pealt kuulates paista midagi sellist&lt;br /&gt;
&lt;br /&gt;
 22:30:44.799162 84.50.96.138 &amp;gt; 192.168..209.245: icmp: echo request (frag 36688:1480@0+)&lt;br /&gt;
 22:30:44.799168 84.50.96.138 &amp;gt; 192.168..209.245: (frag 36688:1480@1480+)&lt;br /&gt;
 22:30:44.799175 84.50.96.138 &amp;gt; 192.168..209.245: (frag 36688:1480@2960+)&lt;br /&gt;
 22:30:44.799180 84.50.96.138 &amp;gt; 192.168..209.245: (frag 36688:1480@4440+)&lt;br /&gt;
 22:30:44.799187 84.50.96.138 &amp;gt; 192.168..209.245: (frag 36688:88@5920)&lt;br /&gt;
 22:30:44.872529 192.168.209.245 &amp;gt; 84.50.96.138: icmp: echo reply (frag 42199:1480@0+)&lt;br /&gt;
 22:30:44.872674 192.168.209.245 &amp;gt; 84.50.96.138: (frag 42199:1480@1480+)&lt;br /&gt;
 22:30:44.872774 192.168.209.245 &amp;gt; 84.50.96.138: (frag 42199:1480@2960+)&lt;br /&gt;
 22:30:44.872899 192.168.209.245 &amp;gt; 84.50.96.138: (frag 42199:1480@4440+)&lt;br /&gt;
 22:30:44.872913 192.168.209.245 &amp;gt; 84.50.96.138: (frag 42199:88@5920)&lt;br /&gt;
&lt;br /&gt;
===ping===&lt;br /&gt;
&lt;br /&gt;
Kuulub enamuse operatsioonisüsteemide pakettide hulka&lt;br /&gt;
&lt;br /&gt;
Ping utiliidi abil saab hõlpasti veenduda, et kahe punkti vahel on füüsiliselt võrguühendus olemas. Ping kasutab andmevahetuseks ICMP (Internet Control Message Protocol) protokolli ja arusaadavalt ei tohi sellise kontrolli õnnestumiseks kahe punkti vahel olla ICMP protokolli kasutamine takistatud, täpsemini  ICMP echo request ja ICMP echo reply sõnumite vahetamine.&lt;br /&gt;
&lt;br /&gt;
Kasutamiseks tuleb ühes punktis öelda&lt;br /&gt;
&lt;br /&gt;
  # ping 192.168.10.11&lt;br /&gt;
  PING 192.168.10.11 (192.168.10.11): 56 data bytes&lt;br /&gt;
  64 bytes from 192.168.10.11: icmp_seq=0 ttl=64 time=3.922 ms&lt;br /&gt;
  64 bytes from 192.168.10.11: icmp_seq=1 ttl=64 time=0.286 ms&lt;br /&gt;
  64 bytes from 192.168.10.11: icmp_seq=2 ttl=64 time=0.274 ms&lt;br /&gt;
  64 bytes from 192.168.10.11: icmp_seq=3 ttl=64 time=0.193 ms&lt;br /&gt;
&lt;br /&gt;
Väljundist on näha, et pöördutud aadress vastab, vastused on järjekorras ja kadudeta saabunud ning vastuse saamise aeg on suhteliselt stabiilne. Võib järeldada, et võrk toimib.&lt;br /&gt;
&lt;br /&gt;
Kasutades võtit -n ei püüa Ping lahendada nimesid, tihti seisneb võrgu nö mittetöötamine valesti konfigureeritud nimeserveris või nimeserveri mittekasutamises.&lt;br /&gt;
&lt;br /&gt;
Pingimise intervalli võib ka vähendada järgnevalt:&lt;br /&gt;
&lt;br /&gt;
 # ping -i 0 -c 5 neti.ee &lt;br /&gt;
&lt;br /&gt;
Silmas tasub ainult sel juhul pidada järgnevaid asju:&lt;br /&gt;
&lt;br /&gt;
*flood ping (intervall 0) on masinate kiusamine, mõned tulemüürid võivad seda spetsiifiliselt detectida ja blokkida,&lt;br /&gt;
*mida lühem intervall, seda hüplikumaks muutub tulemus, pendeldades rohkem 100% ja 0% vahel,&lt;br /&gt;
*alla 1 sek intervalliga ping tuleb ruudu poolt käivitada.&lt;br /&gt;
&lt;br /&gt;
===traceroute===&lt;br /&gt;
&lt;br /&gt;
Samuti enamuse operatsioonisüsteemides leiduv programm&lt;br /&gt;
&lt;br /&gt;
Traceroute utiliidi abil saab jälgida, millistest võrgusõlmedest käib kahe punkti vahel toimuv liiklus läbi. Traceroute kasutab andmevahetuseks vaikimisi UDP protokolli ning asjaolu, et kui IP pakett läbib võrgusõlme, siis vähendatakse päises olevat TTL väärtust ühe võrra kusjuures kui võrgusõlme jõuab pakett, mille TTL väärtus on üks, siis saadetakse tagasi ICMP vastus&lt;br /&gt;
&lt;br /&gt;
   icmp: time exceeded in-transit&lt;br /&gt;
&lt;br /&gt;
UDP pakett saadetakse vaikimisi porti 33434 (eeldades, et sihtpunktiks olevas arvutis ei kuula seal teenust). Esimese paketi TTL on väärtusega 1 ning &#039;icmp: time exceeded in-transit&#039; saadakse vaikelüüsilt. Järgmise paketi TTL seatakse 2 ning &#039;icmp: time exceeded in-transit&#039; saadakse järgmises võrgu sõlmpunktis asuvalt ruuterilt jne kuni lõpuks UDP puhul saadakse sihtpunktilt vastuseks&lt;br /&gt;
&lt;br /&gt;
  icmp: 172.168.1.1 udp port 33443 unreachable&lt;br /&gt;
&lt;br /&gt;
UDP asemel on võimalik kasutada ka ICMP või TCP protokolli, aga UDP annab praktikas kõige paremaid tulemusi. Toome näite kasutades ICMP protokolli kuna liiklust sisaldavas võrgus on tulemust nii parem näha ja esitada. Ütleme arvuti ühes promptis&lt;br /&gt;
&lt;br /&gt;
  # traceroute -n -q 1 -I cache.eenet.ee &lt;br /&gt;
  traceroute to cache.eenet.ee (193.40.133.134), 64 hops max, 40 byte packets&lt;br /&gt;
   1  195.80.102.33  0.494 ms&lt;br /&gt;
   2  213.184.51.121  0.418 ms&lt;br /&gt;
   3  194.116.188.19  0.524 ms&lt;br /&gt;
   4  193.40.133.187  4.724 ms&lt;br /&gt;
   5  193.40.133.134  3.760 ms&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* väljundis esitatakse järjekorras kõigi võrgusõlmede aadressid, mida pakett läbib sihtpunkti jõudmiseks; täpsemalt, need on võrgusõlmpunktide traceroute kasutaja poolsete võrguseadmede aadressid&lt;br /&gt;
* iga aadressi järel esitatakse vastuse tagasijõudmiseks kulunud aeg, kusjuures aeg esitatakse iga rea kohta eraldi st viimase rea aeg ei ole kõige aegade summa (antud juhul on see ka selgesti näha, et mingil põhjusel jõudis viimase hosti juurest vastus kiiremini tagasi kui eelviimasest)&lt;br /&gt;
&lt;br /&gt;
Kuulates samas arvutis liiklust pealt teises promptis näeme&lt;br /&gt;
&lt;br /&gt;
  # tcpdump -nttti em3 icmp &lt;br /&gt;
  tcpdump: listening on em3, link-type EN10MB&lt;br /&gt;
  May 19 18:12:08.419036 195.80.102.35 &amp;gt; 193.40.133.134: icmp: echo request [ttl 1]&lt;br /&gt;
  May 19 18:12:08.419459 195.80.102.33 &amp;gt; 195.80.102.35: icmp: time exceeded in-transit [tos 0xc0]&lt;br /&gt;
  May 19 18:12:08.419659 195.80.102.35 &amp;gt; 193.40.133.134: icmp: echo request&lt;br /&gt;
  May 19 18:12:08.419957 213.184.51.121 &amp;gt; 195.80.102.35: icmp: time exceeded in-transit [tos 0xc0]&lt;br /&gt;
  May 19 18:12:08.420152 195.80.102.35 &amp;gt; 193.40.133.134: icmp: echo request&lt;br /&gt;
  May 19 18:12:08.420582 194.116.188.19 &amp;gt; 195.80.102.35: icmp: time exceeded in-transit&lt;br /&gt;
  May 19 18:12:08.420760 195.80.102.35 &amp;gt; 193.40.133.134: icmp: echo request&lt;br /&gt;
  May 19 18:12:08.424455 193.40.133.187 &amp;gt; 195.80.102.35: icmp: time exceeded in-transit&lt;br /&gt;
  May 19 18:12:08.424638 195.80.102.35 &amp;gt; 193.40.133.134: icmp: echo request&lt;br /&gt;
  May 19 18:12:08.428660 193.40.133.134 &amp;gt; 195.80.102.35: icmp: echo reply&lt;br /&gt;
&lt;br /&gt;
Vahel esineb traceroute väljundis real * märk, mis tähendab, et vaatlusalune võrgusõlm ei vastanud &#039;icmp: time exceeded in-transit&#039; teatega või see teade ei jõudnud kohale&lt;br /&gt;
&lt;br /&gt;
  # traceroute -n -q 1 -I www.eenet.ee&lt;br /&gt;
  traceroute to www.eenet.ee (193.40.0.131), 64 hops max, 60 byte packets&lt;br /&gt;
   1  84.50.96.137  58.500 ms&lt;br /&gt;
   2  88.196.144.137  5.230 ms&lt;br /&gt;
   3  90.190.153.17  4.325 ms&lt;br /&gt;
   4  195.250.191.17  8.805 ms&lt;br /&gt;
   5  *&lt;br /&gt;
   6  194.116.188.19  9.124 ms&lt;br /&gt;
   7  193.40.133.187  11.953 ms&lt;br /&gt;
   8  193.40.0.131  11.744 ms&lt;br /&gt;
&lt;br /&gt;
TCP ja port 80 tracroute&lt;br /&gt;
&lt;br /&gt;
 # traceroute -n -q 1 -T www.eenet.ee -p 80&lt;br /&gt;
 traceroute to www.eenet.ee (193.40.0.131), 30 hops max, 60 byte packets&lt;br /&gt;
  1  10.0.0.1  0.313 ms&lt;br /&gt;
  2  184.50.25.1  0.659 ms&lt;br /&gt;
  3  184.50.157.2  5.896 ms&lt;br /&gt;
  4  213.168.1.18  3.562 ms&lt;br /&gt;
  5  213.168.1.27  3.680 ms&lt;br /&gt;
  6  195.250.170.70  3.797 ms&lt;br /&gt;
  7  193.40.133.6  6.987 ms&lt;br /&gt;
  8  193.40.133.26  7.113 ms&lt;br /&gt;
  9  193.40.0.131  7.993 ms&lt;br /&gt;
&lt;br /&gt;
===tracepath===&lt;br /&gt;
&lt;br /&gt;
tracepath programmi abil saab teha kindlaks Path MTU väärtusi, paigaldamiseks tuleb Debian Lenny keskkonnas öelda&lt;br /&gt;
&lt;br /&gt;
 # apt-get install iputils-tracepath&lt;br /&gt;
&lt;br /&gt;
Kasutamine toimub selliselt&lt;br /&gt;
&lt;br /&gt;
 $ tracepath -n 192.168.1.4&lt;br /&gt;
  1:  192.168.10.10     0.062ms pmtu 1500&lt;br /&gt;
  1:  192.168.10.210    0.444ms &lt;br /&gt;
  1:  192.168.10.210    0.220ms &lt;br /&gt;
  2:  192.168.1.4       0.835ms reached&lt;br /&gt;
      Resume: pmtu 1500 hops 2 back 63&lt;br /&gt;
&lt;br /&gt;
Kasulikud lisamaterjalid&lt;br /&gt;
&lt;br /&gt;
* http://en.wikipedia.org/wiki/Path_MTU_Discovery&lt;br /&gt;
&lt;br /&gt;
===nmap===&lt;br /&gt;
&lt;br /&gt;
Programm nmap on populaarne võrgu kaardistamise vahend, mida võrguadministraatorid ja süsteemiadministraatorid armastavad kasutada teenuste kontrollimiseks, samuti diagnostikavahendina probleemide või kahtluste olemasolul. Lisaks tundub, et pahalased kasutavad sarnast võrgu kaardistamise vahendit ründe sihtmärkide kindlakstegemiseks. Nmap töö põhineb erinevate omadustega pakettide väljasaatmisel ning vastuste (sh saamatajätmise) analüüsil. Üldiselt võiks eristada kahte taset nmapi kasutamisel&lt;br /&gt;
&lt;br /&gt;
* võrgus arvutite leidmine (ingl. k. host discovery)&lt;br /&gt;
* üksikute arvutite omaduste kindlakstegemine (nt millistel portidel pakutakse teenust) (ingl. k. port scanning)&lt;br /&gt;
&lt;br /&gt;
Nmap ei kuulu enamuse operatsioonisüsteemi baaskonfiguratsiooni ning tuleb eelnevalt&lt;br /&gt;
paketihalduse vahenditega paigaldada&lt;br /&gt;
&lt;br /&gt;
Nt Debian v. 7 Wheezy puhul sobib öelda, et ei paigaldatakse hulka Recommends olekus pakette&lt;br /&gt;
&lt;br /&gt;
 # apt-get --no-install-recommends install nmap&lt;br /&gt;
&lt;br /&gt;
====võrgust arvutite leidmine====&lt;br /&gt;
&lt;br /&gt;
Võrgus arvutite kindlakstegemiseks on nmap&#039;il kaks võtit, -sL ja -sP&lt;br /&gt;
&lt;br /&gt;
Selleks, et lihtsalt kuvada subnetis olevad ip aadressid koos pöördteisendustega, mingit skaneerimist ei toimu&lt;br /&gt;
&lt;br /&gt;
  # nmap -sL 192.168.1.0/24&lt;br /&gt;
  &lt;br /&gt;
  Starting Nmap 4.53 ( http://insecure.org ) at 2008-06-23 22:30 EEST&lt;br /&gt;
  Host 192.168.1.0 not scanned&lt;br /&gt;
  Host sipsik.loomaaed.tartu.ee (192.168.1.1) not scanned&lt;br /&gt;
  Host www.loomaaed.tartu.ee (192.168.1.2) not scanned&lt;br /&gt;
  Host vaktsiin.loomaaed.tartu.ee (192.168.1.3) not scanned&lt;br /&gt;
  Host loomaaed.tartu.ee (192.168.1.4) not scanned&lt;br /&gt;
  Host 192.168.1.5 not scanned&lt;br /&gt;
  Host hilja.loomaaed.tartu.ee (192.168.1.6) not scanned&lt;br /&gt;
  ..&lt;br /&gt;
  Nmap done: 256 IP addresses (0 hosts up) scanned in 0.142 seconds&lt;br /&gt;
&lt;br /&gt;
Selleks, et saada subnetis olevate arvutite mac aadresside nimekirja sobib öelda&lt;br /&gt;
&lt;br /&gt;
  # nmap -sP 192.168.1.0/24 -n&lt;br /&gt;
  &lt;br /&gt;
  Starting Nmap 4.53 ( http://insecure.org ) at 2008-06-23 23:03 EEST&lt;br /&gt;
  Host 192.168.1.1 appears to be up.&lt;br /&gt;
  MAC Address: 00:16:3E:1C:3C:B3 (Xensource)&lt;br /&gt;
  Host 192.168.1.2 appears to be up.&lt;br /&gt;
  MAC Address: 00:16:3E:2C:7E:DD (Xensource)&lt;br /&gt;
  Host 192.168.1.3 appears to be up.&lt;br /&gt;
  MAC Address: 00:18:F8:E5:F8:F2 (Cisco-Linksys)&lt;br /&gt;
  Host 192.168.1.4 appears to be up.&lt;br /&gt;
  MAC Address: 00:0C:42:07:1A:46 (Routerboard.com)&lt;br /&gt;
  Nmap done: 256 IP addresses (5 hosts up) scanned in 6.054 seconds&lt;br /&gt;
&lt;br /&gt;
Kui nö teises aknas võrku kuulata, näeb, et nmap teeb subneti iga ip aadressi kohta arp päringu, väga efektiivne moodus arvuti olemasolu kindlakstegemiseks&lt;br /&gt;
&lt;br /&gt;
  # tcpdump -nettti fxp1 arp&lt;br /&gt;
  Jun 23 22:49:26.743432 00:02:55:ee:42:72 ff:ff:ff:ff:ff:ff 0806 42: arp who-has 192.168.1.1 (ff:ff:ff:ff:ff:ff) tell 192.168.1.254&lt;br /&gt;
  Jun 23 22:49:26.743466 00:02:55:ee:42:72 ff:ff:ff:ff:ff:ff 0806 42: arp who-has 192.168.1.2 (ff:ff:ff:ff:ff:ff) tell 192.168.1.254&lt;br /&gt;
  Jun 23 22:49:26.943286 00:02:55:ee:42:72 ff:ff:ff:ff:ff:ff 0806 42: arp who-has 192.168.1.3 (ff:ff:ff:ff:ff:ff) tell 192.168.1.254&lt;br /&gt;
  Jun 23 22:49:26.943339 00:02:55:ee:42:72 ff:ff:ff:ff:ff:ff 0806 42: arp who-has 192.168.1.4 (ff:ff:ff:ff:ff:ff) tell 192.168.1.254&lt;br /&gt;
  ..&lt;br /&gt;
&lt;br /&gt;
Kui sedasi pöörduda mittelokaalse võrgu poole, siis nmap saadab icmp echo requesti ning tcp ack paketi porti 80 (mis tavaliselt ei saa tulemüüridest edasi, kuna ei kuulu ühenduse hulka) ning näitab samuti tulemust.&lt;br /&gt;
&lt;br /&gt;
Lisaks saab -sP võtmega koos kasutada nn probe&#039;isid (-PS, -PA jt) võtmeid, et vaikimisi käitumist muuta.&lt;br /&gt;
&lt;br /&gt;
Nmap programmi võrgust arvutite leidmise protseduuri väljundi saab salvestada faili, et seda seejärel üksikute arvutite omaduste kindlakstegemiseks kasutada, näiteks selliselt, -oG võtme kasutamisel salvestatakse väljund võimalikult nö grep&#039;itavas formaadis&lt;br /&gt;
&lt;br /&gt;
  # nmap -sP 192.168.1.0/24 -oG /tmp/nmap-192.168.1.0-24.log&lt;br /&gt;
&lt;br /&gt;
====Üksikute arvutite omaduste kindlakstegemine====&lt;br /&gt;
&lt;br /&gt;
Üksikute arvutite omaduste all mõeldaks seda, millises olekus on tema erinevad pordid, näiteks&lt;br /&gt;
&lt;br /&gt;
* open - pordil töötab rakendus&lt;br /&gt;
* closed - pordile ei ole ligipääs takistatud, aga rakendust ei tööta (tavaliselt saadab arvuti nmapile vastuseks RST paketi)&lt;br /&gt;
* filtered - nmap ei saa kindlaks teha pordi olekut (kas open või closed) kuna vaatlusaluses endas või tema eest töötab paketifilter&lt;br /&gt;
&lt;br /&gt;
Tegemaks kindlaks, kas failis /tmp/192.168.1.0-24.log sisalduvatel ip aadressidel vastab SYN paketile 22 port tuleb näiteks öelda&lt;br /&gt;
&lt;br /&gt;
  # nmap -p T:22 -sS -iL /tmp/nmap.log -PN -oG -&lt;br /&gt;
&lt;br /&gt;
* -oG - tundub, et väljund on sedasi pisut paremini loetav kui vaikimisi&lt;br /&gt;
* -PN - nmap ei soorita taustal nn host discovery&#039;t, kui tcpflow abil liiklust jälgida, on pilt selgem&lt;br /&gt;
&lt;br /&gt;
Sedasi on näiteks ka hea kontrollida, kas oma synproxy režiimis käivitatud tulemüür ikka toimib nõuetekohaselt.&lt;br /&gt;
&lt;br /&gt;
Nmap võimaldab vaatlusaluse arvuti tcp/ip stackiga suhtlemisel saadud info põhjal kaudselt ennustada selle arvuti operatsioonisüsteemi ning portidel kuulavate tarkvarade versioonid&lt;br /&gt;
&lt;br /&gt;
  # nmap -A 192.168.0.239     &lt;br /&gt;
  Starting Nmap 4.53 ( http://insecure.org ) at 2008-04-10 23:12 EEST&lt;br /&gt;
  Interesting ports on 192.168.0.239:&lt;br /&gt;
  Not shown: 1711 closed ports&lt;br /&gt;
  PORT    STATE SERVICE VERSION&lt;br /&gt;
  22/tcp  open  ssh     OpenSSH 4.7p1 Debian 2 (protocol 2.0)&lt;br /&gt;
  MAC Address: 00:11:25:85:64:34 (IBM)&lt;br /&gt;
  Device type: general purpose&lt;br /&gt;
  Running: Linux 2.6.X&lt;br /&gt;
  OS details: Linux 2.6.17 - 2.6.20&lt;br /&gt;
  Uptime: 0.640 days (since Thu Apr 10 07:51:45 2008)&lt;br /&gt;
  Network Distance: 1 hop&lt;br /&gt;
  Service Info: OSs: Unix, Linux&lt;br /&gt;
  &lt;br /&gt;
  OS and Service detection performed. Please report any incorrect results at http://insecure.org/nmap/submit/ .&lt;br /&gt;
  Nmap done: 1 IP address (1 host up) scanned in 20.592 seconds&lt;br /&gt;
&lt;br /&gt;
TCP handshake&#039;i tegemiseks sobib kasutada, nn connect scan&lt;br /&gt;
&lt;br /&gt;
  # nmap -p T:443 -sT -PN 192.168.0.239&lt;br /&gt;
&lt;br /&gt;
Lisaks saab seada tcp paketi lippe ka näidates vajalikud lipud otse, nt seada SYN ja ACK, korrektselt seadistatud tulemüürist selline pakett läbi minna ei tohiks&lt;br /&gt;
&lt;br /&gt;
 # nmap -p T:80 --scanflags SYNACK -PN 192.168.0.239&lt;br /&gt;
&lt;br /&gt;
IP aadressiga seotud portide vahemiku tcp handshake skaneerimine&lt;br /&gt;
&lt;br /&gt;
 # nmap -p T:22-100 -sT -Pn 192.168.0.111&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* -p T:22-100 - portide vahemik ja TCP (tegelikult -T on ta niikuinii antud juhul ja selle võiks ka ära jätta)&lt;br /&gt;
* -Pn - mitte pingida, st saadetakse vaid tcp syn jne pakette&lt;br /&gt;
* -sT - tcp handshake skaneerimine&lt;br /&gt;
&lt;br /&gt;
Mitme ip aadressi puhul&lt;br /&gt;
&lt;br /&gt;
 # nmap -p T:22-100 -sT -Pn 192.168.0.111-116 -o /var/tmp/nmap-20180222.log&lt;br /&gt;
&lt;br /&gt;
====Võrgust teatud omadustega arvutite otsimine====&lt;br /&gt;
&lt;br /&gt;
 # nmap -PS -p 443 192.168.2.200-245&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* -PS - tcp syn&lt;br /&gt;
* -p 443 - port&lt;br /&gt;
* 192.168.2.200-245 - ip vahemik&lt;br /&gt;
&lt;br /&gt;
====Turvavigade kontroll====&lt;br /&gt;
&lt;br /&gt;
Tööks vajalikud huvitavad failid asuvad kaustas nmap/scripts/smb-check-vulns.nse&lt;br /&gt;
nt FreeBSD&#039;s /usr/local/share/nmap/scripts/&lt;br /&gt;
&lt;br /&gt;
Ideepoolest peaks töötama ka käsk&lt;br /&gt;
&lt;br /&gt;
 # nmap --script-updatedb&lt;br /&gt;
 Starting Nmap 4.85BETA7 ( http://nmap.org ) at 2009-09-15 00:33 EEST&lt;br /&gt;
 NSE script database updated successfully.&lt;br /&gt;
 Nmap done: 0 IP addresses (0 hosts up) scanned in 0.23 seconds&lt;br /&gt;
&lt;br /&gt;
Salvestame nmapi töö faili mis meie subneti nimeline ning viime läbi&lt;br /&gt;
SYN skänni pordile 445 ning käivitame SMB vigade kontrollimiseks mõeldud NSE skripti&lt;br /&gt;
ja teeme seda kõigile arvutitele 192.168.1.0/24 võrgus.&lt;br /&gt;
&lt;br /&gt;
 nmap -oA 192168-filename -sS -p445 --script smb-check-vulns.nse 192.168.1.0/24&lt;br /&gt;
&lt;br /&gt;
Tulemused võivad välja näha näiteks järgnevad&lt;br /&gt;
&lt;br /&gt;
 Interesting ports on kasutaja.zoo.tartu.ee (192.168.1.5):&lt;br /&gt;
 PORT    STATE SERVICE&lt;br /&gt;
 445/tcp open  microsoft-ds&lt;br /&gt;
 MAC Address: 00:03:0D:51:E5:CA (Uniwill Computer)&lt;br /&gt;
 &lt;br /&gt;
 Host script results:&lt;br /&gt;
 |_ smb-check-vulns: This host is likely vulnerable to MS08-067 (it&lt;br /&gt;
 stopped responding during the test)&lt;br /&gt;
&lt;br /&gt;
Skriptide poole pöördudes võib kasutada ka järgmist lähenemist:&lt;br /&gt;
&lt;br /&gt;
 nmap --script &amp;quot;http-*&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Mis laadib kõik skriptid millede nimi algab httpd- reaga, näiteks http-auth ja http-open-proxy&lt;br /&gt;
&lt;br /&gt;
Või siis laadime kõik skriptid, välja arvatud intrusive kategooriast:&lt;br /&gt;
&lt;br /&gt;
 nmap --script &amp;quot;not intrusive&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Vaikimisi kategoriseeritud default ja safe kataloogi.&lt;br /&gt;
&lt;br /&gt;
 nmap --script &amp;quot;default or safe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====nping====&lt;br /&gt;
&lt;br /&gt;
nmap paketi koosseisu kuulub nping programm, mis on natuke sarnane oma võimlustelt hping ja pingile.&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
====ncat====&lt;br /&gt;
&lt;br /&gt;
nmap paketi koosseisu kuulub ncat programm, mis on natuke sarnane oma võimalustelt netcat programmile.&lt;br /&gt;
&lt;br /&gt;
===arping===&lt;br /&gt;
&lt;br /&gt;
Erinevalt programmist ping, mis saadab võrku ip pakette (ethertype 0x0800) tekitab arping arp pakette (ethertype 0x0806). Kui ühes aknas pingida/arpingida ja teises jälgida liiklust, siis paistavad erinevused sellised&lt;br /&gt;
&lt;br /&gt;
Tuleb eelnevalt paigaldada operatsioonisüsteemi pakihalduse vahendite abil&lt;br /&gt;
&lt;br /&gt;
  # ping 192.168.10.251&lt;br /&gt;
&lt;br /&gt;
  # tcpdump -nettti em0 arp or icmp&lt;br /&gt;
  Jun 24 13:27:08.032376 00:0e:0c:ba:4b:3e 00:0c:42:07:1a:45 0800 98: 192.168.10.210 &amp;gt; 192.168.10.251: icmp: echo request&lt;br /&gt;
  Jun 24 13:27:08.032511 00:0c:42:07:1a:45 00:0e:0c:ba:4b:3e 0800 98: 192.168.10.251 &amp;gt; 192.168.10.210: icmp: echo reply&lt;br /&gt;
&lt;br /&gt;
  # arping 192.168.10.251&lt;br /&gt;
&lt;br /&gt;
  # tcpdump -nettti em0 arp or icmp&lt;br /&gt;
  Jun 24 13:27:10.069533 0c:80:18:03:00:00 ff:ff:ff:ff:ff:ff 0806 42: arp who-has 192.168.10.251 tell 192.168.10.210&lt;br /&gt;
  Jun 24 13:27:10.069644 00:0c:42:07:1a:45 0c:80:18:03:00:00 0806 60: arp reply 192.168.10.251 is-at 00:0c:42:07:1a:45&lt;br /&gt;
&lt;br /&gt;
===Ssmpingiga multicasti toimimise testimine===&lt;br /&gt;
&lt;br /&gt;
Multicast ehk multiedastus võimaldab ühe saatekorraga edastada sama infot korraga valitud arvutite rühmale. Seda ei tohi segi ajada broadcastiga, mis edastab paketi absoluutselt kõigile võrgus olevatele masinatele. Multicasti töötamise jaoks on switchis tarvilik IGMP (Internet Group Management Protocol) tugi (snooping ja query). Ruuteril on tarvilik &amp;quot;multicast routing&amp;quot; tuge. Multiedastust kasutatakse laialdaselt audio-video ülekandmiseks ja clustri nodede sünkroniseerimiseks. Rumalad ja mittemanageeritavad switchid võivad multiedastus teated edastada kui broadcasti kõigisse switchi portidesse ja tekitada seega võrgus üleliigset liiklust. IGMP Snoopingu halvaks küljeks on aga suurem switchi protsessori ja mälu kasutus.&lt;br /&gt;
&lt;br /&gt;
http://et.wikipedia.org/wiki/Multiedastus&lt;br /&gt;
http://en.wikipedia.org/wiki/Multicast&lt;br /&gt;
&lt;br /&gt;
Kahe masina vahel multicasti testimine ssmpingi abil. Paigaldamiseks&lt;br /&gt;
&lt;br /&gt;
 # apt-get install ssmping&lt;br /&gt;
&lt;br /&gt;
Esimeses masinas&lt;br /&gt;
&lt;br /&gt;
 # ssmpingd&lt;br /&gt;
&lt;br /&gt;
Teises masinas&lt;br /&gt;
&lt;br /&gt;
 # ssmping -I eth0 &amp;lt;IP aadress&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tulem võiks näha välja järgnev&lt;br /&gt;
&lt;br /&gt;
 asmping joined (S,G) = (*,224.0.2.234)&lt;br /&gt;
 pinging 192.168.8.6 from 192.168.8.5&lt;br /&gt;
   unicast from 192.168.8.6, seq=1 dist=0 time=0.221 ms&lt;br /&gt;
   unicast from 192.168.8.6, seq=2 dist=0 time=0.229 ms&lt;br /&gt;
 multicast from 192.168.8.6, seq=2 dist=0 time=0.261 ms&lt;br /&gt;
   unicast from 192.168.8.6, seq=3 dist=0 time=0.198 ms&lt;br /&gt;
 multicast from 192.168.8.6, seq=3 dist=0 time=0.213 ms&lt;br /&gt;
   unicast from 192.168.8.6, seq=4 dist=0 time=0.234 ms&lt;br /&gt;
 multicast from 192.168.8.6, seq=4 dist=0 time=0.248 ms&lt;br /&gt;
   unicast from 192.168.8.6, seq=5 dist=0 time=0.249 ms&lt;br /&gt;
 multicast from 192.168.8.6, seq=5 dist=0 time=0.263 ms&lt;br /&gt;
   unicast from 192.168.8.6, seq=6 dist=0 time=0.250 ms&lt;br /&gt;
 multicast from 192.168.8.6, seq=6 dist=0 time=0.264 ms&lt;br /&gt;
   unicast from 192.168.8.6, seq=7 dist=0 time=0.245 ms&lt;br /&gt;
 multicast from 192.168.8.6, seq=7 dist=0 time=0.260 ms&lt;br /&gt;
&lt;br /&gt;
Nii unicast kui multicast tunduvad töötavat.&lt;br /&gt;
&lt;br /&gt;
Võime testida ka mõne kaugema serveri pihta:&lt;br /&gt;
&lt;br /&gt;
 # ssmping ssmping.uninett.no&lt;br /&gt;
 ssmping joined (S,G) = (2001:700:0:4501:158:38:0:230,ff3e::4321:1234)&lt;br /&gt;
 pinging S from 2001:bb8:2001:2:21b:21ff:fe65:54c9&lt;br /&gt;
   unicast from 2001:700:0:4501:158:38:0:230, seq=1 dist=14 time=39.017 ms&lt;br /&gt;
   unicast from 2001:700:0:4501:158:38:0:230, seq=2 dist=14 time=38.840 ms&lt;br /&gt;
   unicast from 2001:700:0:4501:158:38:0:230, seq=3 dist=14 time=38.950 ms&lt;br /&gt;
   unicast from 2001:700:0:4501:158:38:0:230, seq=4 dist=14 time=38.704 ms&lt;br /&gt;
 --- 2001:700:0:4501:158:38:0:230 statistics ---&lt;br /&gt;
 4 packets transmitted, time 3564 ms&lt;br /&gt;
 unicast:&lt;br /&gt;
   4 packets received, 0% packet loss&lt;br /&gt;
    rtt min/avg/max/std-dev = 38.704/38.877/39.017/0.269 ms&lt;br /&gt;
 multicast:&lt;br /&gt;
    0 packets received, 100% packet loss&lt;br /&gt;
&lt;br /&gt;
Viimase näite puhul multicast üle ipv6 ei paista töötavat. Unicast aga küll..&lt;br /&gt;
&lt;br /&gt;
===Ethtool===&lt;br /&gt;
&lt;br /&gt;
Selleks, et vaadata ühenduse parameetreid ning seda, kas võrgukaarti on ühendatud kaabel või ei ole on olemas töövahend ethtool. Üsna sageli võib olla segadus, et serveril&lt;br /&gt;
on 4+ võrguseadet ning raske öelda kuidaspidi on udev nad jaganud&lt;br /&gt;
&lt;br /&gt;
 # apt-get install ethtool&lt;br /&gt;
&lt;br /&gt;
Kasutamine&lt;br /&gt;
&lt;br /&gt;
 # ethtool eth0&lt;br /&gt;
&lt;br /&gt;
Ja sealt antud infost saab vaadata nt välja&lt;br /&gt;
&lt;br /&gt;
 Link detected: yes&lt;br /&gt;
&lt;br /&gt;
Rohkema info omandamiseks&lt;br /&gt;
&lt;br /&gt;
 # ethtool -i eth5&lt;br /&gt;
 driver: i40e&lt;br /&gt;
 version: 1.2.37&lt;br /&gt;
 firmware-version: f4.22.27454 a1.2 n4.25 e143f&lt;br /&gt;
 bus-info: 0000:06:00.1&lt;br /&gt;
 supports-statistics: yes&lt;br /&gt;
 supports-test: yes&lt;br /&gt;
 supports-eeprom-access: yes&lt;br /&gt;
 supports-register-dump: yes&lt;br /&gt;
 supports-priv-flags: yes&lt;br /&gt;
&lt;br /&gt;
===tcpflow===&lt;br /&gt;
&lt;br /&gt;
Programmi tcpflow abil on hea uurida rakenduskihile vastavate andmete liikumist võrgus, nt jälgida http päringud ja vastuseid. tcpflow salvestab käesolevasse kataloogi (ingl. k. current directory) tabatud liikluse automaatselt moodustatud failinimesid kasutades&lt;br /&gt;
&lt;br /&gt;
Tuleb eelnevalt paigaldada operatsioonisüsteemi vahendite abil&lt;br /&gt;
&lt;br /&gt;
  # mkdir /tmp/ftp.aso.ee&lt;br /&gt;
  # cd /tmp/ftp.aso.ee&lt;br /&gt;
  # tcpflow -i rl0 host ftp.aso.ee                                                                                                                                       &lt;br /&gt;
  # ls -l&lt;br /&gt;
  total 8&lt;br /&gt;
  -rw-r--r--  1 root  wheel  104 Jun 13 10:22 084.050.096.138.50120-213.184.032.082.00080&lt;br /&gt;
  -rw-r--r--  1 root  wheel  847 Jun 13 10:22 213.184.032.082.00080-084.050.096.138.50120&lt;br /&gt;
&lt;br /&gt;
Failinimedes kasutatakse kasutatud pordinumbreid, päring&lt;br /&gt;
&lt;br /&gt;
  # cat 084.050.096.138.50120-213.184.032.082.00080&lt;br /&gt;
  GET /README HTTP/1.0&lt;br /&gt;
  User-Agent: Wget/1.11.2&lt;br /&gt;
  Accept: */*&lt;br /&gt;
  Host: ftp.aso.ee&lt;br /&gt;
  Connection: Keep-Alive&lt;br /&gt;
&lt;br /&gt;
ning vastus&lt;br /&gt;
&lt;br /&gt;
  # cat 213.184.032.082.00080-084.050.096.138.50&lt;br /&gt;
  HTTP/1.1 200 OK&lt;br /&gt;
  Date: Fri, 13 Jun 2008 07:22:50 GMT&lt;br /&gt;
  Server: Apache&lt;br /&gt;
  Last-Modified: Mon, 05 Nov 2007 19:14:36 GMT&lt;br /&gt;
  ETag: &amp;quot;1c980fa-22e-53bd1f00&amp;quot;&lt;br /&gt;
  Accept-Ranges: bytes&lt;br /&gt;
  Content-Length: 558&lt;br /&gt;
  Keep-Alive: timeout=15, max=100&lt;br /&gt;
  Connection: Keep-Alive&lt;br /&gt;
  Content-Type: text/plain; charset=UTF-8&lt;br /&gt;
  &lt;br /&gt;
  Welcome to the Estonian Informatics Center&#039;s FTP server!&lt;br /&gt;
  &lt;br /&gt;
  On this server are hosted following software distributions&lt;br /&gt;
  &lt;br /&gt;
  Debian GNU/Linux - /debian&lt;br /&gt;
  Ubuntu Linux     - /pub/ubuntu&lt;br /&gt;
  Mandriva Linux   - /pub/Mandrake&lt;br /&gt;
  X-Road System    - /pub/x-tee&lt;br /&gt;
  Solaris CSW      - /pub/csw&lt;br /&gt;
  OpenBSD          - /pub/OpenBSD&lt;br /&gt;
  &lt;br /&gt;
  You can access data anonymously using http, ftp or rsync protocol and&lt;br /&gt;
  one of these domainnames: &lt;br /&gt;
  &lt;br /&gt;
  ftp.aso.ee&lt;br /&gt;
  ftp.ria.ee&lt;br /&gt;
  ftp.ee.debian.org&lt;br /&gt;
  &lt;br /&gt;
  If you have any comments or encounter problems using this archive, please send&lt;br /&gt;
  them via e-mail to ftpmaster_at_aso.ee.&lt;br /&gt;
&lt;br /&gt;
tcpdump abil salvestatud faile saab uurida&lt;br /&gt;
&lt;br /&gt;
 $ tcpflow -r failinimi.pcap&lt;br /&gt;
&lt;br /&gt;
===hping===&lt;br /&gt;
&lt;br /&gt;
Programm hping võimaldab konstrueerida ja võrku saata igasuguseid pakette ja sobib seetõttu hästi nt võrgusõlmede testimiseks. Tarkvarast on kolm populaarset versiooni, hping, hping2 ja hping3. Näiteks SYN paketi tekitamiseks tuleb öelda&lt;br /&gt;
&lt;br /&gt;
Tuleb eelnevalt paigaldada operatsioonisüsteemi vahendite abil&lt;br /&gt;
&lt;br /&gt;
  # hping -S -c 4 -p 80 192.168.10.12&lt;br /&gt;
  HPING farm.loomaaed.tartu.ee (em0 192.168.10.12): S set, 40 headers + 0 data bytes&lt;br /&gt;
  len=46 ip=192.168.10.12 ttl=56 DF id=60008 sport=80 flags=SA seq=0 win=5840 rtt=9.4 ms&lt;br /&gt;
  len=46 ip=192.168.10.12 ttl=56 DF id=53433 sport=80 flags=SA seq=1 win=5840 rtt=9.8 ms&lt;br /&gt;
  len=46 ip=192.168.10.12 ttl=56 DF id=39504 sport=80 flags=SA seq=2 win=5840 rtt=9.5 ms&lt;br /&gt;
  len=46 ip=192.168.10.12 ttl=56 DF id=54821 sport=80 flags=SA seq=3 win=5840 rtt=9.5 ms&lt;br /&gt;
&lt;br /&gt;
kus võtmed&lt;br /&gt;
&lt;br /&gt;
* -S - konstrueerida SYN pakett&lt;br /&gt;
* -c 4 - saata viis paketti&lt;br /&gt;
* -i arv - saata intervalliga arv sekundit, vaikimisi ühe sekundise intervalliga&lt;br /&gt;
* -p - pordile 80&lt;br /&gt;
&lt;br /&gt;
Näiteks nii saab nö tavalist ICMP pingi sooritada öeldes paketi src aadressiks 192.168.12.144&lt;br /&gt;
&lt;br /&gt;
  # hping3 -1 -a 192.168.12.144 192.168.11.145&lt;br /&gt;
&lt;br /&gt;
Fragmenteeritud IP pakettide genereerimiseks sobib öelda&lt;br /&gt;
&lt;br /&gt;
 # hping3 -d 5400 -E /tmp/50M -S -c 3 -p 80 192.168.10.12 -m 200&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* -d paketi andmeosa suurus&lt;br /&gt;
* -E - mida kasutada andmeosa täitmiseks&lt;br /&gt;
* -m - mtu suurus&lt;br /&gt;
&lt;br /&gt;
===netcat===&lt;br /&gt;
&lt;br /&gt;
Programm netcat võimaldab hõlpsasti testida võrku, või vahetda arvutite ning programmide vahel infot. Sarnane tuntud programmile socket. Ühes arvutis tuleb ta käivitada porti kuulama öeldes, näiteks faili /tmp/filename.out kopeerimiseks&lt;br /&gt;
&lt;br /&gt;
Tuleb osades operatsioonisüsteemides paigaldada, nt OpenBSD&#039;s on ta olemas&lt;br /&gt;
&lt;br /&gt;
  # nc -l -p 1010 &amp;gt; /tmp/filename.out&lt;br /&gt;
&lt;br /&gt;
ja teisest pöörduda&lt;br /&gt;
&lt;br /&gt;
  # nc teise.arvuti.ip.aadress 1010 &amp;lt; /tmp/filename.out&lt;br /&gt;
&lt;br /&gt;
Linuxi peal töötab sedasi lihtne server&lt;br /&gt;
&lt;br /&gt;
  # while true ; do cat /tmp/http.txt  | nc -l -p 1500 head --bytes 2000 &amp;gt;&amp;gt;/tmp/requests ; date &amp;gt;&amp;gt;/tmp/requests ; done&lt;br /&gt;
&lt;br /&gt;
Hädapärast saab netcati vahendusel vahendada ka arvutite vahel ja skriptide vahel infot näiteks kuulame 1001 porti ühes masinas&lt;br /&gt;
&lt;br /&gt;
abiks käsk testimisel ka&lt;br /&gt;
&lt;br /&gt;
 nc -l -p 1001 | awk -F&amp;quot;,&amp;quot; &#039;{print $2}&#039;&lt;br /&gt;
&lt;br /&gt;
Syslogiga suhtlemine&lt;br /&gt;
&lt;br /&gt;
 $ echo &#039;&amp;lt;0&amp;gt;message&#039; | nc -w 1 -u  192.168.102.114 514&lt;br /&gt;
&lt;br /&gt;
Whois teenuse kasutamine (20131116 - tundub, et päris nii see alati ei tööta)&lt;br /&gt;
&lt;br /&gt;
 $ echo &amp;quot;loomaaed.tartu.ee&amp;quot; | netcat 193.40.0.12 43&lt;br /&gt;
 The registry database contains only .EE, .COM.EE, .PRI.EE, .FIE.EE,&lt;br /&gt;
 .ORG.EE and .MED.EE domains.&lt;br /&gt;
 &lt;br /&gt;
 Registrant:&lt;br /&gt;
    Tartu Loomaaed&lt;br /&gt;
    Looma tee 1&lt;br /&gt;
    TEL 1234 5678&lt;br /&gt;
    FAX 8765 4321&lt;br /&gt;
 &lt;br /&gt;
    Domain Name: loomaaed.tartu.ee&lt;br /&gt;
 &lt;br /&gt;
    Contacts:&lt;br /&gt;
      Priit Kask priit@loomaaed.tartu.ee&lt;br /&gt;
 ..&lt;br /&gt;
&lt;br /&gt;
Netcat abil saab hõlpsasti demonstreerida kui lihtne on nö pordile shelli külge ühendada (see on üks põhjus, miks tuleb pigem paketifiltriga kasutamata pordid blokeerida), serveris öelda&lt;br /&gt;
&lt;br /&gt;
 $ nc -l -p 8443 -e /bin/bash&lt;br /&gt;
&lt;br /&gt;
ja kliendis&lt;br /&gt;
&lt;br /&gt;
 $ nc 192.168.10.10 8443&lt;br /&gt;
 /sbin/route -n&lt;br /&gt;
 Kernel IP routing table&lt;br /&gt;
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;
 0.0.0.0         192.168.10.254  0.0.0.0         UG    0      0        0 eth0&lt;br /&gt;
 192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0&lt;br /&gt;
&lt;br /&gt;
Mingi määratluse järgi jagatakse turvaauke local ja remote alla kuuluvateks. Tihtipeale annavad local augud rohkem võimalusi ja neide parandamisse suhtutaks kergekäelisemalt. Kui selline shell on kasutada, siis arusaadavalt saab eemalt ligi local aukudesse (nt käivitada spetsiaalselt ettevalmistatud faile jms).&lt;br /&gt;
&lt;br /&gt;
Tundub, et uuemal ajal sobib öelda&lt;br /&gt;
&lt;br /&gt;
 $ cat /tmp/f | /bin/sh -i 2&amp;gt;&amp;amp;1 | nc -l 127.0.0.1 8443 &amp;gt; /tmp/f&lt;br /&gt;
&lt;br /&gt;
Võrgukiiruse primitiivseks testimine sobib öelda, iseäralik antud juhul on et mõõdetakse puhast võrgukiirust, kohalike ketaste io ei sega&lt;br /&gt;
&lt;br /&gt;
 netcat-server$ nc -l -p 6000 &amp;gt; /dev/null&lt;br /&gt;
 netcat-klient$ nc 192.168.10.189 6000 &amp;lt; /dev/zero&lt;br /&gt;
&lt;br /&gt;
ja liikluse kiiruse hindamiseks öelda ükskõik kummas arvutis&lt;br /&gt;
&lt;br /&gt;
 # tcpstat -i eth0 -o &amp;quot;Time:%S\tn=%n\tavg=%a\tstddev=%d\tBaitspersecond=%B\n&amp;quot; -f &amp;quot;tcp and host 192.168.10.189 and port 6000&amp;quot; 1&lt;br /&gt;
 Time:1463902007 n=11782 avg=1044.15     stddev=672.42   Baitspersecond=12302148.00&lt;br /&gt;
 Time:1463902008 n=11603 avg=1046.16     stddev=671.66   Baitspersecond=12138628.00&lt;br /&gt;
 Time:1463902009 n=11367 avg=1056.14     stddev=667.52   Baitspersecond=12005096.00&lt;br /&gt;
 Time:1463902010 n=11652 avg=1051.81     stddev=669.35   Baitspersecond=12255700.00&lt;br /&gt;
 Time:1463902011 n=11514 avg=1053.25     stddev=668.74   Baitspersecond=12127072.00&lt;br /&gt;
&lt;br /&gt;
Lisaks peaks jälgima võrguliidestel toimuvat liiklus vigade osas, nt (errors, dropped jt)&lt;br /&gt;
&lt;br /&gt;
 # ifconfig &lt;br /&gt;
 eth0      Link encap:Ethernet  HWaddr 00:1c:c0:38:97:a9  &lt;br /&gt;
           inet addr:192.168.10.8  Bcast:192.168.10.255  Mask:255.255.255.0&lt;br /&gt;
           inet6 addr: fe80::21c:c0ff:fe38:97a9/64 Scope:Link&lt;br /&gt;
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
           RX packets:47321279 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
           TX packets:42781684 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
&lt;br /&gt;
===IPerf===&lt;br /&gt;
&lt;br /&gt;
IPerf http://www.noc.ucf.edu/Tools/Iperf/ tarkvaraga saab mõõta kahe arvuti vahelise võrguühenduse jõudlust.&lt;br /&gt;
&lt;br /&gt;
====TCP====&lt;br /&gt;
&lt;br /&gt;
Vaikimisi kasutatakse TCP protokolli, näide: kaks masinat klient 192.168.1.2 ja server 192.168.1.3&lt;br /&gt;
&lt;br /&gt;
Server&lt;br /&gt;
&lt;br /&gt;
 # iperf -s&lt;br /&gt;
 ------------------------------------------------------------&lt;br /&gt;
 Server listening on TCP port 5001&lt;br /&gt;
 TCP window size: 85.3 KByte (default)&lt;br /&gt;
 ------------------------------------------------------------&lt;br /&gt;
 [  4] local 192.168.1.3 port 5001 connected with 192.168.1.2 port 32054&lt;br /&gt;
 [ ID] Interval       Transfer     Bandwidth&lt;br /&gt;
 [  4]  0.0-10.0 sec    826 MBytes    692 Mbits/sec&lt;br /&gt;
&lt;br /&gt;
klient&lt;br /&gt;
&lt;br /&gt;
 # iperf -c 192.168.1.3&lt;br /&gt;
 ------------------------------------------------------------&lt;br /&gt;
 Client connecting to 192.168.1.2, TCP port 5001&lt;br /&gt;
 TCP window size: 32.5 KByte (default)&lt;br /&gt;
 ------------------------------------------------------------&lt;br /&gt;
 [  3] local 192.168.1.2 port 32054 connected with 192.168.1.3 port 5001&lt;br /&gt;
 [ ID] Interval       Transfer     Bandwidth&lt;br /&gt;
 [  3]  0.0-10.0 sec   826 MBytes   693 Mbits/sec&lt;br /&gt;
&lt;br /&gt;
Soovides täpsemat andmehulka ette anda tuleb täpsustada kasutades võtit &#039;-l&#039;&lt;br /&gt;
&lt;br /&gt;
Vaikimisi kestab test 10 sekundit, soovides seda ajaakent suurendada tuleb kasutada võtit &#039;-t&#039;&lt;br /&gt;
&lt;br /&gt;
 # iperf -t 60 -c 192.168.1.3&lt;br /&gt;
&lt;br /&gt;
Täpsem jooksev statistika&lt;br /&gt;
&lt;br /&gt;
 # iperf -c 192.168.1.2 -w 400k -P 2 -i 1&lt;br /&gt;
 Client connecting to 192.168.1.2, TCP port 5001&lt;br /&gt;
 TCP window size:   400 KByte&lt;br /&gt;
 ------------------------------------------------------------&lt;br /&gt;
 [ ID] Interval       Transfer     Bandwidth&lt;br /&gt;
 [SUM]  0.0- 1.0 sec  1.06 GBytes  9.07 Gbits/sec&lt;br /&gt;
 [SUM]  1.0- 2.0 sec  1.08 GBytes  9.30 Gbits/sec&lt;br /&gt;
 [SUM]  2.0- 3.0 sec  1.15 GBytes  9.89 Gbits/sec&lt;br /&gt;
 [SUM]  3.0- 4.0 sec  1.15 GBytes  9.89 Gbits/sec&lt;br /&gt;
 [SUM]  4.0- 5.0 sec  1.15 GBytes  9.89 Gbits/sec&lt;br /&gt;
 [SUM]  5.0- 6.0 sec  1.15 GBytes  9.89 Gbits/sec&lt;br /&gt;
 [SUM]  6.0- 7.0 sec  1.15 GBytes  9.89 Gbits/sec&lt;br /&gt;
 [SUM]  7.0- 8.0 sec  1.15 GBytes  9.89 Gbits/sec&lt;br /&gt;
 [SUM]  8.0- 9.0 sec  1.15 GBytes  9.89 Gbits/sec&lt;br /&gt;
 [SUM]  9.0-10.0 sec  1.15 GBytes  9.89 Gbits/sec&lt;br /&gt;
 [SUM]  0.0-10.0 sec  11.4 GBytes  9.75 Gbits/sec &lt;br /&gt;
&lt;br /&gt;
Vaikimisi kestab test 10 sekundit -t parameetriga saab muuta, lisaks saab muuta -i parameetriga statistika kuvamise intervalli.&lt;br /&gt;
&lt;br /&gt;
====UDP====&lt;br /&gt;
&lt;br /&gt;
UDP protokolli kasutamiseks tuleb lisaks kasutada kliendi ja serveri poolel lisaks suvandit -u, kusjuures UDP puhul on kiiruse piirang vaikimisi 1 Mbit/s. Kiirust saab täpsustada suvandiga -b 1000M, nt&lt;br /&gt;
&lt;br /&gt;
 # iperf -s -u&lt;br /&gt;
 # iperf -c 192.0.0.118 -t 600 -i 10 -l 1472 -b 20M -u&lt;br /&gt;
&lt;br /&gt;
====IPv6====&lt;br /&gt;
&lt;br /&gt;
IPv6 kasutamiseks tuleb serveri ja kliendi poolel lisaks kasutada suvandit, nt&lt;br /&gt;
&lt;br /&gt;
 server # iperf -V -s -u&lt;br /&gt;
 klient # iperf -V -c 2a02:98:0:a07::a00:7bf -t 600 -i 10 -l 1452 -b 20M -u&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* ipv6 puhul on ip paketi kapsli overhead 40 baiti (erinevalt ipv4 20 baidist)&lt;br /&gt;
* udp kapsli overhead on 8 baiti&lt;br /&gt;
* -l 1452 puhul ei toimu veel fragmenteerimist, suurema väärtuse puhul tekivad tõenäoliselt fragmenditud paketid&lt;br /&gt;
&lt;br /&gt;
===netstrain===&lt;br /&gt;
&lt;br /&gt;
Programm netstrain paigaldamine toimub paketist&lt;br /&gt;
&lt;br /&gt;
võimaldab tekitada ja jälgida võrgus tcp koormust. Ühes arvutis tuleb netstraind käivitada&lt;br /&gt;
&lt;br /&gt;
  # netstraind -4 1010 &lt;br /&gt;
  NetStrain 3.0  (c) 2002 Christoph Pfisterer &amp;lt;cp@chrisp.de&amp;gt;&lt;br /&gt;
  Listening on 0.0.0.0 port 1010 using IPv4...&lt;br /&gt;
  One-shot server waiting for connection&lt;br /&gt;
  Incoming connection from 172.16.3.254 port 5606&lt;br /&gt;
&lt;br /&gt;
ning teisest pöörduda&lt;br /&gt;
&lt;br /&gt;
  # netstrain -4 172.16.3.251 1010 both &lt;br /&gt;
  NetStrain 3.0  (c) 2002 Christoph Pfisterer &amp;lt;cp@chrisp.de&amp;gt;&lt;br /&gt;
  Looking up hostname 172.16.3.251...&lt;br /&gt;
  Connecting to 172.16.3.251 port 1010 using IPv4...&lt;br /&gt;
  Connected&lt;br /&gt;
  sent:      6450M,   10589.2K/s total,   10586.8K/s current&lt;br /&gt;
  recv&#039;d:    6252M,   10264.4K/s total,   10286.5K/s current&lt;br /&gt;
&lt;br /&gt;
===ipcalc ja ipv6calc===&lt;br /&gt;
&lt;br /&gt;
ipcalc on paketist paigaldatav pisike utiliit, millega saab nö võrke arvutada. Näiteks küsida milline on kaheksane subnet kuhu kuulub ip aadress 192.168.2.201&lt;br /&gt;
&lt;br /&gt;
  # ipcalc 192.168.2.201/29&lt;br /&gt;
  address   : 192.168.2.201   &lt;br /&gt;
  netmask   : 255.255.255.248 (0xfffffff8)&lt;br /&gt;
  network   : 192.168.2.200   /29&lt;br /&gt;
  broadcast : 192.168.2.207   &lt;br /&gt;
  host min  : 192.168.2.201   &lt;br /&gt;
  host max  : 192.168.2.206   &lt;br /&gt;
  hosts/net : 6&lt;br /&gt;
&lt;br /&gt;
===sipcalc===&lt;br /&gt;
&lt;br /&gt;
sipcalc (IP subnet calculator) programmiga saab arvutada IPv4 ja IPv6 võrguaadresse, nt&lt;br /&gt;
&lt;br /&gt;
 $ sipcalc -a 2a01:88:0:21::2 &lt;br /&gt;
 -[ipv6 : 2a01:88:0:21::2] - 0&lt;br /&gt;
 &lt;br /&gt;
 [IPV6 INFO]&lt;br /&gt;
 Expanded Address        - 2a01:0088:0000:0021:0000:0000:0000:0002&lt;br /&gt;
 Compressed address      - 2a01:88:0:21::2&lt;br /&gt;
 Subnet prefix (masked)  - 2a01:88:0:21:0:0:0:2/128&lt;br /&gt;
 Address ID (masked)     - 0:0:0:0:0:0:0:0/128&lt;br /&gt;
 Prefix address          - ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff&lt;br /&gt;
 Prefix length           - 128&lt;br /&gt;
 Address type            - Aggregatable Global Unicast Addresses&lt;br /&gt;
 Network range           - 2a01:0088:0000:0021:0000:0000:0000:0002 -&lt;br /&gt;
                           2a01:0088:0000:0021:0000:0000:0000:0002&lt;br /&gt;
 &lt;br /&gt;
 [V4INV6]&lt;br /&gt;
 Expanded v4inv6 address - 2a01:0088:0000:0021:0000:0000:0.0.0.2&lt;br /&gt;
 Compr. v4inv6 address   - 2a01:88:0:21::0.0.0.2&lt;br /&gt;
 &lt;br /&gt;
 [IPV6 DNS]&lt;br /&gt;
 Reverse DNS (ip6.arpa)  -&lt;br /&gt;
 2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.2.0.0.0.0.0.0.8.8.0.0.1.0.a.2.ip6.arpa.&lt;br /&gt;
&lt;br /&gt;
===httping===&lt;br /&gt;
&lt;br /&gt;
httping programmiga saab esitada http päringuid eesmärgiga jälgida veebiserveri vastuste andmist, kusjuures nt on võimalik täpsustades, kas esitatakse GET või HEAD päringuid või millise sagedusega päringuid esitatakse. Nt võiks toimuda programmi kasutamine selliselt&lt;br /&gt;
&lt;br /&gt;
  $ httping -s -S -i 2 -r -g http://www.loomaaed.tartu.ee/loomafail.cgi&lt;br /&gt;
  PING www.loomaaed.tartu.ee:80 (http://www.loomaaed.tartu.ee/loomafail.cgi):&lt;br /&gt;
  connected to www.loomaaed.tartu.ee:80, seq=0 time=11.99+501.00=512.99 ms 200 OK&lt;br /&gt;
  connected to www.loomaaed.tartu.ee:80, seq=1 time=10.20+475.94=486.14 ms 200 OK&lt;br /&gt;
  connected to www.loomaaed.tartu.ee:80, seq=2 time=9.71+471.03=480.74 ms 200 OK&lt;br /&gt;
  connected to www.loomaaed.tartu.ee:80, seq=3 time=10.88+420.74=431.62 ms 200 OK&lt;br /&gt;
  connected to www.loomaaed.tartu.ee:80, seq=4 time=9.99+336.93=346.92 ms 200 OK&lt;br /&gt;
&lt;br /&gt;
kus on kasutatud võtmeid&lt;br /&gt;
&lt;br /&gt;
* -s - esitab http päringu vastuse nn http koodi, st 200, 403, 404, 500 jne&lt;br /&gt;
* -S - esitab vastuses eraldi tcp ühenduse moodustamiseks ja vastuse saamiseks kulunud aja&lt;br /&gt;
* -i - päringute esitamise intervall sekundites&lt;br /&gt;
* -r - nimelahendus sooritatakse vaid üks kord&lt;br /&gt;
* -g - esitatakse GET päringuid (vaikimisi HEAD)&lt;br /&gt;
&lt;br /&gt;
Üks abiks httping programmi kasutusjuht võiks olla näiteks veebikoha koormustesti ajal jälgida milline nö tavakasutaja jaoks võiks kõnealuse veebikoha kättesaadavus.&lt;br /&gt;
&lt;br /&gt;
https teenuse jälgimiseks sobib öelda&lt;br /&gt;
&lt;br /&gt;
  $ httping -G -l -g &amp;quot;/index.html&amp;quot; -h 192.168.10.12&lt;br /&gt;
&lt;br /&gt;
* -l - pöörduda https abil&lt;br /&gt;
&lt;br /&gt;
===tcpstat===&lt;br /&gt;
&lt;br /&gt;
Vahel on selle programmi kasutamine muutnud süsteemi ebastabiilseks, tõenäoliselt on seoses konkreetselt kasutuses oleva riistvaraga. Muidu aga võimaldab ta jälgida tingimustele vastava andmevahetuse kiirust&lt;br /&gt;
&lt;br /&gt;
  # tcpstat -i vlan13 -o &amp;quot;Time:%S\tn=%n\tavg=%a\tstddev=%d\tBaitspersecond=%B\n&amp;quot; -f &amp;quot;tcp and host 192.168.110.149&amp;quot; 10&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* -i - võrguseade&lt;br /&gt;
* -o - väljundi formaat&lt;br /&gt;
* -f - nö tcpdump formaadis filter&lt;br /&gt;
* 10 - väljundi esitamise intervall, kusjuures kui andmeid ei ole, siis intervalli möödudes nö nulle ei esitata&lt;br /&gt;
&lt;br /&gt;
===tcptrace===&lt;br /&gt;
&lt;br /&gt;
tcptrace on üks paljudest programmidest, millega esitada salvetatud võrguliikluse kohta ülevaatlikke andmeid, võimalik, et programmi kõige olulisem väärtus on pedagoogiline&lt;br /&gt;
&lt;br /&gt;
  $ tcptrace -l tt.log&lt;br /&gt;
  1 arg remaining, starting with &#039;tt.log&#039;&lt;br /&gt;
  Ostermann&#039;s tcptrace -- version 6.6.1 -- Wed Nov 19, 2003&lt;br /&gt;
  &lt;br /&gt;
  54 packets seen, 54 TCP packets traced&lt;br /&gt;
  elapsed wallclock time: 0:00:00.007053, 7656 pkts/sec analyzed&lt;br /&gt;
  trace file elapsed time: 0:00:02.787589&lt;br /&gt;
  TCP connection info:&lt;br /&gt;
  1 TCP connection traced:&lt;br /&gt;
  TCP connection 1:&lt;br /&gt;
        host a:        moraal.auul:52081&lt;br /&gt;
        host b:        ftp.loomaaed.tartu.ee:22&lt;br /&gt;
        complete conn: yes&lt;br /&gt;
        first packet:  Sat Oct 10 12:56:15.713740 2009&lt;br /&gt;
        last packet:   Sat Oct 10 12:56:18.501330 2009&lt;br /&gt;
        elapsed time:  0:00:02.787589&lt;br /&gt;
        total packets: 54&lt;br /&gt;
        filename:      tt.log&lt;br /&gt;
   a-&amp;gt;b:                              b-&amp;gt;a:&lt;br /&gt;
     total packets:            30           total packets:            24      &lt;br /&gt;
     ack pkts sent:            29           ack pkts sent:            24      &lt;br /&gt;
     pure acks sent:           14           pure acks sent:            7      &lt;br /&gt;
     sack pkts sent:            0           sack pkts sent:            0      &lt;br /&gt;
     dsack pkts sent:           0           dsack pkts sent:           0      &lt;br /&gt;
     max sack blks/ack:         0           max sack blks/ack:         0     &lt;br /&gt;
     ..&lt;br /&gt;
     data xmit time:        2.547 secs      data xmit time:        2.547 secs &lt;br /&gt;
     idletime max:         1141.1 ms        idletime max:         1151.3 ms   &lt;br /&gt;
     throughput:             1291 Bps       throughput:             1072 Bps&lt;br /&gt;
&lt;br /&gt;
===Wireshark===&lt;br /&gt;
&lt;br /&gt;
Tarkvara Wireshark eelised avalduvad tema ülevaatlikkust võimaldavas graafilises kasutajaliideses, kus on võimalus&lt;br /&gt;
&lt;br /&gt;
* liiklust filtreerida nt otspunktide ip aadresside, protokolli vms parameetrite alusel&lt;br /&gt;
* saab hõlpsasti eristada liiklusest tcp sessioone&lt;br /&gt;
* saab ülevaatlikult näha paketi kapseldust OSI kihtide mõttes&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lihtne wiresharki kasutusjuhus tööarvutis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Käivita wireshark programm. Vajuta nupule &amp;quot;List available capture interfaces...&amp;quot; (tööriistariba kõige vasakpoolsem nupp) ja seejärel võib alustada pakettide püüdmist soovitud võrguaadressil. Pakettide püüdmise lõpetab nupp &amp;quot;Stop the running live capture&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Kui võrguliiklust on palju, võib wiresharki väljund tulla liiga kirju. Otsitava informatsiooni väljafiltreerimiseks võib kasutada erinevaid filtreid (trükkida Wiresharki filtriribale):&lt;br /&gt;
&lt;br /&gt;
* ip.addr == 192.168.1.253 - Näitab ainult pakette, mis kas pärinevad või on suunatud antud aadressile&lt;br /&gt;
* tcp.port == 22 - Näitab ainult pakette, mis kas pärinevad või on suunatud TCP porti 22&lt;br /&gt;
* !(udp.port == 80) - näitab ainult pakette, mille src ega dst pooles ei esine port 80&lt;br /&gt;
&lt;br /&gt;
Erinevaid filtreid saab kombineerida loogiliste tehetega: &amp;amp;&amp;amp;, ||, !&lt;br /&gt;
&lt;br /&gt;
Wireshark kasutamist on keerukamatel juhtudel mõistlik korraldada nii, et tulemüüris/serveris salvestatakse liiklus tcpdump abil faili  ning see fail kopeeritakse töökohaarvutisse kuhu on paigaldatud Wireshark. Wireshark kasutajaliides näeb välja selline, antud juhul on kuulatud pealt liiklust tulemüürist ftp.aso.ee arvutiga&lt;br /&gt;
&lt;br /&gt;
  # tcpdump -n -i eth0 -s 1600 -w /tmp/ftp.aso.ee.log host ftp.aso.ee&lt;br /&gt;
&lt;br /&gt;
Seejärel on käivitatud wireshark&lt;br /&gt;
&lt;br /&gt;
  linux$ wireshark ftp.aso.ee.log&lt;br /&gt;
&lt;br /&gt;
Wiresharkis on filtreeritud välja ainult liiklus ftp.aso.ee arvutiga (kui seda praktiliselt pole ka vaja filtreerida, kuna ainult seda kuulatigi tcpflow&#039;ga). Allolevalt pildilt on näha kuidas Wireshark esitab väljundit kolmes üksteise kohal paiknevas raamis&lt;br /&gt;
&lt;br /&gt;
# ülemises raamis on esitatud filtreeritud 10 paketti, järjekorranumber, aeg, lähte ja siht aadress, protokoll ja muu info &lt;br /&gt;
# keskmises raamis esitatakse ülemises raamis ära märgitud paketi kapseldatud koosseis, on näha ISO kihid kusjuures wireshark interpreteerib lisaks paketi nn payloadis olevaid andmeid&lt;br /&gt;
# alumises raamis on esitatud paketi sisu kõrvuti kahes tulbas, 16nd-süsteemis ning võimalusel vastavad ascii sümbolid, kusjuures keskmises raamis märgitule on ära vastav osa ära tähistatud&lt;br /&gt;
&lt;br /&gt;
[[Pilt:Wireshark-ftp.aso.ee.log-1.gif]]&lt;br /&gt;
&lt;br /&gt;
Näiteks võib antud juhul jälgida kuidas ühenduse loomiseks ja lõpetamiseks on vahetatud vastavalt kolm ja kolm paketti, ning sisuliste andmete vahetamiseks on kokku saadetud neli paketti. Välja arvatud erijuhud üldiselt ongi nii, et andmevahetusel osapooled saadavad üksteisele samas suurusjärgus pakette, isegi kui tegu on sisuliselt ühesuunalise andmevahetusega. Ja eriliselt võiks antud juhul tähele panna, et tcp ühenduse sees saadetakse andmeid mõlemas suunas.&lt;br /&gt;
&lt;br /&gt;
Antud juhul kuuluvad juba tcpdump abil salvestatud ühte tcp sessiooni, kuid wiresharkil on võimalus suuremat hulgast pakettidest välja filtreerida ka ühe tcp sessiooni. Selleks tuleb ülemises raamis valida mingi paketi peal olles hiire parema nupuga avanevast hüpikmenüüst &#039;Follow TCP Stream&#039; ning esitakse sessioonis toimunud http get päringu sisu ja vastuse sisu&lt;br /&gt;
&lt;br /&gt;
[[Pilt:Wireshark-ftp.aso.ee.log-2.gif]]&lt;br /&gt;
&lt;br /&gt;
====editcap ja mergecap kasutamine====&lt;br /&gt;
&lt;br /&gt;
editcap programmiga saab varem salvestatud pcap formaadis faili osadeks jagada, nt pakettide arvu järgi, tulemusena tekivad osad* nimelised failid&lt;br /&gt;
&lt;br /&gt;
 # editcap -c 100 tcp.log osad&lt;br /&gt;
&lt;br /&gt;
mergecap programmiga saab pcap formaadis osad ühendada kokku üheks failiks, nt&lt;br /&gt;
&lt;br /&gt;
 # mergecap -w tcp-kokkuyhendatud.log osad*&lt;br /&gt;
&lt;br /&gt;
====capinfos====&lt;br /&gt;
&lt;br /&gt;
Salvestatud pcap faili kohta saab küsida capinfos programmiga, nt&lt;br /&gt;
&lt;br /&gt;
 # capinfos tcp.log &lt;br /&gt;
 File name:           tcp.log&lt;br /&gt;
 File type:           Wireshark/tcpdump/... - libpcap&lt;br /&gt;
 File encapsulation:  Ethernet&lt;br /&gt;
 Number of packets:   1000&lt;br /&gt;
 File size:           590818 bytes&lt;br /&gt;
 Data size:           592758 bytes&lt;br /&gt;
 Capture duration:    6 seconds&lt;br /&gt;
 Start time:          Sat Oct 22 20:06:11 2011&lt;br /&gt;
 End time:            Sat Oct 22 20:06:16 2011&lt;br /&gt;
 Data byte rate:      106709.45 bytes/sec&lt;br /&gt;
 Data bit rate:       853675.63 bits/sec&lt;br /&gt;
 Average packet size: 592.76 bytes&lt;br /&gt;
 Average packet rate: 180.02 packets/sec&lt;br /&gt;
&lt;br /&gt;
====RSA võtmevahetusega SSL liikluse dekrüptimine====&lt;br /&gt;
&lt;br /&gt;
* http://wiki.wireshark.org/SSL&lt;br /&gt;
* http://wirewatcher.wordpress.com/2010/07/20/decrypting-ssl-traffic-with-wireshark-and-ways-to-prevent-it/&lt;br /&gt;
&lt;br /&gt;
===tcpbench===&lt;br /&gt;
&lt;br /&gt;
OpenBSD nn baas sisaldab tcpbench utiliiti, mille abil saab otsekoheselt testida kahe OpenBSD arvuti vahelist võrguühendust. Utiliidi kasutamisel hakkab klient serverisse kopeerima maksimaalse võimaliku suurusega tcp pakette, tegevuse käigus esitavad klient ja server programmi väljundis toimuvat andmevahetust iseloomustavat infot&lt;br /&gt;
&lt;br /&gt;
  server# tcpbench -s &lt;br /&gt;
     pid   elapsed_ms          bytes         Mbps &lt;br /&gt;
   25537         1009       20811800      165.009 &lt;br /&gt;
   25537         2009       20610544      165.049 &lt;br /&gt;
   25537         3013       20230168      161.197 &lt;br /&gt;
   25537 closed by remote end&lt;br /&gt;
&lt;br /&gt;
  klient#  tcpbench 192.168.10.8                  &lt;br /&gt;
     pid   elapsed_ms          bytes         Mbps &lt;br /&gt;
    2628         1026       20990016      163.665 &lt;br /&gt;
    2628         2008       20460296      166.683 &lt;br /&gt;
    2628         3037       20230168      157.433 &lt;br /&gt;
  ^Ctcpbench: Terminated by signal 2&lt;br /&gt;
&lt;br /&gt;
===ssldump===&lt;br /&gt;
&lt;br /&gt;
ssldump võimaldab SSL/TLS liiklust analüüsida, tarkvara paigaldamiseks tuleb öelda Debian keskkonnas&lt;br /&gt;
&lt;br /&gt;
  # apt-get install ssldump&lt;br /&gt;
&lt;br /&gt;
FreeBSD&#039;s asub pakett net/ssldump&lt;br /&gt;
&lt;br /&gt;
ja kasutamiseks nt&lt;br /&gt;
&lt;br /&gt;
  # ssldump -i eth0 -d port 993&lt;br /&gt;
  New TCP connection #1: moraal.auul(49305) &amp;lt;-&amp;gt; smtp.loomaaed.tartu.ee(993)&lt;br /&gt;
  1 1  0.0100 (0.0100)  C&amp;gt;S  Handshake&lt;br /&gt;
        ClientHello&lt;br /&gt;
          Version 3.1 &lt;br /&gt;
          resume [32]=&lt;br /&gt;
            9c 5e 98 a5 0c 7a e1 f6 59 70 cb 42 ff 7e d0 2c &lt;br /&gt;
            0c d6 03 57 34 e5 01 74 4e 4f fb 70 3b a5 61 02 &lt;br /&gt;
          cipher suites&lt;br /&gt;
          Unknown value 0xc00a&lt;br /&gt;
          TLS_RSA_WITH_RC4_128_MD5&lt;br /&gt;
          TLS_RSA_WITH_RC4_128_SHA&lt;br /&gt;
          TLS_RSA_WITH_3DES_EDE_CBC_SHA&lt;br /&gt;
          ...&lt;br /&gt;
          compression methods&lt;br /&gt;
                    NULL&lt;br /&gt;
  1 2  0.0342 (0.0242)  S&amp;gt;C  Handshake&lt;br /&gt;
        ServerHello&lt;br /&gt;
         Version 3.1 &lt;br /&gt;
          session_id[32]=&lt;br /&gt;
            9c 5e 98 a5 0c 7a e1 f6 59 70 cb 42 ff 7e d0 2c &lt;br /&gt;
            0c d6 03 57 34 e5 01 74 4e 4f fb 70 3b a5 61 02 &lt;br /&gt;
          cipherSuite         Unknown value 0x35&lt;br /&gt;
          compressionMethod                   NULL&lt;br /&gt;
  1 3  0.0342 (0.0000)  S&amp;gt;C  ChangeCipherSpec&lt;br /&gt;
  1 4  0.0342 (0.0000)  S&amp;gt;C  Handshake&lt;br /&gt;
  1 5  0.0349 (0.0006)  C&amp;gt;S  ChangeCipherSpec&lt;br /&gt;
  1 6  0.0349 (0.0000)  C&amp;gt;S  Handshake&lt;br /&gt;
  1 7  0.0443 (0.0094)  S&amp;gt;C  application_data&lt;br /&gt;
  1 8  0.0450 (0.0006)  C&amp;gt;S  application_data&lt;br /&gt;
  1 9  0.0546 (0.0095)  S&amp;gt;C  application_data&lt;br /&gt;
  ..&lt;br /&gt;
&lt;br /&gt;
kust on näha&lt;br /&gt;
&lt;br /&gt;
* C&amp;gt;S, S&amp;gt;C - vastavalt kliendilt serveri ja serverilt kliendi suunal toimuv liiklus&lt;br /&gt;
* ClientHello, ServerHello, jt - kliendi ja serveri vahel toimub SSL ühenduse parameetrite kokkuleppimine&lt;br /&gt;
* application_data - antud juhul jääb ssldump jaoks sisuline andmevahetus ligipääsemata&lt;br /&gt;
&lt;br /&gt;
Kui lisaks on kasutada ssl võtmed, siis saab teatud juhtumitel ka liikluse sisu debugida, nt https puhul&lt;br /&gt;
&lt;br /&gt;
  # cat www.loomaaed.tartu.ee.key www.loomaaed.tartu.ee.crt &amp;gt; www.pem&lt;br /&gt;
  # ssldump -i eth0 -d -k www.pem port 443&lt;br /&gt;
  ..&lt;br /&gt;
  1 10 0.0849 (0.0341)  C&amp;gt;S  application_data&lt;br /&gt;
      ---------------------------------------------------------------&lt;br /&gt;
      GET /text.html HTTP/1.1&lt;br /&gt;
      Host: 192.168.10.53&lt;br /&gt;
      User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.14) \&lt;br /&gt;
        Gecko/2009091010 Iceweasel/3.0.6 (Debian-3.0.6-3)&lt;br /&gt;
      Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8&lt;br /&gt;
      Accept-Language: en-us,en;q=0.5&lt;br /&gt;
      Accept-Encoding: gzip,deflate&lt;br /&gt;
      Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7&lt;br /&gt;
      Keep-Alive: 300&lt;br /&gt;
      Connection: keep-alive&lt;br /&gt;
      Pragma: no-cache&lt;br /&gt;
      Cache-Control: no-cache&lt;br /&gt;
     &lt;br /&gt;
      ---------------------------------------------------------------&lt;br /&gt;
  1 11 0.0857 (0.0007)  S&amp;gt;C  application_data&lt;br /&gt;
      ---------------------------------------------------------------&lt;br /&gt;
      HTTP/1.1 200 OK&lt;br /&gt;
      Date: Fri, 23 Oct 2009 06:32:59 GMT&lt;br /&gt;
      Server: Apache/2.2.9 (Debian) mod_jk/1.2.26 mod_ssl/2.2.9 OpenSSL/0.9.8g&lt;br /&gt;
      Vary: Accept-Encoding&lt;br /&gt;
      Content-Encoding: gzip&lt;br /&gt;
      Content-Length: 266&lt;br /&gt;
      Keep-Alive: timeout=15, max=100&lt;br /&gt;
      Connection: Keep-Alive&lt;br /&gt;
      Content-Type: text/html; charset=iso-8859-1&lt;br /&gt;
&lt;br /&gt;
Seejuures tuleb veebiserveris kasutada sobivat SSLCipherSuite väärtust, nt selline töötab nö natuke&lt;br /&gt;
&lt;br /&gt;
  SSLCipherSuite RSA:-HIGH:MEDIUM:-EXP:-DH&lt;br /&gt;
&lt;br /&gt;
Kasutatud järgnevusele &#039;RSA:-HIGH:MEDIUM:-EXP:-DH&#039; vastavaid väärtusi näeb&lt;br /&gt;
&lt;br /&gt;
  # openssl ciphers -v &#039;RSA:-HIGH:MEDIUM:-EXP:-DH&#039;&lt;br /&gt;
  DES-CBC-SHA             SSLv3 Kx=RSA      Au=RSA  Enc=DES(56)   Mac=SHA1&lt;br /&gt;
  RC4-SHA                 SSLv3 Kx=RSA      Au=RSA  Enc=RC4(128)  Mac=SHA1&lt;br /&gt;
  RC4-MD5                 SSLv3 Kx=RSA      Au=RSA  Enc=RC4(128)  Mac=MD5 &lt;br /&gt;
  NULL-SHA                SSLv3 Kx=RSA      Au=RSA  Enc=None      Mac=SHA1&lt;br /&gt;
  NULL-MD5                SSLv3 Kx=RSA      Au=RSA  Enc=None      Mac=MD5 &lt;br /&gt;
  DES-CBC-MD5             SSLv2 Kx=RSA      Au=RSA  Enc=DES(56)   Mac=MD5 &lt;br /&gt;
  RC2-CBC-MD5             SSLv2 Kx=RSA      Au=RSA  Enc=RC2(128)  Mac=MD5 &lt;br /&gt;
  RC4-MD5                 SSLv2 Kx=RSA      Au=RSA  Enc=RC4(128)  Mac=MD5&lt;br /&gt;
&lt;br /&gt;
Lisaks saab ssldump jaoks kaustada tcpdump abil kogutud pcap faili (eriti see on -s 0 võtmega salvestatud)&lt;br /&gt;
&lt;br /&gt;
 $ ssldump -r failinimi.pcap&lt;br /&gt;
&lt;br /&gt;
===ICMP redirect===&lt;br /&gt;
&lt;br /&gt;
Olgu selliste ruutingutega olukord&lt;br /&gt;
&lt;br /&gt;
                                  ....&lt;br /&gt;
                                   |&lt;br /&gt;
                                  _|_   tulemüür&lt;br /&gt;
                                 |   |  vaikelüüs, kus on kirjeldatud staatiline ruuting 192.168.201.0/24 -&amp;gt; 192.168.2.201&lt;br /&gt;
                                 |___|  192.168.2.1&lt;br /&gt;
        192.168.2.0/24             |&lt;br /&gt;
   --|-------------------|--------------|--&lt;br /&gt;
    _|_                 _|_             &lt;br /&gt;
   |   | 192.168.2.30  |   |  192.168.2.201&lt;br /&gt;
   |___| host-1        |___|  ruuter-2&lt;br /&gt;
                         |&lt;br /&gt;
                         |    192.168.201.0/24&lt;br /&gt;
                    -----|-------------------------|---&lt;br /&gt;
                                                  _|_&lt;br /&gt;
                                                 |   | 192.168.201.30&lt;br /&gt;
                                                 |___| host-2&lt;br /&gt;
&lt;br /&gt;
ICMP redirect http://en.wikipedia.org/wiki/ICMP_Redirect_Message sõnumiga juhatab tulemüür host-1 pöörduma host-2 poole läbi ruuter-2 seadme.&lt;br /&gt;
&lt;br /&gt;
 09:42:25.399922 192.168.2.1 &amp;gt; 192.168.2.30: icmp: redirect 192.168.201.30 to host 192.168.2.201&lt;br /&gt;
&lt;br /&gt;
Parasjagu kehtivad redirectid ei ole paista linux hostis ei nö tavalistes arp ega route andmebaasides, vaid&lt;br /&gt;
&lt;br /&gt;
 # cat /proc/net/rt_cache&lt;br /&gt;
&lt;br /&gt;
Sissekande kustutamiseks tuleb vastav ruuting eemaldada ja tagasi tekitada, näiteks.&lt;br /&gt;
&lt;br /&gt;
===ARP flux===&lt;br /&gt;
&lt;br /&gt;
Olgu üks arvuti on oma kahe füüsiliste võrguseadmega ühendatud sama etherneti peale ning seal ethernetis on veel teisi arvuteid&lt;br /&gt;
&lt;br /&gt;
            --|--|---------------------------|----------------&lt;br /&gt;
      eth0   _|__|_   eth1                  _|_             &lt;br /&gt;
 10.0.2.30  |      |  192.168.2.30         |   |  192.168.2.201&lt;br /&gt;
            |______|                       |___|&lt;br /&gt;
          &lt;br /&gt;
             host-1                        host-2&lt;br /&gt;
&lt;br /&gt;
Tundub, et reeglina käituvad 2011 aastal Linux distributsioonide tuumad selliselt, et joonisel kujutatud ühenduse puhul vastab host-2 poolt aadressile 192.168.2.30 tehtud arp päringule host-1 kahe arp vastusega, kummagi ethernet seadme mac aadressiga, kusjuures host-2 kasutab esimesena kohale jõudnud vastust järgnevaks andmevahetuseks. Selline olukord põhjustab selles mõttes segadust, et kui host-1 võrguseadmed on sarnaste omadustega, siis vahel kasutab host-2 ühe ja vahel teise ethernet seadme mac aadressi ning liiklus käib vastavalt läbi ühe või teise host-1 võrguseadme (lisaks võib ka nii olla, et ühes suunas liiguvad paketid läbi host-1 eth0 ja teises suunas läbi eth1 seadme). Kui host-1 peal ei ole paketifiltrit seadistatud, siis seal töötavate rakenduste jaoks andmevahetus töötab, kuid nt võrgu debugimine on raskendatud.&lt;br /&gt;
&lt;br /&gt;
Selleks, et host-2 arp päringule vastaks host-1 vaid selle mac aadressiga, millele vastava võrguseadme kaudu toimuks ip mõttes korrektne ruuting sobib öelda host-1 arvutis&lt;br /&gt;
&lt;br /&gt;
 # sysctl -w net.ipv4.conf.all.arp_filter=1&lt;br /&gt;
&lt;br /&gt;
Kasulikud lisamaterjalid&lt;br /&gt;
&lt;br /&gt;
* http://linux-ip.net/html/ether-arp.html&lt;br /&gt;
* http://robertlathanh.com/2009/08/two-subnetworks-on-one-lan-and-linux-arp_filter/&lt;br /&gt;
* http://www.embedded-bits.co.uk/tag/arp_filter/&lt;br /&gt;
&lt;br /&gt;
===tcpkill===&lt;br /&gt;
&lt;br /&gt;
tcpkill programmi abil saab ühenduse osapoolele saata sobiva RST paketi eesmärgiga ühendus lõpetada, tarkvara paigaldamiseks tuleb nt Debian Lenny keskkonnas paigaldada pakett dsniff&lt;br /&gt;
&lt;br /&gt;
 # apt-get install dsniff&lt;br /&gt;
&lt;br /&gt;
ja kasutamiseks öelda&lt;br /&gt;
&lt;br /&gt;
 # tcpkill -i eth0 port 80 and host ftp.loomaaed.tartu.ee&lt;br /&gt;
&lt;br /&gt;
Tulemusena jääb tcpkill käima arvuti eth0 seadmel ja tegeleb näidatud regulaaravaldisega klappivate ühendustega.&lt;br /&gt;
&lt;br /&gt;
===lsof===&lt;br /&gt;
&lt;br /&gt;
Kasutaja priit (-u priit) programmiga Firefox (-c firefox-bin) seotud võrguühenduste (-i) esitamine&lt;br /&gt;
&lt;br /&gt;
 $ lsof -n -a -u priit -c firefox-bin -i&lt;br /&gt;
 COMMAND     PID USER    FD   TYPE  DEVICE SIZE NODE NAME&lt;br /&gt;
 firefox-b 22322 priit   51u  IPv4 1870238       TCP 192.168.10.10:53360-&amp;gt;113.184.32.83:https (ESTABLISHED)&lt;br /&gt;
 firefox-b 22322 priit   72u  IPv4 1870025       TCP 192.168.10.10:35441-&amp;gt;74.125.43.100:www (ESTABLISHED)&lt;br /&gt;
 firefox-b 22322 priit   73u  IPv4 1870035       TCP 192.168.10.10:53903-&amp;gt;74.125.10.213:www (ESTABLISHED)&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* -n - mitte teisendada ip aadresse nimedeks&lt;br /&gt;
* -a - järgnevad muud suvandid loogiliselt korrutada&lt;br /&gt;
* PID - protsessi ID&lt;br /&gt;
&lt;br /&gt;
Pordile vastava protsessi küsimine&lt;br /&gt;
&lt;br /&gt;
 # lsof -i :514&lt;br /&gt;
 COMMAND  PID     USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME&lt;br /&gt;
 syslogd 6628 _syslogd    4u  IPv4 0xfffffe803f51d000      0t0  UDP *:syslog&lt;br /&gt;
&lt;br /&gt;
Kasulikud lisamaterjalid&lt;br /&gt;
&lt;br /&gt;
* http://ph7spot.com/musings/leveraging-lsof&lt;br /&gt;
&lt;br /&gt;
===strace===&lt;br /&gt;
&lt;br /&gt;
strace kasutusala on laiem, kuid seoses võrguga on tal samuti rakendus, nt esitada jooksvalt protsessiga seotud võrgu syscallid, 4940 on w3m brauseri protsess&lt;br /&gt;
&lt;br /&gt;
 # strace -e trace=network -p 4940&lt;br /&gt;
 ...&lt;br /&gt;
 socket(PF_NETLINK, SOCK_RAW, 0)         = 4&lt;br /&gt;
 bind(4, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 0&lt;br /&gt;
 getsockname(4, {sa_family=AF_NETLINK, pid=4940, groups=00000000}, [12]) = 0&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
===Arpwatch===&lt;br /&gt;
&lt;br /&gt;
Võimaldab jälgidan võrgus liikuvaid ARP teateid ning avastada ARP tabeli mürgitamisjuhtumeid&lt;br /&gt;
&lt;br /&gt;
Koduleht&lt;br /&gt;
*http://ee.lbl.gov/&lt;br /&gt;
Arpi mürgitamise toimimine ja selle takistamine&lt;br /&gt;
*http://shsc.info/ARPPoisoning&lt;br /&gt;
Mõned võrguhaldurile abiks skriptid&lt;br /&gt;
*http://blog.stardothosting.com/2009/05/01/detect-arp-poisoning-on-lan/&lt;br /&gt;
&lt;br /&gt;
===Ettercap===&lt;br /&gt;
&lt;br /&gt;
Ettercap http://ettercap.sourceforge.net/ tarkvara võimaldab kohtvõrgus korraldada MITM tüüpi ründeid ja seejuures kontrollida kui tundlik kohtvõrk on selliste rünnete suhtes sh kas need avastatakse. Ettercap kasutab oma tööks põhiliselt arp-mürgitamist (ingl. k. arp poisoning). Tarkvara paigaldamiseks on tavaliselt piisav paigalda operatsioonisüsteemi paketihaldusvahenditega ettercap nimeline pakett. Ettercap programmi saab käivitada kolme erineva kasutajaliidesega&lt;br /&gt;
&lt;br /&gt;
* käsurealt -ettercap -T&lt;br /&gt;
* curses liidesega - ettercap -C&lt;br /&gt;
* gtk gui liidesega - ettercap -G&lt;br /&gt;
&lt;br /&gt;
Kasulikud lisamaterjalid&lt;br /&gt;
&lt;br /&gt;
* http://en.wikipedia.org/wiki/Ettercap_%28computing%29&lt;br /&gt;
* http://openmaniak.com/ettercap.php&lt;br /&gt;
&lt;br /&gt;
===Scapy===&lt;br /&gt;
&lt;br /&gt;
Scapy http://www.secdev.org/projects/scapy/ abil saab töötada pakettidega. Tarkvara on kirjutatud Pythonis ja sellele on iseloomulik, et saab nö programmeerimise võtteid kasutades nt koostada sobiva sisuga paketi ja saata võrku; seejärel saab käsitleda sarnaselt vastuseks tulnud paketti. Scapy sisaldab mitmeid lisasid, nt saab lasta esitada graafiliselt traceroute tulemuse. Tarkvara paigaldamiseks sobib paigaldada nt Debian Squeeze all pakett python-scapy&lt;br /&gt;
&lt;br /&gt;
 # apt-get install python-scapy&lt;br /&gt;
&lt;br /&gt;
Lisaks on vajalikud&lt;br /&gt;
&lt;br /&gt;
 # apt-get install tcpdump graphviz imagemagick&lt;br /&gt;
&lt;br /&gt;
Interaktiivselt käivitamiseks tuleb öelda&lt;br /&gt;
&lt;br /&gt;
 # scapy&lt;br /&gt;
 ...&lt;br /&gt;
 Welcome to Scapy (2.1.0)&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; res,unans = traceroute([&amp;quot;www.eesti.ee&amp;quot;, &amp;quot;www.eenet.ee&amp;quot;],dport=[80,443],maxttl=20,retry=-2)&lt;br /&gt;
 ..&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; res.graph()&lt;br /&gt;
&lt;br /&gt;
Tulemusena esitatakse sarnane pilt&lt;br /&gt;
&lt;br /&gt;
[[Pilt:Scapy-1.gif]]&lt;br /&gt;
&lt;br /&gt;
Scapy sisaldab mitmeid funktsioone, millega pakette moodustada, neid välja saata ning vastuseid lugeda&lt;br /&gt;
&lt;br /&gt;
* ICMP paketi saatmine&lt;br /&gt;
&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; send(IP(dst=&amp;quot;192.168.10.123&amp;quot;)/ICMP())&lt;br /&gt;
&lt;br /&gt;
* DNS päringu esitamine&lt;br /&gt;
&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; sr(IP(dst=&amp;quot;10.192.0.53&amp;quot;)/UDP()/DNS(rd=1,qd=DNSQR(qname=&amp;quot;www.loomaaed.tartu.ee&amp;quot;)))&lt;br /&gt;
&lt;br /&gt;
* etteantud subnetti kuuluva juhusliku src aadressiga pakettide saatmine&lt;br /&gt;
&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; send(IP(src=RandIP(&amp;quot;192.168.10.0/24&amp;quot;), dst=&amp;quot;10.192.0.53&amp;quot;)/TCP(dport=80,flags=&amp;quot;S&amp;quot;), loop=1)&lt;br /&gt;
&lt;br /&gt;
===Socat===&lt;br /&gt;
&lt;br /&gt;
* Pordi edasisuunamine&lt;br /&gt;
&lt;br /&gt;
 # socat TCP-LISTEN:8888,fork TCP:192.168.1.4:80&lt;br /&gt;
&lt;br /&gt;
* pordi edasisuunamine lokaalselt (mida tavaliselt tehakse paketifiltri abil)&lt;br /&gt;
&lt;br /&gt;
 # socat TCP-L:2323 TCP:localhost:22&lt;br /&gt;
&lt;br /&gt;
* unixi soketi ühendamine interneti soketiga, kuulaku unix soketil MySQL ning peab saama hakata pöörduma MySQL poole üle võrgu arvuti mõnel ip aadressil, port 3308&lt;br /&gt;
&lt;br /&gt;
 # socat -v tcp-l:3308,bind=192.168.10.10,reuseaddr,fork unix:/var/run/mysqld/mysqld.sock&lt;br /&gt;
&lt;br /&gt;
* remote shell (nt sellepärast võiks pigem olla serverite pordid tulemüürist vaikimisi blokeeritud), EXEC täidetakse kliendi pöördumisel&lt;br /&gt;
&lt;br /&gt;
 server:~$ socat TCP-LISTEN:2323,reuseaddr,fork EXEC:/bin/bash&lt;br /&gt;
&lt;br /&gt;
ja vastav klient&lt;br /&gt;
&lt;br /&gt;
 $ socat STDIO TCP:server-loomaaed:2323&lt;br /&gt;
 hostname -f&lt;br /&gt;
 server.loomaaed&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL soketi suunamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
 tookohaarvuti$ socat &amp;quot;UNIX-LISTEN:/tmp/.s.PGSQL.5432,reuseaddr,fork&amp;quot; \&lt;br /&gt;
   EXEC:&#039;ssh postgres@192.168.1.105 socat STDIO UNIX-CONNECT\:/var/run/postgresql/.s.PGSQL.5432&#039;&lt;br /&gt;
&lt;br /&gt;
kasutamiseks öelda, kusjuures EXEC täidetakse, st ssh ühendus käivitatakse alles psql kliendi abil pöördumisel&lt;br /&gt;
&lt;br /&gt;
 tookohaarvuti$ psql -h /tmp -U postgres&lt;br /&gt;
&lt;br /&gt;
Faili sisu esitamiseks üle võrgu, kasutamiseks nt netcat abil pöörduda&lt;br /&gt;
&lt;br /&gt;
 $ socat -u FILE:/opt/suricata/var/log/suricata/eve.json,ignoreeof TCP4-LISTEN:12345,fork,reuseaddr&lt;br /&gt;
&lt;br /&gt;
Kasulikud lisamaterjalid&lt;br /&gt;
&lt;br /&gt;
* http://technostuff.blogspot.com/2008/10/some-useful-socat-commands.html&lt;br /&gt;
* http://jdimpson.livejournal.com/6534.html&lt;br /&gt;
* http://www.debian-administration.org/users/dkg/weblog/68&lt;br /&gt;
&lt;br /&gt;
===vnstat===&lt;br /&gt;
&lt;br /&gt;
Tarkvara paigaldamiseks sobib öelda nt&lt;br /&gt;
&lt;br /&gt;
 # apt-get install vnstat&lt;br /&gt;
&lt;br /&gt;
Kasutamine paistab välja nt selline&lt;br /&gt;
&lt;br /&gt;
 # vnstat -l&lt;br /&gt;
 Monitoring eth0...    (press CTRL-C to stop)&lt;br /&gt;
 &lt;br /&gt;
   rx:        0 kbit/s     1 p/s          tx:        0 kbit/s     0 p/s^C&lt;br /&gt;
 &lt;br /&gt;
  eth0  /  traffic statistics&lt;br /&gt;
 &lt;br /&gt;
                            rx         |       tx&lt;br /&gt;
 --------------------------------------+------------------&lt;br /&gt;
   bytes                   385.08 MiB  |      990.42 MiB&lt;br /&gt;
 --------------------------------------+------------------&lt;br /&gt;
           max           88.19 Mbit/s  |   227.04 Mbit/s&lt;br /&gt;
       average           57.36 Mbit/s  |   147.52 Mbit/s&lt;br /&gt;
           min               0 kbit/s  |        0 kbit/s&lt;br /&gt;
 --------------------------------------+------------------&lt;br /&gt;
   packets                    4588718  |         3670125&lt;br /&gt;
 --------------------------------------+------------------&lt;br /&gt;
           max             128266 p/s  |      102612 p/s&lt;br /&gt;
       average              83431 p/s  |       66729 p/s&lt;br /&gt;
           min                  1 p/s  |           0 p/s&lt;br /&gt;
 --------------------------------------+------------------&lt;br /&gt;
   time                    55 seconds&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* rx, tx - vastavalt saabumised ja väljumised&lt;br /&gt;
* bytes, packet - andmete mahu ja pakettide arvu järgi&lt;br /&gt;
&lt;br /&gt;
===iptstate===&lt;br /&gt;
&lt;br /&gt;
iptstate kasutab kerneli conntrack sistemat ja esitab võrguliikluse kohta andmeid, tarkvara paigaldamiseks&lt;br /&gt;
&lt;br /&gt;
 # apt-get install iptstate&lt;br /&gt;
&lt;br /&gt;
Kasutamiseks peab olema laaditud nt ip_conntrack moodul&lt;br /&gt;
&lt;br /&gt;
 # modprobe ip_conntrack&lt;br /&gt;
&lt;br /&gt;
Käivitamiseks öelda&lt;br /&gt;
&lt;br /&gt;
 # iptstate&lt;br /&gt;
&lt;br /&gt;
ja paistab sarnane pilt&lt;br /&gt;
&lt;br /&gt;
 TODO&lt;br /&gt;
&lt;br /&gt;
Tundub, et samad andmed on teksti kujul esitatavad selliselt&lt;br /&gt;
&lt;br /&gt;
 # cat /proc/net/ip_conntrack&lt;br /&gt;
&lt;br /&gt;
===tcptrack===&lt;br /&gt;
&lt;br /&gt;
Programm tcptrack annab top väljundi sarnase ülevaate toimuvatest tcp ühendustest. Paigaldamiseks sobib öelda&lt;br /&gt;
&lt;br /&gt;
 # apt-get install tcptrack&lt;br /&gt;
&lt;br /&gt;
Kasutamiseks nt&lt;br /&gt;
&lt;br /&gt;
 # tcptrack -i eth0 -r 10 port 80&lt;br /&gt;
&lt;br /&gt;
ja paistab selline pilt&lt;br /&gt;
&lt;br /&gt;
 TODO&lt;br /&gt;
&lt;br /&gt;
===conntrack===&lt;br /&gt;
&lt;br /&gt;
 # modprobe nf_conntrack_ipv4&lt;br /&gt;
 # conntrack -p tcp --dport 80 -E -e NEW | pv -l -i 1 -r &amp;gt; /dev/null&lt;br /&gt;
&lt;br /&gt;
===Kasulikud lisamaterjalid===&lt;br /&gt;
&lt;br /&gt;
* Soovides muide teada mis ISP omandusse mingi ip kuulub tasub kasutada aadress http://www.ip-adress.com/ip_tracer/&#039;&#039;&#039;&amp;lt;IP&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* http://www.linuxfoundation.org/collaborate/workgroups/networking/netem&lt;br /&gt;
* http://tools.netsa.cert.org/silk/docs.html&lt;/div&gt;</summary>
		<author><name>Erkko</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Nagios&amp;diff=30478</id>
		<title>Nagios</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Nagios&amp;diff=30478"/>
		<updated>2018-07-24T14:08:00Z</updated>

		<summary type="html">&lt;p&gt;Erkko: ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
===Nagiose tööpõhimõte===&lt;br /&gt;
&lt;br /&gt;
Nagiose serveri ülesandeks on kontrollida võrgus töötavate arvutite (ingl. k. host) ja teenuste (ingl. k. service) seisukorda.&lt;br /&gt;
&lt;br /&gt;
Arvutite ja teenuste seisukorda iseloomustavaid parameetreid võib jaotada lähtudes erinevatelt alustelt. Nt selle järgi, kas parameetrit kontrollitakse üle võrgu või lokaalsest arvutist&lt;br /&gt;
&lt;br /&gt;
* kontrollitakse üle võrgu - veebileht, nimeserver&lt;br /&gt;
* kontrollitakse lokaalselt - arvutis töötavate protsesside arv, arvuti koormus (ingl. load), failisüsteemi täituvus, raid lülituse korrasolek&lt;br /&gt;
&lt;br /&gt;
Lokaalse kontrolli korraldamiseks tuleb kontrollitavasse arvutisse paigaldada lisaks täiendavalt Nagiose tarkvara, üle võrgu kontrollimisel reeglina kontrollitavasse arvutisse ei tule midagi Nagiose-spetsiifilist lisada.&lt;br /&gt;
&lt;br /&gt;
Teine võimalus on jaotus teha selle järgi, kes küsib või kes ütleb&lt;br /&gt;
&lt;br /&gt;
* aktiivne kontroll - Nagiose server esitab teenustele kontrollpäringuid (nt veebileht, nimeserver)&lt;br /&gt;
* passiivne kontroll - Nagiose server kuulab teenuste raporteerimisi (nt varunduse õnnestumine)&lt;br /&gt;
&lt;br /&gt;
Jällegi, passiivse kontrolli korraldamiseks tuleb kontrollitavasse arvutisse paigaldada lisaks täiendavalt Nagiose tarkvara, aktiivsel kontrollimisel reeglina kontrollitavasse arvutisse ei tule midagi Nagiose-spetsiifilist lisada.&lt;br /&gt;
&lt;br /&gt;
===Vana sissejuhatus - vaja ümber teha===&lt;br /&gt;
&lt;br /&gt;
Nagios on vabavara mis võimaldab jälgida teenuste ning serverite kättesaadavust. Toetab mitmesuguseid levinud teenuseid (SMTP, IMAP, HTTP, FTP, DNS) ning võimaldab seirata ka serveri &amp;quot;sisemist&amp;quot; infot, nagu koormus, kettamaht, protsesside arv jms)  ja saata välja teavitusi süsteemide probleemide korral. Võimalik siduda mitmete muude tarkvaradega nagu Munin &lt;br /&gt;
&lt;br /&gt;
Nagiosele on kirjutatud mitmeid lisasid, mis teevad halduri või administraatori elu tunduvalt lihtsamaks. Sellisteks mooduliteks on näiteks serverite võrgukaartide Bonding tugi, Cisco seadmete staatuste kogumine jt. Seadistamine on tehtud lihtsamaks mallide olemasoluga. Nimelt võib defineerida ära esmalt soovitava üldmalli ja seejärel seda direktiivina kasutada teistes seadistustes. Sedasi hoiab administraator oma loodud koodi puhtana ja ülevaatlikumana ja asju lisada on mugavam.&lt;br /&gt;
&lt;br /&gt;
Kui vaadata nõudeid, mis Nagios seab riistvarale, siis on ainukeseks nõudeks, et serveril oleks C kompilaator. Nagiose töötamiseks pole otseselt vaja isegi veebiliidest ja seda saab kasutada vaid teavituste saatmiseks probleemide korral ja süsteemi normaalse töörütmi taastumise korral. Veebiliides on aga hea just igasuguse informatsiooni kuvamiseks kasutades selleks CGI skripte.&lt;br /&gt;
&lt;br /&gt;
Plussid Nagiose kasutamisel:&lt;br /&gt;
&lt;br /&gt;
* vaba tarkvara;&lt;br /&gt;
* palju kontrollimismehhanisme nii teenuste kui riistvara jaoks;&lt;br /&gt;
* teavitamine vigadest ja teenuse taastumisest;&lt;br /&gt;
* võrguhierarhia määramise võimalus;&lt;br /&gt;
* paralleelsed kontrollid;&lt;br /&gt;
* lihtne lisada jälgitavaid teenuseid või seadmeid;&lt;br /&gt;
* hea dokumentatsioon ja palju õpetussõnu veebis;&lt;br /&gt;
* kiire arendus;&lt;br /&gt;
* paljud lisaprogrammid integreeritavad.&lt;br /&gt;
&lt;br /&gt;
===Nagios install===&lt;br /&gt;
&lt;br /&gt;
====FreeBSD====&lt;br /&gt;
FreeBSD süsteemis tuleb anda käsud&lt;br /&gt;
&lt;br /&gt;
 cd /usr/ports/net-mgmt/nagios &amp;amp;&amp;amp; make install clean&lt;br /&gt;
 cd /usr/ports/net-mgmt/nagios-plugins &amp;amp;&amp;amp; make install clean&lt;br /&gt;
&lt;br /&gt;
Viimati tuli veel teha mailisaatmiseks FreeBSD&#039;s selline rats, et linkida mail /bin alla&lt;br /&gt;
&lt;br /&gt;
 ln -s /usr/bin/mail /bin/mail&lt;br /&gt;
&lt;br /&gt;
===Gentoo===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
===Debian===&lt;br /&gt;
&lt;br /&gt;
Nagiose serveri paigaldamine&lt;br /&gt;
&lt;br /&gt;
Debiani paketihaldus sisaldab Nagios http://www.nagios.org/ versioon 3.0.x tarkvara, paigaldamiseks sobib öelda&lt;br /&gt;
&lt;br /&gt;
  # apt-get install nagios3 nagios3-doc&lt;br /&gt;
&lt;br /&gt;
nagios3-doc sisaldab muu seas HTML kujul dokumentatsiooni kataloogis /usr/share/nagios3/htdocs.&lt;br /&gt;
&lt;br /&gt;
Veebipõhise haldusliidese kasutaja ligipääsu tekitamiseks sobib öelda&lt;br /&gt;
&lt;br /&gt;
  # dpkg-reconfigure nagios3-common&lt;br /&gt;
&lt;br /&gt;
ja dialoogides jääda vaikeväärtuste juurde, näidata parool.&lt;br /&gt;
&lt;br /&gt;
Täpsemat juttu hetkel leiab&lt;br /&gt;
&lt;br /&gt;
*http://kuutorvaja.eenet.ee/wiki/Nagiose_kasutamine_Debian_Lenniga&lt;br /&gt;
&lt;br /&gt;
===Seadistame Nagiose===&lt;br /&gt;
&lt;br /&gt;
Nagiose tööd juhib põhiline seadistusfail nagios.cfg ning sellest failis viidatud muud seadistusfailid. Nagiose seadistamisel kirjeldatakse ära hulk erinevaid objekte&lt;br /&gt;
&lt;br /&gt;
* host - jälgitav arvuti või võrguseade (nt vaikelüüs)&lt;br /&gt;
* service - jälgitav teenus (nt veebileht)&lt;br /&gt;
* command - kontrollkäsk, mis jälgib teenust&lt;br /&gt;
* hostgroup - hulk jälgitavaid arvuteid&lt;br /&gt;
* servicegroup - hulk jälgitavaid teenuseid&lt;br /&gt;
* contact - kontakt, kellele saadetakse teatud sündmuse toimumise kohta teade&lt;br /&gt;
* contactgroup - hulk kontakte&lt;br /&gt;
&lt;br /&gt;
Seejuures tehniliselt ei ole oluline, kas objektide kirjeldused asuvad ühes failis või mitmes failis, mis omakorda võivad asuda mitmes kataloogis. Siiski, sõltuvalt monitooringuülesandest on reeglina praktiline jagada objektid mitmete failide vahel. Gruppide kasutamine võimaldab kirjeldada objekte abstraktsemalt, mis praktiliselt lihtsustab Nagiose seadistuste kirjutamist.&lt;br /&gt;
&lt;br /&gt;
    _____   Nagiose server&lt;br /&gt;
   |     |  &lt;br /&gt;
   |_____|  &lt;br /&gt;
      |&lt;br /&gt;
      |&lt;br /&gt;
     -|---------|----------|----....---|----------|&lt;br /&gt;
                |          |           |          |&lt;br /&gt;
              __|__      __|__       __|__      __|__&lt;br /&gt;
             |     |    |     |     |     |    |     |&lt;br /&gt;
             |_____|    |_____|     |_____|    |_____|&lt;br /&gt;
          &lt;br /&gt;
              ruuter      www         mail       dns&lt;br /&gt;
             &lt;br /&gt;
&lt;br /&gt;
Meil on kolm masinat mida vaja jälgida. Ruuter, veebiserver ja mailiserver.&lt;br /&gt;
Me soovime, et kõiki neid kolme Nagios pingiks iga viie minuti tagant ning kui üks masin juhtub maas olema siis teavitame sellest mailiaadressile kasutaja@domeen.ee&lt;br /&gt;
&lt;br /&gt;
Serverite ip aadressid&lt;br /&gt;
&lt;br /&gt;
*kontori ruuter &#039;&#039;&#039;192.168.1.10&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*veebiserver veebiserver.domeen.ee &#039;&#039;&#039;192.168.1.11&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*mailiserver mailiserver.domeen.ee &#039;&#039;&#039;192.168.1.12&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*nimeserver dns.domeen.ee &#039;&#039;&#039;192.168.1.13&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Vaja on tekitada kokku 3 seadistusfaili&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;hosts.cfg&#039;&#039;&#039; seadmed-serverid-arvutid&lt;br /&gt;
# &#039;&#039;&#039;services.cfg&#039;&#039;&#039; erinevat liiki kontrollid-testid&lt;br /&gt;
# &#039;&#039;&#039;contacts.cfg&#039;&#039;&#039;  kasutajad-kasutajagrupid&lt;br /&gt;
&lt;br /&gt;
Esimesena on vaja defineerida hosts.cfg failis kõik neli seadet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;hosts.cfg&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 # Defineerime mõned väärtused mis vaikimis seadistame kõigile masinatele&lt;br /&gt;
 define host{&lt;br /&gt;
       name                            linux-server&lt;br /&gt;
       use                             generic-host    &lt;br /&gt;
       check_period                    24x7            &lt;br /&gt;
       max_check_attempts              10            &lt;br /&gt;
       check_command                   check-host-alive &lt;br /&gt;
       notification_period workhours                                                                                                                  &lt;br /&gt;
       notification_interval           120             &lt;br /&gt;
       notification_options            d,u,r          &lt;br /&gt;
       contact_groups                  admins          &lt;br /&gt;
       register                        0               &lt;br /&gt;
       } &lt;br /&gt;
 &lt;br /&gt;
 #ruuter&lt;br /&gt;
 define host{&lt;br /&gt;
       use                     linux-server&lt;br /&gt;
       host_name               ruuter&lt;br /&gt;
       alias                   ISP Ruuter&lt;br /&gt;
       address                 192.168.1.10&lt;br /&gt;
       parents                 localhost&lt;br /&gt;
       contact_groups  Helpdesk&lt;br /&gt;
       }&lt;br /&gt;
 &lt;br /&gt;
 #veebiserver&lt;br /&gt;
 define host{&lt;br /&gt;
       use                     linux-server&lt;br /&gt;
       host_name               veebiserver.domeen.ee&lt;br /&gt;
       alias                   veebiserver asutusele&lt;br /&gt;
       address                 192.168.1.11&lt;br /&gt;
       parents                 localhost&lt;br /&gt;
       contact_groups  Helpdesk&lt;br /&gt;
       }&lt;br /&gt;
 &lt;br /&gt;
 #mailiserver&lt;br /&gt;
 define host{&lt;br /&gt;
       use                     linux-server&lt;br /&gt;
       host_name               mailiserver.domeen.ee&lt;br /&gt;
       alias                   sisevõrgu mailiserver&lt;br /&gt;
       address                 192.168.1.12&lt;br /&gt;
       parents                 localhost&lt;br /&gt;
       contact_groups  Helpdesk&lt;br /&gt;
       }&lt;br /&gt;
 &lt;br /&gt;
 #nimeserver&lt;br /&gt;
 define host{&lt;br /&gt;
       use                     linux-server&lt;br /&gt;
       host_name               dns.domeen.ee&lt;br /&gt;
       alias                   nimeserver&lt;br /&gt;
       address                 192.168.1.13&lt;br /&gt;
       parents                 localhost&lt;br /&gt;
       contact_groups  Helpdesk&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
contact_groups on korrektselt vajalik paika panna hostide juures kuna sinna hakatakse saatma teateid hosti maasoleku kohta&lt;br /&gt;
&lt;br /&gt;
Nüüd defineerime kontrollid mida tehakse serveritele.&lt;br /&gt;
Tekitame service kirje mis pingib kõiki kolme masinat. Ruuterit, veebiserverit ja mailiserverit ning teavitab probleemide korral kontaktgruppi helpdesk&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;services.cfg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 define service{&lt;br /&gt;
       use                             local-service&lt;br /&gt;
       host_name                       &#039;&#039;&#039;ruuter, veebiserver.domeen.ee, mailiserver.domeen.ee, dns.domeen.ee&#039;&#039;&#039;&lt;br /&gt;
       service_description             PING&lt;br /&gt;
       check_command                   check_ping!100.0,20%!500.0,60%&lt;br /&gt;
       contact_groups  helpdesk&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
Lõpuks tekitame kolmanda faili kus kirjas kontaktid keda teavitatakse mõne seadme maasolekul.&lt;br /&gt;
&lt;br /&gt;
Loome kontakti helpdesk mailiga &#039;&#039;&#039;kasutaja@domeen.ee&#039;&#039;&#039; ning lisame selle kontaktgruppi Helpdesk&lt;br /&gt;
&lt;br /&gt;
Hea nipp on luua mobiilioperaatori juures endale aadress kasutaja@mail.operaator.ee&lt;br /&gt;
millele suunatud kirjad lähevad mobiilile sms&#039;ina, maksab see enamasti 25.- kuus ning&lt;br /&gt;
võimaldab operatiivselt kriitilist infot saada. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;contacts.cfg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 define contact{&lt;br /&gt;
       contact_name                    kasutaja&lt;br /&gt;
       alias                           Infohuviline isik&lt;br /&gt;
       service_notification_period     24x7&lt;br /&gt;
       host_notification_period        24x7&lt;br /&gt;
       service_notification_options    u,c,r&lt;br /&gt;
       host_notification_options       d,r&lt;br /&gt;
       service_notification_commands   notify-by-email&lt;br /&gt;
       host_notification_commands      host-notify-by-email&lt;br /&gt;
       email                           &#039;&#039;&#039;kasutaja@domeen.ee&#039;&#039;&#039;&lt;br /&gt;
       }&lt;br /&gt;
 &lt;br /&gt;
 define contactgroup{&lt;br /&gt;
       contactgroup_name       helpdesk&lt;br /&gt;
       alias                   IT Helpdesk&lt;br /&gt;
       members                 kasutaja&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
Ja viimaks lisame faili &#039;&#039;&#039;nagios.cfg&#039;&#039;&#039; järgnevad read, et Nagios meie tekitatud konfiguratsiooni kasutaks&lt;br /&gt;
&lt;br /&gt;
 cfg_file=/usr/local/etc/nagios/hosts.cfg&lt;br /&gt;
 cfg_file=/usr/local/etc/nagios/services.cfg&lt;br /&gt;
 cfg_file=/usr/local/etc/nagios/contacts.cfg&lt;br /&gt;
&lt;br /&gt;
Linuxi puhul on rajad /etc/nagios/&lt;br /&gt;
&lt;br /&gt;
Ning võime anda käsud&lt;br /&gt;
&lt;br /&gt;
 /usr/local/etc/rc.d/nagios start&lt;br /&gt;
&lt;br /&gt;
või linuxis&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/nagios start&lt;br /&gt;
&lt;br /&gt;
Et suurendada Nagiose töökindlust võiks paigaldada serverile ka oma nimeserveri.&lt;br /&gt;
&lt;br /&gt;
===Nagiose pluginad===&lt;br /&gt;
====Mail delivery====&lt;br /&gt;
&lt;br /&gt;
Mailiserveri töö kontrolli korraldamine on keerukam. Nagiose kaasasolevad vahendid&lt;br /&gt;
võimaldavad kontrollida vaid lihtsamaid portide/teenuste ülevalolekuid ja vastuseid, mailisüsteem on samas enamuses asutuses keerukas ja mitmetest serveritest koosnev süsteem.&lt;br /&gt;
&lt;br /&gt;
Plugin mis järgnevalt ära toodud, saadab serverile emaili ning seejärel logib imapiga&lt;br /&gt;
kasutajaga mailikontole test ning kontrollib kas email on saabunud.&lt;br /&gt;
&lt;br /&gt;
Vaja tirida ja paigaldada vastav plugin selleks aadressilt&lt;br /&gt;
&lt;br /&gt;
http://apricoti.pbwiki.com/NagiosCheckEmailDelivery&lt;br /&gt;
&lt;br /&gt;
Selle sõltuvusteks on vaja installida mõned perli moodulit mis tehtavad kenasti cpani installeri abiga&lt;br /&gt;
 cpan -i Mail::IMAPClient &lt;br /&gt;
&lt;br /&gt;
Seejärel on vaja defineerida command.&lt;br /&gt;
&lt;br /&gt;
  define command {&lt;br /&gt;
          command_name    check_delivery_mail&lt;br /&gt;
          command_line    $USER1$/check_email_delivery -H mail.domeen.ee --mailto test@mail.domeen.ee --mailfrom nagios@nagios.domeen.ee /&lt;br /&gt;
                          --username  test --password parool --libexec $USER1$ --wait 10 --warning 600 --critical 1200&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Ning seejärel kontrollimine.&lt;br /&gt;
&lt;br /&gt;
 define service{&lt;br /&gt;
         use                             generic-service&lt;br /&gt;
         host_name                       mail.domeen.ee&lt;br /&gt;
         service_description             DELIVERY_mail&lt;br /&gt;
         check_command                   check_delivery_mail&lt;br /&gt;
         max_check_attempts              5&lt;br /&gt;
         contact_groups  helpdesk&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
====check_by_ssh====&lt;br /&gt;
&lt;br /&gt;
check_by_ssh on mõeldud skriptide käivitamiseks eemalolevas arvutis.&lt;br /&gt;
&lt;br /&gt;
Näiteks võib tekkida soov tulemüüris olles pingida vpn otspunkte, mida Nagiose serverist teha aga ei saa.&lt;br /&gt;
&lt;br /&gt;
Esiteks tuleb genereerida ssh-keygeniga võti ja paigaldada see teise arvuti nagios kasutaja alla. Siis paigaldame arvutile, kus soovime skripte käivitada /usr/ports/net-mgmt/nagios-plugins/ paketi.&lt;br /&gt;
&lt;br /&gt;
Defineerime konfi käsu.&lt;br /&gt;
&lt;br /&gt;
 define command {&lt;br /&gt;
  command_name check_ping_tunnel_ssh&lt;br /&gt;
  command_line    $USER1$/check_by_ssh -H $HOSTADDRESS$ -C \&lt;br /&gt;
  &#039;/usr/local/libexec/nagios/check_ping -H $ARG1$ -w 500.0,20% -c 2000.0,60%  -p 5&#039;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Testimiseks&lt;br /&gt;
&lt;br /&gt;
 # /usr/local/libexec/nagios/check_ping -H 192.168.2.10 -w 500.0,20% -c  2000.0,60% -p 5&lt;br /&gt;
 PING WARNING - Packet loss = 20%, RTA = 7.56  ms|rta=7.563000ms;500.000000;2000.000000;0.000000 pl=20%;20;60;0&lt;br /&gt;
&lt;br /&gt;
Tekitame teenuse&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
       use                             service&lt;br /&gt;
       host_name                       tulemyyr&lt;br /&gt;
       service_description             Current Load&lt;br /&gt;
       check_command                   check_http_content!&amp;quot;192.168.5.14&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
====PostgreSQL====&lt;br /&gt;
&lt;br /&gt;
Aadressil http://bucardo.org/wiki/Check_postgres jagatakse Nagiose kontrollskripti, mis võimaldab muuhulgas&lt;br /&gt;
&lt;br /&gt;
* küsida suurima tabeli või indeksi suurust&lt;br /&gt;
&lt;br /&gt;
 $ perl check_postgres.pl -H pg.loomaaed -u postgres --db=loobdb --action=relation_size --critical=&#039;6000 MB&#039; --warning=&#039;4000 MB&#039; \&lt;br /&gt;
   --showperf=0 --perflimit=1&lt;br /&gt;
 POSTGRES_RELATION_SIZE OK: DB &amp;quot;loobdb&amp;quot; (host:pg.loomaaed) largest relation is table &amp;quot;koduloomad.vigastused&amp;quot;: 3001 MB&lt;br /&gt;
&lt;br /&gt;
Seejuures esitatakse andmebaasile selline päring&lt;br /&gt;
&lt;br /&gt;
 BEGIN;SET statement_timeout=30000;COMMIT;SELECT pg_relation_size(c.oid), pg_size_pretty(pg_relation_size(c.oid)), relkind, relname, nspname \&lt;br /&gt;
   FROM pg_class c, pg_namespace n WHERE (relkind = &#039;r&#039; OR relkind = &#039;i&#039;) AND n.oid = c.relnamespace ORDER BY 1 DESC LIMIT 1&lt;br /&gt;
&lt;br /&gt;
====Smartmontools====&lt;br /&gt;
&lt;br /&gt;
Kõvaketta temperatuuri jälgimiseks sobib kasutada nt sellist järgnevust&lt;br /&gt;
&lt;br /&gt;
* moodustada jälgitavasse arvutisse skript&lt;br /&gt;
&lt;br /&gt;
 # cat /root/system/hddtemp.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 c_aeg=`date +%s`&lt;br /&gt;
 temp=`/usr/sbin/smartctl -A /dev/$1 | grep Temperature_Celsius | awk {&#039;print $10&#039;}`&lt;br /&gt;
 echo $temp $c_aeg &amp;gt; /tmp/hddtemp_$1.txt&lt;br /&gt;
&lt;br /&gt;
mis kutsutakse välja arvuti juurkasutaja crontabist reaga&lt;br /&gt;
&lt;br /&gt;
 */2 * * * * /root/system/hddtemp.sh sda&lt;br /&gt;
&lt;br /&gt;
Tulemusena moodustatakse igal minutil uus fail /tmp/hddtemp_sda.txt sisuga&lt;br /&gt;
&lt;br /&gt;
 # cat /tmp/hddtemp_sda.txt&lt;br /&gt;
 33 1280078281&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* 33 - temperatuur kraadides Celsiust&lt;br /&gt;
* 1280078281 - timestamp, mis on vajalik veendumaks, et kasutatakse uuendatud temperatuuri väärtust&lt;br /&gt;
&lt;br /&gt;
* moodustada Nagiose plugin check_hddtemp&lt;br /&gt;
&lt;br /&gt;
 # cat /usr/lib/nagios/plugins/check_hddtemp &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 temp=`cat /tmp/hddtemp_$1.txt | cut -d &amp;quot; &amp;quot; -f 1`;&lt;br /&gt;
 ts=`cat /tmp/hddtemp_$1.txt | cut -d &amp;quot; &amp;quot; -f 2`;&lt;br /&gt;
 &lt;br /&gt;
 c_aeg=`date +%s`&lt;br /&gt;
 aeg_kolme_minuti_eest=$(($c_aeg - 180));&lt;br /&gt;
  &lt;br /&gt;
 if [ $temp -lt $2 -a $ts -gt $aeg_kolme_minuti_eest ]; then&lt;br /&gt;
   echo &amp;quot;TEMP OK - temp: $temp;| temp=$temp&amp;quot;;&lt;br /&gt;
   exit 0;&lt;br /&gt;
 else&lt;br /&gt;
   echo &amp;quot;TEMP CRITICAL - temp: $temp;| temp=$temp&amp;quot;;&lt;br /&gt;
   exit 2;&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
* kirjeldada monitooritava arvuti nrpe agendis seadistusfailis /etc/nagios/nrpe.cfg check_hddtemp kontrollid, nt&lt;br /&gt;
&lt;br /&gt;
 # riistvara&lt;br /&gt;
 command[check_hddtemp_sda]=/usr/lib/nagios/plugins/check_hddtemp sda 35&lt;br /&gt;
 command[check_hddtemp_sdb]=/usr/lib/nagios/plugins/check_hddtemp sdb 38&lt;br /&gt;
 command[check_hddtemp_sdc]=/usr/lib/nagios/plugins/check_hddtemp sdc 35&lt;br /&gt;
&lt;br /&gt;
* kirjeldada Nagiose serveris vastavad kontrollid, nt sektsiooniga&lt;br /&gt;
&lt;br /&gt;
 define service {&lt;br /&gt;
   host_name                       failiserver.loomaaed&lt;br /&gt;
   service_description             hddtemp_sda&lt;br /&gt;
   check_command                   check_nrpe_1arg!check_hddtemp_sda&lt;br /&gt;
   use                             generic-service&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Ipv6 aadresside monitoorimine===&lt;br /&gt;
&lt;br /&gt;
Paljudel kaasasolevatel Nagiose utiliitidel on ipv6 tugi ka juba olemas. Näiteks&lt;br /&gt;
soovides pingida ühte ainult ipv6 aadressi omavat hosti võib teha täiesti tavalise seadmekirje millele lisada ipv6 aadressi ning siis defineerida järgnev käsk:&lt;br /&gt;
&lt;br /&gt;
 define command{&lt;br /&gt;
         command_name    check_ping6&lt;br /&gt;
         command_line    $USER1$/check_ping -6 -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
Kasutada saab seda tavapärasel moel nagu iga teist.&lt;br /&gt;
&lt;br /&gt;
===Katsetamine===&lt;br /&gt;
&lt;br /&gt;
Võime simuleerida mingi masina maasolekut. Piisab kui vastav reegel panna selleks tulemüüri mis blokeerib liikluse serverini mida kontrollime. Logifaili &#039;&#039;&#039;/var/spool/nagios/nagios.log&#039;&#039;&#039; peaks tekkima read: &lt;br /&gt;
&lt;br /&gt;
 [1209129862] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;1;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129872] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;2;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129882] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;3;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129892] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;4;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129902] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;5;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129912] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;6;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129922] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;7;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129932] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;8;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129942] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;9;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129952] HOST ALERT: veebiserver.domeen.ee;DOWN;HARD;10;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129952] HOST NOTIFICATION: kasutaja;veebiserver.domeen.ee;DOWN;host-notify-by-email;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129952] SERVICE ALERT: veebiserver.domeen.ee;PING;CRITICAL;HARD;1;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
&lt;br /&gt;
ning kasutaja peaks saama emaili Host DOWN alert for veebiserver.domeen.ee! sisuga&lt;br /&gt;
&lt;br /&gt;
 ***** Nagios 2.10 *****&lt;br /&gt;
 &lt;br /&gt;
 Notification Type: PROBLEM&lt;br /&gt;
 Host: veebiserver.domeen.ee&lt;br /&gt;
 State: DOWN&lt;br /&gt;
 Address: 192.168.1.11&lt;br /&gt;
 Info: CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 &lt;br /&gt;
 Date/Time: Fri Apr 25 16:25:52 EEST 2008&lt;br /&gt;
&lt;br /&gt;
Eemaldades reegli&lt;br /&gt;
&lt;br /&gt;
 [1209130370] HOST ALERT: veebiserver.domeen.ee;UP;HARD;1;PING OK - Packet loss = 0%, RTA = 4.09 ms&lt;br /&gt;
 [1209130370] HOST NOTIFICATION: kasutaja;veebiserver.domeen.ee;UP;host-notify-by-email;PING OK - Packet loss = 0%, RTA = 4.09 ms&lt;br /&gt;
 [1209130370] SERVICE ALERT: veebiserver.domeen.ee;PING;OK;SOFT;1;PING OK - Packet loss = 0%, RTA = 4.92 ms&lt;br /&gt;
&lt;br /&gt;
Saabub email Host UP alert for veebiserver.domeen.ee!&lt;br /&gt;
&lt;br /&gt;
 ***** Nagios 2.10 *****&lt;br /&gt;
 &lt;br /&gt;
 Notification Type: RECOVERY&lt;br /&gt;
 Host: veebiserver.domeen.ee&lt;br /&gt;
 State: UP&lt;br /&gt;
 Address: 192.168.1.11&lt;br /&gt;
 Info: PING OK - Packet loss = 0%, RTA = 4.09 ms&lt;br /&gt;
 &lt;br /&gt;
 Date/Time: Fri Apr 25 16:32:50 EEST 2008&lt;br /&gt;
&lt;br /&gt;
===NSCA kasutamine===&lt;br /&gt;
&lt;br /&gt;
NSCA (Nagios Service Check Acceptor, ingl. k. Nagiose teenuse kontrolli vastuvõtja) võimaldab korraldada nn passiivseid kontrolle. Nii Nagiose serverisse kui kontrollitavasse arvutisse tuleb paigaldada nsca pakett öeldes&lt;br /&gt;
&lt;br /&gt;
  # apt-get install nsca&lt;br /&gt;
&lt;br /&gt;
Tulemusena paigaldatakse muu hulgas&lt;br /&gt;
&lt;br /&gt;
* /usr/sbin/nsca - NSCA deemon, töötab Nagiose serveris&lt;br /&gt;
* /etc/nsca.cfg - NSCA deemoni seadistusfail&lt;br /&gt;
* /usr/sbin/send_nsca - NSCA klient, millega saadetakse deemonile sõnumeid&lt;br /&gt;
* /etc/send_nsca.cfg - NSCA kliendi seadistusfail&lt;br /&gt;
&lt;br /&gt;
Nagiose serveri arvutis tuleb käivitada nsca deemon, mida juhib seadistusfail /etc/nsca.cfg kus on oluline veenduda, et sisaldub sobiva väärtusega command_file parameeter ja vajadusel ka debug seada, nt nii&lt;br /&gt;
&lt;br /&gt;
  debug=1&lt;br /&gt;
  command_file=/var/lib/nagios3/rw/nagios.cmd&lt;br /&gt;
&lt;br /&gt;
Kontrollitavast arvutist saadetakse programmiga send_nsca teated Nagiose NSCA deemonile&lt;br /&gt;
&lt;br /&gt;
  $ echo -e &amp;quot;backup.loomaaed.tartu.ee\tbackup\t0\tbackup korras&amp;quot; | send_nsca -c /etc/send_nsca.cfg -H nagios.loomaaed.tartu.ee -p 5667&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* backup.loomaaed.tartu.ee - arvuti nimi&lt;br /&gt;
* backup - teenuse nimi&lt;br /&gt;
* 0, 1, 2, 3 - Nagiose staatus, vastavalt OK, WARNING, CRITICAL või UNKNOWN&lt;br /&gt;
* backup korras - teate tekst, mida näidatakse nt Nagiose veebiliideses&lt;br /&gt;
* /etc/send_nsca.cfg - send_nsca kasutab näidatud seadistusfaili, nt sõnumi krüptimise infoks&lt;br /&gt;
* nagios.loomaaed.tartu.ee - Nagiose server&lt;br /&gt;
* -p - Nagiose serveri port&lt;br /&gt;
&lt;br /&gt;
====Varunduse monitooring====&lt;br /&gt;
&lt;br /&gt;
Olgu ülesandeks korraldada varunduse monitooring selliselt&lt;br /&gt;
&lt;br /&gt;
* varundamise skript saadab teate, kui varundamine õnnestub&lt;br /&gt;
* varundamise skript saadab teate, kui varundamine ebaõnnestub&lt;br /&gt;
* Nagios annab alarmi, kui varundamise skript pole teadet saatnud kahe päeva jooksul&lt;br /&gt;
&lt;br /&gt;
Passiivse kontrolli jaoks sobib kasutada sellist malli&lt;br /&gt;
&lt;br /&gt;
 define service{&lt;br /&gt;
   use                     generic-service&lt;br /&gt;
   name                    passive-backup-service&lt;br /&gt;
   active_checks_enabled   0&lt;br /&gt;
   passive_checks_enabled  1&lt;br /&gt;
   flap_detection_enabled  0&lt;br /&gt;
   register                0&lt;br /&gt;
   is_volatile             0&lt;br /&gt;
   check_period            24x7&lt;br /&gt;
   max_check_attempts      1&lt;br /&gt;
   normal_check_interval   1&lt;br /&gt;
   retry_check_interval    1&lt;br /&gt;
   check_freshness         1&lt;br /&gt;
   freshness_threshold     169200&lt;br /&gt;
   contact_groups          admins&lt;br /&gt;
   check_command           check_dummy!2&lt;br /&gt;
   notification_interval   7200&lt;br /&gt;
   notification_period     24x7&lt;br /&gt;
   notification_options    w,u,c,r&lt;br /&gt;
   stalking_options        w,c,u&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* freshness_threshold  169200 - kaks ööpäeva oodatakse varunduselt teadet&lt;br /&gt;
* check_command   check_dummy!2 - tagastab alati CRITICAL väärtuse &lt;br /&gt;
&lt;br /&gt;
Teenuse seadistamiseks sobib kasutada nt sellist sissekannet&lt;br /&gt;
&lt;br /&gt;
 define service{&lt;br /&gt;
   host_name                       backup.loomaaed.tartu.ee&lt;br /&gt;
   service_description             backup&lt;br /&gt;
   use                             generic-passive-service&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Nt õnnestumisel võiks Nagiose /var/log/syslog&#039;i tekkida&lt;br /&gt;
&lt;br /&gt;
 Oct 22 19:51:41 fs nsca[15318]: Connection from 192.168.206.3 port 52141&lt;br /&gt;
 Oct 22 19:51:41 fs nsca[15318]: Handling the connection...&lt;br /&gt;
 Oct 22 19:51:42 fs nsca[15318]: SERVICE CHECK -&amp;gt; Host Name: &#039;backup.loomaaed.tartu.ee&#039;, Service Description: &#039;backup&#039;, Return Code: &#039;0&#039;, Output: &#039;backup&#039;&lt;br /&gt;
 Oct 22 19:51:42 fs nsca[15318]: End of connection...&lt;br /&gt;
 Oct 22 19:51:42 fs nagios3: EXTERNAL COMMAND: PROCESS_SERVICE_CHECK_RESULT;backup.loomaaed.tartu.ee;backup;0;backup&lt;br /&gt;
 Oct 22 19:51:48 fs nagios3: PASSIVE SERVICE CHECK: backup.loomaaed.tartu.ee;backup;0;backup&lt;br /&gt;
&lt;br /&gt;
nsca_send jaoks võiks sisendi konstrueerida varundamise protseduuri sooritav skript oma töö lõpus ise, aga kui kasutatakse Nagiose lisasid (mis tuleb siis paigaldada paigaldades paketi nagios-plugins-basic), siis võiks teisendada lisa väljundi nt selline skript&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 if test &amp;quot;$varundamise_tulemus&amp;quot; = &#039;OK&#039;; then&lt;br /&gt;
         code=0&lt;br /&gt;
 else&lt;br /&gt;
         code=2&lt;br /&gt;
 &lt;br /&gt;
 fi&lt;br /&gt;
  &lt;br /&gt;
 echo -e &amp;quot;backup.loomaaed.tartu.ee\tbackup\t$code\tbackup tulemus&amp;quot; | send_nsca -c /etc/send_nsca.cfg -H nagios.loomaaed.tartu.ee -p 5667&lt;br /&gt;
&lt;br /&gt;
===Apache seadistus===&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;Directory /usr/local/www/nagios&amp;gt;&lt;br /&gt;
     Order deny,allow&lt;br /&gt;
     Deny from all&lt;br /&gt;
     Allow from 127.0.0.1&lt;br /&gt;
   &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;Directory /usr/local/www/nagios/cgi-bin&amp;gt;&lt;br /&gt;
     Options ExecCGI&lt;br /&gt;
   &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   ScriptAlias /nagios/cgi-bin/ /usr/local/www/nagios/cgi-bin/&lt;br /&gt;
   Alias /nagios/ /usr/local/www/nagios/&lt;br /&gt;
&lt;br /&gt;
Selline virtualhost toimib küll vaid bsd peal. Erinevates distrotes on rajad failideni teised. Üldiselt peale installi öeldakse kus kaustas Nagiose cgi veebiliides asub.&lt;br /&gt;
&lt;br /&gt;
===Nagiose veebipõhise haldusliidese ettevalmistamine===&lt;br /&gt;
&lt;br /&gt;
Veebiliidese kasutuselevõtuks tuleb seadistada Apache virtuaalhost ja kasutada Nagiosega ühenduseks nt seadistusnäiteid failist nagios3/apache.conf.&lt;br /&gt;
&lt;br /&gt;
Tulemusena saab kasutajana nagiosadmin ja näidatud parooliga haldusliidesesse logida&lt;br /&gt;
&lt;br /&gt;
[[Pilt:Debian-nagios-1.gif]]&lt;br /&gt;
&lt;br /&gt;
kust on näha, et&lt;br /&gt;
&lt;br /&gt;
* jälgitakse kahte arvutit, vaikelüüsi ja seda arvutit ennast, kus Nagios töötab&lt;br /&gt;
* arvutis jälgitakse kuut parameetrit&lt;br /&gt;
&lt;br /&gt;
Haldusliidesest Nagiose juhtimiseks tuleb Nagios seadistada kuulama nn väliseid korraldusi. Selleks peab nagios.cfg failis sisalduma rida&lt;br /&gt;
&lt;br /&gt;
  check_external_commands=1&lt;br /&gt;
&lt;br /&gt;
Failisüsteemis on enne&lt;br /&gt;
&lt;br /&gt;
  # ls -ld /var/lib/nagios3/rw /var/lib/nagios3&lt;br /&gt;
  drwxr-x--- 4 nagios nagios   4096 Oct 22 00:19 /var/lib/nagios3&lt;br /&gt;
  drwx------ 2 nagios www-data 4096 Jul  2 12:37 /var/lib/nagios3/rw&lt;br /&gt;
&lt;br /&gt;
Korraldused&lt;br /&gt;
&lt;br /&gt;
  # dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios3/rw&lt;br /&gt;
  # dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3&lt;br /&gt;
&lt;br /&gt;
Pärast&lt;br /&gt;
&lt;br /&gt;
  # ls -ld /var/lib/nagios3/rw /var/lib/nagios3&lt;br /&gt;
  drwxr-x--x 4 nagios nagios   4096 Oct 22 00:19 /var/lib/nagios3&lt;br /&gt;
  drwx--s--- 2 nagios www-data 4096 Jul  2 12:37 /var/lib/nagios3/rw&lt;br /&gt;
&lt;br /&gt;
====Mallide kirjeldamine====&lt;br /&gt;
&lt;br /&gt;
Nagiose mallidele vastavad objektid on kirjeldatud kahes failis, arvutitele vastav mall:&lt;br /&gt;
&lt;br /&gt;
 # cat /etc/nagios3/conf.d/generic-host.cfg&lt;br /&gt;
 define host {&lt;br /&gt;
   name                            generic-host    ; The name of this host template&lt;br /&gt;
   notifications_enabled           1       ; Host notifications are enabled&lt;br /&gt;
   event_handler_enabled           1       ; Host event handler is enabled&lt;br /&gt;
   flap_detection_enabled          1       ; Flap detection is enabled&lt;br /&gt;
   failure_prediction_enabled      1       ; Failure prediction is enabled&lt;br /&gt;
   process_perf_data               1       ; Process performance data&lt;br /&gt;
   retain_status_information       1       ; Retain status information across program restarts&lt;br /&gt;
   retain_nonstatus_information    1       ; Retain non-status information across program restarts&lt;br /&gt;
   check_command                   check-host-alive&lt;br /&gt;
   max_check_attempts              10&lt;br /&gt;
   notification_interval           0&lt;br /&gt;
   notification_period             24x7&lt;br /&gt;
   notification_options            d,u,r&lt;br /&gt;
   contact_groups                  admins&lt;br /&gt;
   register                        0       ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
ja teenustele vastav mall:&lt;br /&gt;
&lt;br /&gt;
 define service {&lt;br /&gt;
   name                            generic-service ; The &#039;name&#039; of this service template&lt;br /&gt;
   active_checks_enabled           1       ; Active service checks are enabled&lt;br /&gt;
   passive_checks_enabled          1       ; Passive service checks are enabled/accepted&lt;br /&gt;
   parallelize_check               1       ; Active service checks should be parallelized (disabling this can lead to major performance problems)&lt;br /&gt;
   obsess_over_service             1       ; We should obsess over this service (if necessary)&lt;br /&gt;
   check_freshness                 0       ; Default is to NOT check service &#039;freshness&#039;&lt;br /&gt;
   notifications_enabled           1       ; Service notifications are enabled&lt;br /&gt;
   event_handler_enabled           1       ; Service event handler is enabled&lt;br /&gt;
   flap_detection_enabled          1       ; Flap detection is enabled&lt;br /&gt;
   failure_prediction_enabled      1       ; Failure prediction is enabled&lt;br /&gt;
   process_perf_data               1       ; Process performance data&lt;br /&gt;
   retain_status_information       1       ; Retain status information across program restarts&lt;br /&gt;
   retain_nonstatus_information    1       ; Retain non-status information across program restarts&lt;br /&gt;
   notification_interval           0       ; Only send notifications on status change by default.&lt;br /&gt;
   is_volatile                     0&lt;br /&gt;
   check_period                    24x7&lt;br /&gt;
   normal_check_interval           2&lt;br /&gt;
   retry_check_interval            1&lt;br /&gt;
   max_check_attempts              3&lt;br /&gt;
   notification_period             24x7&lt;br /&gt;
   notification_options            w,u,c,r&lt;br /&gt;
   contact_groups                  admins&lt;br /&gt;
   register                        0       ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* mallidel on nimed, mida saab teenuste kirjeldustes kasutada, vastavalt generic-host ja generic-service&lt;br /&gt;
* mallidega on seostatud kontaktigrupp, admins&lt;br /&gt;
&lt;br /&gt;
===Alternatiiv===&lt;br /&gt;
&lt;br /&gt;
Kui põhiline on saada teada, et mõni üksik ruuter katki, siis pole vaja alati ka Nagiose kogu enda keerukusega peale panna ja kõige lihtsam on panna järgnev käsk crontabi:&lt;br /&gt;
&lt;br /&gt;
 /bin/ping -nqc 4 TARTU_RUUTER &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 || /bin/echo &#039;Oluline Ruuter&lt;br /&gt;
 MAAS!!!&#039; | /usr/bin/mail -s &#039;Tln-Trt maas&#039; TEHTOE_NUMBER@sms.emt.ee&lt;br /&gt;
 ADMINI_NUMBER@sms.emt.ee katk@zoo.edu.ee&lt;br /&gt;
&lt;br /&gt;
See pingiks 4 korda ja saadaks teated välja, kui ping läbi ei käinud,&lt;br /&gt;
mis ongi ju enamvähem kõik, mis vaja. Lingi üles tulekut võib juba&lt;br /&gt;
kontrollida käsitsi või graafikutest.&lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/Nagiose_kasutamine_Debian_Lenniga&lt;br /&gt;
&lt;br /&gt;
https://wiki.itcollege.ee/index.php/LAMP_monitooring_Nagiose_abil&lt;br /&gt;
&lt;br /&gt;
https://wiki.itcollege.ee/index.php/Nagios&lt;/div&gt;</summary>
		<author><name>Erkko</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Firehol&amp;diff=30477</id>
		<title>Firehol</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Firehol&amp;diff=30477"/>
		<updated>2018-07-23T19:58:49Z</updated>

		<summary type="html">&lt;p&gt;Erkko: fck&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Sageli on vaja linux masinatele luua keerukamaid tulemüüre. Iptables on selleks aga enda keeruka süntaksiga üsnagi ebamugav. Raske on suurema tulemüüri reegleid lugeda ja nende muutmine nõuab &lt;br /&gt;
põhjalikumalt süntaksi tundmist ja tähelepanelikku jälgimist.&lt;br /&gt;
&lt;br /&gt;
Seetõttu on loodud iptablesi/netfiltri seadistamist hõlbustav tarkvara FireHOL. Tegemist on minimalistliku tarkvaraga mise ei nõua apache/php-d ega X-aknaid ja tema enda konf on maksimaalselt inimloetav. Oma süntaksilt meenutab FireHOL ehk kõige rohkem OpenBSD packet filtrit.&lt;br /&gt;
&lt;br /&gt;
Tegemist on ka kontrollkihiga reeglite ja kasutaja ees. Ehk siis kogemata tehtud näpuviga&lt;br /&gt;
ei hävita hoobilt kogu võrguühendust. Fireholi näol wrapper suudab vigase süntaksi tagasi tõrjuda enne kui iptablesi käskudeks selle moondab.&lt;br /&gt;
&lt;br /&gt;
*https://firehol.org/ Ametlik koduleht&lt;br /&gt;
&lt;br /&gt;
===Paigaldamine===&lt;br /&gt;
&lt;br /&gt;
Fireholi kasutamiseks on vajalik, et kernelis asuks iptablesi tugi.&lt;br /&gt;
&lt;br /&gt;
 Networking ---&amp;gt; &lt;br /&gt;
  Networking options ---&amp;gt; &lt;br /&gt;
   [*] Network packet filtering (replaces ipchains) ---&amp;gt; &lt;br /&gt;
  Core Netfilter Configuration ---&amp;gt; &lt;br /&gt;
   &amp;lt;*&amp;gt; Netfilter Xtables support (required for ip_tables)&lt;br /&gt;
&lt;br /&gt;
Firehol install näiteks gentool toimub käsuga&lt;br /&gt;
&lt;br /&gt;
 # emerge firehol&lt;br /&gt;
&lt;br /&gt;
ja et ta ka teenusena arvuti käivitamisel stardiks stardiks&lt;br /&gt;
&lt;br /&gt;
 # rc-update add firehol default&lt;br /&gt;
&lt;br /&gt;
Debianis installiks&lt;br /&gt;
&lt;br /&gt;
 # sudo apt-get install firehol&lt;br /&gt;
&lt;br /&gt;
seadistusfail asub kaustas &#039;&#039;&#039;/etc/firehol&#039;&#039;&#039; nimega &#039;&#039;&#039;firehol.conf&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Üldiselt teeb firehol moodulite laadimist automaatselt, st. kui ütled talle konfis, et &amp;quot;server ftp accept&amp;quot; siis üritab ta ip_conntrack_ftp moodulit sisse imeda ja tekitab vajalikud reeglid:&lt;br /&gt;
&lt;br /&gt;
===Kasutamine===&lt;br /&gt;
&lt;br /&gt;
Näide tavalise LAMP veebiserveri &#039;&#039;&#039;firehol.conf&#039;&#039;&#039; seadistusest:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 version 5&lt;br /&gt;
 &lt;br /&gt;
 interface &amp;quot;eth0&amp;quot; internet src not &amp;quot;${UNROUTABLE_IPS}&amp;quot;&lt;br /&gt;
  policy drop&lt;br /&gt;
  server &amp;quot;http https icmp ssh&amp;quot; accept&lt;br /&gt;
  client &amp;quot;dns smtp icmp ntp&amp;quot; accept&lt;br /&gt;
&lt;br /&gt;
#interface real defineerime mis võrgukaarti hakkame seadistama, hetkel võrgukaarti eth0 ja blokeerime kõik unroutable ip&#039;d ehk siis näiteks sisevõrguaadressid jms.&lt;br /&gt;
#policy reaga vaikimisi kõik paketid blokeeritakse.&lt;br /&gt;
#&#039;&#039;&#039;server&#039;&#039;&#039; reaga lubame väljaspoolt internetist ligi teenustele: http, https, icmp ja ssh&lt;br /&gt;
#&#039;&#039;&#039;client&#039;&#039;&#039; reaga lubame serverist endast väljaspoole internetti dns, smtp, icmp ja ntp päringud&lt;br /&gt;
Täpsemat nimekirja kõigist teenustest, mida firehol vaikimisi toetab, näeme aadressil http://firehol.sourceforge.net/services.html&lt;br /&gt;
&lt;br /&gt;
Peale seadistusfaili muutmist tuleb muudatuste aktiveerimiseks käivitada süsteemis käsk&lt;br /&gt;
&lt;br /&gt;
 # firehol try&lt;br /&gt;
&lt;br /&gt;
peale mida kontrollitakse reegleid ja küsitakse yes/no küsimusi&lt;br /&gt;
enne reeglite aktiveerimist, mis võivad osutuda vahel kasulikuks, et mitte jääda nö. ukse taha :)&lt;br /&gt;
&lt;br /&gt;
Võimalik on loodud reegleid ka lihtsalt kontrollida nt süntaksi osas käsuga&lt;br /&gt;
&lt;br /&gt;
 # firehol test firehol.conf&lt;br /&gt;
&lt;br /&gt;
Pakettide blokeerimise asemel on viisakas mittesobivad pigem reject&#039;ida,&lt;br /&gt;
et saatjal ei tekiks timeout&#039;i. Selleks tuleb &lt;br /&gt;
&lt;br /&gt;
 policy drop&lt;br /&gt;
&lt;br /&gt;
asemel kirjutada&lt;br /&gt;
&lt;br /&gt;
 policy reject&lt;br /&gt;
&lt;br /&gt;
Olles mitte paranoiline, võib kirjutada ka&lt;br /&gt;
&lt;br /&gt;
 client all accept&lt;br /&gt;
&lt;br /&gt;
lubades kõik väljuva liikluse&lt;br /&gt;
&lt;br /&gt;
Näiteks Gentool võiks &#039;&#039;&#039;emerge --sync&#039;&#039;&#039; toimimiseks ja softi uuendamiseks lisada ka&lt;br /&gt;
&lt;br /&gt;
 client &amp;quot;http ftp rsync&amp;quot; accept&lt;br /&gt;
&lt;br /&gt;
Muutujate kasutamine, keelame eth0 pealt mysqlile ligipääsu mujalt kui kahest võrgust kus asuvad programmeerijad. Selleks tekitame muutuja PROGEJAD, kuhu paigutame kaks C klassi ning kasutame seda hiljem reeglite sektsioonis.&lt;br /&gt;
&lt;br /&gt;
 PROGEJAD=&amp;quot;193.40.0.0/24 192.168.0.0/24&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 interface &amp;quot;eth0&amp;quot; internet&lt;br /&gt;
    ...&lt;br /&gt;
    client &amp;quot;mysql&amp;quot; accept dst &amp;quot;${PROGEJAD}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Kui soovime keelata ssh välisvõrgust ja lubada vaid sisevõrgust, tuleks konf teha selliselt:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 version 5&lt;br /&gt;
 &lt;br /&gt;
 asutuse_kontor=&amp;quot;192.168.1.0/25&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 interface &amp;quot;eth0&amp;quot; internet src not &amp;quot;${UNROUTABLE_IPS}&amp;quot;&lt;br /&gt;
  policy drop&lt;br /&gt;
  server &amp;quot;http https icmp&amp;quot; accept&lt;br /&gt;
  server &amp;quot;ssh&amp;quot; accept src &amp;quot;${asutuse_kontor}&amp;quot;&lt;br /&gt;
  client &amp;quot;dns smtp icmp ntp&amp;quot; accept&lt;br /&gt;
&lt;br /&gt;
Kui vahel on vaja avada mõne vähemtuntud teenuse port firehol&#039;ile, võib kasutada custom käsku&lt;br /&gt;
&lt;br /&gt;
 server custom shoutcast tcp/8000 default accept&lt;br /&gt;
&lt;br /&gt;
Selle peale avatakse tcp port 8000 nimega shoutcast default portidelt. Default asemel võib defineerida ka kindla pordi-vahemiku.&lt;br /&gt;
&lt;br /&gt;
Soovides avada terve portide vahemik tuleks teenus aga defineerida järgnevalt&lt;br /&gt;
&lt;br /&gt;
 server_XXX_ports=&amp;quot;tcp/7000:8000&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Firehol on samas üsna paindlik, lubades otse konfi lisada ka iptables ridu&lt;br /&gt;
&lt;br /&gt;
Näiteks lisame sinna rea&lt;br /&gt;
&lt;br /&gt;
 DB=&amp;quot;192.168.1.100&amp;quot;&lt;br /&gt;
 iptables -t nat -A OUTPUT -p tcp -m tcp --dport 3306 -j DNAT --to-destination ${DB}:3306&lt;br /&gt;
&lt;br /&gt;
Selle reaga suunatakse kõik sisevõrgus tehtud ühenduskatsed pordile 3306 (mysql server)&lt;br /&gt;
ümber masinale 192.168.1.100. Nagu märkasite saab kasutada iptables käskudes ka muutujaid firehol&#039;i konfis. Lihtsam on muidugi alati kasutada võimaluse korral FireHOLi enda süntaksit, näiteks ülal toodud iptables näide oleks lahendatav&lt;br /&gt;
 &lt;br /&gt;
 dnat to &amp;quot;${DB}:33066&amp;quot; proto tcp dcport 3306 dst &amp;quot;${NW}&amp;quot; &lt;br /&gt;
&lt;br /&gt;
DDOS rünnaku vastu saab kasutada mõningaid abivahendeid, nagu näiteks protection&lt;br /&gt;
&lt;br /&gt;
 protection strong 200/sec 100&lt;br /&gt;
&lt;br /&gt;
Võimalik on veel strong, full or all. Seega, kui 200 sekundi jooksul tuleb ühest allikast rohkem kui 100 päringut, siis pannakse kliendile peale blokeering.&lt;br /&gt;
&lt;br /&gt;
Soovides mingeid IP&#039;sid permanentselt blokeerida, siis&lt;br /&gt;
&lt;br /&gt;
 blacklist all &amp;lt;ip aadress&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aadresse võib kirjutada ka mitmeid, eraldades nad teineteisest tühikuga&lt;br /&gt;
&lt;br /&gt;
Reegleid näeb kirjutades&lt;br /&gt;
&lt;br /&gt;
 iptables -L&lt;br /&gt;
&lt;br /&gt;
Hea ülevaatlik käsk on ka&lt;br /&gt;
&lt;br /&gt;
 firehol status&lt;br /&gt;
&lt;br /&gt;
Loodud ühendusi näeb kõige lihtsamalt /proc/net/ip_conntrack failist&lt;br /&gt;
&lt;br /&gt;
 cat /proc/net/ip_conntrack&lt;br /&gt;
&lt;br /&gt;
Kõiki fireholi reeglite käske näeb ametlikust manualist manualis http://firehol.sourceforge.net/commands.html&lt;br /&gt;
seal leidub veel hulga huvitavaid ja kasulikke nippe&lt;br /&gt;
&lt;br /&gt;
Kui on vaja millegipärast muutma RESERVED ip aadresse nt võetakse mõni uus ip blokk kasutusse&lt;br /&gt;
tuleb tekitada lihtsalt firehol kausta fail RESERVED_IPS uue sisuga&lt;br /&gt;
&lt;br /&gt;
FireHOLi üheks puuduseks on see, et kui tegemist paljude võrkudega ja need võrgud on erineva poliitikaga. Näiteks ühel võrgul on default=deny, teistel default=permit. Fireholi sellist lahendust kahjuks ei toeta.&lt;br /&gt;
&lt;br /&gt;
===Näidiskonf: Kodune tulemüür koos NAT&#039;iga===&lt;br /&gt;
&lt;br /&gt;
konfiguratsioon koduseks ruuteriks millel kaks võrgukaarti ja sisemisele toimib NAT. Väliselt on lubatud sisse vaid ssh port. Eth0 on väline kaart mis yhendatud internetiallikaga, näiteks ADSL modem, ning eth1 sisevõrku ühendatud.&lt;br /&gt;
&lt;br /&gt;
 # snat to AVALIK_IP outface eth0 src 192.168.1.0/24&lt;br /&gt;
 # see tekitab sisevõrgu 192.168.1.0/24 jaoks NATi, pannes väljuvate pakettide päritoluks avaliku IP aadressi.&lt;br /&gt;
 &lt;br /&gt;
 # Välisvõrgust lubame sisse ainult ssh ja välja lubame kõik&lt;br /&gt;
 interface &amp;quot;eth0&amp;quot; Internet&lt;br /&gt;
          protection strong&lt;br /&gt;
          server &amp;quot;ssh&amp;quot; accept&lt;br /&gt;
          client all accept&lt;br /&gt;
 &lt;br /&gt;
 # Sisevõrgul lubame kõik liikluse&lt;br /&gt;
 interface &amp;quot;eth1&amp;quot; LAN&lt;br /&gt;
          policy accept&lt;br /&gt;
          client all accept&lt;br /&gt;
 &lt;br /&gt;
 # teeme NAT&#039;i välisvõrgust sisevõrku&lt;br /&gt;
 router lan2internet inface &amp;quot;eth1&amp;quot; outface &amp;quot;eth0&amp;quot;&lt;br /&gt;
          client all accept&lt;br /&gt;
          route all accept&lt;br /&gt;
          masquerade #staatilise IP puhul vaja kasutada snati ja see eemaldada (snat väärtus välja-kommenteeritud üleval pool)&lt;br /&gt;
&lt;br /&gt;
Ülalolevat teksti tähelepanelikult lugenule peaksid olema kõik read juba tuttavad. Uueks infoks on route all accept&#039;i ja masquerade mis lülitavad &amp;quot;lan2internet&amp;quot; blokis sisse NATimise.&lt;br /&gt;
&lt;br /&gt;
Oluline vahe on sellel, et kas teha maskeraadi või SNATi. Peamiselt seetõttu, et maskeraad on serverile töömahukam, kuna selle puhul kontrollitakse iga paketi korral väljuva võrguseadme IP aadressi. Seepärast tasub staatilise IP aadressi korral eelistada SNATi. &lt;br /&gt;
&lt;br /&gt;
===Pordi suunamine===&lt;br /&gt;
&lt;br /&gt;
Välise kaardi eth0 pealt suuname 8080 pordi sisemisele masinale 10.0.0.67 porti 80&lt;br /&gt;
&lt;br /&gt;
 iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 8080 -j DNAT --to-destination 10.0.0.67:80&lt;br /&gt;
&lt;br /&gt;
===Logimine===&lt;br /&gt;
&lt;br /&gt;
Failis /var/log/messages näeb erinevaid ebatavalisi ja FireHOLi poolt blokeeritud ühendusi. Soovitatav on syslogi abil filtreerida fireholi teated eraldi logisse. Logimise enda ulatust saab muuta reaga FIREHOL_LOG_LEVEL. Näiteks seadistades selle:&lt;br /&gt;
&lt;br /&gt;
 FIREHOL_LOG_LEVEL=&amp;quot;7&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Minemaloobitud pakettide edetabelit näeb järgneva käsuga&lt;br /&gt;
&lt;br /&gt;
 # grep &#039;NEW TCP w/o SYN&#039; /var/log/messages | cut -d \  -f 11 | sort | uniq -c | sort -n&lt;br /&gt;
&lt;br /&gt;
* http://blog.shadypixel.com/log-iptables-messages-to-a-separate-file-with-rsyslog/&lt;br /&gt;
&lt;br /&gt;
===Sanewall ja icmpv6===&lt;br /&gt;
&lt;br /&gt;
Probleem seisneb selles, et icmpl on ipv6 all mustmiljon alamprotokolli. Kõige lihtsam oleks panna need kõik lahti. See pole rfc soovitustega küll kooskõlas aga töötaks. Sanewall õnnetuseks ainult ei lase steitlessina neid lahti teha.&lt;br /&gt;
&lt;br /&gt;
Seepärast tundub, et sanewallis tuleb ipv6 icmp lubamiseks 2013 seisuga teha midagi järgnevat:&lt;br /&gt;
&lt;br /&gt;
 rules_icmpv6_stateless() {&lt;br /&gt;
   local mychain=&amp;quot;${1}&amp;quot;; shift&lt;br /&gt;
   local type=&amp;quot;${1}&amp;quot;; shift&lt;br /&gt;
   local in=in out=out&lt;br /&gt;
   [ &amp;quot;${type}&amp;quot; = &amp;quot;client&amp;quot; ] &amp;amp;&amp;amp; in=out &amp;amp;&amp;amp; out=in&lt;br /&gt;
   rule ${in} action &amp;quot;$@&amp;quot; chain &amp;quot;${in}_${mychain}&amp;quot; proto icmpv6 || return 1&lt;br /&gt;
   rule ${out} reverse action &amp;quot;$@&amp;quot; chain &amp;quot;${out}_${mychain}&amp;quot; proto icmpv6 || return 1&lt;br /&gt;
   return 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
  server &amp;quot;icmp icmpv6_stateless&amp;quot; accept&lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
http://firehol.sourceforge.net/commands.html?#protection&lt;br /&gt;
&lt;br /&gt;
http://www.shorewall.net/ alternatiivne fireholi sarnane vahend&lt;br /&gt;
&lt;br /&gt;
http://firehol.sourceforge.net/commands.html?#protection Lisaks erinevad piirangud ja kaitsed&lt;br /&gt;
&lt;br /&gt;
===Probleemid===&lt;br /&gt;
&lt;br /&gt;
Kui firehol teatab &amp;quot;cannot find your  current kernel configuration.&amp;quot;, siis on tegemist&lt;br /&gt;
põhiliselt hoiatusega ning seda teadet võib ignoreerida.&lt;/div&gt;</summary>
		<author><name>Erkko</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Firehol&amp;diff=30476</id>
		<title>Firehol</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Firehol&amp;diff=30476"/>
		<updated>2018-07-23T19:56:53Z</updated>

		<summary type="html">&lt;p&gt;Erkko: krijaveda&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Sageli on vaja linux masinatele luua keerukamaid tulemüüre. Iptables on selleks aga enda keeruka süntaksiga üsnagi ebamugav. Raske on suurema tulemüüri reegleid lugeda ja nende muutmine nõuab &lt;br /&gt;
põhjalikumalt süntaksi tundmist ja tähelepanelikku jälgimist.&lt;br /&gt;
&lt;br /&gt;
Seetõttu on loodud iptablesi/netfiltri seadistamist hõlbustav tarkvara FireHOL. Tegemist on minimalistliku tarkvaraga mise ei nõua apache/php-d ega X-aknaid ja tema enda konf on maksimaalselt inimloetav. Oma süntaksilt meenutab FireHOL ehk kõige rohkem OpenBSD packet filtrit.&lt;br /&gt;
&lt;br /&gt;
Tegemist on ka kontrollkihiga reeglite ja kasutaja ees. Ehk siis kogemata tehtud näpuviga&lt;br /&gt;
ei hävita hoobilt kogu võrguühendust. Fireholi näol wrapper suudab vigase süntaksi tagasi tõrjuda enne kui iptablesi käskudeks selle moondab.&lt;br /&gt;
&lt;br /&gt;
*https://firehol.org/ Ametlik koduleht&lt;br /&gt;
&lt;br /&gt;
===Paigaldamine===&lt;br /&gt;
&lt;br /&gt;
Fireholi kasutamiseks on vajalik, et kernelis asuks iptablesi tugi.&lt;br /&gt;
&lt;br /&gt;
 Networking ---&amp;gt; &lt;br /&gt;
  Networking options ---&amp;gt; &lt;br /&gt;
   [*] Network packet filtering (replaces ipchains) ---&amp;gt; &lt;br /&gt;
  Core Netfilter Configuration ---&amp;gt; &lt;br /&gt;
   &amp;lt;*&amp;gt; Netfilter Xtables support (required for ip_tables)&lt;br /&gt;
&lt;br /&gt;
Firehol install näiteks gentool toimub käsuga&lt;br /&gt;
&lt;br /&gt;
 # emerge firehol&lt;br /&gt;
&lt;br /&gt;
ja et ta ka teenusena arvuti käivitamisel stardiks stardiks&lt;br /&gt;
&lt;br /&gt;
 # rc-update add firehol default&lt;br /&gt;
&lt;br /&gt;
Debianis installiks&lt;br /&gt;
&lt;br /&gt;
 # sudo apt-get install firehol&lt;br /&gt;
&lt;br /&gt;
seadistusfail asub kaustas &#039;&#039;&#039;/etc/firehol&#039;&#039;&#039; nimega &#039;&#039;&#039;firehol.conf&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Üldiselt teeb firehol moodulite laadimist automaatselt, st. kui ütled talle konfis, et &amp;quot;server ftp accept&amp;quot; siis üritab ta ip_conntrack_ftp moodulit sisse imeda ja tekitab vajalikud reeglid:&lt;br /&gt;
&lt;br /&gt;
===Kasutamine===&lt;br /&gt;
&lt;br /&gt;
Näide tavalise LAMP veebiserveri &#039;&#039;&#039;firehol.conf&#039;&#039;&#039; seadistusest:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 version 5&lt;br /&gt;
 &lt;br /&gt;
 interface &amp;quot;eth0&amp;quot; internet src not &amp;quot;${UNROUTABLE_IPS}&amp;quot;&lt;br /&gt;
  policy drop&lt;br /&gt;
  server &amp;quot;http https icmp ssh&amp;quot; accept&lt;br /&gt;
  client &amp;quot;dns smtp icmp ntp&amp;quot; accept&lt;br /&gt;
&lt;br /&gt;
#interface real defineerime mis võrgukaarti hakkame seadistama, hetkel võrgukaarti eth0 ja blokeerime kõik unroutable ip&#039;d ehk siis näiteks sisevõrguaadressid jms.&lt;br /&gt;
#policy reaga vaikimisi kõik paketid blokeeritakse.&lt;br /&gt;
#&#039;&#039;&#039;server&#039;&#039;&#039; reaga lubame väljaspoolt internetist ligi teenustele: http, https, icmp ja ssh&lt;br /&gt;
#&#039;&#039;&#039;client&#039;&#039;&#039; reaga lubame serverist endast väljaspoole internetti dns, smtp, icmp ja ntp päringud&lt;br /&gt;
Täpsemat nimekirja kõigist teenustest, mida firehol vaikimisi toetab, näeme aadressil http://firehol.sourceforge.net/services.html&lt;br /&gt;
&lt;br /&gt;
Peale seadistusfaili muutmist tuleb muudatuste aktiveerimiseks käivitada süsteemis käsk&lt;br /&gt;
&lt;br /&gt;
 # firehol try&lt;br /&gt;
&lt;br /&gt;
peale mida kontrollitakse reegleid ja küsitakse yes/no küsimusi&lt;br /&gt;
enne reeglite aktiveerimist, mis võivad osutuda vahel kasulikuks, et mitte jääda nö. ukse taha :)&lt;br /&gt;
&lt;br /&gt;
Võimalik on loodud reegleid ka lihtsalt kontrollida nt süntaksi osas käsuga&lt;br /&gt;
&lt;br /&gt;
 # firehol test firehol.conf&lt;br /&gt;
&lt;br /&gt;
Pakettide blokeerimise asemel on viisakas mittesobivad pigem reject&#039;ida,&lt;br /&gt;
et saatjal ei tekiks timeout&#039;i. Selleks tuleb &lt;br /&gt;
&lt;br /&gt;
 policy drop&lt;br /&gt;
&lt;br /&gt;
asemel kirjutada&lt;br /&gt;
&lt;br /&gt;
 policy reject&lt;br /&gt;
&lt;br /&gt;
Olles mitte paranoiline, võib kirjutada ka&lt;br /&gt;
&lt;br /&gt;
 client all accept&lt;br /&gt;
&lt;br /&gt;
lubades kõik väljuva liikluse&lt;br /&gt;
&lt;br /&gt;
Näiteks Gentool võiks &#039;&#039;&#039;emerge --sync&#039;&#039;&#039; toimimiseks ja softi uuendamiseks lisada ka&lt;br /&gt;
&lt;br /&gt;
 client &amp;quot;http ftp rsync&amp;quot; accept&lt;br /&gt;
&lt;br /&gt;
Muutujate kasutamine, keelame eth0 pealt mysqlile ligipääsu mujalt kui kahest võrgust kus asuvad programmeerijad. Selleks tekitame muutuja PROGEJAD, kuhu paigutame kaks C klassi ning kasutame seda hiljem reeglite sektsioonis.&lt;br /&gt;
&lt;br /&gt;
 PROGEJAD=&amp;quot;193.40.0.0/24 192.168.0.0/24&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 interface &amp;quot;eth0&amp;quot; internet&lt;br /&gt;
    ...&lt;br /&gt;
    client &amp;quot;mysql&amp;quot; accept dst &amp;quot;${PROGEJAD}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Kui soovime keelata ssh välisvõrgust ja lubada vaid sisevõrgust, tuleks konf teha selliselt:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 version 5&lt;br /&gt;
 &lt;br /&gt;
 asutuse_kontor=&amp;quot;192.168.1.0/25&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 interface &amp;quot;eth0&amp;quot; internet src not &amp;quot;${UNROUTABLE_IPS}&amp;quot;&lt;br /&gt;
  policy drop&lt;br /&gt;
  server &amp;quot;http https icmp&amp;quot; accept&lt;br /&gt;
  server &amp;quot;ssh&amp;quot; accept src &amp;quot;${asutuse_kontor}&amp;quot;&lt;br /&gt;
  client &amp;quot;dns smtp icmp ntp&amp;quot; accept&lt;br /&gt;
&lt;br /&gt;
Kui vahel on vaja avada mõne vähemtuntud teenuse port firehol&#039;ile, võib kasutada custom käsku&lt;br /&gt;
&lt;br /&gt;
 server custom shoutcast tcp/8000 default accept&lt;br /&gt;
&lt;br /&gt;
Selle peale avatakse tcp port 8000 nimega shoutcast default portidelt. Default asemel võib defineerida ka kindla pordi-vahemiku.&lt;br /&gt;
&lt;br /&gt;
Soovides avada terve portide vahemik tuleks teenus aga defineerida järgnevalt&lt;br /&gt;
&lt;br /&gt;
 server_XXX_ports=&amp;quot;tcp/7000:8000&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Firehol on samas üsna paindlik, lubades otse konfi lisada ka iptables ridu&lt;br /&gt;
&lt;br /&gt;
Näiteks lisame sinna rea&lt;br /&gt;
&lt;br /&gt;
 DB=&amp;quot;192.168.1.100&amp;quot;&lt;br /&gt;
 iptables -t nat -A OUTPUT -p tcp -m tcp --dport 3306 -j DNAT --to-destination ${DB}:3306&lt;br /&gt;
&lt;br /&gt;
Selle reaga suunatakse kõik sisevõrgus tehtud ühenduskatsed pordile 3306 (mysql server)&lt;br /&gt;
ümber masinale 192.168.1.100. Nagu märkasite saab kasutada iptables käskudes ka muutujaid firehol&#039;i konfis. Lihtsam on muidugi alati kasutada võimaluse korral FireHOLi enda süntaksit, näiteks ülal toodud iptables näide oleks lahendatav&lt;br /&gt;
 &lt;br /&gt;
 dnat to &amp;quot;${DB}:33066&amp;quot; proto tcp dcport 3306 dst &amp;quot;${NW}&amp;quot; &lt;br /&gt;
&lt;br /&gt;
DDOS rünnaku vastu saab kasutada mõningaid abivahendeid, nagu näiteks protection&lt;br /&gt;
&lt;br /&gt;
 protection strong 200/sec 100&lt;br /&gt;
&lt;br /&gt;
Võimalik on veel strong, full or all. Seega, kui 200 sekundi jooksul tuleb ühest allikast rohkem kui 100 päringut, siis pannakse kliendile peale blokeering.&lt;br /&gt;
&lt;br /&gt;
Soovides mingeid IP&#039;sid permanentselt blokeerida, siis&lt;br /&gt;
&lt;br /&gt;
 blacklist all &amp;lt;ip aadress&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aadresse võib kirjutada ka mitmeid, eraldades nad teineteisest tühikuga&lt;br /&gt;
&lt;br /&gt;
Reegleid näeb kirjutades&lt;br /&gt;
&lt;br /&gt;
 iptables -L&lt;br /&gt;
&lt;br /&gt;
Hea ülevaatlik käsk on ka&lt;br /&gt;
&lt;br /&gt;
 firehol status&lt;br /&gt;
&lt;br /&gt;
Loodud ühendusi näeb käige lihtsamalt /proc/net/ip_conntrack failist&lt;br /&gt;
&lt;br /&gt;
 cat /proc/net/ip_conntrack&lt;br /&gt;
&lt;br /&gt;
Kõiki fireholi reeglite käske näeb ametlikust manualist manualis http://firehol.sourceforge.net/commands.html&lt;br /&gt;
seal leidub veel hulga huvitavaid ja kasulikke nippe&lt;br /&gt;
&lt;br /&gt;
Kui on vaja millegipärast muutma RESERVED ip aadresse nt võetakse mõni uus ip blokk kasutusse&lt;br /&gt;
tuleb tekitada lihtsalt firehol kausta fail RESERVED_IPS uue sisuga&lt;br /&gt;
&lt;br /&gt;
FireHOLi üheks puuduseks on see, et kui tegemist paljude võrkudega ja need võrgud on erineva poliitikaga. Näiteks ühel võrgul on default=deny, teistel default=permit. Fireholi sellist lahendust kahjuks ei toeta.&lt;br /&gt;
&lt;br /&gt;
===Näidiskonf: Kodune tulemüür koos NAT&#039;iga===&lt;br /&gt;
&lt;br /&gt;
konfiguratsioon koduseks ruuteriks millel kaks võrgukaarti ja sisemisele toimib NAT. Väliselt on lubatud sisse vaid ssh port. Eth0 on väline kaart mis yhendatud internetiallikaga, näiteks ADSL modem, ning eth1 sisevõrku ühendatud.&lt;br /&gt;
&lt;br /&gt;
 # snat to AVALIK_IP outface eth0 src 192.168.1.0/24&lt;br /&gt;
 # see tekitab sisevõrgu 192.168.1.0/24 jaoks NATi, pannes väljuvate pakettide päritoluks avaliku IP aadressi.&lt;br /&gt;
 &lt;br /&gt;
 # Välisvõrgust lubame sisse ainult ssh ja välja lubame kõik&lt;br /&gt;
 interface &amp;quot;eth0&amp;quot; Internet&lt;br /&gt;
          protection strong&lt;br /&gt;
          server &amp;quot;ssh&amp;quot; accept&lt;br /&gt;
          client all accept&lt;br /&gt;
 &lt;br /&gt;
 # Sisevõrgul lubame kõik liikluse&lt;br /&gt;
 interface &amp;quot;eth1&amp;quot; LAN&lt;br /&gt;
          policy accept&lt;br /&gt;
          client all accept&lt;br /&gt;
 &lt;br /&gt;
 # teeme NAT&#039;i välisvõrgust sisevõrku&lt;br /&gt;
 router lan2internet inface &amp;quot;eth1&amp;quot; outface &amp;quot;eth0&amp;quot;&lt;br /&gt;
          client all accept&lt;br /&gt;
          route all accept&lt;br /&gt;
          masquerade #staatilise IP puhul vaja kasutada snati ja see eemaldada (snat väärtus välja-kommenteeritud üleval pool)&lt;br /&gt;
&lt;br /&gt;
Ülalolevat teksti tähelepanelikult lugenule peaksid olema kõik read juba tuttavad. Uueks infoks on route all accept&#039;i ja masquerade mis lülitavad &amp;quot;lan2internet&amp;quot; blokis sisse NATimise.&lt;br /&gt;
&lt;br /&gt;
Oluline vahe on sellel, et kas teha maskeraadi või SNATi. Peamiselt seetõttu, et maskeraad on serverile töömahukam, kuna selle puhul kontrollitakse iga paketi korral väljuva võrguseadme IP aadressi. Seepärast tasub staatilise IP aadressi korral eelistada SNATi. &lt;br /&gt;
&lt;br /&gt;
===Pordi suunamine===&lt;br /&gt;
&lt;br /&gt;
Välise kaardi eth0 pealt suuname 8080 pordi sisemisele masinale 10.0.0.67 porti 80&lt;br /&gt;
&lt;br /&gt;
 iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 8080 -j DNAT --to-destination 10.0.0.67:80&lt;br /&gt;
&lt;br /&gt;
===Logimine===&lt;br /&gt;
&lt;br /&gt;
Failis /var/log/messages näeb erinevaid ebatavalisi ja FireHOLi poolt blokeeritud ühendusi. Soovitatav on syslogi abil filtreerida fireholi teated eraldi logisse. Logimise enda ulatust saab muuta reaga FIREHOL_LOG_LEVEL. Näiteks seadistades selle:&lt;br /&gt;
&lt;br /&gt;
 FIREHOL_LOG_LEVEL=&amp;quot;7&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Minemaloobitud pakettide edetabelit näeb järgneva käsuga&lt;br /&gt;
&lt;br /&gt;
 # grep &#039;NEW TCP w/o SYN&#039; /var/log/messages | cut -d \  -f 11 | sort | uniq -c | sort -n&lt;br /&gt;
&lt;br /&gt;
* http://blog.shadypixel.com/log-iptables-messages-to-a-separate-file-with-rsyslog/&lt;br /&gt;
&lt;br /&gt;
===Sanewall ja icmpv6===&lt;br /&gt;
&lt;br /&gt;
Probleem seisneb selles, et icmpl on ipv6 all mustmiljon alamprotokolli. Kõige lihtsam oleks panna need kõik lahti. See pole rfc soovitustega küll kooskõlas aga töötaks. Sanewall õnnetuseks ainult ei lase steitlessina neid lahti teha.&lt;br /&gt;
&lt;br /&gt;
Seepärast tundub, et sanewallis tuleb ipv6 icmp lubamiseks 2013 seisuga teha midagi järgnevat:&lt;br /&gt;
&lt;br /&gt;
 rules_icmpv6_stateless() {&lt;br /&gt;
   local mychain=&amp;quot;${1}&amp;quot;; shift&lt;br /&gt;
   local type=&amp;quot;${1}&amp;quot;; shift&lt;br /&gt;
   local in=in out=out&lt;br /&gt;
   [ &amp;quot;${type}&amp;quot; = &amp;quot;client&amp;quot; ] &amp;amp;&amp;amp; in=out &amp;amp;&amp;amp; out=in&lt;br /&gt;
   rule ${in} action &amp;quot;$@&amp;quot; chain &amp;quot;${in}_${mychain}&amp;quot; proto icmpv6 || return 1&lt;br /&gt;
   rule ${out} reverse action &amp;quot;$@&amp;quot; chain &amp;quot;${out}_${mychain}&amp;quot; proto icmpv6 || return 1&lt;br /&gt;
   return 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
  server &amp;quot;icmp icmpv6_stateless&amp;quot; accept&lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
http://firehol.sourceforge.net/commands.html?#protection&lt;br /&gt;
&lt;br /&gt;
http://www.shorewall.net/ alternatiivne fireholi sarnane vahend&lt;br /&gt;
&lt;br /&gt;
http://firehol.sourceforge.net/commands.html?#protection Lisaks erinevad piirangud ja kaitsed&lt;br /&gt;
&lt;br /&gt;
===Probleemid===&lt;br /&gt;
&lt;br /&gt;
Kui firehol teatab &amp;quot;cannot find your  current kernel configuration.&amp;quot;, siis on tegemist&lt;br /&gt;
põhiliselt hoiatusega ning seda teadet võib ignoreerida.&lt;/div&gt;</summary>
		<author><name>Erkko</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Nagios&amp;diff=30475</id>
		<title>Nagios</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Nagios&amp;diff=30475"/>
		<updated>2018-07-23T19:44:07Z</updated>

		<summary type="html">&lt;p&gt;Erkko: ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
===Nagiose tööpõhimõte===&lt;br /&gt;
&lt;br /&gt;
Nagiose serveri ülesandeks on kontrollida võrgus töötavate arvutite (ingl. k. host) ja teenuste (ingl. k. service) seisukorda.&lt;br /&gt;
&lt;br /&gt;
Arvutite ja teenuste seisukorda iseloomustavaid parameetreid võib jaotada lähtudes erinevatelt alustelt. Nt selle järgi, kas parameetrit kontrollitakse üle võrgu või lokaalsest arvutist&lt;br /&gt;
&lt;br /&gt;
* kontrollitakse üle võrgu - veebileht, nimeserver&lt;br /&gt;
* kontrollitakse lokaalselt - arvutis töötavate protsesside arv, arvuti koormus (ingl. load), failisüsteemi täituvus, raid lülituse korrasolek&lt;br /&gt;
&lt;br /&gt;
Lokaalse kontrolli korraldamiseks tuleb kontrollitavasse arvutisse paigaldada lisaks täiendavalt Nagiose tarkvara, üle võrgu kontrollimisel reeglina kontrollitavasse arvutisse ei tule midagi Nagiose-spetsiifilist lisada.&lt;br /&gt;
&lt;br /&gt;
Teine võimalus on jaotus teha selle järgi, kes küsib või kes ütleb&lt;br /&gt;
&lt;br /&gt;
* aktiivne kontroll - Nagiose server esitab teenustele kontrollpäringuid (nt veebileht, nimeserver)&lt;br /&gt;
* passiivne kontroll - Nagiose server kuulab teenuste raporteerimisi (nt varunduse õnnestumine)&lt;br /&gt;
&lt;br /&gt;
Jällegi, passiivse kontrolli korraldamiseks tuleb kontrollitavasse arvutisse paigaldada lisaks täiendavalt Nagiose tarkvara, aktiivsel kontrollimisel reeglina kontrollitavasse arvutisse ei tule midagi Nagiose-spetsiifilist lisada.&lt;br /&gt;
&lt;br /&gt;
===Vana sissejuhatus - vaja ümber teha===&lt;br /&gt;
&lt;br /&gt;
Nagios on vabavara mis võimaldab jälgida teenuste ning serverite kättesaadavust. Toetab mitmesuguseid levinud teenuseid (SMTP, IMAP, HTTP, FTP, DNS) ning võimaldab seirata ka serveri &amp;quot;sisemist&amp;quot; infot, nagu koormus, kettamaht, protsesside arv jms)  ja saata välja teavitusi süsteemide probleemide korral. Võimalik siduda mitmete muude tarkvaradega nagu Munin &lt;br /&gt;
&lt;br /&gt;
Nagiosele on kirjutatud mitmeid lisasid, mis teevad halduri või administraatori elu tunduvalt lihtsamaks. Sellisteks mooduliteks on näiteks serverite võrgukaartide Bonding tugi, Cisco seadmete staatuste kogumine jt. Seadistamine on tehtud lihtsamaks mallide olemasoluga. Nimelt võib defineerida ära esmalt soovitava üldmalli ja seejärel seda direktiivina kasutada teistes seadistustes. Sedasi hoiab administraator oma loodud koodi puhtana ja ülevaatlikumana ja asju lisada on mugavam.&lt;br /&gt;
&lt;br /&gt;
Kui vaadata nõudeid, mis Nagios seab riistvarale, siis on ainukeseks nõudeks, et serveril oleks &lt;br /&gt;
C kompilaator. Nagiose töötamiseks pole otseselt vaja isegi veebiliidest ja saab kasutada sedavaid teavituste saatmiseks probleemide korral ja süsteemi normaalse töörütmi taastumise korral. Veebiliides on aga hea just igasuguse informatsiooni kuvamiseks kasutades selleks CGI skripte.&lt;br /&gt;
&lt;br /&gt;
Plussid Nagiose kasutamisel:&lt;br /&gt;
&lt;br /&gt;
* vaba tarkvara;&lt;br /&gt;
* palju kontrollimismehhanisme nii teenuste kui riistvara jaoks;&lt;br /&gt;
* teavitamine vigadest ja teenuse taastumisest;&lt;br /&gt;
* võrguhierarhia määramise võimalus;&lt;br /&gt;
* paralleelsed kontrollid;&lt;br /&gt;
* lihtne lisada jälgitavaid teenuseid või seadmeid;&lt;br /&gt;
* hea dokumentatsioon ja palju õpetussõnu veebis;&lt;br /&gt;
* kiire arendus;&lt;br /&gt;
* paljud lisaprogrammid integreeritavad.&lt;br /&gt;
&lt;br /&gt;
===Nagios install===&lt;br /&gt;
&lt;br /&gt;
====FreeBSD====&lt;br /&gt;
FreeBSD süsteemis tuleb anda käsud&lt;br /&gt;
&lt;br /&gt;
 cd /usr/ports/net-mgmt/nagios &amp;amp;&amp;amp; make install clean&lt;br /&gt;
 cd /usr/ports/net-mgmt/nagios-plugins &amp;amp;&amp;amp; make install clean&lt;br /&gt;
&lt;br /&gt;
Viimati tuli veel teha mailisaatmiseks FreeBSD&#039;s selline rats, et linkida mail /bin alla&lt;br /&gt;
&lt;br /&gt;
 ln -s /usr/bin/mail /bin/mail&lt;br /&gt;
&lt;br /&gt;
===Gentoo===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
===Debian===&lt;br /&gt;
&lt;br /&gt;
Nagiose serveri paigaldamine&lt;br /&gt;
&lt;br /&gt;
Debiani paketihaldus sisaldab Nagios http://www.nagios.org/ versioon 3.0.x tarkvara, paigaldamiseks sobib öelda&lt;br /&gt;
&lt;br /&gt;
  # apt-get install nagios3 nagios3-doc&lt;br /&gt;
&lt;br /&gt;
nagios3-doc sisaldab muu seas HTML kujul dokumentatsiooni kataloogis /usr/share/nagios3/htdocs.&lt;br /&gt;
&lt;br /&gt;
Veebipõhise haldusliidese kasutaja ligipääsu tekitamiseks sobib öelda&lt;br /&gt;
&lt;br /&gt;
  # dpkg-reconfigure nagios3-common&lt;br /&gt;
&lt;br /&gt;
ja dialoogides jääda vaikeväärtuste juurde, näidata parool.&lt;br /&gt;
&lt;br /&gt;
Täpsemat juttu hetkel leiab&lt;br /&gt;
&lt;br /&gt;
*http://kuutorvaja.eenet.ee/wiki/Nagiose_kasutamine_Debian_Lenniga&lt;br /&gt;
&lt;br /&gt;
===Seadistame Nagiose===&lt;br /&gt;
&lt;br /&gt;
Nagiose tööd juhib põhiline seadistusfail nagios.cfg ning sellest failis viidatud muud seadistusfailid. Nagiose seadistamisel kirjeldatakse ära hulk erinevaid objekte&lt;br /&gt;
&lt;br /&gt;
* host - jälgitav arvuti või võrguseade (nt vaikelüüs)&lt;br /&gt;
* service - jälgitav teenus (nt veebileht)&lt;br /&gt;
* command - kontrollkäsk, mis jälgib teenust&lt;br /&gt;
* hostgroup - hulk jälgitavaid arvuteid&lt;br /&gt;
* servicegroup - hulk jälgitavaid teenuseid&lt;br /&gt;
* contact - kontakt, kellele saadetakse teatud sündmuse toimumise kohta teade&lt;br /&gt;
* contactgroup - hulk kontakte&lt;br /&gt;
&lt;br /&gt;
Seejuures tehniliselt ei ole oluline, kas objektide kirjeldused asuvad ühes failis või mitmes failis, mis omakorda võivad asuda mitmes kataloogis. Siiski, sõltuvalt monitooringuülesandest on reeglina praktiline jagada objektid mitmete failide vahel. Gruppide kasutamine võimaldab kirjeldada objekte abstraktsemalt, mis praktiliselt lihtsustab Nagiose seadistuste kirjutamist.&lt;br /&gt;
&lt;br /&gt;
    _____   Nagiose server&lt;br /&gt;
   |     |  &lt;br /&gt;
   |_____|  &lt;br /&gt;
      |&lt;br /&gt;
      |&lt;br /&gt;
     -|---------|----------|----....---|----------|&lt;br /&gt;
                |          |           |          |&lt;br /&gt;
              __|__      __|__       __|__      __|__&lt;br /&gt;
             |     |    |     |     |     |    |     |&lt;br /&gt;
             |_____|    |_____|     |_____|    |_____|&lt;br /&gt;
          &lt;br /&gt;
              ruuter      www         mail       dns&lt;br /&gt;
             &lt;br /&gt;
&lt;br /&gt;
Meil on kolm masinat mida vaja jälgida. Ruuter, veebiserver ja mailiserver.&lt;br /&gt;
Me soovime, et kõiki neid kolme Nagios pingiks iga viie minuti tagant ning kui üks masin juhtub&lt;br /&gt;
maas olema siis teavitame sellest mailiaadressile kasutaja@domeen.ee&lt;br /&gt;
&lt;br /&gt;
Serverite ip aadressid&lt;br /&gt;
&lt;br /&gt;
*kontori ruuter &#039;&#039;&#039;192.168.1.10&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*veebiserver veebiserver.domeen.ee &#039;&#039;&#039;192.168.1.11&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*mailiserver mailiserver.domeen.ee &#039;&#039;&#039;192.168.1.12&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*nimeserver dns.domeen.ee &#039;&#039;&#039;192.168.1.13&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Vaja on tekitada kokku 3 seadistusfaili&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;hosts.cfg&#039;&#039;&#039; seadmed-serverid-arvutid&lt;br /&gt;
# &#039;&#039;&#039;services.cfg&#039;&#039;&#039; erinevat liiki kontrollid-testid&lt;br /&gt;
# &#039;&#039;&#039;contacts.cfg&#039;&#039;&#039;  kasutajad-kasutajagrupid&lt;br /&gt;
&lt;br /&gt;
Eesimesena on vaja defineerida hosts.cfg failis kõik neli seadet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;hosts.cfg&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 # Defineerime mõned väärtused mis vaikimis seadistame kõigile masinatele&lt;br /&gt;
 define host{&lt;br /&gt;
       name                            linux-server&lt;br /&gt;
       use                             generic-host    &lt;br /&gt;
       check_period                    24x7            &lt;br /&gt;
       max_check_attempts              10            &lt;br /&gt;
       check_command                   check-host-alive &lt;br /&gt;
       notification_period workhours                                                                                                                  &lt;br /&gt;
       notification_interval           120             &lt;br /&gt;
       notification_options            d,u,r          &lt;br /&gt;
       contact_groups                  admins          &lt;br /&gt;
       register                        0               &lt;br /&gt;
       } &lt;br /&gt;
 &lt;br /&gt;
 #ruuter&lt;br /&gt;
 define host{&lt;br /&gt;
       use                     linux-server&lt;br /&gt;
       host_name               ruuter&lt;br /&gt;
       alias                   ISP Ruuter&lt;br /&gt;
       address                 192.168.1.10&lt;br /&gt;
       parents                 localhost&lt;br /&gt;
       contact_groups  Helpdesk&lt;br /&gt;
       }&lt;br /&gt;
 &lt;br /&gt;
 #veebiserver&lt;br /&gt;
 define host{&lt;br /&gt;
       use                     linux-server&lt;br /&gt;
       host_name               veebiserver.domeen.ee&lt;br /&gt;
       alias                   veebiserver asutusele&lt;br /&gt;
       address                 192.168.1.11&lt;br /&gt;
       parents                 localhost&lt;br /&gt;
       contact_groups  Helpdesk&lt;br /&gt;
       }&lt;br /&gt;
 &lt;br /&gt;
 #mailiserver&lt;br /&gt;
 define host{&lt;br /&gt;
       use                     linux-server&lt;br /&gt;
       host_name               mailiserver.domeen.ee&lt;br /&gt;
       alias                   sisevõrgu mailiserver&lt;br /&gt;
       address                 192.168.1.12&lt;br /&gt;
       parents                 localhost&lt;br /&gt;
       contact_groups  Helpdesk&lt;br /&gt;
       }&lt;br /&gt;
 &lt;br /&gt;
 #nimeserver&lt;br /&gt;
 define host{&lt;br /&gt;
       use                     linux-server&lt;br /&gt;
       host_name               dns.domeen.ee&lt;br /&gt;
       alias                   nimeserver&lt;br /&gt;
       address                 192.168.1.13&lt;br /&gt;
       parents                 localhost&lt;br /&gt;
       contact_groups  Helpdesk&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
contact_groups on korrektselt vajalik paika panna hostide juures kuna sinna&lt;br /&gt;
hakatakse saatma teateid hosti maasoleku kohta&lt;br /&gt;
&lt;br /&gt;
Nüüd defineerime kontrollid mida tehakse serveritele.&lt;br /&gt;
Tekitame service kirje mis pingib kõiki kolme masinat. Ruuterit, veebiserverit ja mailiserverit&lt;br /&gt;
ning teavitab probleemide korral kontaktgruppi helpdesk&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;services.cfg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 define service{&lt;br /&gt;
       use                             local-service&lt;br /&gt;
       host_name                       &#039;&#039;&#039;ruuter, veebiserver.domeen.ee, mailiserver.domeen.ee, dns.domeen.ee&#039;&#039;&#039;&lt;br /&gt;
       service_description             PING&lt;br /&gt;
       check_command                   check_ping!100.0,20%!500.0,60%&lt;br /&gt;
       contact_groups  helpdesk&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
Lõpuks tekitame kolmanda faili kus kirjas kontaktid keda teavitatakse mõne seadme maasolekul.&lt;br /&gt;
&lt;br /&gt;
Loome kontakti helpdesk mailiga &#039;&#039;&#039;kasutaja@domeen.ee&#039;&#039;&#039; ning lisame selle kontaktgruppi Helpdesk&lt;br /&gt;
&lt;br /&gt;
Hea nipp on luua mobiilioperaatori juures endale aadress kasutaja@mail.operaator.ee&lt;br /&gt;
millele suunatud kirjad lähevad mobiilile sms&#039;ina, maksab see enamasti 25.- kuus ning&lt;br /&gt;
võimaldab operatiivselt kriitilist infot saada. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;contacts.cfg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 define contact{&lt;br /&gt;
       contact_name                    kasutaja&lt;br /&gt;
       alias                           Infohuviline isik&lt;br /&gt;
       service_notification_period     24x7&lt;br /&gt;
       host_notification_period        24x7&lt;br /&gt;
       service_notification_options    u,c,r&lt;br /&gt;
       host_notification_options       d,r&lt;br /&gt;
       service_notification_commands   notify-by-email&lt;br /&gt;
       host_notification_commands      host-notify-by-email&lt;br /&gt;
       email                           &#039;&#039;&#039;kasutaja@domeen.ee&#039;&#039;&#039;&lt;br /&gt;
       }&lt;br /&gt;
 &lt;br /&gt;
 define contactgroup{&lt;br /&gt;
       contactgroup_name       helpdesk&lt;br /&gt;
       alias                   IT Helpdesk&lt;br /&gt;
       members                 kasutaja&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
Ja viimaks lisame faili&lt;br /&gt;
&#039;&#039;&#039;nagios.cfg&#039;&#039;&#039; järgnevad read, et Nagios meie tekitatud konfiguratsiooni kasutaks&lt;br /&gt;
&lt;br /&gt;
 cfg_file=/usr/local/etc/nagios/hosts.cfg&lt;br /&gt;
 cfg_file=/usr/local/etc/nagios/services.cfg&lt;br /&gt;
 cfg_file=/usr/local/etc/nagios/contacts.cfg&lt;br /&gt;
&lt;br /&gt;
Linuxi puhul on rajad /etc/nagios/&lt;br /&gt;
&lt;br /&gt;
Ning võime anda käsud&lt;br /&gt;
&lt;br /&gt;
 /usr/local/etc/rc.d/nagios start&lt;br /&gt;
&lt;br /&gt;
või linuxis&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/nagios start&lt;br /&gt;
&lt;br /&gt;
Et suurendada Nagiose töökindlust võiks paigaldada serverile ka oma nimeserveri.&lt;br /&gt;
&lt;br /&gt;
===Nagiose pluginad===&lt;br /&gt;
====Mail delivery====&lt;br /&gt;
&lt;br /&gt;
Mailiserveri töö kontrolli korraldamine on keerukam. Nagiose kaasasolevad vahendeid&lt;br /&gt;
võimaldavad kontrollida vaid lihtsamaid portide /teenuste ülevaolekuid ja vastuseid, mailisüsteem&lt;br /&gt;
on samas enamuses asutuses keerukas ja mitmetest serveritest koosnev kooslus.&lt;br /&gt;
&lt;br /&gt;
Plugin mis järgnevalt äratoodud saadab emaili serverile ning seejärel logib imapiga&lt;br /&gt;
kasutajaga mailikontole test ning kontrollib kas email on saabunud.&lt;br /&gt;
&lt;br /&gt;
Vaja tirida ja paigaldada vastav plugin selleks aadressilt&lt;br /&gt;
&lt;br /&gt;
http://apricoti.pbwiki.com/NagiosCheckEmailDelivery&lt;br /&gt;
&lt;br /&gt;
Selle sõltuvusteks on vaja installida mõned perli moodulit mis tehtavad kenasti cpani installeri abiga&lt;br /&gt;
 cpan -i Mail::IMAPClient &lt;br /&gt;
&lt;br /&gt;
Seejärel on vaja defineerida command.&lt;br /&gt;
&lt;br /&gt;
  define command {&lt;br /&gt;
          command_name    check_delivery_mail&lt;br /&gt;
          command_line    $USER1$/check_email_delivery -H mail.domeen.ee --mailto test@mail.domeen.ee --mailfrom nagios@nagios.domeen.ee /&lt;br /&gt;
                          --username  test --password parool --libexec $USER1$ --wait 10 --warning 600 --critical 1200&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Ning seejärel kontrollimine.&lt;br /&gt;
&lt;br /&gt;
 define service{&lt;br /&gt;
         use                             generic-service&lt;br /&gt;
         host_name                       mail.domeen.ee&lt;br /&gt;
         service_description             DELIVERY_mail&lt;br /&gt;
         check_command                   check_delivery_mail&lt;br /&gt;
         max_check_attempts              5&lt;br /&gt;
         contact_groups  helpdesk&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
====check_by_ssh====&lt;br /&gt;
&lt;br /&gt;
check_by_ssh on mõeldud skriptide käivitamiseks eemalolevas arvutis.&lt;br /&gt;
&lt;br /&gt;
Näiteks võib tekkida soov tulemüüris olles pingida vpn otspunkte, mida Nagiose serverist teha aga ei saa.&lt;br /&gt;
&lt;br /&gt;
Esiteks tuleb genereerida ssh-keygeniga võti ja paigaldada see teise arvuti&lt;br /&gt;
nagios kasutaja alla. Siis paigaldame arvutile, kus soovime skripte käivitada /usr/ports/net-mgmt/nagios-plugins/ paketi.&lt;br /&gt;
&lt;br /&gt;
Defineerime konfi käsu.&lt;br /&gt;
&lt;br /&gt;
 define command {&lt;br /&gt;
  command_name check_ping_tunnel_ssh&lt;br /&gt;
  command_line    $USER1$/check_by_ssh -H $HOSTADDRESS$ -C \&lt;br /&gt;
  &#039;/usr/local/libexec/nagios/check_ping -H $ARG1$ -w 500.0,20% -c 2000.0,60%  -p 5&#039;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Testimiseks&lt;br /&gt;
&lt;br /&gt;
 # /usr/local/libexec/nagios/check_ping -H 192.168.2.10 -w 500.0,20% -c  2000.0,60% -p 5&lt;br /&gt;
 PING WARNING - Packet loss = 20%, RTA = 7.56  ms|rta=7.563000ms;500.000000;2000.000000;0.000000 pl=20%;20;60;0&lt;br /&gt;
&lt;br /&gt;
Tekitame teenuse&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
       use                             service&lt;br /&gt;
       host_name                       tulemyyr&lt;br /&gt;
       service_description             Current Load&lt;br /&gt;
       check_command                   check_http_content!&amp;quot;192.168.5.14&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
====PostgreSQL====&lt;br /&gt;
&lt;br /&gt;
Aadressil http://bucardo.org/wiki/Check_postgres jagatakse Nagiose kontrollskripti, mis võimaldab muuhulgas&lt;br /&gt;
&lt;br /&gt;
* küsida suurima tabeli või indeksi suurust&lt;br /&gt;
&lt;br /&gt;
 $ perl check_postgres.pl -H pg.loomaaed -u postgres --db=loobdb --action=relation_size --critical=&#039;6000 MB&#039; --warning=&#039;4000 MB&#039; \&lt;br /&gt;
   --showperf=0 --perflimit=1&lt;br /&gt;
 POSTGRES_RELATION_SIZE OK: DB &amp;quot;loobdb&amp;quot; (host:pg.loomaaed) largest relation is table &amp;quot;koduloomad.vigastused&amp;quot;: 3001 MB&lt;br /&gt;
&lt;br /&gt;
Seejuures esitatakse andmebaasile selline päring&lt;br /&gt;
&lt;br /&gt;
 BEGIN;SET statement_timeout=30000;COMMIT;SELECT pg_relation_size(c.oid), pg_size_pretty(pg_relation_size(c.oid)), relkind, relname, nspname \&lt;br /&gt;
   FROM pg_class c, pg_namespace n WHERE (relkind = &#039;r&#039; OR relkind = &#039;i&#039;) AND n.oid = c.relnamespace ORDER BY 1 DESC LIMIT 1&lt;br /&gt;
&lt;br /&gt;
====Smartmontools====&lt;br /&gt;
&lt;br /&gt;
Kõvaketta temperatuuri jälgimiseks sobib kasutada nt sellist järgnevust&lt;br /&gt;
&lt;br /&gt;
* moodustada jälgitavasse arvutisse skript&lt;br /&gt;
&lt;br /&gt;
 # cat /root/system/hddtemp.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 c_aeg=`date +%s`&lt;br /&gt;
 temp=`/usr/sbin/smartctl -A /dev/$1 | grep Temperature_Celsius | awk {&#039;print $10&#039;}`&lt;br /&gt;
 echo $temp $c_aeg &amp;gt; /tmp/hddtemp_$1.txt&lt;br /&gt;
&lt;br /&gt;
mis kutsutakse välja arvuti juurkasutaja crontabist reaga&lt;br /&gt;
&lt;br /&gt;
 */2 * * * * /root/system/hddtemp.sh sda&lt;br /&gt;
&lt;br /&gt;
Tulemusena moodustatakse igal minutil uus fail /tmp/hddtemp_sda.txt sisuga&lt;br /&gt;
&lt;br /&gt;
 # cat /tmp/hddtemp_sda.txt&lt;br /&gt;
 33 1280078281&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* 33 - temperatuur kraadides Celsiust&lt;br /&gt;
* 1280078281 - timestamp, mis on vajalik veendumaks, et kasutatakse uuendatud temperatuuri väärtust&lt;br /&gt;
&lt;br /&gt;
* moodustada Nagiose plugin check_hddtemp&lt;br /&gt;
&lt;br /&gt;
 # cat /usr/lib/nagios/plugins/check_hddtemp &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 temp=`cat /tmp/hddtemp_$1.txt | cut -d &amp;quot; &amp;quot; -f 1`;&lt;br /&gt;
 ts=`cat /tmp/hddtemp_$1.txt | cut -d &amp;quot; &amp;quot; -f 2`;&lt;br /&gt;
 &lt;br /&gt;
 c_aeg=`date +%s`&lt;br /&gt;
 aeg_kolme_minuti_eest=$(($c_aeg - 180));&lt;br /&gt;
  &lt;br /&gt;
 if [ $temp -lt $2 -a $ts -gt $aeg_kolme_minuti_eest ]; then&lt;br /&gt;
   echo &amp;quot;TEMP OK - temp: $temp;| temp=$temp&amp;quot;;&lt;br /&gt;
   exit 0;&lt;br /&gt;
 else&lt;br /&gt;
   echo &amp;quot;TEMP CRITICAL - temp: $temp;| temp=$temp&amp;quot;;&lt;br /&gt;
   exit 2;&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
* kirjeldada monitooritava arvuti nrpe agendis seadistusfailis /etc/nagios/nrpe.cfg check_hddtemp kontrollid, nt&lt;br /&gt;
&lt;br /&gt;
 # riistvara&lt;br /&gt;
 command[check_hddtemp_sda]=/usr/lib/nagios/plugins/check_hddtemp sda 35&lt;br /&gt;
 command[check_hddtemp_sdb]=/usr/lib/nagios/plugins/check_hddtemp sdb 38&lt;br /&gt;
 command[check_hddtemp_sdc]=/usr/lib/nagios/plugins/check_hddtemp sdc 35&lt;br /&gt;
&lt;br /&gt;
* kirjeldada Nagiose serveris vastavat kontrollid, nt sektsiooniga&lt;br /&gt;
&lt;br /&gt;
 define service {&lt;br /&gt;
   host_name                       failiserver.loomaaed&lt;br /&gt;
   service_description             hddtemp_sda&lt;br /&gt;
   check_command                   check_nrpe_1arg!check_hddtemp_sda&lt;br /&gt;
   use                             generic-service&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Ipv6 aadresside monitoorimine===&lt;br /&gt;
&lt;br /&gt;
Paljudel kaasasolevatel Nagiose utiliitidel on ipv6 tugi ka juba olemas. Näiteks&lt;br /&gt;
soovides pingida ühte ainult ipv6 aadressi omavat hosti võib teha&lt;br /&gt;
täiesti tavalise seadmekirje millele lisada ipv6 aadressi&lt;br /&gt;
ning siis defineerida järgneva käsk.&lt;br /&gt;
&lt;br /&gt;
 define command{&lt;br /&gt;
         command_name    check_ping6&lt;br /&gt;
         command_line    $USER1$/check_ping -6 -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
Kasutada saab seda tavapärasel moel nagu iga teist.&lt;br /&gt;
&lt;br /&gt;
===Katsetamine===&lt;br /&gt;
&lt;br /&gt;
Võime simuleerida mingi masina maasolekut. Piisab kui vastav reegel panna selleks tulemüüri mis blokeerib liikluse serverini&lt;br /&gt;
mida kontrollime. Logifaili &#039;&#039;&#039;/var/spool/nagios/nagios.log&#039;&#039;&#039; peaks tekkima read: &lt;br /&gt;
&lt;br /&gt;
 [1209129862] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;1;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129872] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;2;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129882] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;3;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129892] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;4;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129902] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;5;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129912] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;6;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129922] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;7;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129932] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;8;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129942] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;9;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129952] HOST ALERT: veebiserver.domeen.ee;DOWN;HARD;10;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129952] HOST NOTIFICATION: kasutaja;veebiserver.domeen.ee;DOWN;host-notify-by-email;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129952] SERVICE ALERT: veebiserver.domeen.ee;PING;CRITICAL;HARD;1;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
&lt;br /&gt;
ning kasutaja peaks saama emaili Host DOWN alert for veebiserver.domeen.ee! sisuga&lt;br /&gt;
&lt;br /&gt;
 ***** Nagios 2.10 *****&lt;br /&gt;
 &lt;br /&gt;
 Notification Type: PROBLEM&lt;br /&gt;
 Host: veebiserver.domeen.ee&lt;br /&gt;
 State: DOWN&lt;br /&gt;
 Address: 192.168.1.11&lt;br /&gt;
 Info: CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 &lt;br /&gt;
 Date/Time: Fri Apr 25 16:25:52 EEST 2008&lt;br /&gt;
&lt;br /&gt;
Eemaldades reegli&lt;br /&gt;
&lt;br /&gt;
 [1209130370] HOST ALERT: veebiserver.domeen.ee;UP;HARD;1;PING OK - Packet loss = 0%, RTA = 4.09 ms&lt;br /&gt;
 [1209130370] HOST NOTIFICATION: kasutaja;veebiserver.domeen.ee;UP;host-notify-by-email;PING OK - Packet loss = 0%, RTA = 4.09 ms&lt;br /&gt;
 [1209130370] SERVICE ALERT: veebiserver.domeen.ee;PING;OK;SOFT;1;PING OK - Packet loss = 0%, RTA = 4.92 ms&lt;br /&gt;
&lt;br /&gt;
Saabub email Host UP alert for veebiserver.domeen.ee!&lt;br /&gt;
&lt;br /&gt;
 ***** Nagios 2.10 *****&lt;br /&gt;
 &lt;br /&gt;
 Notification Type: RECOVERY&lt;br /&gt;
 Host: veebiserver.domeen.ee&lt;br /&gt;
 State: UP&lt;br /&gt;
 Address: 192.168.1.11&lt;br /&gt;
 Info: PING OK - Packet loss = 0%, RTA = 4.09 ms&lt;br /&gt;
 &lt;br /&gt;
 Date/Time: Fri Apr 25 16:32:50 EEST 2008&lt;br /&gt;
&lt;br /&gt;
===NSCA kasutamine===&lt;br /&gt;
&lt;br /&gt;
NSCA (Nagios Service Check Acceptor, ingl. k. Nagiose teenuse kontrolli vastuvõtja) võimadab korraldada nn passiivseid kontrolle. Nii Nagiose serverisse kui kontrollitavasse arvutisse tuleb paigaldada nsca pakett öeldes&lt;br /&gt;
&lt;br /&gt;
  # apt-get install nsca&lt;br /&gt;
&lt;br /&gt;
Tulemusena paigaldatakse muu hulgas&lt;br /&gt;
&lt;br /&gt;
* /usr/sbin/nsca - NSCA deemon, töötab Nagiose serveris&lt;br /&gt;
* /etc/nsca.cfg - NSCA deemoni seadistusfail&lt;br /&gt;
* /usr/sbin/send_nsca - NSCA klient, millega saadetakse deemonile sõnumeid&lt;br /&gt;
* /etc/send_nsca.cfg - NSCA kliedi seadistusfail&lt;br /&gt;
&lt;br /&gt;
Nagiose serveri arvutis tuleb käivitada nsca deemon, mida juhib seadistusfail /etc/nsca.cfg kus on oluline veenduda, et sisaldub sobiva väärtusega command_file parameeter ja vajadusel ka debug seada, nt nii&lt;br /&gt;
&lt;br /&gt;
  debug=1&lt;br /&gt;
  command_file=/var/lib/nagios3/rw/nagios.cmd&lt;br /&gt;
&lt;br /&gt;
Kontrollitavast arvutist saadetakse programmiga send_nsca teated Nagiose NSCA deemonile&lt;br /&gt;
&lt;br /&gt;
  $ echo -e &amp;quot;backup.loomaaed.tartu.ee\tbackup\t0\tbackup korras&amp;quot; | send_nsca -c /etc/send_nsca.cfg -H nagios.loomaaed.tartu.ee -p 5667&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* backup.loomaaed.tartu.ee - arvuti nimi&lt;br /&gt;
* backup - teenuse nimi&lt;br /&gt;
* 0, 1, 2, 3 - Nagiose staatus, vastavalt OK, WARNING, CRITICAL või UNKNOWN&lt;br /&gt;
* backup korras - teate tekst, mida näidatakse nt Nagiose veebiliideses&lt;br /&gt;
* /etc/send_nsca.cfg - send_nsca kasutab näidatud seadistusfaili, nt sõnumi krüptimise infoks&lt;br /&gt;
* nagios.loomaaed.tartu.ee - Nagiose server&lt;br /&gt;
* -p - Nagiose serveri port&lt;br /&gt;
&lt;br /&gt;
====Varunduse monitooring====&lt;br /&gt;
&lt;br /&gt;
Olgu ülesandeks korraldada varunduse monitooring selliselt&lt;br /&gt;
&lt;br /&gt;
* varundamise skript saadab teate, kui varundamine õnnestub&lt;br /&gt;
* varundamise skript saadab teate, kui varundamine ebaõnnestub&lt;br /&gt;
* Nagios annab alarmi, kui varundamise skript pole teadet saatnud kahe päeva jooksul&lt;br /&gt;
&lt;br /&gt;
Passiivse kontrolli jaoks sobib kasutada sellist malli&lt;br /&gt;
&lt;br /&gt;
 define service{&lt;br /&gt;
   use                     generic-service&lt;br /&gt;
   name                    passive-backup-service&lt;br /&gt;
   active_checks_enabled   0&lt;br /&gt;
   passive_checks_enabled  1&lt;br /&gt;
   flap_detection_enabled  0&lt;br /&gt;
   register                0&lt;br /&gt;
   is_volatile             0&lt;br /&gt;
   check_period            24x7&lt;br /&gt;
   max_check_attempts      1&lt;br /&gt;
   normal_check_interval   1&lt;br /&gt;
   retry_check_interval    1&lt;br /&gt;
   check_freshness         1&lt;br /&gt;
   freshness_threshold     169200&lt;br /&gt;
   contact_groups          admins&lt;br /&gt;
   check_command           check_dummy!2&lt;br /&gt;
   notification_interval   7200&lt;br /&gt;
   notification_period     24x7&lt;br /&gt;
   notification_options    w,u,c,r&lt;br /&gt;
   stalking_options        w,c,u&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* freshness_threshold  169200 - kaks ööpäeva oodatakse backupilt teadet&lt;br /&gt;
* check_command   check_dummy!2 - tagastab alati CRITICAL väärtuse &lt;br /&gt;
&lt;br /&gt;
Teenuse seadistamiseks sobib kasutada nt sellist sissekannet&lt;br /&gt;
&lt;br /&gt;
 define service{&lt;br /&gt;
   host_name                       backup.loomaaed.tartu.ee&lt;br /&gt;
   service_description             backup&lt;br /&gt;
   use                             generic-passive-service&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Nt õnnestumisel võiks Nagiose /var/log/syslog&#039;i tekkida&lt;br /&gt;
&lt;br /&gt;
 Oct 22 19:51:41 fs nsca[15318]: Connection from 192.168.206.3 port 52141&lt;br /&gt;
 Oct 22 19:51:41 fs nsca[15318]: Handling the connection...&lt;br /&gt;
 Oct 22 19:51:42 fs nsca[15318]: SERVICE CHECK -&amp;gt; Host Name: &#039;backup.loomaaed.tartu.ee&#039;, Service Description: &#039;backup&#039;, Return Code: &#039;0&#039;, Output: &#039;backup&#039;&lt;br /&gt;
 Oct 22 19:51:42 fs nsca[15318]: End of connection...&lt;br /&gt;
 Oct 22 19:51:42 fs nagios3: EXTERNAL COMMAND: PROCESS_SERVICE_CHECK_RESULT;backup.loomaaed.tartu.ee;backup;0;backup&lt;br /&gt;
 Oct 22 19:51:48 fs nagios3: PASSIVE SERVICE CHECK: backup.loomaaed.tartu.ee;backup;0;backup&lt;br /&gt;
&lt;br /&gt;
nsca_send jaoks võiks sisendi konstrueerida varundamise protseduuri sooritav skript oma töö lõpus ise, aga kui kasutatakse Nagiose lisasid (mis tuleb siis paigaldada paigaldades paketi nagios-plugins-basic), siis võiks teisendada lisa väljundi nt selline skript&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 if test &amp;quot;$varundamise_tulemus&amp;quot; = &#039;OK&#039;; then&lt;br /&gt;
         code=0&lt;br /&gt;
 else&lt;br /&gt;
         code=2&lt;br /&gt;
 &lt;br /&gt;
 fi&lt;br /&gt;
  &lt;br /&gt;
 echo -e &amp;quot;backup.loomaaed.tartu.ee\tbackup\t$code\tbackup tulemus&amp;quot; | send_nsca -c /etc/send_nsca.cfg -H nagios.loomaaed.tartu.ee -p 5667&lt;br /&gt;
&lt;br /&gt;
===Apache seadistus===&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;Directory /usr/local/www/nagios&amp;gt;&lt;br /&gt;
     Order deny,allow&lt;br /&gt;
     Deny from all&lt;br /&gt;
     Allow from 127.0.0.1&lt;br /&gt;
   &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;Directory /usr/local/www/nagios/cgi-bin&amp;gt;&lt;br /&gt;
     Options ExecCGI&lt;br /&gt;
   &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   ScriptAlias /nagios/cgi-bin/ /usr/local/www/nagios/cgi-bin/&lt;br /&gt;
   Alias /nagios/ /usr/local/www/nagios/&lt;br /&gt;
&lt;br /&gt;
Selline virtualhost toimib küll vaid bsd peal. Erinevates distrotes on rajad&lt;br /&gt;
failideni teised. Üldiselt peale installi öeldakse kus kaustas Nagiose cgi&lt;br /&gt;
veebiliides asub.&lt;br /&gt;
&lt;br /&gt;
===Nagiose veebipõhise haldusliidese ettevalmistamine===&lt;br /&gt;
&lt;br /&gt;
Veebiliidese kasutuselevõtuks tuleb seadistada Apache virtuaalhost ja kasutada Nagiosega ühenduseks nt seadistusnäiteid failist nagios3/apache.conf.&lt;br /&gt;
&lt;br /&gt;
Tulemusena saab kasutajana nagiosadmin ja näidatud parooliga haldusliidesesse logida&lt;br /&gt;
&lt;br /&gt;
[[Pilt:Debian-nagios-1.gif]]&lt;br /&gt;
&lt;br /&gt;
kust on näha, et&lt;br /&gt;
&lt;br /&gt;
* jälgitakse kahte arvutit, vaikelüüsi ja seda arvutit ennast, kus Nagios töötab&lt;br /&gt;
* arvutis jälgitakse kuut parameetrit&lt;br /&gt;
&lt;br /&gt;
Haldusliidesest Nagiose juhtimiseks tuleb Nagios seadistada kuulama nn väliseid korraldusi. Selleks peab nagios.cfg failis sisalduma rida&lt;br /&gt;
&lt;br /&gt;
  check_external_commands=1&lt;br /&gt;
&lt;br /&gt;
Failisüsteemis on enne&lt;br /&gt;
&lt;br /&gt;
  # ls -ld /var/lib/nagios3/rw /var/lib/nagios3&lt;br /&gt;
  drwxr-x--- 4 nagios nagios   4096 Oct 22 00:19 /var/lib/nagios3&lt;br /&gt;
  drwx------ 2 nagios www-data 4096 Jul  2 12:37 /var/lib/nagios3/rw&lt;br /&gt;
&lt;br /&gt;
Korraldused&lt;br /&gt;
&lt;br /&gt;
  # dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios3/rw&lt;br /&gt;
  # dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3&lt;br /&gt;
&lt;br /&gt;
Pärast&lt;br /&gt;
&lt;br /&gt;
  # ls -ld /var/lib/nagios3/rw /var/lib/nagios3&lt;br /&gt;
  drwxr-x--x 4 nagios nagios   4096 Oct 22 00:19 /var/lib/nagios3&lt;br /&gt;
  drwx--s--- 2 nagios www-data 4096 Jul  2 12:37 /var/lib/nagios3/rw&lt;br /&gt;
&lt;br /&gt;
====Mallide kirjeldamine====&lt;br /&gt;
&lt;br /&gt;
Nagiose mallidele vatavad objektid on kirjeldatud kahes failis, arvutitele vastav mall&lt;br /&gt;
&lt;br /&gt;
 # cat /etc/nagios3/conf.d/generic-host.cfg&lt;br /&gt;
 define host {&lt;br /&gt;
   name                            generic-host    ; The name of this host template&lt;br /&gt;
   notifications_enabled           1       ; Host notifications are enabled&lt;br /&gt;
   event_handler_enabled           1       ; Host event handler is enabled&lt;br /&gt;
   flap_detection_enabled          1       ; Flap detection is enabled&lt;br /&gt;
   failure_prediction_enabled      1       ; Failure prediction is enabled&lt;br /&gt;
   process_perf_data               1       ; Process performance data&lt;br /&gt;
   retain_status_information       1       ; Retain status information across program restarts&lt;br /&gt;
   retain_nonstatus_information    1       ; Retain non-status information across program restarts&lt;br /&gt;
   check_command                   check-host-alive&lt;br /&gt;
   max_check_attempts              10&lt;br /&gt;
   notification_interval           0&lt;br /&gt;
   notification_period             24x7&lt;br /&gt;
   notification_options            d,u,r&lt;br /&gt;
   contact_groups                  admins&lt;br /&gt;
   register                        0       ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
ja teenustele vastav mall&lt;br /&gt;
&lt;br /&gt;
 define service {&lt;br /&gt;
   name                            generic-service ; The &#039;name&#039; of this service template&lt;br /&gt;
   active_checks_enabled           1       ; Active service checks are enabled&lt;br /&gt;
   passive_checks_enabled          1       ; Passive service checks are enabled/accepted&lt;br /&gt;
   parallelize_check               1       ; Active service checks should be parallelized (disabling this can lead to major performance problems)&lt;br /&gt;
   obsess_over_service             1       ; We should obsess over this service (if necessary)&lt;br /&gt;
   check_freshness                 0       ; Default is to NOT check service &#039;freshness&#039;&lt;br /&gt;
   notifications_enabled           1       ; Service notifications are enabled&lt;br /&gt;
   event_handler_enabled           1       ; Service event handler is enabled&lt;br /&gt;
   flap_detection_enabled          1       ; Flap detection is enabled&lt;br /&gt;
   failure_prediction_enabled      1       ; Failure prediction is enabled&lt;br /&gt;
   process_perf_data               1       ; Process performance data&lt;br /&gt;
   retain_status_information       1       ; Retain status information across program restarts&lt;br /&gt;
   retain_nonstatus_information    1       ; Retain non-status information across program restarts&lt;br /&gt;
   notification_interval           0       ; Only send notifications on status change by default.&lt;br /&gt;
   is_volatile                     0&lt;br /&gt;
   check_period                    24x7&lt;br /&gt;
   normal_check_interval           2&lt;br /&gt;
   retry_check_interval            1&lt;br /&gt;
   max_check_attempts              3&lt;br /&gt;
   notification_period             24x7&lt;br /&gt;
   notification_options            w,u,c,r&lt;br /&gt;
   contact_groups                  admins&lt;br /&gt;
   register                        0       ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* mallidel on nimed, mida saab teenuste kirjeldustes kasutada, vastavalt generic-host ja generic-service&lt;br /&gt;
* mallidega on seostatud kontaktigrupp, admins&lt;br /&gt;
&lt;br /&gt;
===Alternatiiv===&lt;br /&gt;
&lt;br /&gt;
Kui põhiline on saada teada, et mõni üksik ruuter katki, siis pole vaja alati ka Nagiose kogu enda keerukusega peale panna ja kõige&lt;br /&gt;
lihtsam on panna järgnev käsk crontabi:&lt;br /&gt;
&lt;br /&gt;
 /bin/ping -nqc 4 TARTU_RUUTER &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 || /bin/echo &#039;Oluline Ruuter&lt;br /&gt;
 MAAS!!!&#039; | /usr/bin/mail -s &#039;Tln-Trt maas&#039; TEHTOE_NUMBER@sms.emt.ee&lt;br /&gt;
 ADMINI_NUMBER@sms.emt.ee katk@zoo.edu.ee&lt;br /&gt;
&lt;br /&gt;
See pingiks 4 korda ja saadaks teated välja, kui ping läbi ei käinud,&lt;br /&gt;
mis ongi ju enamvähem kõik, mis vaja. Lingi üles tulekut võib juba&lt;br /&gt;
kontrollida käsitsi või graafikutest.&lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/Nagiose_kasutamine_Debian_Lenniga&lt;br /&gt;
&lt;br /&gt;
https://wiki.itcollege.ee/index.php/LAMP_monitooring_Nagiose_abil&lt;br /&gt;
&lt;br /&gt;
https://wiki.itcollege.ee/index.php/Nagios&lt;/div&gt;</summary>
		<author><name>Erkko</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Nagios&amp;diff=30474</id>
		<title>Nagios</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Nagios&amp;diff=30474"/>
		<updated>2018-07-23T19:40:49Z</updated>

		<summary type="html">&lt;p&gt;Erkko: kirjavead&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
===Nagiose tööpõhimõte===&lt;br /&gt;
&lt;br /&gt;
Nagiose serveri ülesandeks on kontrollida võrgus töötavate arvutite (ingl. k. host) ja teenuste (ingl. k. service) seisukorda.&lt;br /&gt;
&lt;br /&gt;
Arvutite ja teenuste seisukorda iseloomustavaid parameetreid võib jaotada lähtudes erinevatelt alustelt. Nt selle järgi, kas parameetrit kontrollitakse üle võrgu või lokaalsest arvutist&lt;br /&gt;
&lt;br /&gt;
* kontrollitakse üle võrgu - veebileht, nimeserver&lt;br /&gt;
* kontrollitakse lokaalselt - arvutis töötavate protsesside arv, arvuti koormus (ingl. load), failisüsteemi täituvus, raid lülituse korrasolek&lt;br /&gt;
&lt;br /&gt;
Lokaalse kontrolli korraldamiseks tuleb kontrollitavasse arvutisse paigaldada lisaks täiendavalt Nagiose tarkvara, üle võrgu kontrollimisel reeglina kontrollitavasse arvutisse ei tule midagi Nagiose-spetsiifilist lisada.&lt;br /&gt;
&lt;br /&gt;
Teine võimalus on jaotus teha selle järgi, kes küsib või kes ütleb&lt;br /&gt;
&lt;br /&gt;
* aktiivne kontroll - Nagiose server esitab teenustele kontrollpäringuid (nt veebileht, nimeserver)&lt;br /&gt;
* passiivne kontroll - Nagiose server kuulab teenuste raporteerimisi (nt varunduse õnnestumine)&lt;br /&gt;
&lt;br /&gt;
Jällegi, passiivse kontrolli korraldamiseks tuleb kontrollitavasse arvutisse paigaldada lisaks täiendavalt Nagiose tarkvara, aktiivsel kontrollimisel reeglina kontrollitavasse arvutisse ei tule midagi Nagiose-spetsiifilist lisada.&lt;br /&gt;
&lt;br /&gt;
===Vana sissejuhatus - vaja ümber teha===&lt;br /&gt;
&lt;br /&gt;
Nagios on vabavara mis võimaldab jälgida teenuste ning serverite kättesaadavust. Toetab mitmesuguseid levinud teenuseid (SMTP, IMAP, HTTP, FTP, DNS) ning võimaldab seirata ka serveri &amp;quot;sisemist&amp;quot; infot, nagu koormus, kettamaht, protsesside arv jms)  ja saata välja teavitusi süsteemide probleemide korral. Võimalik siduda mitmete muude tarkvaradega nagu Munin &lt;br /&gt;
&lt;br /&gt;
Nagiosele on kirjutatud mitmeid lisasid, mis teevad halduri või administraatori elu tunduvalt lihtsamaks. Sellisteks mooduliteks on näiteks serverite võrgukaartide Bonding tugi, Cisco seadmete staatuste kogumine jt. Seadistamine on tehtud lihtsamaks mallide olemasoluga. Nimelt võib defineerida ära esmalt soovitava üldmalli ja seejärel seda direktiivina kasutada teistes seadistustes. Sedasi hoiab administraator oma loodud koodi puhtana ja ülevaatlikumana ja asju lisada on mugavam.&lt;br /&gt;
&lt;br /&gt;
Kui vaadata nõudeid, mis Nagios seab riistvarale, siis on ainukeseks nõudeks, et serveril oleks &lt;br /&gt;
C kompilaator. Nagiose töötamiseks pole otseselt vaja isegi veebiliidest ja saab kasutada sedavaid teavituste saatmiseks probleemide korral ja süsteemi normaalse töörütmi taastumise korral. Veebiliides on aga hea just igasuguse informatsiooni kuvamiseks kasutades selleks CGI skripte.&lt;br /&gt;
&lt;br /&gt;
Plussid Nagiose kasutamisel:&lt;br /&gt;
&lt;br /&gt;
* vaba tarkvara;&lt;br /&gt;
* palju kontrollimismehhanisme nii teenuste kui riistvara jaoks;&lt;br /&gt;
* teavitamine vigadest ja teenuse taastumisest;&lt;br /&gt;
* võrguhierarhia määramise võimalus;&lt;br /&gt;
* paralleelsed kontrollid;&lt;br /&gt;
* lihtne lisada jälgitavaid teenuseid või seadmeid;&lt;br /&gt;
* hea dokumentatsioon ja palju õpetussõnu veebis;&lt;br /&gt;
* kiire arendus;&lt;br /&gt;
* paljud lisaprogrammid integreeritavad.&lt;br /&gt;
&lt;br /&gt;
===Nagios install===&lt;br /&gt;
&lt;br /&gt;
====FreeBSD====&lt;br /&gt;
FreeBSD süsteemis tuleb anda käsud&lt;br /&gt;
&lt;br /&gt;
 cd /usr/ports/net-mgmt/nagios &amp;amp;&amp;amp; make install clean&lt;br /&gt;
 cd /usr/ports/net-mgmt/nagios-plugins &amp;amp;&amp;amp; make install clean&lt;br /&gt;
&lt;br /&gt;
Viimati tuli veel teha mailisaatmiseks FreeBSD&#039;s selline rats, et linkida mail /bin alla&lt;br /&gt;
&lt;br /&gt;
 ln -s /usr/bin/mail /bin/mail&lt;br /&gt;
&lt;br /&gt;
===Gentoo===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
===Debian===&lt;br /&gt;
&lt;br /&gt;
Nagiose serveri paigaldamine&lt;br /&gt;
&lt;br /&gt;
Debiani paketihaldus sisaldab Nagios http://www.nagios.org/ versioon 3.0.x tarkvara, paigaldamiseks sobib öelda&lt;br /&gt;
&lt;br /&gt;
  # apt-get install nagios3 nagios3-doc&lt;br /&gt;
&lt;br /&gt;
nagios3-doc sisaldab muu seas HTML kujul dokumentatsiooni kataloogis /usr/share/nagios3/htdocs.&lt;br /&gt;
&lt;br /&gt;
Veebipõhise haldusliidese kasutaja ligipääsu tekitamiseks sobib öelda&lt;br /&gt;
&lt;br /&gt;
  # dpkg-reconfigure nagios3-common&lt;br /&gt;
&lt;br /&gt;
ja dialoogides jääda vaikeväärtuste juurde, näidata parool.&lt;br /&gt;
&lt;br /&gt;
Täpsemat juttu hetkel leiab&lt;br /&gt;
&lt;br /&gt;
*http://kuutorvaja.eenet.ee/wiki/Nagiose_kasutamine_Debian_Lenniga&lt;br /&gt;
&lt;br /&gt;
===Seadistame Nagiose===&lt;br /&gt;
&lt;br /&gt;
Nagiose tööd juhib põhiline seadistusfail nagios.cfg ning sellest failis viidatud muud seadistusfailid. Nagiose seadistamisel kirjeldatakse ära hulk erinevaid objekte&lt;br /&gt;
&lt;br /&gt;
* host - jälgitav arvuti või võrguseade (nt vaikelüüs)&lt;br /&gt;
* service - jälgitav teenus (nt veebileht)&lt;br /&gt;
* command - kontrollkäsk, mis jälgib teenust&lt;br /&gt;
* hostgroup - hulk jälgitavaid arvuteid&lt;br /&gt;
* servicegroup - hulk jälgitavaid teenuseid&lt;br /&gt;
* contact - kontakt, kellele saadetakse teatud sündmuse toimumise kohta teade&lt;br /&gt;
* contactgroup - hulk kontakte&lt;br /&gt;
&lt;br /&gt;
Seejuures tehniliselt ei ole oluline, kas objektide kirjeldused asuvad ühes failis või mitmes failis, mis omakorda võivad asuda mitmes kataloogis. Siiski, sõltuvalt monitooringuülesandest on reeglina praktiline jagada objektid mitmete failide vahel. Gruppide kasutamine võimaldab kirjeldada objekte abstraktsemalt, mis praktiliselt lihtsustab Nagiose seadistuste kirjutamist.&lt;br /&gt;
&lt;br /&gt;
    _____   Nagiose server&lt;br /&gt;
   |     |  &lt;br /&gt;
   |_____|  &lt;br /&gt;
      |&lt;br /&gt;
      |&lt;br /&gt;
     -|---------|----------|----....---|----------|&lt;br /&gt;
                |          |           |          |&lt;br /&gt;
              __|__      __|__       __|__      __|__&lt;br /&gt;
             |     |    |     |     |     |    |     |&lt;br /&gt;
             |_____|    |_____|     |_____|    |_____|&lt;br /&gt;
          &lt;br /&gt;
              ruuter      www         mail       dns&lt;br /&gt;
             &lt;br /&gt;
&lt;br /&gt;
Meil on kolm masinat mida vaja jälgida. Ruuter, veebiserver ja mailiserver.&lt;br /&gt;
Me soovime, et kõiki neid kolme Nagios pingiks iga viie minuti tagant ning kui üks masin juhtub&lt;br /&gt;
maas olema siis teavitame sellest mailiaadressile kasutaja@domeen.ee&lt;br /&gt;
&lt;br /&gt;
Serverite ip aadressid&lt;br /&gt;
&lt;br /&gt;
*kontori ruuter &#039;&#039;&#039;192.168.1.10&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*veebiserver veebiserver.domeen.ee &#039;&#039;&#039;192.168.1.11&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*mailiserver mailiserver.domeen.ee &#039;&#039;&#039;192.168.1.12&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*nimeserver dns.domeen.ee &#039;&#039;&#039;192.168.1.13&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Vaja on tekitada kokku 3 seadistusfaili&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;hosts.cfg&#039;&#039;&#039; seadmed-serverid-arvutid&lt;br /&gt;
# &#039;&#039;&#039;services.cfg&#039;&#039;&#039; erinevat liiki kontrollid-testid&lt;br /&gt;
# &#039;&#039;&#039;contacts.cfg&#039;&#039;&#039;  kasutajad-kasutajagrupid&lt;br /&gt;
&lt;br /&gt;
Eesimesena on vaja defineerida hosts.cfg failis kõik neli seadet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;hosts.cfg&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
 # Defineerime mõned väärtused mis vaikimis seadistame kõigile masinatele&lt;br /&gt;
 define host{&lt;br /&gt;
       name                            linux-server&lt;br /&gt;
       use                             generic-host    &lt;br /&gt;
       check_period                    24x7            &lt;br /&gt;
       max_check_attempts              10            &lt;br /&gt;
       check_command                   check-host-alive &lt;br /&gt;
       notification_period workhours                                                                                                                  &lt;br /&gt;
       notification_interval           120             &lt;br /&gt;
       notification_options            d,u,r          &lt;br /&gt;
       contact_groups                  admins          &lt;br /&gt;
       register                        0               &lt;br /&gt;
       } &lt;br /&gt;
 &lt;br /&gt;
 #ruuter&lt;br /&gt;
 define host{&lt;br /&gt;
       use                     linux-server&lt;br /&gt;
       host_name               ruuter&lt;br /&gt;
       alias                   ISP Ruuter&lt;br /&gt;
       address                 192.168.1.10&lt;br /&gt;
       parents                 localhost&lt;br /&gt;
       contact_groups  Helpdesk&lt;br /&gt;
       }&lt;br /&gt;
 &lt;br /&gt;
 #veebiserver&lt;br /&gt;
 define host{&lt;br /&gt;
       use                     linux-server&lt;br /&gt;
       host_name               veebiserver.domeen.ee&lt;br /&gt;
       alias                   veebiserver asutusele&lt;br /&gt;
       address                 192.168.1.11&lt;br /&gt;
       parents                 localhost&lt;br /&gt;
       contact_groups  Helpdesk&lt;br /&gt;
       }&lt;br /&gt;
 &lt;br /&gt;
 #mailiserver&lt;br /&gt;
 define host{&lt;br /&gt;
       use                     linux-server&lt;br /&gt;
       host_name               mailiserver.domeen.ee&lt;br /&gt;
       alias                   sisevõrgu mailiserver&lt;br /&gt;
       address                 192.168.1.12&lt;br /&gt;
       parents                 localhost&lt;br /&gt;
       contact_groups  Helpdesk&lt;br /&gt;
       }&lt;br /&gt;
 &lt;br /&gt;
 #nimeserver&lt;br /&gt;
 define host{&lt;br /&gt;
       use                     linux-server&lt;br /&gt;
       host_name               dns.domeen.ee&lt;br /&gt;
       alias                   nimeserver&lt;br /&gt;
       address                 192.168.1.13&lt;br /&gt;
       parents                 localhost&lt;br /&gt;
       contact_groups  Helpdesk&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
contact_groups on korrektselt vajalik paika panna hostide juures kuna sinna&lt;br /&gt;
hakatakse saatma teateid hosti maasoleku kohta&lt;br /&gt;
&lt;br /&gt;
Nüüd defineerime kontrollid mida tehakse serveritele.&lt;br /&gt;
Tekitame service kirje mis pingib kõiki kolme masinat. Ruuterit, veebiserverit ja mailiserverit&lt;br /&gt;
ning teavitab probleemide korral kontaktgruppi helpdesk&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;services.cfg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 define service{&lt;br /&gt;
       use                             local-service&lt;br /&gt;
       host_name                       &#039;&#039;&#039;ruuter, veebiserver.domeen.ee, mailiserver.domeen.ee, dns.domeen.ee&#039;&#039;&#039;&lt;br /&gt;
       service_description             PING&lt;br /&gt;
       check_command                   check_ping!100.0,20%!500.0,60%&lt;br /&gt;
       contact_groups  helpdesk&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
Lõpuks tekitame kolmanda faili kus kirjas kontaktid keda teavitatakse mõne seadme maasolekul.&lt;br /&gt;
&lt;br /&gt;
Loome kontakti helpdesk mailiga &#039;&#039;&#039;kasutaja@domeen.ee&#039;&#039;&#039; ning lisame selle kontaktgruppi Helpdesk&lt;br /&gt;
&lt;br /&gt;
Hea nipp on luua mobiilioperaatori juures endale aadress kasutaja@mail.operaator.ee&lt;br /&gt;
millele suunatud kirjad lähevad mobiilile sms&#039;ina, maksab see enamasti 25.- kuus ning&lt;br /&gt;
võimaldab operatiivselt kriitilist infot saada. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;contacts.cfg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 define contact{&lt;br /&gt;
       contact_name                    kasutaja&lt;br /&gt;
       alias                           Infohuviline isik&lt;br /&gt;
       service_notification_period     24x7&lt;br /&gt;
       host_notification_period        24x7&lt;br /&gt;
       service_notification_options    u,c,r&lt;br /&gt;
       host_notification_options       d,r&lt;br /&gt;
       service_notification_commands   notify-by-email&lt;br /&gt;
       host_notification_commands      host-notify-by-email&lt;br /&gt;
       email                           &#039;&#039;&#039;kasutaja@domeen.ee&#039;&#039;&#039;&lt;br /&gt;
       }&lt;br /&gt;
 &lt;br /&gt;
 define contactgroup{&lt;br /&gt;
       contactgroup_name       helpdesk&lt;br /&gt;
       alias                   IT Helpdesk&lt;br /&gt;
       members                 kasutaja&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
Ja viimaks lisame faili&lt;br /&gt;
&#039;&#039;&#039;nagios.cfg&#039;&#039;&#039; järgnevad read, et Nagios meie tekitatud konfiguratsiooni kasutaks&lt;br /&gt;
&lt;br /&gt;
 cfg_file=/usr/local/etc/nagios/hosts.cfg&lt;br /&gt;
 cfg_file=/usr/local/etc/nagios/services.cfg&lt;br /&gt;
 cfg_file=/usr/local/etc/nagios/contacts.cfg&lt;br /&gt;
&lt;br /&gt;
Linuxi puhul on rajad /etc/nagios/&lt;br /&gt;
&lt;br /&gt;
Ning võime anda käsud&lt;br /&gt;
&lt;br /&gt;
 /usr/local/etc/rc.d/nagios start&lt;br /&gt;
&lt;br /&gt;
või linuxis&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/nagios start&lt;br /&gt;
&lt;br /&gt;
Et suurendada Nagiose töökindlust võiks paigaldada serverile ka oma nimeserveri.&lt;br /&gt;
&lt;br /&gt;
===Nagiose pluginad===&lt;br /&gt;
====Mail delivery====&lt;br /&gt;
&lt;br /&gt;
Mailiserveri töö kontrolli korraldamine on keerukam. Nagiose kaasasolevad vahendeid&lt;br /&gt;
võimaldavad kontrollida vaid lihtsamaid portide /teenuste ülevaolekuid ja vastuseid, mailisüsteem&lt;br /&gt;
on samas enamuses asutuses keerukas ja mitmetest serveritest koosnev kooslus.&lt;br /&gt;
&lt;br /&gt;
Plugin mis järgnevalt äratoodud saadab emaili serverile ning seejärel logib imapiga&lt;br /&gt;
kasutajaga mailikontole test ning kontrollib kas email on saabunud.&lt;br /&gt;
&lt;br /&gt;
Vaja tirida ja paigaldada vastav plugin selleks aadressilt&lt;br /&gt;
&lt;br /&gt;
http://apricoti.pbwiki.com/NagiosCheckEmailDelivery&lt;br /&gt;
&lt;br /&gt;
Selle sõltuvusteks on vaja installida mõned perli moodulit mis tehtavad kenasti cpani installeri abiga&lt;br /&gt;
 cpan -i Mail::IMAPClient &lt;br /&gt;
&lt;br /&gt;
Seejärel on vaja defineerida command.&lt;br /&gt;
&lt;br /&gt;
  define command {&lt;br /&gt;
          command_name    check_delivery_mail&lt;br /&gt;
          command_line    $USER1$/check_email_delivery -H mail.domeen.ee --mailto test@mail.domeen.ee --mailfrom nagios@nagios.domeen.ee /&lt;br /&gt;
                          --username  test --password parool --libexec $USER1$ --wait 10 --warning 600 --critical 1200&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Ning seejärel kontrollimine.&lt;br /&gt;
&lt;br /&gt;
 define service{&lt;br /&gt;
         use                             generic-service&lt;br /&gt;
         host_name                       mail.domeen.ee&lt;br /&gt;
         service_description             DELIVERY_mail&lt;br /&gt;
         check_command                   check_delivery_mail&lt;br /&gt;
         max_check_attempts              5&lt;br /&gt;
         contact_groups  helpdesk&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
====check_by_ssh====&lt;br /&gt;
&lt;br /&gt;
check_by_ssh on mõeldud skriptide käivitamiseks eemalolevas arvutis.&lt;br /&gt;
&lt;br /&gt;
Näiteks võib tekkida soov tulemüüris olles pingida vpn otspunkte, mida Nagiose serverist teha aga ei saa.&lt;br /&gt;
&lt;br /&gt;
Esiteks tuleb genereerida ssh-keygeniga võti ja paigalgada see teise arvuti&lt;br /&gt;
nagios kasutaja alla. Siis paigaldame arvutile, kus soovime skripte käivitada /usr/ports/net-mgmt/nagios-plugins/ paketi.&lt;br /&gt;
&lt;br /&gt;
Defineerime konfi käsu.&lt;br /&gt;
&lt;br /&gt;
 define command {&lt;br /&gt;
  command_name check_ping_tunnel_ssh&lt;br /&gt;
  command_line    $USER1$/check_by_ssh -H $HOSTADDRESS$ -C \&lt;br /&gt;
  &#039;/usr/local/libexec/nagios/check_ping -H $ARG1$ -w 500.0,20% -c 2000.0,60%  -p 5&#039;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Testimiseks&lt;br /&gt;
&lt;br /&gt;
 # /usr/local/libexec/nagios/check_ping -H 192.168.2.10 -w 500.0,20% -c  2000.0,60% -p 5&lt;br /&gt;
 PING WARNING - Packet loss = 20%, RTA = 7.56  ms|rta=7.563000ms;500.000000;2000.000000;0.000000 pl=20%;20;60;0&lt;br /&gt;
&lt;br /&gt;
Tekitame teenuse&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
       use                             service&lt;br /&gt;
       host_name                       tulemyyr&lt;br /&gt;
       service_description             Current Load&lt;br /&gt;
       check_command                   check_http_content!&amp;quot;192.168.5.14&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
====PostgreSQL====&lt;br /&gt;
&lt;br /&gt;
Aadressil http://bucardo.org/wiki/Check_postgres jagatakse Nagiose kontrollskripti, mis võimaldab muuhulgas&lt;br /&gt;
&lt;br /&gt;
* küsida suurima tabeli või indeksi suurust&lt;br /&gt;
&lt;br /&gt;
 $ perl check_postgres.pl -H pg.loomaaed -u postgres --db=loobdb --action=relation_size --critical=&#039;6000 MB&#039; --warning=&#039;4000 MB&#039; \&lt;br /&gt;
   --showperf=0 --perflimit=1&lt;br /&gt;
 POSTGRES_RELATION_SIZE OK: DB &amp;quot;loobdb&amp;quot; (host:pg.loomaaed) largest relation is table &amp;quot;koduloomad.vigastused&amp;quot;: 3001 MB&lt;br /&gt;
&lt;br /&gt;
Seejuures esitatakse andmebaasile selline päring&lt;br /&gt;
&lt;br /&gt;
 BEGIN;SET statement_timeout=30000;COMMIT;SELECT pg_relation_size(c.oid), pg_size_pretty(pg_relation_size(c.oid)), relkind, relname, nspname \&lt;br /&gt;
   FROM pg_class c, pg_namespace n WHERE (relkind = &#039;r&#039; OR relkind = &#039;i&#039;) AND n.oid = c.relnamespace ORDER BY 1 DESC LIMIT 1&lt;br /&gt;
&lt;br /&gt;
====Smartmontools====&lt;br /&gt;
&lt;br /&gt;
Kõvaketta temperatuuri jälgimiseks sobib kasutada nt sellist järgnevust&lt;br /&gt;
&lt;br /&gt;
* moodustada jälgitavasse arvutisse skript&lt;br /&gt;
&lt;br /&gt;
 # cat /root/system/hddtemp.sh&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 c_aeg=`date +%s`&lt;br /&gt;
 temp=`/usr/sbin/smartctl -A /dev/$1 | grep Temperature_Celsius | awk {&#039;print $10&#039;}`&lt;br /&gt;
 echo $temp $c_aeg &amp;gt; /tmp/hddtemp_$1.txt&lt;br /&gt;
&lt;br /&gt;
mis kutsutakse välja arvuti juurkasutaja crontabist reaga&lt;br /&gt;
&lt;br /&gt;
 */2 * * * * /root/system/hddtemp.sh sda&lt;br /&gt;
&lt;br /&gt;
Tulemusena moodustatakse igal minutil uus fail /tmp/hddtemp_sda.txt sisuga&lt;br /&gt;
&lt;br /&gt;
 # cat /tmp/hddtemp_sda.txt&lt;br /&gt;
 33 1280078281&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* 33 - temperatuur kraadides Celsiust&lt;br /&gt;
* 1280078281 - timestamp, mis on vajalik veendumaks, et kasutatakse uuendatud temperatuuri väärtust&lt;br /&gt;
&lt;br /&gt;
* moodustada Nagiose plugin check_hddtemp&lt;br /&gt;
&lt;br /&gt;
 # cat /usr/lib/nagios/plugins/check_hddtemp &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 temp=`cat /tmp/hddtemp_$1.txt | cut -d &amp;quot; &amp;quot; -f 1`;&lt;br /&gt;
 ts=`cat /tmp/hddtemp_$1.txt | cut -d &amp;quot; &amp;quot; -f 2`;&lt;br /&gt;
 &lt;br /&gt;
 c_aeg=`date +%s`&lt;br /&gt;
 aeg_kolme_minuti_eest=$(($c_aeg - 180));&lt;br /&gt;
  &lt;br /&gt;
 if [ $temp -lt $2 -a $ts -gt $aeg_kolme_minuti_eest ]; then&lt;br /&gt;
   echo &amp;quot;TEMP OK - temp: $temp;| temp=$temp&amp;quot;;&lt;br /&gt;
   exit 0;&lt;br /&gt;
 else&lt;br /&gt;
   echo &amp;quot;TEMP CRITICAL - temp: $temp;| temp=$temp&amp;quot;;&lt;br /&gt;
   exit 2;&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
* kirjeldada monitooritava arvuti nrpe agendis seadistusfailis /etc/nagios/nrpe.cfg check_hddtemp kontrollid, nt&lt;br /&gt;
&lt;br /&gt;
 # riistvara&lt;br /&gt;
 command[check_hddtemp_sda]=/usr/lib/nagios/plugins/check_hddtemp sda 35&lt;br /&gt;
 command[check_hddtemp_sdb]=/usr/lib/nagios/plugins/check_hddtemp sdb 38&lt;br /&gt;
 command[check_hddtemp_sdc]=/usr/lib/nagios/plugins/check_hddtemp sdc 35&lt;br /&gt;
&lt;br /&gt;
* kirjeldada Nagiose serveris vastavat kontrollid, nt sektsiooniga&lt;br /&gt;
&lt;br /&gt;
 define service {&lt;br /&gt;
   host_name                       failiserver.loomaaed&lt;br /&gt;
   service_description             hddtemp_sda&lt;br /&gt;
   check_command                   check_nrpe_1arg!check_hddtemp_sda&lt;br /&gt;
   use                             generic-service&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Ipv6 aadresside monitoorimine===&lt;br /&gt;
&lt;br /&gt;
Paljudel kaasasolevatel Nagiose utiliitidel on ipv6 tugi ka juba olemas. Näiteks&lt;br /&gt;
soovides pingida ühte ainult ipv6 aadressi omavat hosti võib teha&lt;br /&gt;
täiesti tavalise seadmekirje millele lisada ipv6 aadressi&lt;br /&gt;
ning siis defineerida järgneva käsk.&lt;br /&gt;
&lt;br /&gt;
 define command{&lt;br /&gt;
         command_name    check_ping6&lt;br /&gt;
         command_line    $USER1$/check_ping -6 -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
Kasutada saab seda tavapärasel moel nagu iga teist.&lt;br /&gt;
&lt;br /&gt;
===Katsetamine===&lt;br /&gt;
&lt;br /&gt;
Võime simuleerida mingi masina maasolekut. Piisab kui vastav reegel panna selleks tulemüüri mis blokeerib liikluse serverini&lt;br /&gt;
mida kontrollime. Logifaili &#039;&#039;&#039;/var/spool/nagios/nagios.log&#039;&#039;&#039; peaks tekkima read: &lt;br /&gt;
&lt;br /&gt;
 [1209129862] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;1;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129872] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;2;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129882] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;3;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129892] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;4;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129902] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;5;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129912] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;6;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129922] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;7;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129932] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;8;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129942] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;9;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129952] HOST ALERT: veebiserver.domeen.ee;DOWN;HARD;10;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129952] HOST NOTIFICATION: kasutaja;veebiserver.domeen.ee;DOWN;host-notify-by-email;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 [1209129952] SERVICE ALERT: veebiserver.domeen.ee;PING;CRITICAL;HARD;1;CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
&lt;br /&gt;
ning kasutaja peaks saama emaili Host DOWN alert for veebiserver.domeen.ee! sisuga&lt;br /&gt;
&lt;br /&gt;
 ***** Nagios 2.10 *****&lt;br /&gt;
 &lt;br /&gt;
 Notification Type: PROBLEM&lt;br /&gt;
 Host: veebiserver.domeen.ee&lt;br /&gt;
 State: DOWN&lt;br /&gt;
 Address: 192.168.1.11&lt;br /&gt;
 Info: CRITICAL - Plugin timed out after 10 seconds&lt;br /&gt;
 &lt;br /&gt;
 Date/Time: Fri Apr 25 16:25:52 EEST 2008&lt;br /&gt;
&lt;br /&gt;
Eemaldades reegli&lt;br /&gt;
&lt;br /&gt;
 [1209130370] HOST ALERT: veebiserver.domeen.ee;UP;HARD;1;PING OK - Packet loss = 0%, RTA = 4.09 ms&lt;br /&gt;
 [1209130370] HOST NOTIFICATION: kasutaja;veebiserver.domeen.ee;UP;host-notify-by-email;PING OK - Packet loss = 0%, RTA = 4.09 ms&lt;br /&gt;
 [1209130370] SERVICE ALERT: veebiserver.domeen.ee;PING;OK;SOFT;1;PING OK - Packet loss = 0%, RTA = 4.92 ms&lt;br /&gt;
&lt;br /&gt;
Saabub email Host UP alert for veebiserver.domeen.ee!&lt;br /&gt;
&lt;br /&gt;
 ***** Nagios 2.10 *****&lt;br /&gt;
 &lt;br /&gt;
 Notification Type: RECOVERY&lt;br /&gt;
 Host: veebiserver.domeen.ee&lt;br /&gt;
 State: UP&lt;br /&gt;
 Address: 192.168.1.11&lt;br /&gt;
 Info: PING OK - Packet loss = 0%, RTA = 4.09 ms&lt;br /&gt;
 &lt;br /&gt;
 Date/Time: Fri Apr 25 16:32:50 EEST 2008&lt;br /&gt;
&lt;br /&gt;
===NSCA kasutamine===&lt;br /&gt;
&lt;br /&gt;
NSCA (Nagios Service Check Acceptor, ingl. k. Nagiose teenuse kontrolli vastuvõtja) võimadab korraldada nn passiivseid kontrolle. Nii Nagiose serverisse kui kontrollitavasse arvutisse tuleb paigaldada nsca pakett öeldes&lt;br /&gt;
&lt;br /&gt;
  # apt-get install nsca&lt;br /&gt;
&lt;br /&gt;
Tulemusena paigaldatakse muu hulgas&lt;br /&gt;
&lt;br /&gt;
* /usr/sbin/nsca - NSCA deemon, töötab Nagiose serveris&lt;br /&gt;
* /etc/nsca.cfg - NSCA deemoni seadistusfail&lt;br /&gt;
* /usr/sbin/send_nsca - NSCA klient, millega saadetakse deemonile sõnumeid&lt;br /&gt;
* /etc/send_nsca.cfg - NSCA kliedi seadistusfail&lt;br /&gt;
&lt;br /&gt;
Nagiose serveri arvutis tuleb käivitada nsca deemon, mida juhib seadistusfail /etc/nsca.cfg kus on oluline veenduda, et sisaldub sobiva väärtusega command_file parameeter ja vajadusel ka debug seada, nt nii&lt;br /&gt;
&lt;br /&gt;
  debug=1&lt;br /&gt;
  command_file=/var/lib/nagios3/rw/nagios.cmd&lt;br /&gt;
&lt;br /&gt;
Kontrollitavast arvutist saadetakse programmiga send_nsca teated Nagiose NSCA deemonile&lt;br /&gt;
&lt;br /&gt;
  $ echo -e &amp;quot;backup.loomaaed.tartu.ee\tbackup\t0\tbackup korras&amp;quot; | send_nsca -c /etc/send_nsca.cfg -H nagios.loomaaed.tartu.ee -p 5667&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* backup.loomaaed.tartu.ee - arvuti nimi&lt;br /&gt;
* backup - teenuse nimi&lt;br /&gt;
* 0, 1, 2, 3 - Nagiose staatus, vastavalt OK, WARNING, CRITICAL või UNKNOWN&lt;br /&gt;
* backup korras - teate tekst, mida näidatakse nt Nagiose veebiliideses&lt;br /&gt;
* /etc/send_nsca.cfg - send_nsca kasutab näidatud seadistusfaili, nt sõnumi krüptimise infoks&lt;br /&gt;
* nagios.loomaaed.tartu.ee - Nagiose server&lt;br /&gt;
* -p - Nagiose serveri port&lt;br /&gt;
&lt;br /&gt;
====Varunduse monitooring====&lt;br /&gt;
&lt;br /&gt;
Olgu ülesandeks korraldada varunduse monitooring selliselt&lt;br /&gt;
&lt;br /&gt;
* varundamise skript saadab teate, kui varundamine õnnestub&lt;br /&gt;
* varundamise skript saadab teate, kui varundamine ebaõnnestub&lt;br /&gt;
* Nagios annab alarmi, kui varundamise skript pole teadet saatnud kahe päeva jooksul&lt;br /&gt;
&lt;br /&gt;
Passiivse kontrolli jaoks sobib kasutada sellist malli&lt;br /&gt;
&lt;br /&gt;
 define service{&lt;br /&gt;
   use                     generic-service&lt;br /&gt;
   name                    passive-backup-service&lt;br /&gt;
   active_checks_enabled   0&lt;br /&gt;
   passive_checks_enabled  1&lt;br /&gt;
   flap_detection_enabled  0&lt;br /&gt;
   register                0&lt;br /&gt;
   is_volatile             0&lt;br /&gt;
   check_period            24x7&lt;br /&gt;
   max_check_attempts      1&lt;br /&gt;
   normal_check_interval   1&lt;br /&gt;
   retry_check_interval    1&lt;br /&gt;
   check_freshness         1&lt;br /&gt;
   freshness_threshold     169200&lt;br /&gt;
   contact_groups          admins&lt;br /&gt;
   check_command           check_dummy!2&lt;br /&gt;
   notification_interval   7200&lt;br /&gt;
   notification_period     24x7&lt;br /&gt;
   notification_options    w,u,c,r&lt;br /&gt;
   stalking_options        w,c,u&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* freshness_threshold  169200 - kaks ööpäeva oodatakse backupilt teadet&lt;br /&gt;
* check_command   check_dummy!2 - tagastab alati CRITICAL väärtuse &lt;br /&gt;
&lt;br /&gt;
Teenuse seadistamiseks sobib kasutada nt sellist sissekannet&lt;br /&gt;
&lt;br /&gt;
 define service{&lt;br /&gt;
   host_name                       backup.loomaaed.tartu.ee&lt;br /&gt;
   service_description             backup&lt;br /&gt;
   use                             generic-passive-service&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Nt õnnestumisel võiks Nagiose /var/log/syslog&#039;i tekkida&lt;br /&gt;
&lt;br /&gt;
 Oct 22 19:51:41 fs nsca[15318]: Connection from 192.168.206.3 port 52141&lt;br /&gt;
 Oct 22 19:51:41 fs nsca[15318]: Handling the connection...&lt;br /&gt;
 Oct 22 19:51:42 fs nsca[15318]: SERVICE CHECK -&amp;gt; Host Name: &#039;backup.loomaaed.tartu.ee&#039;, Service Description: &#039;backup&#039;, Return Code: &#039;0&#039;, Output: &#039;backup&#039;&lt;br /&gt;
 Oct 22 19:51:42 fs nsca[15318]: End of connection...&lt;br /&gt;
 Oct 22 19:51:42 fs nagios3: EXTERNAL COMMAND: PROCESS_SERVICE_CHECK_RESULT;backup.loomaaed.tartu.ee;backup;0;backup&lt;br /&gt;
 Oct 22 19:51:48 fs nagios3: PASSIVE SERVICE CHECK: backup.loomaaed.tartu.ee;backup;0;backup&lt;br /&gt;
&lt;br /&gt;
nsca_send jaoks võiks sisendi konstrueerida varundamise protseduuri sooritav skript oma töö lõpus ise, aga kui kasutatakse Nagiose lisasid (mis tuleb siis paigaldada paigaldades paketi nagios-plugins-basic), siis võiks teisendada lisa väljundi nt selline skript&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 ....&lt;br /&gt;
 &lt;br /&gt;
 if test &amp;quot;$varundamise_tulemus&amp;quot; = &#039;OK&#039;; then&lt;br /&gt;
         code=0&lt;br /&gt;
 else&lt;br /&gt;
         code=2&lt;br /&gt;
 &lt;br /&gt;
 fi&lt;br /&gt;
  &lt;br /&gt;
 echo -e &amp;quot;backup.loomaaed.tartu.ee\tbackup\t$code\tbackup tulemus&amp;quot; | send_nsca -c /etc/send_nsca.cfg -H nagios.loomaaed.tartu.ee -p 5667&lt;br /&gt;
&lt;br /&gt;
===Apache seadistus===&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;Directory /usr/local/www/nagios&amp;gt;&lt;br /&gt;
     Order deny,allow&lt;br /&gt;
     Deny from all&lt;br /&gt;
     Allow from 127.0.0.1&lt;br /&gt;
   &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;Directory /usr/local/www/nagios/cgi-bin&amp;gt;&lt;br /&gt;
     Options ExecCGI&lt;br /&gt;
   &amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   ScriptAlias /nagios/cgi-bin/ /usr/local/www/nagios/cgi-bin/&lt;br /&gt;
   Alias /nagios/ /usr/local/www/nagios/&lt;br /&gt;
&lt;br /&gt;
Selline virtualhost toimib küll vaid bsd peal. Erinevates distrotes on rajad&lt;br /&gt;
failideni teised. Üldiselt peale installi öeldakse kus kaustas Nagiose cgi&lt;br /&gt;
veebiliides asub.&lt;br /&gt;
&lt;br /&gt;
===Nagiose veebipõhise haldusliidese ettevalmistamine===&lt;br /&gt;
&lt;br /&gt;
Veebiliidese kasutuselevõtuks tuleb seadistada Apache virtuaalhost ja kasutada Nagiosega ühenduseks nt seadistusnäiteid failist nagios3/apache.conf.&lt;br /&gt;
&lt;br /&gt;
Tulemusena saab kasutajana nagiosadmin ja näidatud parooliga haldusliidesesse logida&lt;br /&gt;
&lt;br /&gt;
[[Pilt:Debian-nagios-1.gif]]&lt;br /&gt;
&lt;br /&gt;
kust on näha, et&lt;br /&gt;
&lt;br /&gt;
* jälgitakse kahte arvutit, vaikelüüsi ja seda arvutit ennast, kus Nagios töötab&lt;br /&gt;
* arvutis jälgitakse kuut parameetrit&lt;br /&gt;
&lt;br /&gt;
Haldusliidesest Nagiose juhtimiseks tuleb Nagios seadistada kuulama nn väliseid korraldusi. Selleks peab nagios.cfg failis sisalduma rida&lt;br /&gt;
&lt;br /&gt;
  check_external_commands=1&lt;br /&gt;
&lt;br /&gt;
Failisüsteemis on enne&lt;br /&gt;
&lt;br /&gt;
  # ls -ld /var/lib/nagios3/rw /var/lib/nagios3&lt;br /&gt;
  drwxr-x--- 4 nagios nagios   4096 Oct 22 00:19 /var/lib/nagios3&lt;br /&gt;
  drwx------ 2 nagios www-data 4096 Jul  2 12:37 /var/lib/nagios3/rw&lt;br /&gt;
&lt;br /&gt;
Korraldused&lt;br /&gt;
&lt;br /&gt;
  # dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios3/rw&lt;br /&gt;
  # dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3&lt;br /&gt;
&lt;br /&gt;
Pärast&lt;br /&gt;
&lt;br /&gt;
  # ls -ld /var/lib/nagios3/rw /var/lib/nagios3&lt;br /&gt;
  drwxr-x--x 4 nagios nagios   4096 Oct 22 00:19 /var/lib/nagios3&lt;br /&gt;
  drwx--s--- 2 nagios www-data 4096 Jul  2 12:37 /var/lib/nagios3/rw&lt;br /&gt;
&lt;br /&gt;
====Mallide kirjeldamine====&lt;br /&gt;
&lt;br /&gt;
Nagiose mallidele vatavad objektid on kirjeldatud kahes failis, arvutitele vastav mall&lt;br /&gt;
&lt;br /&gt;
 # cat /etc/nagios3/conf.d/generic-host.cfg&lt;br /&gt;
 define host {&lt;br /&gt;
   name                            generic-host    ; The name of this host template&lt;br /&gt;
   notifications_enabled           1       ; Host notifications are enabled&lt;br /&gt;
   event_handler_enabled           1       ; Host event handler is enabled&lt;br /&gt;
   flap_detection_enabled          1       ; Flap detection is enabled&lt;br /&gt;
   failure_prediction_enabled      1       ; Failure prediction is enabled&lt;br /&gt;
   process_perf_data               1       ; Process performance data&lt;br /&gt;
   retain_status_information       1       ; Retain status information across program restarts&lt;br /&gt;
   retain_nonstatus_information    1       ; Retain non-status information across program restarts&lt;br /&gt;
   check_command                   check-host-alive&lt;br /&gt;
   max_check_attempts              10&lt;br /&gt;
   notification_interval           0&lt;br /&gt;
   notification_period             24x7&lt;br /&gt;
   notification_options            d,u,r&lt;br /&gt;
   contact_groups                  admins&lt;br /&gt;
   register                        0       ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
ja teenustele vastav mall&lt;br /&gt;
&lt;br /&gt;
 define service {&lt;br /&gt;
   name                            generic-service ; The &#039;name&#039; of this service template&lt;br /&gt;
   active_checks_enabled           1       ; Active service checks are enabled&lt;br /&gt;
   passive_checks_enabled          1       ; Passive service checks are enabled/accepted&lt;br /&gt;
   parallelize_check               1       ; Active service checks should be parallelized (disabling this can lead to major performance problems)&lt;br /&gt;
   obsess_over_service             1       ; We should obsess over this service (if necessary)&lt;br /&gt;
   check_freshness                 0       ; Default is to NOT check service &#039;freshness&#039;&lt;br /&gt;
   notifications_enabled           1       ; Service notifications are enabled&lt;br /&gt;
   event_handler_enabled           1       ; Service event handler is enabled&lt;br /&gt;
   flap_detection_enabled          1       ; Flap detection is enabled&lt;br /&gt;
   failure_prediction_enabled      1       ; Failure prediction is enabled&lt;br /&gt;
   process_perf_data               1       ; Process performance data&lt;br /&gt;
   retain_status_information       1       ; Retain status information across program restarts&lt;br /&gt;
   retain_nonstatus_information    1       ; Retain non-status information across program restarts&lt;br /&gt;
   notification_interval           0       ; Only send notifications on status change by default.&lt;br /&gt;
   is_volatile                     0&lt;br /&gt;
   check_period                    24x7&lt;br /&gt;
   normal_check_interval           2&lt;br /&gt;
   retry_check_interval            1&lt;br /&gt;
   max_check_attempts              3&lt;br /&gt;
   notification_period             24x7&lt;br /&gt;
   notification_options            w,u,c,r&lt;br /&gt;
   contact_groups                  admins&lt;br /&gt;
   register                        0       ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
kus&lt;br /&gt;
&lt;br /&gt;
* mallidel on nimed, mida saab teenuste kirjeldustes kasutada, vastavalt generic-host ja generic-service&lt;br /&gt;
* mallidega on seostatud kontaktigrupp, admins&lt;br /&gt;
&lt;br /&gt;
===Alternatiiv===&lt;br /&gt;
&lt;br /&gt;
Kui põhiline on saada teada, et mõni üksik ruuter katki, siis pole vaja alati ka Nagiose kogu enda keerukusega peale panna ja kõige&lt;br /&gt;
lihtsam on panna järgnev käsk crontabi:&lt;br /&gt;
&lt;br /&gt;
 /bin/ping -nqc 4 TARTU_RUUTER &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 || /bin/echo &#039;Oluline Ruuter&lt;br /&gt;
 MAAS!!!&#039; | /usr/bin/mail -s &#039;Tln-Trt maas&#039; TEHTOE_NUMBER@sms.emt.ee&lt;br /&gt;
 ADMINI_NUMBER@sms.emt.ee katk@zoo.edu.ee&lt;br /&gt;
&lt;br /&gt;
See pingiks 4 korda ja saadaks teated välja, kui ping läbi ei käinud,&lt;br /&gt;
mis ongi ju enamvähem kõik, mis vaja. Lingi üles tulekut võib juba&lt;br /&gt;
kontrollida käsitsi või graafikutest.&lt;br /&gt;
&lt;br /&gt;
===Lingid===&lt;br /&gt;
&lt;br /&gt;
http://kuutorvaja.eenet.ee/wiki/Nagiose_kasutamine_Debian_Lenniga&lt;br /&gt;
&lt;br /&gt;
https://wiki.itcollege.ee/index.php/LAMP_monitooring_Nagiose_abil&lt;br /&gt;
&lt;br /&gt;
https://wiki.itcollege.ee/index.php/Nagios&lt;/div&gt;</summary>
		<author><name>Erkko</name></author>
	</entry>
</feed>