<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mmartins</id>
	<title>ICO wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mmartins"/>
	<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php/Special:Contributions/Mmartins"/>
	<updated>2026-05-05T13:23:28Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Skriptimine_2017&amp;diff=121969</id>
		<title>Skriptimine 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Skriptimine_2017&amp;diff=121969"/>
		<updated>2017-05-10T20:50:05Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Pythoni kodutöö */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__toc__&lt;br /&gt;
&lt;br /&gt;
=Hindamiskriteeriumid=&lt;br /&gt;
Arvestuse saamiseks peab tudeng esitama järgmised tööd:&lt;br /&gt;
 2 kodutööd&lt;br /&gt;
 3 hinnangut teiste pythoni kodutöödele&lt;br /&gt;
 2 kontrolltööd&lt;br /&gt;
&lt;br /&gt;
 Lisapunkte on võimalik teenida esitades tähtaegselt praktikumide töid&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kodutööd saata aadressile martin.rajur@itcollege.ee&lt;br /&gt;
&lt;br /&gt;
=Labori keskkond=&lt;br /&gt;
&lt;br /&gt;
https://elab.itcollege.ee/users/sign_in&lt;br /&gt;
&lt;br /&gt;
 Labs -&amp;gt; Skriptimine 2017&lt;br /&gt;
 Kasutaja: student&lt;br /&gt;
 Parool: student&lt;br /&gt;
&lt;br /&gt;
=Praktikumide ülesanded=&lt;br /&gt;
&lt;br /&gt;
==Ülesanne 1 ==&lt;br /&gt;
Looge skript, mis jagaks etteantud grupile uue kausta&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[sudo] ./jaga.sh KAUST GRUPP &amp;lt;JAGATUD KAUST&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Skript teeb järgnevat:&lt;br /&gt;
&lt;br /&gt;
*paigaldab samba (kui vaja)&lt;br /&gt;
&lt;br /&gt;
*loob kausta KAUST (kui vaja)&lt;br /&gt;
&lt;br /&gt;
*loob grupi GRUPP (kui vaja)&lt;br /&gt;
&lt;br /&gt;
*lisab grupile sobivad read smb.conf faili ja teeb failiserveri teenusele reload&#039;i&lt;br /&gt;
&lt;br /&gt;
*abimaterjal: [[Failiserveri labor v.2]]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~mernits/infrastruktuur/arhiiv/loeng03%20-%20Failiserver.pdf  Failiserveri loeng ]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~mernits/infrastruktuur/arhiiv/loeng04%20-%20Veebiserver.pdf  Veebiserveri loeng ]&lt;br /&gt;
&lt;br /&gt;
Mõistlik on konfiguratsioonist eelnevalt koopia teha ja muudatused koopiasse sisse viia. Koopiat testitakse testparm korraldusega ja kopeeritakse alles seejäral fail üle.&lt;br /&gt;
&lt;br /&gt;
==Ülesanne 2==&lt;br /&gt;
 &lt;br /&gt;
Looge skript mille abil uude serverisse/tööjaama paigaldatakse vajadusel GIT&lt;br /&gt;
Luuakse kodukataloogi kaust kuhu giti repositooriumit hakatakse sünkroniseerima(kasutajalt küsitakse kausta nime)&lt;br /&gt;
Seadistatakse ühendus rühmatöö git&#039;i&lt;br /&gt;
 git remote add origin git@bitbucket.org:Martinra_itk/skriptimine_2017.git&lt;br /&gt;
Tehakse esimene git pull&lt;br /&gt;
&lt;br /&gt;
Sisselogimiseks võib kasutada nii parooli küsimist kui ssh võtit, vastavalt valikule ka see osa seadistada&lt;br /&gt;
&lt;br /&gt;
==Ülesanne 3==&lt;br /&gt;
&lt;br /&gt;
Ülesandeks on luua lihtsam kalkulaator. Kasutajalt küsitakse muutujad ja tehe ning kuvatakse ekraanile tehe koos vastusega&lt;br /&gt;
&lt;br /&gt;
==Ülesanne 4==&lt;br /&gt;
 Looge skript mis arvutab kokku sisendiks antud kasutajale allokeeritud mälukoguse(VSZ) ja kasutuses oleva mälukoguse(RSS) suurima täiskohalise ühikuna(K,M,G,T)&lt;br /&gt;
 Kasutaja tuleb küsida kasutajaliidese kaudu&lt;br /&gt;
&lt;br /&gt;
==Ülesanne 5==&lt;br /&gt;
 Looge skript mis arvutab kõikide /etc kaustas ja alamkaustades olevate .conf laiendiga failide md5sum väärtused ja salvestab need faili selliselt et esimesena on failinimi ja teisena hash&lt;br /&gt;
 Ülesannet on võimalik lahendada ka one-linerina!&lt;br /&gt;
&lt;br /&gt;
=Pythoni praktikumid=&lt;br /&gt;
&lt;br /&gt;
==Ülesanne 1==&lt;br /&gt;
 Looge kalkulaatori skript mis küsib käsurealt sisendit ja liidab, lahutab, korrutab, jagab, astendab ja juurib.&lt;br /&gt;
&lt;br /&gt;
==Ülesanne 2==&lt;br /&gt;
 Looge programm mis küsib kasutajalt sisendiks numbrit ja selle järgi tekitab korrutustabeli. Number on siis tabli X ja Y telje maksimaalseks väärtuseks.&lt;br /&gt;
&lt;br /&gt;
==Ülesanne 3==&lt;br /&gt;
 Looge numbri arvutamise mäng. Number peab olema naturaalarv ja kasutajalt küsitakse vastuseid seni kuni saadakse õige vastus.&lt;br /&gt;
 Vale vastuse puhul öeldakse kas otsitav number on suurem või väiksem.&lt;br /&gt;
&lt;br /&gt;
==Ülesanne 4==&lt;br /&gt;
 Tekitage XML parser mille abil on võimalik XML sõnumist otsida erinevaid elemente nii päisest kui kehast. &lt;br /&gt;
 Failinimi tuleb anda sisendiks igal käivitamisel, elementide nimed tuleb võtta seadistuse failist, sõnumid võivad olla nii Eesti kui Inglise keelsed.&lt;br /&gt;
 Näidis XML sõnumid mille lugemine peab õnnestuma saab aaderssilt http://enos.itcollege.ee/~mrajur/&lt;br /&gt;
&lt;br /&gt;
==Ülesanne 5==&lt;br /&gt;
 Tekitage süsteemi jõudluse testimise skript.&lt;br /&gt;
 Testima peaks &lt;br /&gt;
 a) võrguühenduse kiirust&lt;br /&gt;
 b) andmesalvestuslahenduse kiirust(lugemine/kirjutamine)&lt;br /&gt;
 c) Protsessori kiirust(võite ise välja mõelda mingisuguse testi)&lt;br /&gt;
 d) Midagi muud?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Linuxi käsud=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Käsk&lt;br /&gt;
!Funktsioon&lt;br /&gt;
!Man link&lt;br /&gt;
!Näidis&lt;br /&gt;
|-&lt;br /&gt;
|cd&lt;br /&gt;
|Change Directory&lt;br /&gt;
|http://www.skrenta.com/rt/man/cd.1.html&lt;br /&gt;
|cd /var/log&lt;br /&gt;
|-&lt;br /&gt;
|ls&lt;br /&gt;
|list directory contents &lt;br /&gt;
|http://www.skrenta.com/rt/man/ls.1.html&lt;br /&gt;
|ls -lah /var/log&lt;br /&gt;
|-&lt;br /&gt;
|ps&lt;br /&gt;
|report process status &lt;br /&gt;
|http://www.skrenta.com/rt/man/ps.1.html&lt;br /&gt;
|ps -ef&lt;br /&gt;
|-&lt;br /&gt;
|grep&lt;br /&gt;
|print lines matching a pattern&lt;br /&gt;
|http://www.skrenta.com/rt/man/grep.1.html&lt;br /&gt;
|grep -R &#039;error&#039; /var/log/*&lt;br /&gt;
|-&lt;br /&gt;
|tail&lt;br /&gt;
|output the last parts of file&lt;br /&gt;
|http://www.skrenta.com/rt/man/tail.1.html&lt;br /&gt;
|tail -f /var/log/syslog&lt;br /&gt;
|-&lt;br /&gt;
|cat&lt;br /&gt;
|concatenate files and print on the standard output&lt;br /&gt;
|http://www.skrenta.com/rt/man/cat.1.html&lt;br /&gt;
|cat /var/log/syslog&lt;br /&gt;
|-&lt;br /&gt;
|man&lt;br /&gt;
|format and display the on-line manual pages &lt;br /&gt;
|http://www.skrenta.com/rt/man/man.1.html&lt;br /&gt;
|man man&lt;br /&gt;
|-&lt;br /&gt;
|su&lt;br /&gt;
|run a shell with substitute user and group IDs&lt;br /&gt;
|http://www.skrenta.com/rt/man/su.1.html&lt;br /&gt;
|su - root&lt;br /&gt;
|-&lt;br /&gt;
|cp&lt;br /&gt;
|copy files and directories&lt;br /&gt;
|http://www.skrenta.com/rt/man/cp.1.html&lt;br /&gt;
|cp /var/log/syslog /tmp/tmp_syslog&lt;br /&gt;
|-&lt;br /&gt;
|mv&lt;br /&gt;
|move (rename) files/directories&lt;br /&gt;
|http://www.skrenta.com/rt/man/mv.1.html&lt;br /&gt;
|mv /var/log/syslog.5 /arhiiv&lt;br /&gt;
|-&lt;br /&gt;
|rm&lt;br /&gt;
|remove files or directories&lt;br /&gt;
|http://www.skrenta.com/rt/man/rm.1.html&lt;br /&gt;
|rm /tmp/tmp_syslog&lt;br /&gt;
|-&lt;br /&gt;
|sed&lt;br /&gt;
|Stream editor&lt;br /&gt;
|http://www.skrenta.com/rt/man/sed.1.html&lt;br /&gt;
|sed -ie &#039;s/mida/millega/g&#039; /tmp/tmp_syslog&lt;br /&gt;
|-&lt;br /&gt;
|mkdir&lt;br /&gt;
|make directories &lt;br /&gt;
|http://www.skrenta.com/rt/man/mkdir.1.html&lt;br /&gt;
|mkdir /tmp/skript&lt;br /&gt;
|-&lt;br /&gt;
|chmod&lt;br /&gt;
|change file access premissions&lt;br /&gt;
|http://www.skrenta.com/rt/man/chmod.1.html&lt;br /&gt;
|chmod 700 /tmp/skript/myscript.sh&lt;br /&gt;
|-&lt;br /&gt;
|chown&lt;br /&gt;
|change file owner or group&lt;br /&gt;
|http://www.skrenta.com/rt/man/chown.1.html&lt;br /&gt;
|chown student:student /tmp/skript/myscript.sh&lt;br /&gt;
|-&lt;br /&gt;
|chgrp&lt;br /&gt;
|Change group ownership&lt;br /&gt;
|http://www.skrenta.com/rt/man/chgrp.1.html&lt;br /&gt;
|chgrp root /tmp/skript/myscript.sh&lt;br /&gt;
|-&lt;br /&gt;
|whoami&lt;br /&gt;
|print effective userID&lt;br /&gt;
|http://www.skrenta.com/rt/man/whoami.1.html&lt;br /&gt;
|whoami&lt;br /&gt;
|-&lt;br /&gt;
|pwd&lt;br /&gt;
|print name of current/working directory&lt;br /&gt;
|http://www.skrenta.com/rt/man/pwd.1.html&lt;br /&gt;
|pwd&lt;br /&gt;
|-&lt;br /&gt;
|awk&lt;br /&gt;
|pattern scanning and processing language&lt;br /&gt;
|http://www.skrenta.com/rt/man/awk.1.html&lt;br /&gt;
|Echo one two &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; awk ‘{print $1}’&lt;br /&gt;
|-&lt;br /&gt;
|find&lt;br /&gt;
|search for files in a directory hierarchy&lt;br /&gt;
|http://www.skrenta.com/rt/man/find.1.html&lt;br /&gt;
|find / -name passwd&lt;br /&gt;
|-&lt;br /&gt;
|cut&lt;br /&gt;
|remove sections from each line of files&lt;br /&gt;
|http://www.skrenta.com/rt/man/cut.1.html&lt;br /&gt;
|http://www.thegeekstuff.com/2013/06/cut-command-examples&lt;br /&gt;
|-&lt;br /&gt;
|sort&lt;br /&gt;
|sort lines of text files&lt;br /&gt;
|http://www.skrenta.com/rt/man/sort.1.html&lt;br /&gt;
|ls -la /var/log &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; sort -k5 -n&lt;br /&gt;
|-&lt;br /&gt;
|bc&lt;br /&gt;
|An arbitrary precision calculator language&lt;br /&gt;
|http://www.skrenta.com/rt/man/bc.1.html&lt;br /&gt;
|echo 5+5 &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; bc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Bash-i info=&lt;br /&gt;
&lt;br /&gt;
==If lause moodustamine==&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;if&#039;&#039;&#039; [ Funktsioon ] &#039;&#039;&#039;then&#039;&#039;&#039;&lt;br /&gt;
 tee midagi&lt;br /&gt;
 &#039;&#039;&#039;fi&#039;&#039;&#039;&lt;br /&gt;
 http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_07_01.html&lt;br /&gt;
&lt;br /&gt;
==Debug mode==&lt;br /&gt;
&lt;br /&gt;
 bash -x /skripti/path.sh&lt;br /&gt;
&lt;br /&gt;
==Exit koodid==&lt;br /&gt;
&lt;br /&gt;
 Viimase käivitatud käsu exit koodi leiate muutujast $?&lt;br /&gt;
 Juhul kui käsk õnnestus on exitkood 0&lt;br /&gt;
 Juhul kui käsu käivitamisel tekkis tõrke on exit kood 0&#039;ist erinev&lt;br /&gt;
&lt;br /&gt;
==Sisendi lugemine==&lt;br /&gt;
 &lt;br /&gt;
 read muutujanimi&lt;br /&gt;
 read -p &amp;quot;tekst&amp;quot; muutujanimi&lt;br /&gt;
&lt;br /&gt;
==Bash tsüklid==&lt;br /&gt;
&lt;br /&gt;
https://www.cyberciti.biz/faq/bash-for-loop/&lt;br /&gt;
&lt;br /&gt;
=Kodutööd=&lt;br /&gt;
==Bashi kodutöö==&lt;br /&gt;
Kodutöö ülesandeks on luua skript mille abil lisada bind9 DNS serverisse kirjeid.&lt;br /&gt;
Kirjete lisamisel tuleb kontrollida kas lisatav ip aadress või hostinimi on juba olemas, juhul kui see leitakse tuleb anda adminnile võimalus täiendava lisamiseks või asendamiseks(nii hostinime kui ip).&lt;br /&gt;
Kirjete sisend võib olla käsurealt käsitsi või failiga sisendiks.&lt;br /&gt;
Olenemata sisendist tuleb iga rea kohta kontrollida kirje olemasolu. &lt;br /&gt;
Skript peab kontrollima reverse resolution zone filet ning seda täiendama.&lt;br /&gt;
Peale muudatuste tegemist tuleb dns serverile teha ka reload.&lt;br /&gt;
&lt;br /&gt;
Loengus tutvustatud näidis(puudustega) protsessivoog on saadaval http://enos.itcollege.ee/~mrajur&lt;br /&gt;
&lt;br /&gt;
Täiendavad kitsendused mis peaks tööd lihtsustama:&lt;br /&gt;
Skripti abil peab saama ainult lisada ja muuta A ja PTR kirjeid, kustutamine ei ole vajalik&lt;br /&gt;
Reverse tsooni faili lisamisel tuleb ka named.conf&#039;i uuendada.&lt;br /&gt;
&lt;br /&gt;
NB! Ärge unustage seriali muuta&lt;br /&gt;
&lt;br /&gt;
Abiks materjal:&lt;br /&gt;
https://wiki.itcollege.ee/index.php/Nimeserveri_seadistamine_BIND9_n%C3%A4itel&lt;br /&gt;
http://askubuntu.com/questions/330148/how-do-i-do-a-complete-bind9-dns-server-configuration-with-a-hostname&lt;br /&gt;
https://help.ubuntu.com/community/BIND9ServerHowto&lt;br /&gt;
http://www.bashoneliners.com&lt;br /&gt;
&lt;br /&gt;
==Pythoni kodutöö==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Nimi&lt;br /&gt;
!Teema&lt;br /&gt;
|Link&lt;br /&gt;
|-&lt;br /&gt;
|Erik Sõlg&lt;br /&gt;
|Rotten Tomatoes otsiagent (filmid, vastavalt kriteeriumile)&lt;br /&gt;
|http://enos.itcollege.ee/~mrajur/python/esolg.zip&lt;br /&gt;
|-&lt;br /&gt;
|Margus Sumla&lt;br /&gt;
|ÕIS&#039;i hinnete automaatne kontroll ja e-maili saatmine hinde muutumisel&lt;br /&gt;
|http://enos.itcollege.ee/~mrajur/python/msumla.zip&lt;br /&gt;
|-&lt;br /&gt;
|Karel Laid&lt;br /&gt;
|Oracle alertlogi jälgimine, alertide saatmine e-mailina&lt;br /&gt;
|http://enos.itcollege.ee/~mrajur/python/klaid.zip&lt;br /&gt;
|-&lt;br /&gt;
|Richard Rõngelep&lt;br /&gt;
|Piltide masstöötlus (muuta saab resolutsiooni(kuni X KB), formaati(jpg,png) ja suurust(kuni X KB)&lt;br /&gt;
|http://enos.itcollege.ee/~mrajur/python/rrongelep.zip&lt;br /&gt;
|-&lt;br /&gt;
|Ott Pärnoja&lt;br /&gt;
|apache2 vhosti lisamine/muutmine(SSL lisamise võimalus, ID kaardi tugi)&lt;br /&gt;
|http://enos.itcollege.ee/~mrajur/python/oparnoja.zip&lt;br /&gt;
|-&lt;br /&gt;
|Siim Saar&lt;br /&gt;
|Tail -f kloon üle HTTP/Websocketi, kus kasutaja annab ette failid mida ta tahab pollida ning seejärel käivitatakse veebiserver ( näiteks 192.168.0.1:3000 ), kust teised läbi brauseri näevad kuidas logidesse lisanduvad read.&lt;br /&gt;
|http://enos.itcollege.ee/~mrajur/python/ssaar.zip&lt;br /&gt;
|-&lt;br /&gt;
|Jevgeni Kuzmin&lt;br /&gt;
|Piltide masstöötlus (muuta saab resolutsiooni(kuni X KB), formaati(jpg,png) ja suurust(kuni X KB)&lt;br /&gt;
|http://enos.itcollege.ee/~mrajur/python/jkuzmin.zip&lt;br /&gt;
|-&lt;br /&gt;
|Kadri Karatšev&lt;br /&gt;
|yahtzee&lt;br /&gt;
|http://enos.itcollege.ee/~mrajur/python/kkaratsev.zip&lt;br /&gt;
|-&lt;br /&gt;
|Margit Kont&lt;br /&gt;
|Portscanner&lt;br /&gt;
|http://enos.itcollege.ee/~mrajur/python/mkont.zip&lt;br /&gt;
|-&lt;br /&gt;
|Veiko Villo&lt;br /&gt;
|HV toote hinna jälgimine.&lt;br /&gt;
|http://enos.itcollege.ee/~mrajur/python/vvillo.zip&lt;br /&gt;
|-&lt;br /&gt;
|Marta-Heliise Tuur&lt;br /&gt;
|Hangman välise sõnadebaasiga ja mehe joonistamisega&lt;br /&gt;
|http://enos.itcollege.ee/~mrajur/python/mtuur.zip&lt;br /&gt;
|-&lt;br /&gt;
|Karl Oskar V. Kukke&lt;br /&gt;
|Texas hold &#039;em pokker&lt;br /&gt;
|http://enos.itcollege.ee/~mrajur/python/kkukke.zip&lt;br /&gt;
|-&lt;br /&gt;
|Raigo Laanemets&lt;br /&gt;
|Isikukoodi elementide analüüsija kasutades väliseid andmeallikaid&lt;br /&gt;
|http://enos.itcollege.ee/~mrajur/python/rlaanemets.zip&lt;br /&gt;
|-&lt;br /&gt;
|Marvin Martinson&lt;br /&gt;
|Skript mis käib üle mp3 muusika failide ja võtab sealt info ja laeb selle andmebaasi &lt;br /&gt;
|http://enos.itcollege.ee/~mrajur/python/mmartinson.zip&lt;br /&gt;
|-&lt;br /&gt;
|Katariina Purru&lt;br /&gt;
|Failide/kaustade korrastaja&lt;br /&gt;
|http://enos.itcollege.ee/~mrajur/python/kpurru.zip&lt;br /&gt;
|-&lt;br /&gt;
|Triinu Tamm&lt;br /&gt;
|Duplikaatide eemaldaja&lt;br /&gt;
|http://enos.itcollege.ee/~mrajur/python/ttamm.zip&lt;br /&gt;
|-&lt;br /&gt;
|Kaspar Kannik&lt;br /&gt;
|MP3 Mängija&lt;br /&gt;
|http://enos.itcollege.ee/~mrajur/python/kkannik.zip&lt;br /&gt;
|-&lt;br /&gt;
|Aleksandr Laada&lt;br /&gt;
|Kataloogide sünkroniseerija koos logimisega&lt;br /&gt;
|http://enos.itcollege.ee/~mrajur/python/alaada.zip&lt;br /&gt;
|-&lt;br /&gt;
|Priit Saar&lt;br /&gt;
|Failinimede muutja&lt;br /&gt;
|http://enos.itcollege.ee/~mrajur/python/psaar.zip&lt;br /&gt;
|-&lt;br /&gt;
|Aleksandr Pikalo&lt;br /&gt;
|Udp chat serveriga&lt;br /&gt;
|http://enos.itcollege.ee/~mrajur/python/apikalo.zip&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Retsensiooni sisu==&lt;br /&gt;
Retsensioon tuleb kirjutada endast kolme järgneva töö kohta.&lt;br /&gt;
Iga töö kohta kirjutatav retsensioon peab sisaldama järgmiseid punkte:&lt;br /&gt;
Kas loodud skript/programm vastab lähteülesandele?&lt;br /&gt;
Teiepoolsed soovitused koodiparandusteks.&lt;br /&gt;
Teiepoolne hinnang kirjutatud koodile(tekstiline + number 1-5ni).&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
Kodutöö 1&lt;br /&gt;
Tähtaeg 19.03 kell 23:59&lt;br /&gt;
Hinnangute tähtaeg 26.03 kell 23:59&lt;br /&gt;
&lt;br /&gt;
Kodutöö 2&lt;br /&gt;
Tähtaeg 07.05 kell 23:59&lt;br /&gt;
Hinnangute tähtaeg 19.05 23:59&lt;br /&gt;
&lt;br /&gt;
Loengu slaide saab vaadata aadressilt http://enos.itcollege.ee/~mrajur&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Category:I805_Authentication_and_Authorization&amp;diff=117986</id>
		<title>Category:I805 Authentication and Authorization</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Category:I805_Authentication_and_Authorization&amp;diff=117986"/>
		<updated>2017-02-21T07:19:42Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Responsibilities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Authentication and Authorization=&lt;br /&gt;
&lt;br /&gt;
==General information==&lt;br /&gt;
&lt;br /&gt;
In this course we continue where we left off with [https://wiki.itcollege.ee/index.php/Category:I802_Firewalls_and_VPN_IPSec#Firewalls_and_VPN.2FIPSec Firewalls and VPN/IPsec] course.&lt;br /&gt;
&lt;br /&gt;
Relevant topics for research and implementation in the lab.&lt;br /&gt;
Lectures coming up for most of the topics:&lt;br /&gt;
&lt;br /&gt;
* File based password stores eg. /etc/shadow, .htaccess&lt;br /&gt;
* Signing and encrypting e-mail using GPG&lt;br /&gt;
* Active Directory protocols: LM, NTLM, Kerberos, GSSAPI, SPNEGO, LDAP&lt;br /&gt;
* More TLS and client side authentication in particular&lt;br /&gt;
* Filesystem permissions: access control lists, selinux, apparmor&lt;br /&gt;
* RADIUS&lt;br /&gt;
* Multi-factor authentication: smartcards, Yubikey, Mobile-ID, etc&lt;br /&gt;
* Contactless cards&lt;br /&gt;
* On the web: Cookies, OAuth, OpenID, iPizza, &lt;br /&gt;
&lt;br /&gt;
Intro slides &amp;amp; video recording:&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/presentation/d/1NzY8AspqZwrYxoJ3Qi-pBWsMDdiIUeA4lgZnwZGTMVg/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
https://echo360.e-ope.ee/ess/echo/presentation/54eb478c-f6ae-4629-b1e3-c43f5a2f6842?ec=true&lt;br /&gt;
&lt;br /&gt;
=Equipment=&lt;br /&gt;
&lt;br /&gt;
* 3pcs Sun server in the college server room&lt;br /&gt;
* TP-Link WDR3600 wireless router routed to 172.16.*.*&lt;br /&gt;
* HP Probook dual-boot laptop&lt;br /&gt;
* iMac in 412, use admin/admin to log in with local account&lt;br /&gt;
* Robotics Club (wireless) network, routed to to 172.16.*.*&lt;br /&gt;
&lt;br /&gt;
If you forget (local) Windows password use System Rescue CD to reset the password:&lt;br /&gt;
http://www.howtogeek.com/howto/windows-vista/change-your-forgotten-windows-password-with-the-linux-system-rescue-cd/&lt;br /&gt;
&lt;br /&gt;
=Requirements=&lt;br /&gt;
&lt;br /&gt;
Every service should use accounts from Active Directory.&lt;br /&gt;
To achieve that try to use LDAP protocol first.&lt;br /&gt;
Via LDAP you can retreieve the data about accounts.&lt;br /&gt;
If the service machine is not joined to domain create&lt;br /&gt;
a service account in AD to access LDAP interface first.&lt;br /&gt;
It really depends on the software how you need to configure it.&lt;br /&gt;
&lt;br /&gt;
For fileserver/SSH/FTP/mail server first join to domain using winbind: https://help.ubuntu.com/community/ActiveDirectoryWinbindHowto#Join_AD_domain&lt;br /&gt;
For NextCloud, rocket.chat, OwnCloud and most web services configure&lt;br /&gt;
LDAP plugin to retrieve accounts from AD and LDAP bind authentication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Responsibilities=&lt;br /&gt;
&lt;br /&gt;
Everybody should have a task, prepare a howto on the college wiki and have a topic for presentation:&lt;br /&gt;
&lt;br /&gt;
* Mohanad - AD up and running, routing, howto for setting up Active Directory on Windows Server; nagios accounts from AD, possibly with Kerberos SSO&lt;br /&gt;
* Etienne - NextCloud server set up, howto for configuring client/app&lt;br /&gt;
* Taavi - Wiki accounts from AD, possibly using Kerberos SSO&lt;br /&gt;
* Madis Lugus - Gogs accounts from AD, possibly using Kerberos SSO and also SSH public keys from AD&lt;br /&gt;
* Joosep - enos.itcollege.ee clone, web server and MySQL with accoutns from AD&lt;br /&gt;
* Meelis - rocket.chat with accounts from AD via LDAP, possibly with Kerberos SSO, howto for configuring apps&lt;br /&gt;
* Sheela - mailserver with accounts from AD via LDAP, with GSSAPI authentication, howto for configuring Thunderbird/Evolution&lt;br /&gt;
* Artur - e-mail encryption with GPG, howto for average users&lt;br /&gt;
* Ardi - OpenVPN with ID-card auth, isikukood from AD attribute, howto for configuring client&lt;br /&gt;
* Marvin - secondary AD, routing, Samba backup DC?&amp;lt;insert topic of your interest&amp;gt;&lt;br /&gt;
* Arti - Samba as third DC, setting up fileserver on ZFS with SSD-s as journal/cache&lt;br /&gt;
* Kustas - pentest&lt;br /&gt;
* Ender - pentest&lt;br /&gt;
* Mikus - pentest&lt;br /&gt;
* Keijo - how are you going to pass the course?&lt;br /&gt;
* Anton - how are you going to pass the course?&lt;br /&gt;
* Tarvo - how are you going to pass the course?&lt;br /&gt;
* Ats - how are you going to pass the course?&lt;br /&gt;
* Nazmul - how are you going to pass the course?&lt;br /&gt;
&lt;br /&gt;
=Presentations=&lt;br /&gt;
&lt;br /&gt;
Presentation of up to 45min should cover what you did in order to get the service running in the desired state, what problems you had, how others can use your service and what can be done to improve the setup.&lt;br /&gt;
&lt;br /&gt;
This should be more or less in logical order:&lt;br /&gt;
&lt;br /&gt;
* 28. feb - Mohanad, Etienne&lt;br /&gt;
* 7. mar - Taavi, Madis, Artur&lt;br /&gt;
* 14. mar - backup slot&lt;br /&gt;
* 21. mar - Joosep, Meelis&lt;br /&gt;
* 5. apr - Sheela, Ardi&lt;br /&gt;
* 12. apr - backup slot&lt;br /&gt;
* 19. apr - Marvin, Arti&lt;br /&gt;
* 26. apr - Kustas &amp;amp; Ender&lt;br /&gt;
&lt;br /&gt;
=Milestones=&lt;br /&gt;
&lt;br /&gt;
This is just to keep activities in sync&lt;br /&gt;
&lt;br /&gt;
==Milestone 1==&lt;br /&gt;
&lt;br /&gt;
Domain controller is working.&lt;br /&gt;
In the internal network and over VPN connection blah.office.lan DNS requests work as expected.&lt;br /&gt;
&lt;br /&gt;
On a Linux box command line users can authenticate with kerberos client utils:&lt;br /&gt;
&lt;br /&gt;
  kinit username@OFFICE.LAN&lt;br /&gt;
&lt;br /&gt;
On a Linux box command line users can fetch stuff via LDAP:&lt;br /&gt;
&lt;br /&gt;
 ldapsearch -b dc=office,dc=lan  -H ldap://dc-hq.office.lan -D lauri@office.lan -W&lt;br /&gt;
&lt;br /&gt;
Also authenitcation with Kerberos should work:&lt;br /&gt;
&lt;br /&gt;
 ldapsearch -b dc=office,dc=lan  -H ldap://dc-hq.office.lan -Y GSSAPI&lt;br /&gt;
&lt;br /&gt;
To make life easier configure /etc/ldap/ldap.conf, if properly configured short commands work:&lt;br /&gt;
&lt;br /&gt;
 ldapsearch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Milestone 2==&lt;br /&gt;
&lt;br /&gt;
Deadline 21. Feb&lt;br /&gt;
&lt;br /&gt;
Some services are using accounts from AD&lt;br /&gt;
&lt;br /&gt;
==Milestone 3==&lt;br /&gt;
&lt;br /&gt;
Deadline 28. Feb&lt;br /&gt;
&lt;br /&gt;
Service owner has client application configured and knows how to configure them&lt;br /&gt;
&lt;br /&gt;
==Milestone 4==&lt;br /&gt;
&lt;br /&gt;
Deadline 7. Mar&lt;br /&gt;
&lt;br /&gt;
Preliminary manual page created on college wiki for configuring the client application(s).&lt;br /&gt;
Other students are using your service.&lt;br /&gt;
&lt;br /&gt;
==Milestone 5==&lt;br /&gt;
&lt;br /&gt;
Keep services up and running, respond to incidents until 5th of June.&lt;br /&gt;
Server teardown on 5th of May. Wipe harddisks.&lt;br /&gt;
&lt;br /&gt;
Everybody who has completed howto, presented their topic, co-operated with other students and not left all the responsibilities to the last minute will get a passing grade. Slackers have an opportunity to do a (hard) quiz about the topics presented to get a passing grade.&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116252</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116252"/>
		<updated>2016-12-21T01:48:40Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonisüsteemi tasemel virtualiseerimine. Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi &#039;&#039;host&#039;&#039; masinas ühe jagatud [https://en.wikipedia.org/wiki/Kernel_(operating_system) kerneli] peal. Lihtsamalt seletades jagatakse ühe arvuti ressursse mitme konteineri vahel ja konteinerid kasutavad sama kernelit, mida kasutab füüsiline masin. Ressursside jagamise eest vastutabki control groupsi funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (&#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace isolation]&#039;&#039;) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna pole eraldi rõhku pandud turvalisusele. Õpetus on mõeldud juurkasutaja alt käivitamiseks ja pigem mõeldud konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea kasutada test-keskkonnana, kui tahetakse proovida erinevaid rakendusi ja asjade omavahelist ühilduvust, sest uusi masinaid on väga lihtne luua ja kustutada. Turvalisuse kohapealt on positiivne see, et teenused saab ehitada üles erinevate konteinerite sisse, mis on üksteisest eraldatud.&lt;br /&gt;
&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;SSH server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Konteinerite juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
lxc-create - tehakse uus konteiner&lt;br /&gt;
lxc-start - käivitatakse konteiner&lt;br /&gt;
lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse &#039;&#039;host&#039;&#039; masina konsool ja ühendatakse see&lt;br /&gt;
konteineriga. Näitena: kui oled &#039;&#039;host&#039;&#039; masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on loomulikult ka ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
&lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood&lt;br /&gt;
&lt;br /&gt;
 Et näha milliseid seadistusi mall toetab, kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi. Seda on mugav kasutada siis, kui konteinereid tehakse juurkasutajaga, sest siis võetakse konteineris kohe juurkasutaja konsool ette. Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse(näiteks juhul, kui tahad, et konteiner läheb automaatselt tööle.&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Konteiner läheb automaatselt tööle, kui &#039;&#039;host&#039;&#039; masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega veth******.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis neid saab muuta siit.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu IP, teeme &#039;&#039;host&#039;&#039; masina uue [https://en.wikipedia.org/wiki/Bridging_(networking) võrgusilla] mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama ning silmas pidama elementaarseid turvareegleid.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja otsast pihta aluastada. Muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116251</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116251"/>
		<updated>2016-12-21T01:47:44Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Sissejuhatus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonisüsteemi tasemel virtualiseerimine. Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi &#039;&#039;host&#039;&#039; masinas ühe jagatud [https://en.wikipedia.org/wiki/Kernel_(operating_system) kerneli] peal. Lihtsamalt seletades jagatakse ühe arvuti ressursse mitme konteineri vahel ja konteinerid kasutavad sama kernelit, mida kasutab füüsiline masin. Ressursside jagamise eest vastutabki control groupsi funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (&#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace isolation]&#039;&#039;) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna pole eraldi rõhku pandud turvalisusele. Õpetus on mõeldud juurkasutaja alt käivitamiseks ja pigem mõeldud konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea kasutada test-keskkonnana, kui tahetakse proovida erinevaid rakendusi ja asjade omavahelist ühilduvust, sest uusi masinaid on väga lihtne luua ja kustutada. Turvalisuse kohapealt on positiivne see, et teenused saab ehitada üles erinevate konteinerite sisse, mis on üksteisest eraldatud.&lt;br /&gt;
&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;SSH server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Konteinerite juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
lxc-create - tehakse uus konteiner&lt;br /&gt;
lxc-start - käivitatakse konteiner&lt;br /&gt;
lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse host masina konsool ja ühendatakse see&lt;br /&gt;
konteineriga. Näitena: kui oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on loomulikult ka ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
&lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood&lt;br /&gt;
&lt;br /&gt;
 Et näha milliseid seadistusi mall toetab, kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi. Seda on mugav kasutada siis, kui konteinereid tehakse juurkasutajaga, sest siis võetakse konteineris kohe juurkasutaja konsool ette. Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse(näiteks juhul, kui tahad, et konteiner läheb automaatselt tööle.&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Konteiner läheb automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse host masinast. Iga konteineri kohta tekib ka uus võrguliides nimega veth******.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis neid saab muuta siit.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu IP, teeme &#039;&#039;host&#039;&#039; masina uue [https://en.wikipedia.org/wiki/Bridging_(networking) võrgusilla] mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama ning silmas pidama elementaarseid turvareegleid.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja otsast pihta aluastada. Muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116250</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116250"/>
		<updated>2016-12-21T01:46:43Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Kokkuvõte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonisüsteemi tasemel virtualiseerimine. Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi host masinas ühe jagatud [https://en.wikipedia.org/wiki/Kernel_(operating_system) kerneli] peal. Lihtsamalt seletades jagatakse ühe arvuti ressursse mitme konteineri vahel ja konteinerid kasutavad sama kernelit, mida kasutab füüsiline masin. Ressursside jagamise eest vastutabki control groupsi funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (&#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace isolation]&#039;&#039;) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna pole eraldi rõhku pandud turvalisusele. Õpetus on mõeldud juurkasutaja alt käivitamiseks ja pigem mõeldud konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea kasutada test-keskkonnana, kui tahetakse proovida erinevaid rakendusi ja asjade omavahelist ühilduvust, sest uusi masinaid on väga lihtne luua ja kustutada. Turvalisuse kohapealt on positiivne see, et teenused saab ehitada üles erinevate konteinerite sisse, mis on üksteisest eraldatud.&lt;br /&gt;
&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;SSH server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Konteinerite juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
lxc-create - tehakse uus konteiner&lt;br /&gt;
lxc-start - käivitatakse konteiner&lt;br /&gt;
lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse host masina konsool ja ühendatakse see&lt;br /&gt;
konteineriga. Näitena: kui oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on loomulikult ka ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
&lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood&lt;br /&gt;
&lt;br /&gt;
 Et näha milliseid seadistusi mall toetab, kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi. Seda on mugav kasutada siis, kui konteinereid tehakse juurkasutajaga, sest siis võetakse konteineris kohe juurkasutaja konsool ette. Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse(näiteks juhul, kui tahad, et konteiner läheb automaatselt tööle.&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Konteiner läheb automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse host masinast. Iga konteineri kohta tekib ka uus võrguliides nimega veth******.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis neid saab muuta siit.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu IP, teeme &#039;&#039;host&#039;&#039; masina uue [https://en.wikipedia.org/wiki/Bridging_(networking) võrgusilla] mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama ning silmas pidama elementaarseid turvareegleid.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja otsast pihta aluastada. Muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116249</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116249"/>
		<updated>2016-12-21T01:45:53Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Turvalisus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonisüsteemi tasemel virtualiseerimine. Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi host masinas ühe jagatud [https://en.wikipedia.org/wiki/Kernel_(operating_system) kerneli] peal. Lihtsamalt seletades jagatakse ühe arvuti ressursse mitme konteineri vahel ja konteinerid kasutavad sama kernelit, mida kasutab füüsiline masin. Ressursside jagamise eest vastutabki control groupsi funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (&#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace isolation]&#039;&#039;) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna pole eraldi rõhku pandud turvalisusele. Õpetus on mõeldud juurkasutaja alt käivitamiseks ja pigem mõeldud konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea kasutada test-keskkonnana, kui tahetakse proovida erinevaid rakendusi ja asjade omavahelist ühilduvust, sest uusi masinaid on väga lihtne luua ja kustutada. Turvalisuse kohapealt on positiivne see, et teenused saab ehitada üles erinevate konteinerite sisse, mis on üksteisest eraldatud.&lt;br /&gt;
&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;SSH server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Konteinerite juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
lxc-create - tehakse uus konteiner&lt;br /&gt;
lxc-start - käivitatakse konteiner&lt;br /&gt;
lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse host masina konsool ja ühendatakse see&lt;br /&gt;
konteineriga. Näitena: kui oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on loomulikult ka ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
&lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood&lt;br /&gt;
&lt;br /&gt;
 Et näha milliseid seadistusi mall toetab, kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi. Seda on mugav kasutada siis, kui konteinereid tehakse juurkasutajaga, sest siis võetakse konteineris kohe juurkasutaja konsool ette. Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse(näiteks juhul, kui tahad, et konteiner läheb automaatselt tööle.&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Konteiner läheb automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse host masinast. Iga konteineri kohta tekib ka uus võrguliides nimega veth******.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis neid saab muuta siit.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu IP, teeme &#039;&#039;host&#039;&#039; masina uue [https://en.wikipedia.org/wiki/Bridging_(networking) võrgusilla] mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama ning silmas pidama elementaarseid turvareegleid.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116248</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116248"/>
		<updated>2016-12-21T01:42:21Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Võrgu seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonisüsteemi tasemel virtualiseerimine. Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi host masinas ühe jagatud [https://en.wikipedia.org/wiki/Kernel_(operating_system) kerneli] peal. Lihtsamalt seletades jagatakse ühe arvuti ressursse mitme konteineri vahel ja konteinerid kasutavad sama kernelit, mida kasutab füüsiline masin. Ressursside jagamise eest vastutabki control groupsi funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (&#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace isolation]&#039;&#039;) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna pole eraldi rõhku pandud turvalisusele. Õpetus on mõeldud juurkasutaja alt käivitamiseks ja pigem mõeldud konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea kasutada test-keskkonnana, kui tahetakse proovida erinevaid rakendusi ja asjade omavahelist ühilduvust, sest uusi masinaid on väga lihtne luua ja kustutada. Turvalisuse kohapealt on positiivne see, et teenused saab ehitada üles erinevate konteinerite sisse, mis on üksteisest eraldatud.&lt;br /&gt;
&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;SSH server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Konteinerite juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
lxc-create - tehakse uus konteiner&lt;br /&gt;
lxc-start - käivitatakse konteiner&lt;br /&gt;
lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse host masina konsool ja ühendatakse see&lt;br /&gt;
konteineriga. Näitena: kui oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on loomulikult ka ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
&lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood&lt;br /&gt;
&lt;br /&gt;
 Et näha milliseid seadistusi mall toetab, kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi. Seda on mugav kasutada siis, kui konteinereid tehakse juurkasutajaga, sest siis võetakse konteineris kohe juurkasutaja konsool ette. Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse(näiteks juhul, kui tahad, et konteiner läheb automaatselt tööle.&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Konteiner läheb automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse host masinast. Iga konteineri kohta tekib ka uus võrguliides nimega veth******.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis neid saab muuta siit.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu IP, teeme &#039;&#039;host&#039;&#039; masina uue [https://en.wikipedia.org/wiki/Bridging_(networking) võrgusilla] mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine, et mul asjad jooksevad konteineris, las murravad sisse on väga vale.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116247</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116247"/>
		<updated>2016-12-21T01:40:49Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Võrgu seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonisüsteemi tasemel virtualiseerimine. Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi host masinas ühe jagatud [https://en.wikipedia.org/wiki/Kernel_(operating_system) kerneli] peal. Lihtsamalt seletades jagatakse ühe arvuti ressursse mitme konteineri vahel ja konteinerid kasutavad sama kernelit, mida kasutab füüsiline masin. Ressursside jagamise eest vastutabki control groupsi funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (&#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace isolation]&#039;&#039;) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna pole eraldi rõhku pandud turvalisusele. Õpetus on mõeldud juurkasutaja alt käivitamiseks ja pigem mõeldud konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea kasutada test-keskkonnana, kui tahetakse proovida erinevaid rakendusi ja asjade omavahelist ühilduvust, sest uusi masinaid on väga lihtne luua ja kustutada. Turvalisuse kohapealt on positiivne see, et teenused saab ehitada üles erinevate konteinerite sisse, mis on üksteisest eraldatud.&lt;br /&gt;
&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;SSH server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Konteinerite juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
lxc-create - tehakse uus konteiner&lt;br /&gt;
lxc-start - käivitatakse konteiner&lt;br /&gt;
lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse host masina konsool ja ühendatakse see&lt;br /&gt;
konteineriga. Näitena: kui oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on loomulikult ka ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
&lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood&lt;br /&gt;
&lt;br /&gt;
 Et näha milliseid seadistusi mall toetab, kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi. Seda on mugav kasutada siis, kui konteinereid tehakse juurkasutajaga, sest siis võetakse konteineris kohe juurkasutaja konsool ette. Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse(näiteks juhul, kui tahad, et konteiner läheb automaatselt tööle.&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Konteiner läheb automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse host masinast. Iga konteineri kohta tekib ka uus võrguliides nimega veth******.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis neid saab muuta siit.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue [https://en.wikipedia.org/wiki/Bridging_(networking) võrgusilla] mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine, et mul asjad jooksevad konteineris, las murravad sisse on väga vale.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116246</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116246"/>
		<updated>2016-12-21T01:40:15Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Võrgu seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonisüsteemi tasemel virtualiseerimine. Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi host masinas ühe jagatud [https://en.wikipedia.org/wiki/Kernel_(operating_system) kerneli] peal. Lihtsamalt seletades jagatakse ühe arvuti ressursse mitme konteineri vahel ja konteinerid kasutavad sama kernelit, mida kasutab füüsiline masin. Ressursside jagamise eest vastutabki control groupsi funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (&#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace isolation]&#039;&#039;) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna pole eraldi rõhku pandud turvalisusele. Õpetus on mõeldud juurkasutaja alt käivitamiseks ja pigem mõeldud konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea kasutada test-keskkonnana, kui tahetakse proovida erinevaid rakendusi ja asjade omavahelist ühilduvust, sest uusi masinaid on väga lihtne luua ja kustutada. Turvalisuse kohapealt on positiivne see, et teenused saab ehitada üles erinevate konteinerite sisse, mis on üksteisest eraldatud.&lt;br /&gt;
&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;SSH server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Konteinerite juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
lxc-create - tehakse uus konteiner&lt;br /&gt;
lxc-start - käivitatakse konteiner&lt;br /&gt;
lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse host masina konsool ja ühendatakse see&lt;br /&gt;
konteineriga. Näitena: kui oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on loomulikult ka ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
&lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood&lt;br /&gt;
&lt;br /&gt;
 Et näha milliseid seadistusi mall toetab, kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi. Seda on mugav kasutada siis, kui konteinereid tehakse juurkasutajaga, sest siis võetakse konteineris kohe juurkasutaja konsool ette. Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse(näiteks juhul, kui tahad, et konteiner läheb automaatselt tööle.&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Konteiner läheb automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse host masinast. Iga konteineri kohta tekib ka uus võrguliides nimega veth******.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue [https://en.wikipedia.org/wiki/Bridging_(networking) võrgusilla] mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine, et mul asjad jooksevad konteineris, las murravad sisse on väga vale.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116245</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116245"/>
		<updated>2016-12-21T01:38:57Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Malli seaded */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonisüsteemi tasemel virtualiseerimine. Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi host masinas ühe jagatud [https://en.wikipedia.org/wiki/Kernel_(operating_system) kerneli] peal. Lihtsamalt seletades jagatakse ühe arvuti ressursse mitme konteineri vahel ja konteinerid kasutavad sama kernelit, mida kasutab füüsiline masin. Ressursside jagamise eest vastutabki control groupsi funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (&#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace isolation]&#039;&#039;) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna pole eraldi rõhku pandud turvalisusele. Õpetus on mõeldud juurkasutaja alt käivitamiseks ja pigem mõeldud konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea kasutada test-keskkonnana, kui tahetakse proovida erinevaid rakendusi ja asjade omavahelist ühilduvust, sest uusi masinaid on väga lihtne luua ja kustutada. Turvalisuse kohapealt on positiivne see, et teenused saab ehitada üles erinevate konteinerite sisse, mis on üksteisest eraldatud.&lt;br /&gt;
&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;SSH server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Konteinerite juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
lxc-create - tehakse uus konteiner&lt;br /&gt;
lxc-start - käivitatakse konteiner&lt;br /&gt;
lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse host masina konsool ja ühendatakse see&lt;br /&gt;
konteineriga. Näitena: kui oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on loomulikult ka ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
&lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood&lt;br /&gt;
&lt;br /&gt;
 Et näha milliseid seadistusi mall toetab, kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi. Seda on mugav kasutada siis, kui konteinereid tehakse juurkasutajaga, sest siis võetakse konteineris kohe juurkasutaja konsool ette. Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse(näiteks juhul, kui tahad, et konteiner läheb automaatselt tööle.&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Konteiner läheb automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue [https://en.wikipedia.org/wiki/Bridging_(networking) võrgusilla] mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine, et mul asjad jooksevad konteineris, las murravad sisse on väga vale.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116244</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116244"/>
		<updated>2016-12-21T01:37:33Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Malli seaded */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonisüsteemi tasemel virtualiseerimine. Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi host masinas ühe jagatud [https://en.wikipedia.org/wiki/Kernel_(operating_system) kerneli] peal. Lihtsamalt seletades jagatakse ühe arvuti ressursse mitme konteineri vahel ja konteinerid kasutavad sama kernelit, mida kasutab füüsiline masin. Ressursside jagamise eest vastutabki control groupsi funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (&#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace isolation]&#039;&#039;) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna pole eraldi rõhku pandud turvalisusele. Õpetus on mõeldud juurkasutaja alt käivitamiseks ja pigem mõeldud konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea kasutada test-keskkonnana, kui tahetakse proovida erinevaid rakendusi ja asjade omavahelist ühilduvust, sest uusi masinaid on väga lihtne luua ja kustutada. Turvalisuse kohapealt on positiivne see, et teenused saab ehitada üles erinevate konteinerite sisse, mis on üksteisest eraldatud.&lt;br /&gt;
&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;SSH server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Konteinerite juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
lxc-create - tehakse uus konteiner&lt;br /&gt;
lxc-start - käivitatakse konteiner&lt;br /&gt;
lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse host masina konsool ja ühendatakse see&lt;br /&gt;
konteineriga. Näitena: kui oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on loomulikult ka ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
&lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood&lt;br /&gt;
&lt;br /&gt;
 Et näha milliseid seadistusi mall toetab, kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi. Seda on mugav kasutada siis, kui konteinereid tehakse juurkasutajaga, sest siis võetakse konteineris kohe juurkasutaja konsool ette. Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse(näiteks juhul, kui tahad, et konteiner läheb automaatselt tööle.&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue [https://en.wikipedia.org/wiki/Bridging_(networking) võrgusilla] mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine, et mul asjad jooksevad konteineris, las murravad sisse on väga vale.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116243</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116243"/>
		<updated>2016-12-21T01:36:10Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Haldamine ja seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonisüsteemi tasemel virtualiseerimine. Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi host masinas ühe jagatud [https://en.wikipedia.org/wiki/Kernel_(operating_system) kerneli] peal. Lihtsamalt seletades jagatakse ühe arvuti ressursse mitme konteineri vahel ja konteinerid kasutavad sama kernelit, mida kasutab füüsiline masin. Ressursside jagamise eest vastutabki control groupsi funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (&#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace isolation]&#039;&#039;) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna pole eraldi rõhku pandud turvalisusele. Õpetus on mõeldud juurkasutaja alt käivitamiseks ja pigem mõeldud konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea kasutada test-keskkonnana, kui tahetakse proovida erinevaid rakendusi ja asjade omavahelist ühilduvust, sest uusi masinaid on väga lihtne luua ja kustutada. Turvalisuse kohapealt on positiivne see, et teenused saab ehitada üles erinevate konteinerite sisse, mis on üksteisest eraldatud.&lt;br /&gt;
&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;SSH server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Konteinerite juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
lxc-create - tehakse uus konteiner&lt;br /&gt;
lxc-start - käivitatakse konteiner&lt;br /&gt;
lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse host masina konsool ja ühendatakse see&lt;br /&gt;
konteineriga. Näitena: kui oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on loomulikult ka ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
&lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood&lt;br /&gt;
&lt;br /&gt;
 Et näha milliseid seadistusi mall toetab, kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi. Seda on mugav kasutada siis, kui konteinereid tehakse juurkasutajaga, sest siis võetakse konteineris kohe juurkasutaja konsool ette. Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et konteiner lähe automaatselt tööle.&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue [https://en.wikipedia.org/wiki/Bridging_(networking) võrgusilla] mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine, et mul asjad jooksevad konteineris, las murravad sisse on väga vale.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116242</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116242"/>
		<updated>2016-12-21T01:34:45Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Konteinerite tegemine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonisüsteemi tasemel virtualiseerimine. Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi host masinas ühe jagatud [https://en.wikipedia.org/wiki/Kernel_(operating_system) kerneli] peal. Lihtsamalt seletades jagatakse ühe arvuti ressursse mitme konteineri vahel ja konteinerid kasutavad sama kernelit, mida kasutab füüsiline masin. Ressursside jagamise eest vastutabki control groupsi funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (&#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace isolation]&#039;&#039;) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna pole eraldi rõhku pandud turvalisusele. Õpetus on mõeldud juurkasutaja alt käivitamiseks ja pigem mõeldud konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea kasutada test-keskkonnana, kui tahetakse proovida erinevaid rakendusi ja asjade omavahelist ühilduvust, sest uusi masinaid on väga lihtne luua ja kustutada. Turvalisuse kohapealt on positiivne see, et teenused saab ehitada üles erinevate konteinerite sisse, mis on üksteisest eraldatud.&lt;br /&gt;
&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;SSH server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Konteinerite juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
lxc-create - tehakse uus konteiner&lt;br /&gt;
lxc-start - käivitatakse konteiner&lt;br /&gt;
lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse host masina konsool ja ühendatakse see&lt;br /&gt;
konteineriga. Näitena: kui oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on loomulikult ka ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
&lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood&lt;br /&gt;
&lt;br /&gt;
 Et näha milliseid seadistusi mall toetab, kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et konteiner lähe automaatselt tööle.&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue [https://en.wikipedia.org/wiki/Bridging_(networking) võrgusilla] mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine, et mul asjad jooksevad konteineris, las murravad sisse on väga vale.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116240</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116240"/>
		<updated>2016-12-21T01:03:06Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonisüsteemi tasemel virtualiseerimine. Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi host masinas ühe jagatud [https://en.wikipedia.org/wiki/Kernel_(operating_system) kerneli] peal. Lihtsamalt seletades jagatakse ühe arvuti ressursse mitme konteineri vahel ja konteinerid kasutavad sama kernelit, mida kasutab füüsiline masin. Ressursside jagamise eest vastutabki control groupsi funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (&#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace isolation]&#039;&#039;) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna pole eraldi rõhku pandud turvalisusele. Õpetus on mõeldud juurkasutaja alt käivitamiseks ja pigem mõeldud konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea kasutada test-keskkonnana, kui tahetakse proovida erinevaid rakendusi ja asjade omavahelist ühilduvust, sest uusi masinaid on väga lihtne luua ja kustutada. Turvalisuse kohapealt on positiivne see, et teenused saab ehitada üles erinevate konteinerite sisse, mis on üksteisest eraldatud.&lt;br /&gt;
&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;SSH server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Konteinerite juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
lxc-create - tehakse uus konteiner&lt;br /&gt;
lxc-start - käivitatakse konteiner&lt;br /&gt;
lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse host masina konsool ja ühendatakse see&lt;br /&gt;
konteineriga. Näitena: kui oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on loomulikult ka ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et konteiner lähe automaatselt tööle.&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue [https://en.wikipedia.org/wiki/Bridging_(networking) võrgusilla] mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine, et mul asjad jooksevad konteineris, las murravad sisse on väga vale.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116239</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116239"/>
		<updated>2016-12-21T00:58:15Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Vajalikumad käsud */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonisüsteemi tasemel virtualiseerimine. Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi host masinas ühe jagatud [https://en.wikipedia.org/wiki/Kernel_(operating_system) kerneli] peal. Lihtsamalt seletades jagatakse ühe arvuti ressursse mitme konteineri vahel ja konteinerid kasutavad sama kernelit, mida kasutab füüsiline masin. Ressursside jagamise eest vastutabki control groupsi funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (&#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace isolation]&#039;&#039;) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna pole eraldi rõhku pandud turvalisusele. Õpetus on mõeldud juurkasutaja alt käivitamiseks ja pigem mõeldud konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea kasutada test-keskkonnana, kui tahetakse proovida erinevaid rakendusi ja asjade omavahelist ühilduvust, sest uusi masinaid on väga lihtne luua ja kustutada. Turvalisuse kohapealt on positiivne see, et teenused saab ehitada üles erinevate konteinerite sisse, mis on üksteisest eraldatud.&lt;br /&gt;
&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;SSH server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Konteinerite juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
lxc-create - tehakse uus konteiner&lt;br /&gt;
lxc-start - käivitatakse konteiner&lt;br /&gt;
lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse host masina konsool ja ühendatakse see&lt;br /&gt;
konteineriga. Näitena: kui oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et konteiner lähe automaatselt tööle.&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue [https://en.wikipedia.org/wiki/Bridging_(networking) võrgusilla] mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine, et mul asjad jooksevad konteineris, las murravad sisse on väga vale.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116238</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116238"/>
		<updated>2016-12-21T00:56:27Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Taust */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonisüsteemi tasemel virtualiseerimine. Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi host masinas ühe jagatud [https://en.wikipedia.org/wiki/Kernel_(operating_system) kerneli] peal. Lihtsamalt seletades jagatakse ühe arvuti ressursse mitme konteineri vahel ja konteinerid kasutavad sama kernelit, mida kasutab füüsiline masin. Ressursside jagamise eest vastutabki control groupsi funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (&#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace isolation]&#039;&#039;) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna pole eraldi rõhku pandud turvalisusele. Õpetus on mõeldud juurkasutaja alt käivitamiseks ja pigem mõeldud konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea kasutada test-keskkonnana, kui tahetakse proovida erinevaid rakendusi ja asjade omavahelist ühilduvust, sest uusi masinaid on väga lihtne luua ja kustutada. Turvalisuse kohapealt on positiivne see, et teenused saab ehitada üles erinevate konteinerite sisse, mis on üksteisest eraldatud.&lt;br /&gt;
&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;SSH server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Konteinerite juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
 lxc-create - tehakse uus konteiner&lt;br /&gt;
 lxc-start - käivitatakse konteiner&lt;br /&gt;
 lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
 lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse &#039;&#039;host&#039;&#039; masina konsool ja ühendatakse see&lt;br /&gt;
 konteineriga. Näiteks oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
 lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et konteiner lähe automaatselt tööle.&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue [https://en.wikipedia.org/wiki/Bridging_(networking) võrgusilla] mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine, et mul asjad jooksevad konteineris, las murravad sisse on väga vale.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116234</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116234"/>
		<updated>2016-12-21T00:53:49Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Taust */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonisüsteemi tasemel virtualiseerimine. Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi host masinas ühe jagatud [https://en.wikipedia.org/wiki/Kernel_(operating_system) kerneli] peal. Lihtsamalt seletades jagatakse ühe arvuti ressursse mitme konteineri vahel ja konteinerid kasutavad sama kernelit, mida kasutab füüsiline masin. Ressursside jagamise eest vastutabki control groupsi funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (&#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace isolation]&#039;&#039;) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna pole eraldi rõhku pandud turvalisusele. Õpetus on mõeldud juurkasutaja alt käivitamiseks ja pigem mõeldud konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea kasutada test-keskkonnana, kui tahetakse proovida erinevaid rakendusi ja asjade omavahelist ühilduvust, sest uusi masinaid on väga lihtne luua ja kustutada. Turvalisuse kohapealt on positiivne see, et teenused saab ehitada üles erinevate konteinerite sisse, mis on üksteisest eraldatud.&lt;br /&gt;
&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;ssh server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Konteinerite juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
 lxc-create - tehakse uus konteiner&lt;br /&gt;
 lxc-start - käivitatakse konteiner&lt;br /&gt;
 lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
 lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse &#039;&#039;host&#039;&#039; masina konsool ja ühendatakse see&lt;br /&gt;
 konteineriga. Näiteks oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
 lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et konteiner lähe automaatselt tööle.&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue [https://en.wikipedia.org/wiki/Bridging_(networking) võrgusilla] mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine, et mul asjad jooksevad konteineris, las murravad sisse on väga vale.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116233</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116233"/>
		<updated>2016-12-21T00:53:09Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Sissejuhatus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonisüsteemi tasemel virtualiseerimine. Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi host masinas ühe jagatud [https://en.wikipedia.org/wiki/Kernel_(operating_system) kerneli] peal. Lihtsamalt seletades jagatakse ühe arvuti ressursse mitme konteineri vahel ja konteinerid kasutavad sama kernelit, mida kasutab füüsiline masin. Ressursside jagamise eest vastutabki control groupsi funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (&#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace isolation]&#039;&#039;) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna pole eraldi rõhku pandud turvalisusele. Õpetus on mõeldud juurkasutaja alt käivitamiseks ja pigem mõeldud konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea kasutada testimise keskonnas, kui tahetakse proovida erinevaid rakendusi ja kuidas asjad omavahel ühilduvad, sest masinaid on väga lihtne teha. Turvalisuse kohapealt on see hea, et teenused saab panna erinvate konteinerite peal tööle.&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;ssh server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Konteinerite juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
 lxc-create - tehakse uus konteiner&lt;br /&gt;
 lxc-start - käivitatakse konteiner&lt;br /&gt;
 lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
 lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse &#039;&#039;host&#039;&#039; masina konsool ja ühendatakse see&lt;br /&gt;
 konteineriga. Näiteks oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
 lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et konteiner lähe automaatselt tööle.&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue [https://en.wikipedia.org/wiki/Bridging_(networking) võrgusilla] mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine, et mul asjad jooksevad konteineris, las murravad sisse on väga vale.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116232</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116232"/>
		<updated>2016-12-21T00:52:49Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Sissejuhatus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonisüsteemi tasemel virtualiseerimine.&lt;br /&gt;
Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi, &#039;&#039;host&#039;&#039; masinas ühe jagatud [https://en.wikipedia.org/wiki/Kernel_(operating_system) kerneli] peal. Lihtsamalt seletades jagab ühe arvuti resursi mitme konteineri vahel ja konteinerid kasutavad füüsilise masinaga samat kernelit. Resursside jagamise eest vastutabki &#039;&#039;control groupsi&#039;&#039; funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (&#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace isolation]&#039;&#039;) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna ei ole turvalisusele palju rõhku pandud, õpetus on mõeldud juur kasutaja alt käivitamiseks ja rohkem konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonisüsteemi tasemel virtualiseerimine. Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi host masinas ühe jagatud [https://en.wikipedia.org/wiki/Kernel_(operating_system) kerneli] peal. Lihtsamalt seletades jagatakse ühe arvuti ressursse mitme konteineri vahel ja konteinerid kasutavad sama kernelit, mida kasutab füüsiline masin. Ressursside jagamise eest vastutabki control groupsi funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (&#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace isolation]&#039;&#039;) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna pole eraldi rõhku pandud turvalisusele. Õpetus on mõeldud juurkasutaja alt käivitamiseks ja pigem mõeldud konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea kasutada testimise keskonnas, kui tahetakse proovida erinevaid rakendusi ja kuidas asjad omavahel ühilduvad, sest masinaid on väga lihtne teha. Turvalisuse kohapealt on see hea, et teenused saab panna erinvate konteinerite peal tööle.&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;ssh server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Konteinerite juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
 lxc-create - tehakse uus konteiner&lt;br /&gt;
 lxc-start - käivitatakse konteiner&lt;br /&gt;
 lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
 lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse &#039;&#039;host&#039;&#039; masina konsool ja ühendatakse see&lt;br /&gt;
 konteineriga. Näiteks oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
 lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et konteiner lähe automaatselt tööle.&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue [https://en.wikipedia.org/wiki/Bridging_(networking) võrgusilla] mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine, et mul asjad jooksevad konteineris, las murravad sisse on väga vale.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116231</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116231"/>
		<updated>2016-12-21T00:51:20Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Sissejuhatus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonisüsteemi tasemel virtualiseerimine.&lt;br /&gt;
Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi, &#039;&#039;host&#039;&#039; masinas ühe jagatud [https://en.wikipedia.org/wiki/Kernel_(operating_system) kerneli] peal. Lihtsamalt seletades jagab ühe arvuti resursi mitme konteineri vahel ja konteinerid kasutavad füüsilise masinaga samat kernelit. Resursside jagamise eest vastutabki &#039;&#039;control groupsi&#039;&#039; funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (&#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace isolation]&#039;&#039;) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna ei ole turvalisusele palju rõhku pandud, õpetus on mõeldud juur kasutaja alt käivitamiseks ja rohkem konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonisüsteemi tasemel virtualiseerimine. Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma control groups(cgroups) funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi host masinas ühe jagatud [https://en.wikipedia.org/wiki/Kernel_(operating_system) kerneli] peal. Lihtsamalt seletades jagatakse ühe arvuti ressursse mitme konteineri vahel ja konteinerid kasutavad sama kernelit, mida kasutab füüsiline masin. Ressursside jagamise eest vastutabki control groupsi funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (&#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace isolation]&#039;&#039;) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna pole eraldi rõhku pandud turvalisusele. Õpetus on mõeldud juurkasutaja alt käivitamiseks ja pigem mõeldud konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea kasutada testimise keskonnas, kui tahetakse proovida erinevaid rakendusi ja kuidas asjad omavahel ühilduvad, sest masinaid on väga lihtne teha. Turvalisuse kohapealt on see hea, et teenused saab panna erinvate konteinerite peal tööle.&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;ssh server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Konteinerite juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
 lxc-create - tehakse uus konteiner&lt;br /&gt;
 lxc-start - käivitatakse konteiner&lt;br /&gt;
 lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
 lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse &#039;&#039;host&#039;&#039; masina konsool ja ühendatakse see&lt;br /&gt;
 konteineriga. Näiteks oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
 lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et konteiner lähe automaatselt tööle.&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue [https://en.wikipedia.org/wiki/Bridging_(networking) võrgusilla] mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine, et mul asjad jooksevad konteineris, las murravad sisse on väga vale.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116230</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116230"/>
		<updated>2016-12-21T00:50:24Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Sissejuhatus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonisüsteemi tasemel virtualiseerimine.&lt;br /&gt;
Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi, &#039;&#039;host&#039;&#039; masinas ühe jagatud [https://en.wikipedia.org/wiki/Kernel_(operating_system) kerneli] peal. Lihtsamalt seletades jagab ühe arvuti resursi mitme konteineri vahel ja konteinerid kasutavad füüsilise masinaga samat kernelit. Resursside jagamise eest vastutabki &#039;&#039;control groupsi&#039;&#039; funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (&#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace isolation]&#039;&#039;) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna ei ole turvalisusele palju rõhku pandud, õpetus on mõeldud juur kasutaja alt käivitamiseks ja rohkem konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonisüsteemi tasemel virtualiseerimine. Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma control groups(cgroups) funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi host masinas ühe jagatud [https://en.wikipedia.org/wiki/Kernel_(operating_system) kerneli] peal. Lihtsamalt seletades jagatakse ühe arvuti ressursse mitme konteineri vahel ja konteinerid kasutavad sama kernelit, mida kasutab füüsiline masin. Ressursside jagamise eest vastutabki control groupsi funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (Namespace isolation) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna pole eraldi rõhku pandud turvalisusele. Õpetus on mõeldud juurkasutaja alt käivitamiseks ja pigem mõeldud konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea kasutada testimise keskonnas, kui tahetakse proovida erinevaid rakendusi ja kuidas asjad omavahel ühilduvad, sest masinaid on väga lihtne teha. Turvalisuse kohapealt on see hea, et teenused saab panna erinvate konteinerite peal tööle.&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;ssh server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Konteinerite juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
 lxc-create - tehakse uus konteiner&lt;br /&gt;
 lxc-start - käivitatakse konteiner&lt;br /&gt;
 lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
 lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse &#039;&#039;host&#039;&#039; masina konsool ja ühendatakse see&lt;br /&gt;
 konteineriga. Näiteks oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
 lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et konteiner lähe automaatselt tööle.&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue [https://en.wikipedia.org/wiki/Bridging_(networking) võrgusilla] mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine, et mul asjad jooksevad konteineris, las murravad sisse on väga vale.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116229</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116229"/>
		<updated>2016-12-21T00:47:40Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Sissejuhatus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonisüsteemi tasemel virtualiseerimine.&lt;br /&gt;
Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi, &#039;&#039;host&#039;&#039; masinas ühe jagatud [https://en.wikipedia.org/wiki/Kernel_(operating_system) kerneli] peal. Lihtsamalt seletades jagab ühe arvuti resursi mitme konteineri vahel ja konteinerid kasutavad füüsilise masinaga samat kernelit. Resursside jagamise eest vastutabki &#039;&#039;control groupsi&#039;&#039; funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (&#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace isolation]&#039;&#039;) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna ei ole turvalisusele palju rõhku pandud, õpetus on mõeldud juur kasutaja alt käivitamiseks ja rohkem konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonisüsteemi tasemel virtualiseerimine. Linuxi konteinerid ehk Linux Conteiners(LXC) on tehnoloogia mis kasutab Linuxi tuuma control groups(cgroups) funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi host masinas ühe jagatud kerneli peal. Lihtsamalt seletades jagatakse ühe arvuti ressursse mitme konteineri vahel ja konteinerid kasutavad sama kernelit, mida kasutab füüsiline masin. Ressursside jagamise eest vastutabki control groupsi funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (Namespace isolation) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.[1] NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna pole eraldi rõhku pandud turvalisusele. Õpetus on mõeldud juurkasutaja alt käivitamiseks ja pigem mõeldud konteinerite tutvustamiseks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea kasutada testimise keskonnas, kui tahetakse proovida erinevaid rakendusi ja kuidas asjad omavahel ühilduvad, sest masinaid on väga lihtne teha. Turvalisuse kohapealt on see hea, et teenused saab panna erinvate konteinerite peal tööle.&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;ssh server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Konteinerite juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
 lxc-create - tehakse uus konteiner&lt;br /&gt;
 lxc-start - käivitatakse konteiner&lt;br /&gt;
 lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
 lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse &#039;&#039;host&#039;&#039; masina konsool ja ühendatakse see&lt;br /&gt;
 konteineriga. Näiteks oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
 lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et konteiner lähe automaatselt tööle.&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue [https://en.wikipedia.org/wiki/Bridging_(networking) võrgusilla] mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine, et mul asjad jooksevad konteineris, las murravad sisse on väga vale.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Lxc&amp;diff=116227</id>
		<title>Talk:Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Lxc&amp;diff=116227"/>
		<updated>2016-12-20T21:24:13Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: Created page with &amp;quot;{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; |- ! KRITEERIUM ! KAAL ! HINNANG ! SELGITUS |-   |- | Skoop | 0,5 | | |-  |- | Artikli tutvustus ja versioon | 0,5 | | |-  |- | Sissejuhatus |...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! KRITEERIUM&lt;br /&gt;
! KAAL&lt;br /&gt;
! HINNANG&lt;br /&gt;
! SELGITUS&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Skoop&lt;br /&gt;
| 0,5&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Artikli tutvustus ja versioon&lt;br /&gt;
| 0,5&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Sissejuhatus&lt;br /&gt;
| 0,5&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tehniliselt korrektne&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Kasutatud kirjandus&lt;br /&gt;
| 0,5&lt;br /&gt;
| 5&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Näited kasutamiseks/käsud&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Sisu&lt;br /&gt;
| 4&lt;br /&gt;
|&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Ülesehitus&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Kirjavead ja õigekiri&lt;br /&gt;
| 1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Kokku&lt;br /&gt;
| 10&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116226</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116226"/>
		<updated>2016-12-20T20:26:28Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Sissejuhatus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonisüsteemi tasemel virtualiseerimine.&lt;br /&gt;
Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi, &#039;&#039;host&#039;&#039; masinas ühe jagatud [https://en.wikipedia.org/wiki/Kernel_(operating_system) kerneli] peal. Lihtsamalt seletades jagab ühe arvuti resursi mitme konteineri vahel ja konteinerid kasutavad füüsilise masinaga samat kernelit. Resursside jagamise eest vastutabki &#039;&#039;control groupsi&#039;&#039; funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (&#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace isolation]&#039;&#039;) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna ei ole turvalisusele palju rõhku pandud, õpetus on mõeldud juur kasutaja alt käivitamiseks ja rohkem konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea kasutada testimise keskonnas, kui tahetakse proovida erinevaid rakendusi ja kuidas asjad omavahel ühilduvad, sest masinaid on väga lihtne teha. Turvalisuse kohapealt on see hea, et teenused saab panna erinvate konteinerite peal tööle.&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;ssh server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Konteinerite juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
 lxc-create - tehakse uus konteiner&lt;br /&gt;
 lxc-start - käivitatakse konteiner&lt;br /&gt;
 lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
 lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse &#039;&#039;host&#039;&#039; masina konsool ja ühendatakse see&lt;br /&gt;
 konteineriga. Näiteks oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
 lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et konteiner lähe automaatselt tööle.&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue [https://en.wikipedia.org/wiki/Bridging_(networking) võrgusilla] mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine, et mul asjad jooksevad konteineris, las murravad sisse on väga vale.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116209</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116209"/>
		<updated>2016-12-20T18:18:50Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Võrgu seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonisüsteemi tasemel virtualiseerimine.&lt;br /&gt;
Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi, &#039;&#039;host&#039;&#039; masinas ühe jagatud kerneli peal. Lihtsamalt seletades jagab ühe arvuti resursi mitme konteineri vahel ja konteinerid kasutavad füüsilise masinaga samat kernelit. Resursside jagamise eest vastutabki &#039;&#039;control groupsi&#039;&#039; funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (&#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace isolation]&#039;&#039;) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna ei ole turvalisusele palju rõhku pandud, õpetus on mõeldud juur kasutaja alt käivitamiseks ja rohkem konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea kasutada testimise keskonnas, kui tahetakse proovida erinevaid rakendusi ja kuidas asjad omavahel ühilduvad, sest masinaid on väga lihtne teha. Turvalisuse kohapealt on see hea, et teenused saab panna erinvate konteinerite peal tööle.&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;ssh server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Konteinerite juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
 lxc-create - tehakse uus konteiner&lt;br /&gt;
 lxc-start - käivitatakse konteiner&lt;br /&gt;
 lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
 lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse &#039;&#039;host&#039;&#039; masina konsool ja ühendatakse see&lt;br /&gt;
 konteineriga. Näiteks oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
 lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et konteiner lähe automaatselt tööle.&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue [https://en.wikipedia.org/wiki/Bridging_(networking) võrgusilla] mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine, et mul asjad jooksevad konteineris, las murravad sisse on väga vale.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116206</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116206"/>
		<updated>2016-12-20T18:15:21Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Malli seaded */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonisüsteemi tasemel virtualiseerimine.&lt;br /&gt;
Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi, &#039;&#039;host&#039;&#039; masinas ühe jagatud kerneli peal. Lihtsamalt seletades jagab ühe arvuti resursi mitme konteineri vahel ja konteinerid kasutavad füüsilise masinaga samat kernelit. Resursside jagamise eest vastutabki &#039;&#039;control groupsi&#039;&#039; funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (&#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace isolation]&#039;&#039;) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna ei ole turvalisusele palju rõhku pandud, õpetus on mõeldud juur kasutaja alt käivitamiseks ja rohkem konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea kasutada testimise keskonnas, kui tahetakse proovida erinevaid rakendusi ja kuidas asjad omavahel ühilduvad, sest masinaid on väga lihtne teha. Turvalisuse kohapealt on see hea, et teenused saab panna erinvate konteinerite peal tööle.&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;ssh server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Konteinerite juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
 lxc-create - tehakse uus konteiner&lt;br /&gt;
 lxc-start - käivitatakse konteiner&lt;br /&gt;
 lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
 lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse &#039;&#039;host&#039;&#039; masina konsool ja ühendatakse see&lt;br /&gt;
 konteineriga. Näiteks oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
 lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et konteiner lähe automaatselt tööle.&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue võrgusilla mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine, et mul asjad jooksevad konteineris, las murravad sisse on väga vale.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116201</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116201"/>
		<updated>2016-12-20T18:12:51Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Taust */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonisüsteemi tasemel virtualiseerimine.&lt;br /&gt;
Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi, &#039;&#039;host&#039;&#039; masinas ühe jagatud kerneli peal. Lihtsamalt seletades jagab ühe arvuti resursi mitme konteineri vahel ja konteinerid kasutavad füüsilise masinaga samat kernelit. Resursside jagamise eest vastutabki &#039;&#039;control groupsi&#039;&#039; funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (&#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace isolation]&#039;&#039;) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna ei ole turvalisusele palju rõhku pandud, õpetus on mõeldud juur kasutaja alt käivitamiseks ja rohkem konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea kasutada testimise keskonnas, kui tahetakse proovida erinevaid rakendusi ja kuidas asjad omavahel ühilduvad, sest masinaid on väga lihtne teha. Turvalisuse kohapealt on see hea, et teenused saab panna erinvate konteinerite peal tööle.&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;ssh server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Konteinerite juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
 lxc-create - tehakse uus konteiner&lt;br /&gt;
 lxc-start - käivitatakse konteiner&lt;br /&gt;
 lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
 lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse &#039;&#039;host&#039;&#039; masina konsool ja ühendatakse see&lt;br /&gt;
 konteineriga. Näiteks oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
 lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et konteiner lähe automaatselt tööle.&lt;br /&gt;
Lisad rea:&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue võrgusilla mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine, et mul asjad jooksevad konteineris, las murravad sisse on väga vale.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116200</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116200"/>
		<updated>2016-12-20T18:11:51Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Taust */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonisüsteemi tasemel virtualiseerimine.&lt;br /&gt;
Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi, &#039;&#039;host&#039;&#039; masinas ühe jagatud kerneli peal. Lihtsamalt seletades jagab ühe arvuti resursi mitme konteineri vahel ja konteinerid kasutavad füüsilise masinaga samat kernelit. Resursside jagamise eest vastutabki &#039;&#039;control groupsi&#039;&#039; funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (&#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace isolation]&#039;&#039;) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna ei ole turvalisusele palju rõhku pandud, õpetus on mõeldud juur kasutaja alt käivitamiseks ja rohkem konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea kasutada testimise keskonnas, kui tahetakse proovida erinevaid rakendusi ja kuidas asjad omavahel ühilduvad, sest masinaid on väga lihtne teha. Turvalisuse kohapealt saab teenuseid üksteisest eraldada&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;ssh server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Konteinerite juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
 lxc-create - tehakse uus konteiner&lt;br /&gt;
 lxc-start - käivitatakse konteiner&lt;br /&gt;
 lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
 lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse &#039;&#039;host&#039;&#039; masina konsool ja ühendatakse see&lt;br /&gt;
 konteineriga. Näiteks oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
 lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et konteiner lähe automaatselt tööle.&lt;br /&gt;
Lisad rea:&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue võrgusilla mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine, et mul asjad jooksevad konteineris, las murravad sisse on väga vale.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116196</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116196"/>
		<updated>2016-12-20T18:06:05Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Taust */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonisüsteemi tasemel virtualiseerimine.&lt;br /&gt;
Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi, &#039;&#039;host&#039;&#039; masinas ühe jagatud kerneli peal. Lihtsamalt seletades jagab ühe arvuti resursi mitme konteineri vahel ja konteinerid kasutavad füüsilise masinaga samat kernelit. Resursside jagamise eest vastutabki &#039;&#039;control groupsi&#039;&#039; funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (&#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace isolation]&#039;&#039;) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna ei ole turvalisusele palju rõhku pandud, õpetus on mõeldud juur kasutaja alt käivitamiseks ja rohkem konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea kasutada testimise keskonnas, kui tahetakse proovida erinevaid rakendusi ja kuidas asjad omavahel ühilduvad, sest masinaid on väga lihtne teha. Turvalisuse kohapealt saab teenuseid üksteisest eraldada&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;ssh server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Masinate juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
 lxc-create - tehakse uus konteiner&lt;br /&gt;
 lxc-start - käivitatakse konteiner&lt;br /&gt;
 lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
 lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse &#039;&#039;host&#039;&#039; masina konsool ja ühendatakse see&lt;br /&gt;
 konteineriga. Näiteks oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
 lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et konteiner lähe automaatselt tööle.&lt;br /&gt;
Lisad rea:&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue võrgusilla mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine, et mul asjad jooksevad konteineris, las murravad sisse on väga vale.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116195</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116195"/>
		<updated>2016-12-20T18:05:10Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Taust */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonisüsteemi tasemel virtualiseerimine.&lt;br /&gt;
Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi, &#039;&#039;host&#039;&#039; masinas ühe jagatud kerneli peal. Lihtsamalt seletades jagab ühe arvuti resursi mitme konteineri vahel ja konteinerid kasutavad füüsilise masinaga samat kernelit. Resursside jagamise eest vastutabki &#039;&#039;control groupsi&#039;&#039; funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (&#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace isolation]&#039;&#039;) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna ei ole turvalisusele palju rõhku pandud, õpetus on mõeldud juur kasutaja alt käivitamiseks ja rohkem konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea kasutada testimise keskonnas, kui tahetakse proovida erinevaid rakendusi ja kuidas asjad omavahel ühilduvad, sest masinaid on väga lihtne teha. Turvalisuse kohapealt saab teenuseid üksteisest eraldada.&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;ssh server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Masinate juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
 lxc-create - tehakse uus konteiner&lt;br /&gt;
 lxc-start - käivitatakse konteiner&lt;br /&gt;
 lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
 lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse &#039;&#039;host&#039;&#039; masina konsool ja ühendatakse see&lt;br /&gt;
 konteineriga. Näiteks oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
 lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et konteiner lähe automaatselt tööle.&lt;br /&gt;
Lisad rea:&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue võrgusilla mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine, et mul asjad jooksevad konteineris, las murravad sisse on väga vale.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116194</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116194"/>
		<updated>2016-12-20T17:58:54Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Sissejuhatus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonisüsteemi tasemel virtualiseerimine.&lt;br /&gt;
Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi, &#039;&#039;host&#039;&#039; masinas ühe jagatud kerneli peal. Lihtsamalt seletades jagab ühe arvuti resursi mitme konteineri vahel ja konteinerid kasutavad füüsilise masinaga samat kernelit. Resursside jagamise eest vastutabki &#039;&#039;control groupsi&#039;&#039; funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (&#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace isolation]&#039;&#039;) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna ei ole turvalisusele palju rõhku pandud, õpetus on mõeldud juur kasutaja alt käivitamiseks ja rohkem konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea testimise keskonnas kasutada, kui tahetakse proovida erinevaid rakendusi ja kuidas asjad omavahel ühilduvad, sest masinaid on väga lihtne teha. Turvalisuse kohapealt saab teenuseid üksteisest eraldada.&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;ssh server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Masinate juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
 lxc-create - tehakse uus konteiner&lt;br /&gt;
 lxc-start - käivitatakse konteiner&lt;br /&gt;
 lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
 lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse &#039;&#039;host&#039;&#039; masina konsool ja ühendatakse see&lt;br /&gt;
 konteineriga. Näiteks oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
 lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et konteiner lähe automaatselt tööle.&lt;br /&gt;
Lisad rea:&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue võrgusilla mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine, et mul asjad jooksevad konteineris, las murravad sisse on väga vale.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116193</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116193"/>
		<updated>2016-12-20T17:57:32Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Sissejuhatus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonispsteemi tasemel virtualiseerimine.&lt;br /&gt;
Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi, &#039;&#039;host&#039;&#039; masinas ühe jagatud kerneli peal. Lihtsamalt seletades jagab ühe arvuti resursi mitme konteineri vahel ja konteinerid kasutavad füüsilise masinaga samat kernelit. Resursside jagamise eest vastutabki &#039;&#039;control groupsi&#039;&#039; funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon (&#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace isolation]&#039;&#039;) vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna ei ole turvalisusele palju rõhku pandud, õpetus on mõeldud juur kasutaja alt käivitamiseks ja rohkem konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea testimise keskonnas kasutada, kui tahetakse proovida erinevaid rakendusi ja kuidas asjad omavahel ühilduvad, sest masinaid on väga lihtne teha. Turvalisuse kohapealt saab teenuseid üksteisest eraldada.&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;ssh server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Masinate juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
 lxc-create - tehakse uus konteiner&lt;br /&gt;
 lxc-start - käivitatakse konteiner&lt;br /&gt;
 lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
 lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse &#039;&#039;host&#039;&#039; masina konsool ja ühendatakse see&lt;br /&gt;
 konteineriga. Näiteks oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
 lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et konteiner lähe automaatselt tööle.&lt;br /&gt;
Lisad rea:&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue võrgusilla mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine, et mul asjad jooksevad konteineris, las murravad sisse on väga vale.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116192</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116192"/>
		<updated>2016-12-20T17:56:52Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Sissejuhatus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Linux konteinerid on oma olemuselt operatsioonispsteemi tasemel virtualiseerimine.&lt;br /&gt;
Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust. Võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi, &#039;&#039;host&#039;&#039; masinas ühe jagatud kerneli peal. Lihtsamalt seletades jagab ühe arvuti resursi mitme konteineri vahel ja konteinerid kasutavad füüsilise masinaga samat kernelit. Resursside jagamise eest vastutabki &#039;&#039;control groupsi&#039;&#039; funktsionaalsus kernelis. Omavahel jagatakse, mälu, protsessorit, võrku jne. Nimeruumi isolatsioon&#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace isolation]&#039;&#039; vastutab selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna ei ole turvalisusele palju rõhku pandud, õpetus on mõeldud juur kasutaja alt käivitamiseks ja rohkem konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea testimise keskonnas kasutada, kui tahetakse proovida erinevaid rakendusi ja kuidas asjad omavahel ühilduvad, sest masinaid on väga lihtne teha. Turvalisuse kohapealt saab teenuseid üksteisest eraldada.&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;ssh server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Masinate juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
 lxc-create - tehakse uus konteiner&lt;br /&gt;
 lxc-start - käivitatakse konteiner&lt;br /&gt;
 lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
 lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse &#039;&#039;host&#039;&#039; masina konsool ja ühendatakse see&lt;br /&gt;
 konteineriga. Näiteks oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
 lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et konteiner lähe automaatselt tööle.&lt;br /&gt;
Lisad rea:&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue võrgusilla mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine, et mul asjad jooksevad konteineris, las murravad sisse on väga vale.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116182</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116182"/>
		<updated>2016-12-20T16:49:02Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Sissejuhatus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust, mis võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi, &#039;&#039;host&#039;&#039; masinas ühe jagatud kerneli peal. Lihtsamalt seletades jagab ühe arvuti resursi mitme konteineri vahel ja kasutatakse ühist kernelit. Resursside jagamise eest vastutabki &#039;&#039;control groupsi&#039;&#039; funktsionaalsus kernelis. &#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace]&#039;&#039; selle eest, et konteinerid oleksid üksteisest eraldatud, et ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna ei ole turvalisusele palju rõhku pandud, õpetus on mõeldud juur kasutaja alt käivitamiseks ja rohkem konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea testimise keskonnas kasutada, kui tahetakse proovida erinevaid rakendusi ja kuidas asjad omavahel ühilduvad, sest masinaid on väga lihtne teha. Turvalisuse kohapealt saab teenuseid üksteisest eraldada.&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;ssh server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Masinate juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
 lxc-create - tehakse uus konteiner&lt;br /&gt;
 lxc-start - käivitatakse konteiner&lt;br /&gt;
 lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
 lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse &#039;&#039;host&#039;&#039; masina konsool ja ühendatakse see&lt;br /&gt;
 konteineriga. Näiteks oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
 lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et konteiner lähe automaatselt tööle.&lt;br /&gt;
Lisad rea:&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue võrgusilla mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine, et mul asjad jooksevad konteineris, las murravad sisse on väga vale.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116158</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116158"/>
		<updated>2016-12-20T10:39:14Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Taust */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust, mis võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi, &#039;&#039;host&#039;&#039; masinas ühe jagatud kerneli peal. Lihtsamalt seletades jagab ühe arvuti resursi mitme konteineri vahel ja kasutatakse ühist kernelit. Resursside jagamise eest vastutabki &#039;&#039;control groupsi&#039;&#039; funktsionaalsus kernelis. &#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace]&#039;&#039; selle eest, et konteinerid oleksid üksteisest eraldatud, ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna ei ole turvalisusele palju rõhku pandud, õpetus on mõeldud juur kasutaja alt käivitamiseks ja rohkem konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea testimise keskonnas kasutada, kui tahetakse proovida erinevaid rakendusi ja kuidas asjad omavahel ühilduvad, sest masinaid on väga lihtne teha. Turvalisuse kohapealt saab teenuseid üksteisest eraldada.&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;ssh server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Masinate juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
 lxc-create - tehakse uus konteiner&lt;br /&gt;
 lxc-start - käivitatakse konteiner&lt;br /&gt;
 lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
 lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse &#039;&#039;host&#039;&#039; masina konsool ja ühendatakse see&lt;br /&gt;
 konteineriga. Näiteks oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
 lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et konteiner lähe automaatselt tööle.&lt;br /&gt;
Lisad rea:&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue võrgusilla mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine, et mul asjad jooksevad konteineris, las murravad sisse on väga vale.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116157</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116157"/>
		<updated>2016-12-20T10:37:15Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Turvalisus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust, mis võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi, &#039;&#039;host&#039;&#039; masinas ühe jagatud kerneli peal. Lihtsamalt seletades jagab ühe arvuti resursi mitme konteineri vahel ja kasutatakse ühist kernelit. Resursside jagamise eest vastutabki &#039;&#039;control groupsi&#039;&#039; funktsionaalsus kernelis. &#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace]&#039;&#039; selle eest, et konteinerid oleksid üksteisest eraldatud, ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna ei ole turvalisusele palju rõhku pandud, õpetus on mõeldud juur kasutaja alt käivitamiseks ja rohkem konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea testimise keskonnas kasutada, kui tahetakse proovida erinevaid rakendusi ja kuidas asjad omavahel ühilduvad, sest masinaid on väga lihtne teha. Turvalisuse kohapealt saab asju üksteisest ka eraldada.&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;ssh server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Masinate juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
 lxc-create - tehakse uus konteiner&lt;br /&gt;
 lxc-start - käivitatakse konteiner&lt;br /&gt;
 lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
 lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse &#039;&#039;host&#039;&#039; masina konsool ja ühendatakse see&lt;br /&gt;
 konteineriga. Näiteks oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
 lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et konteiner lähe automaatselt tööle.&lt;br /&gt;
Lisad rea:&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue võrgusilla mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine, et mul asjad jooksevad konteineris, las murravad sisse on väga vale.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116156</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116156"/>
		<updated>2016-12-20T10:34:30Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Malli seaded */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust, mis võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi, &#039;&#039;host&#039;&#039; masinas ühe jagatud kerneli peal. Lihtsamalt seletades jagab ühe arvuti resursi mitme konteineri vahel ja kasutatakse ühist kernelit. Resursside jagamise eest vastutabki &#039;&#039;control groupsi&#039;&#039; funktsionaalsus kernelis. &#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace]&#039;&#039; selle eest, et konteinerid oleksid üksteisest eraldatud, ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna ei ole turvalisusele palju rõhku pandud, õpetus on mõeldud juur kasutaja alt käivitamiseks ja rohkem konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea testimise keskonnas kasutada, kui tahetakse proovida erinevaid rakendusi ja kuidas asjad omavahel ühilduvad, sest masinaid on väga lihtne teha. Turvalisuse kohapealt saab asju üksteisest ka eraldada.&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;ssh server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Masinate juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
 lxc-create - tehakse uus konteiner&lt;br /&gt;
 lxc-start - käivitatakse konteiner&lt;br /&gt;
 lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
 lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse &#039;&#039;host&#039;&#039; masina konsool ja ühendatakse see&lt;br /&gt;
 konteineriga. Näiteks oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
 lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad /etc/lxc/default.conf. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et konteiner lähe automaatselt tööle.&lt;br /&gt;
Lisad rea:&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue võrgusilla mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine et mul asjad jooksevad konteineris, las murravad sisse on väga vale suhtumine.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116155</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116155"/>
		<updated>2016-12-20T10:32:38Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Haldamine ja seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust, mis võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi, &#039;&#039;host&#039;&#039; masinas ühe jagatud kerneli peal. Lihtsamalt seletades jagab ühe arvuti resursi mitme konteineri vahel ja kasutatakse ühist kernelit. Resursside jagamise eest vastutabki &#039;&#039;control groupsi&#039;&#039; funktsionaalsus kernelis. &#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace]&#039;&#039; selle eest, et konteinerid oleksid üksteisest eraldatud, ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna ei ole turvalisusele palju rõhku pandud, õpetus on mõeldud juur kasutaja alt käivitamiseks ja rohkem konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea testimise keskonnas kasutada, kui tahetakse proovida erinevaid rakendusi ja kuidas asjad omavahel ühilduvad, sest masinaid on väga lihtne teha. Turvalisuse kohapealt saab asju üksteisest ka eraldada.&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;ssh server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Masinate juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
 lxc-create - tehakse uus konteiner&lt;br /&gt;
 lxc-start - käivitatakse konteiner&lt;br /&gt;
 lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
 lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse &#039;&#039;host&#039;&#039; masina konsool ja ühendatakse see&lt;br /&gt;
 konteineriga. Näiteks oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
 lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Ilma parameetriteta käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad failis. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et masin kasutaks vaikimis teist võrguliidest, siis muudad liidese ära.&lt;br /&gt;
 /etc/lxc/default.conf&lt;br /&gt;
Lisades rea&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue võrgusilla mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine et mul asjad jooksevad konteineris, las murravad sisse on väga vale suhtumine.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116154</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116154"/>
		<updated>2016-12-20T10:28:20Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Taust */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust, mis võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi, &#039;&#039;host&#039;&#039; masinas ühe jagatud kerneli peal. Lihtsamalt seletades jagab ühe arvuti resursi mitme konteineri vahel ja kasutatakse ühist kernelit. Resursside jagamise eest vastutabki &#039;&#039;control groupsi&#039;&#039; funktsionaalsus kernelis. &#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace]&#039;&#039; selle eest, et konteinerid oleksid üksteisest eraldatud, ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna ei ole turvalisusele palju rõhku pandud, õpetus on mõeldud juur kasutaja alt käivitamiseks ja rohkem konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea testimise keskonnas kasutada, kui tahetakse proovida erinevaid rakendusi ja kuidas asjad omavahel ühilduvad, sest masinaid on väga lihtne teha. Turvalisuse kohapealt saab asju üksteisest ka eraldada.&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;ssh server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Masinate juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid kopeeritakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
 lxc-create - tehakse uus konteiner&lt;br /&gt;
 lxc-start - käivitatakse konteiner&lt;br /&gt;
 lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
 lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse &#039;&#039;host&#039;&#039; masina konsool ja ühendatakse see&lt;br /&gt;
 konteineriga. Näiteks oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
 lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Kui parameetried pole kaasa antud siis käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad failis. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et masin kasutaks vaikimis teist võrguliidest, siis muudad liidese ära.&lt;br /&gt;
 /etc/lxc/default.conf&lt;br /&gt;
Lisades rea&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue võrgusilla mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine et mul asjad jooksevad konteineris, las murravad sisse on väga vale suhtumine.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116153</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116153"/>
		<updated>2016-12-20T10:27:09Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Taust */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust, mis võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi, &#039;&#039;host&#039;&#039; masinas ühe jagatud kerneli peal. Lihtsamalt seletades jagab ühe arvuti resursi mitme konteineri vahel ja kasutatakse ühist kernelit. Resursside jagamise eest vastutabki &#039;&#039;control groupsi&#039;&#039; funktsionaalsus kernelis. &#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace]&#039;&#039; selle eest, et konteinerid oleksid üksteisest eraldatud, ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna ei ole turvalisusele palju rõhku pandud, õpetus on mõeldud juur kasutaja alt käivitamiseks ja rohkem konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea testimise keskonnas kasutada, kui tahetakse proovida erinevaid rakendusi ja kuidas asjad omavahel ühilduvad, sest masinaid on väga lihtne teha. Turvalisuse kohapealt saab asju üksteisest ka eraldada.&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;ssh server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Masinate juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada, vaid tõmmatakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
 lxc-create - tehakse uus konteiner&lt;br /&gt;
 lxc-start - käivitatakse konteiner&lt;br /&gt;
 lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
 lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse &#039;&#039;host&#039;&#039; masina konsool ja ühendatakse see&lt;br /&gt;
 konteineriga. Näiteks oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
 lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Kui parameetried pole kaasa antud siis käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad failis. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et masin kasutaks vaikimis teist võrguliidest, siis muudad liidese ära.&lt;br /&gt;
 /etc/lxc/default.conf&lt;br /&gt;
Lisades rea&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue võrgusilla mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine et mul asjad jooksevad konteineris, las murravad sisse on väga vale suhtumine.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116152</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116152"/>
		<updated>2016-12-20T10:25:33Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Taust */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust, mis võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi, &#039;&#039;host&#039;&#039; masinas ühe jagatud kerneli peal. Lihtsamalt seletades jagab ühe arvuti resursi mitme konteineri vahel ja kasutatakse ühist kernelit. Resursside jagamise eest vastutabki &#039;&#039;control groupsi&#039;&#039; funktsionaalsus kernelis. &#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace]&#039;&#039; selle eest, et konteinerid oleksid üksteisest eraldatud, ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna ei ole turvalisusele palju rõhku pandud, õpetus on mõeldud juur kasutaja alt käivitamiseks ja rohkem konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea testimise keskonnas kasutada, kui tahetakse proovida erinevaid rakendusi ja kuidas asjad omavahel ühilduvad, sest masinaid on väga lihtne teha. Turvalisuse kohapealt saab asju üksteisest ka eraldada.&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;ssh server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Masinate juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/. Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada vaid tõmmatakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
 lxc-create - tehakse uus konteiner&lt;br /&gt;
 lxc-start - käivitatakse konteiner&lt;br /&gt;
 lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
 lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse &#039;&#039;host&#039;&#039; masina konsool ja ühendatakse see&lt;br /&gt;
 konteineriga. Näiteks oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
 lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Kui parameetried pole kaasa antud siis käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad failis. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et masin kasutaks vaikimis teist võrguliidest, siis muudad liidese ära.&lt;br /&gt;
 /etc/lxc/default.conf&lt;br /&gt;
Lisades rea&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue võrgusilla mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine et mul asjad jooksevad konteineris, las murravad sisse on väga vale suhtumine.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116151</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116151"/>
		<updated>2016-12-20T10:24:57Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Taust */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust, mis võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi, &#039;&#039;host&#039;&#039; masinas ühe jagatud kerneli peal. Lihtsamalt seletades jagab ühe arvuti resursi mitme konteineri vahel ja kasutatakse ühist kernelit. Resursside jagamise eest vastutabki &#039;&#039;control groupsi&#039;&#039; funktsionaalsus kernelis. &#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace]&#039;&#039; selle eest, et konteinerid oleksid üksteisest eraldatud, ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna ei ole turvalisusele palju rõhku pandud, õpetus on mõeldud juur kasutaja alt käivitamiseks ja rohkem konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea testimise keskonnas kasutada, kui tahetakse proovida erinevaid rakendusi ja kuidas asjad omavahel ühilduvad, sest masinaid on väga lihtne teha. Turvalisuse kohapealt saab asju üksteisest ka eraldada.&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;ssh server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Masinate juurfailisüsteem asub vaikimisi kaustas:&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/ Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada vaid tõmmatakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
 lxc-create - tehakse uus konteiner&lt;br /&gt;
 lxc-start - käivitatakse konteiner&lt;br /&gt;
 lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
 lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse &#039;&#039;host&#039;&#039; masina konsool ja ühendatakse see&lt;br /&gt;
 konteineriga. Näiteks oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
 lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Kui parameetried pole kaasa antud siis käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad failis. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et masin kasutaks vaikimis teist võrguliidest, siis muudad liidese ära.&lt;br /&gt;
 /etc/lxc/default.conf&lt;br /&gt;
Lisades rea&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue võrgusilla mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine et mul asjad jooksevad konteineris, las murravad sisse on väga vale suhtumine.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116150</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116150"/>
		<updated>2016-12-20T10:23:53Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Taust */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust, mis võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi, &#039;&#039;host&#039;&#039; masinas ühe jagatud kerneli peal. Lihtsamalt seletades jagab ühe arvuti resursi mitme konteineri vahel ja kasutatakse ühist kernelit. Resursside jagamise eest vastutabki &#039;&#039;control groupsi&#039;&#039; funktsionaalsus kernelis. &#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace]&#039;&#039; selle eest, et konteinerid oleksid üksteisest eraldatud, ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna ei ole turvalisusele palju rõhku pandud, õpetus on mõeldud juur kasutaja alt käivitamiseks ja rohkem konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea testimise keskonnas kasutada, kui tahetakse proovida erinevaid rakendusi ja kuidas asjad omavahel ühilduvad, sest masinaid on väga lihtne teha. Turvalisuse kohapealt saab asju üksteisest ka eraldada.&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;ssh server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Masinate juurfailisüsteem asub vaikimis kaustas.&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/ Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada vaid tõmmatakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
 lxc-create - tehakse uus konteiner&lt;br /&gt;
 lxc-start - käivitatakse konteiner&lt;br /&gt;
 lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
 lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse &#039;&#039;host&#039;&#039; masina konsool ja ühendatakse see&lt;br /&gt;
 konteineriga. Näiteks oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
 lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Kui parameetried pole kaasa antud siis käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad failis. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et masin kasutaks vaikimis teist võrguliidest, siis muudad liidese ära.&lt;br /&gt;
 /etc/lxc/default.conf&lt;br /&gt;
Lisades rea&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue võrgusilla mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine et mul asjad jooksevad konteineris, las murravad sisse on väga vale suhtumine.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116149</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116149"/>
		<updated>2016-12-20T10:23:00Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Sissejuhatus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust, mis võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi, &#039;&#039;host&#039;&#039; masinas ühe jagatud kerneli peal. Lihtsamalt seletades jagab ühe arvuti resursi mitme konteineri vahel ja kasutatakse ühist kernelit. Resursside jagamise eest vastutabki &#039;&#039;control groupsi&#039;&#039; funktsionaalsus kernelis. &#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace]&#039;&#039; selle eest, et konteinerid oleksid üksteisest eraldatud, ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna ei ole turvalisusele palju rõhku pandud, õpetus on mõeldud juur kasutaja alt käivitamiseks ja rohkem konteinerite tutvustamiseks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea testmisi keskonnas kasutada, kui tahetakse proovida erinevaid rakendusi ja kuidas asjad omavahel ühilduvad, sest masinaid on väga lihtne teha. Turvalisuse kohapealt saab asju üksteisest ka eraldada.&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;ssh server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Masinate juurfailisüsteem asub vaikimis kaustas.&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/ Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada vaid tõmmatakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
 lxc-create - tehakse uus konteiner&lt;br /&gt;
 lxc-start - käivitatakse konteiner&lt;br /&gt;
 lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
 lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse &#039;&#039;host&#039;&#039; masina konsool ja ühendatakse see&lt;br /&gt;
 konteineriga. Näiteks oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
 lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Kui parameetried pole kaasa antud siis käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad failis. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et masin kasutaks vaikimis teist võrguliidest, siis muudad liidese ära.&lt;br /&gt;
 /etc/lxc/default.conf&lt;br /&gt;
Lisades rea&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue võrgusilla mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine et mul asjad jooksevad konteineris, las murravad sisse on väga vale suhtumine.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116148</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116148"/>
		<updated>2016-12-20T10:22:39Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Sissejuhatus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust, mis võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi, &#039;&#039;host&#039;&#039; masinas ühe jagatud kerneli peal. Lihtsamalt seletades jagab ühe arvuti resursi mitme konteineri vahel ja kasutatakse ühist kernelit. Resursside jagamise eest vastutabki &#039;&#039;control groupsi&#039;&#039; funktsionaalsus kernelis. &#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace]&#039;&#039; selle eest, et konteinerid oleksid üksteisest eraldatud, ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna ei ole turvalisusele palju rõhku pandud, õpetus on mõeldud juur kasutaja alt käivitamiseks ja rohkem konteinerite tutvustamiseks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea testmisi keskonnas kasutada, kui tahetakse proovida erinevaid rakendusi ja kuidas asjad omavahel ühilduvad, sest masinaid on väga lihtne teha. Turvalisuse kohapealt saab asju üksteisest ka eraldada.&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;ssh server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Masinate juurfailisüsteem asub vaikimis kaustas.&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/ Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada vaid tõmmatakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
 lxc-create - tehakse uus konteiner&lt;br /&gt;
 lxc-start - käivitatakse konteiner&lt;br /&gt;
 lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
 lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse &#039;&#039;host&#039;&#039; masina konsool ja ühendatakse see&lt;br /&gt;
 konteineriga. Näiteks oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
 lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Kui parameetried pole kaasa antud siis käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad failis. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et masin kasutaks vaikimis teist võrguliidest, siis muudad liidese ära.&lt;br /&gt;
 /etc/lxc/default.conf&lt;br /&gt;
Lisades rea&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue võrgusilla mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine et mul asjad jooksevad konteineris, las murravad sisse on väga vale suhtumine.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116147</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116147"/>
		<updated>2016-12-20T10:21:37Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Sissejuhatus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust, mis võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi, &#039;&#039;host&#039;&#039; masinas ühe jagatud kerneli peal. Lihtsamalt seletades jagab ühe arvuti resursi mitme konteineri vahel ja kasutatakse ühist kernelit. Resursside jagamise eest vastutabki &#039;&#039;control groupsi&#039;&#039; funktsionaalsus kernelis. &#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace]&#039;&#039; selle eest, et konteinerid oleksid üksteisest eraldatud, ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna ei ole turvalisusele palju rõhku pandud, õpetus on mõledud juur kasutaja alt käivitamiseks ja rohkem konteinerite turvustamiseks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea testmisi keskonnas kasutada, kui tahetakse proovida erinevaid rakendusi ja kuidas asjad omavahel ühilduvad, sest masinaid on väga lihtne teha. Turvalisuse kohapealt saab asju üksteisest ka eraldada.&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;ssh server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Masinate juurfailisüsteem asub vaikimis kaustas.&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/ Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada vaid tõmmatakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
 lxc-create - tehakse uus konteiner&lt;br /&gt;
 lxc-start - käivitatakse konteiner&lt;br /&gt;
 lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
 lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse &#039;&#039;host&#039;&#039; masina konsool ja ühendatakse see&lt;br /&gt;
 konteineriga. Näiteks oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
 lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Kui parameetried pole kaasa antud siis käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad failis. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et masin kasutaks vaikimis teist võrguliidest, siis muudad liidese ära.&lt;br /&gt;
 /etc/lxc/default.conf&lt;br /&gt;
Lisades rea&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue võrgusilla mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine et mul asjad jooksevad konteineris, las murravad sisse on väga vale suhtumine.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116146</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Lxc&amp;diff=116146"/>
		<updated>2016-12-20T10:20:44Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: /* Sissejuhatus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Autor=&lt;br /&gt;
Marvin Martinson A21&lt;br /&gt;
&lt;br /&gt;
19.12.2016&lt;br /&gt;
&lt;br /&gt;
Versioon 1.0&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Linuxi konteinerid ehk &#039;&#039;[https://linuxcontainers.org/ Linux Conteiners(LXC)]&#039;&#039; on tehnoloogia mis kasutab Linuxi tuuma &#039;&#039;[https://en.wikipedia.org/wiki/Cgroups control groups(cgroups)]&#039;&#039; funktsionaalsust, mis võimaldab jooksutada mitut isoleeritut Linuxi operatsioonisüsteemi, &#039;&#039;host&#039;&#039; masinas ühe jagatud kerneli peal. Lihtsamalt seletades jagab ühe arvuti resursi mitme konteineri vahel ja kasutatakse ühist kernelit. Resursside jagamise eest vastutabki &#039;&#039;control groupsi&#039;&#039; funktsionaalsus kernelis. &#039;&#039;[https://en.wikipedia.org/wiki/Linux_namespaces Namespace]&#039;&#039; selle eest, et konteinerid oleksid ükteisest eraldatud, ühe konteineri seest ei saaks ligi teise teenustele. LXC on kasutatav alates kernelist 2.6.24.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/LXC&amp;lt;/ref&amp;gt; &#039;&#039;&#039;NB! selle juhendi järgi mitte installida tähtsaid teenuseid ja masinaid, kuna ei ole turvalisusele palju rõhku pandud, õpetus on mõledud juur kasutaja alt käivitamiseks ja rohkem konteinerite turvustamiseks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Taust==&lt;br /&gt;
Linuxi konteinereid on väga hea testmisi keskonnas kasutada, kui tahetakse proovida erinevaid rakendusi ja kuidas asjad omavahel ühilduvad, sest masinaid on väga lihtne teha. Turvalisuse kohapealt saab asju üksteisest ka eraldada.&lt;br /&gt;
Näide, kus masinas jookseb mitu konteinerit ja neis on erinevad teenused. Teenused on ära jagatud konteinerite peale nt: wiki, git, pastebin, proxy server.&lt;br /&gt;
   |-lvmetad&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---27*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         `-systemd-journal&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gogs---9*[{gogs}]&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-postgres---7*[postgres]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd---sshd---sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---6*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-mysqld---34*[{mysqld}]&lt;br /&gt;
        |                         |-php-fpm7.0---2*[php-fpm7.0]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-apache2---5*[apache2]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-logger&lt;br /&gt;
        |                         |-mysqld_safe-+-logger&lt;br /&gt;
        |                         |             `-mysqld---23*[{mysqld}]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-gunicorn---gunicorn&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-nrpe&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 10 qu}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-sshd&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxc-autostart---systemd-+-5*[agetty]&lt;br /&gt;
        |                         |-cron&lt;br /&gt;
        |                         |-dbus-daemon&lt;br /&gt;
        |                         |-dhclient&lt;br /&gt;
        |                         |-nginx---2*[nginx]&lt;br /&gt;
        |                         |-rsyslogd-+-{in:imklog}&lt;br /&gt;
        |                         |          |-{in:imuxsock}&lt;br /&gt;
        |                         |          |-{rs:action 0 que}&lt;br /&gt;
        |                         |          `-{rs:main Q:Reg}&lt;br /&gt;
        |                         |-systemd-journal&lt;br /&gt;
        |                         `-systemd-logind&lt;br /&gt;
        |-lxcfs---10*[{lxcfs}]&lt;br /&gt;
        |-mdadm&lt;br /&gt;
&lt;br /&gt;
Kindlasti tähelepanu tõmmata sellele, et mis teenused juba vaikimisi töötavad nagu näiteks &#039;&#039;&#039;ssh server&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Masinate juurfailisüsteem asub vaikimis kaustas.&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanini&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Installitud masinate puhver asub kaustas /var/chache/lxc/ Seda kasutatakse siis, kui luuakse sama distributsiooniga konteinerid, siis pole vaja uuesti uut konteinerit seadistada vaid tõmmatakse vajalikud failid puhvrist.&lt;br /&gt;
&lt;br /&gt;
=Vajalikumad käsud=&lt;br /&gt;
 lxc-create - tehakse uus konteiner&lt;br /&gt;
 lxc-start - käivitatakse konteiner&lt;br /&gt;
 lxc-console - ühendab konteineris oleva masina terminaliga.&lt;br /&gt;
 lxc-attach - alustab protsessi konteiner masinas, kui ühtegi parameetrit juurde ei anta, siis võetakse &#039;&#039;host&#039;&#039; masina konsool ja ühendatakse see&lt;br /&gt;
 konteineriga. Näiteks oled host masinas juurkasutajaga sisse logitud, siis tuleb ette juurkasutaja konsool ka konteineris.&lt;br /&gt;
 lxc-stop - sulgeb masina&lt;br /&gt;
&lt;br /&gt;
=Seadistamine=&lt;br /&gt;
Väga suureks abiks on ametlikud kasutusjuhendid&amp;lt;ref&amp;gt;https://linuxcontainers.org/lxc/manpages//&amp;lt;/ref&amp;gt;&lt;br /&gt;
==Paigaldamine==&lt;br /&gt;
Installime linux konteineri ja mallid millega teha konteinereid.&lt;br /&gt;
 apt-get install lxc lxc-templates bridge-utils&lt;br /&gt;
&lt;br /&gt;
==Konteinerite tegemine==&lt;br /&gt;
 lxc-create -n test -t ubuntu -- -r xenial&lt;br /&gt;
 &lt;br /&gt;
 -n masina nimi&lt;br /&gt;
 -t Millise malli põhjal tahad teha&lt;br /&gt;
 -- malli seadistused&lt;br /&gt;
 -r väljalaske kood nimetus&lt;br /&gt;
 &lt;br /&gt;
 Näha milliseid seadistusi mall toetab kasutada käsku&lt;br /&gt;
 lxc-create -t MALL -h&lt;br /&gt;
&lt;br /&gt;
==Haldamine ja seadistamine==&lt;br /&gt;
Konteineri kävitaimnine&lt;br /&gt;
 lxc-start -n test -d&lt;br /&gt;
Konteineriga on võimalik ühendada kahte moodi.&lt;br /&gt;
Seda on mugav kasutada siis, kui konteinereid tehakse juur kasutajaga, sest siis võetakse konteineris kohe juur kasutaja konsool ette.&lt;br /&gt;
Kui parameetried pole kaasa antud siis käivitatakse hetke konsool konteineris. Näiteks, kui kasutada käsku lxc-attach -n test nano, siis käivitatakse konteineris nano ja fail salvestatakse konteinerisse.&lt;br /&gt;
 lxc-attach -n test&lt;br /&gt;
või, kus võetakse ette konteineri konsool ja tuleb kasutajaga sisselogida.&lt;br /&gt;
 lxc-console -n test&lt;br /&gt;
&lt;br /&gt;
Nimekiri konteineritest ja mis seisus konteinerid on. Võtmega f saab ilusa tabeli.&lt;br /&gt;
 lxc-ls -f&lt;br /&gt;
&lt;br /&gt;
 LibreNms    RUNNING 1         -      172.16.2.106 fd43:5a19:3963:0:216:3eff:fed0:db66 &lt;br /&gt;
 git-service RUNNING 1         -      172.16.2.171 fd43:5a19:3963:0:216:3eff:fe7f:1d7b &lt;br /&gt;
 mediaWiki   RUNNING 1         -      172.16.2.30  fd43:5a19:3963:0:216:3eff:feaa:49d7 &lt;br /&gt;
 ownCloud    RUNNING 1         -      172.16.2.240 fd43:5a19:3963:0:216:3eff:fe4e:ea58 &lt;br /&gt;
 pasteBun    RUNNING 1         -      172.16.2.20  fd43:5a19:3963:0:216:3eff:fe56:cd2f &lt;br /&gt;
 proxy       RUNNING 1         -      172.16.2.100 fd43:5a19:3963:0:216:3eff:feb5:4e8b &lt;br /&gt;
 test        STOPPED 1         -      -            -                 &lt;br /&gt;
&lt;br /&gt;
Masinate sulgemiseks kasutada käsku.&lt;br /&gt;
 lxc-stop -n test&lt;br /&gt;
 -r,--reboot teeb restardi.&lt;br /&gt;
 -k,--kill masin suletakse jõuga, ei tehta korraliku sulgemist.                 &lt;br /&gt;
&lt;br /&gt;
===Malli seaded===&lt;br /&gt;
Vaikimisi malli seaded asuvad failis. Need seadistused rakenduvad uutele konteineritele mis tehakse, näiteks kui tahad, et masin kasutaks vaikimis teist võrguliidest, siis muudad liidese ära.&lt;br /&gt;
 /etc/lxc/default.conf&lt;br /&gt;
Lisades rea&lt;br /&gt;
 lxc.start.auto = 1&lt;br /&gt;
Läheb konteiner automaatselt tööle, kui host masin on ka tööle läinud.&lt;br /&gt;
&lt;br /&gt;
Iga masina seaded asuvad eraldi failis&lt;br /&gt;
 /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config&lt;br /&gt;
&lt;br /&gt;
Mallid asuvad kaustas:&lt;br /&gt;
 /usr/share/lxc/templates/&lt;br /&gt;
&lt;br /&gt;
Vaikimis tuleb kaasa erinevate linuxite mallid.&lt;br /&gt;
 lxc-alpine     lxc-centos    lxc-fedora        lxc-oracle      lxc-sshd&lt;br /&gt;
 lxc-altlinux   lxc-cirros    lxc-gentoo        lxc-plamo       lxc-ubuntu&lt;br /&gt;
 lxc-archlinux  lxc-debian    lxc-openmandriva  lxc-slackware   lxc-ubuntu-cloud&lt;br /&gt;
 lxc-busybox    lxc-download  lxc-opensuse      lxc-sparclinux&lt;br /&gt;
&lt;br /&gt;
==Võrgu seadistamine==&lt;br /&gt;
Vaikimisi tehakse uus sild nimega lxcbr0, kuhu külge tulevad konteinerite liidesed. Kus töötab oma dhcp server ja dns kirjed saadakse &#039;&#039;host&#039;&#039; masinast. Iga konteineri kohta tekib ka uus võrguliides nimega &#039;&#039;&#039;veth******&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dhcp seadete fail asub:&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
Siin on vaikimisi faili sisu, kui tahate muuta dhcp seadeid, siis siit saab muuta.&lt;br /&gt;
 # This file is auto-generated by lxc.postinst if it does not&lt;br /&gt;
 # exist.  Customizations will not be overridden.&lt;br /&gt;
 # Leave USE_LXC_BRIDGE as &amp;quot;true&amp;quot; if you want to use lxcbr0 for your&lt;br /&gt;
 # containers.  Set to &amp;quot;false&amp;quot; if you&#039;ll use virbr0 or another existing&lt;br /&gt;
 # bridge, or mavlan to your host&#039;s NIC.&lt;br /&gt;
 USE_LXC_BRIDGE=&amp;quot;true&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # If you change the LXC_BRIDGE to something other than lxcbr0, then&lt;br /&gt;
 # you will also need to update your /etc/lxc/default.conf as well as the&lt;br /&gt;
 # configuration (/var/lib/lxc/&amp;lt;container&amp;gt;/config) for any containers&lt;br /&gt;
 # already created using the default config to reflect the new bridge&lt;br /&gt;
 # name.&lt;br /&gt;
 # If you have the dnsmasq daemon installed, you&#039;ll also have to update&lt;br /&gt;
 # /etc/dnsmasq.d/lxc and restart the system wide dnsmasq daemon.&lt;br /&gt;
 LXC_BRIDGE=&amp;quot;lxcbr0&amp;quot;&lt;br /&gt;
 LXC_ADDR=&amp;quot;10.0.3.1&amp;quot;&lt;br /&gt;
 LXC_NETMASK=&amp;quot;255.255.255.0&amp;quot;&lt;br /&gt;
 LXC_NETWORK=&amp;quot;10.0.3.0/24&amp;quot;&lt;br /&gt;
 LXC_DHCP_RANGE=&amp;quot;10.0.3.2,10.0.3.254&amp;quot;&lt;br /&gt;
 LXC_DHCP_MAX=&amp;quot;253&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selleks, et saaksime konteineritele anda ka sisevõrgu ip, teeme &#039;&#039;host&#039;&#039; masina uue võrgusilla mis on kokku sillatud füüsilise võrgu liidesega.&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja kindlasti installida järgnev pakett.&lt;br /&gt;
 apt install bridge-utils&lt;br /&gt;
Teeme vajalikud muudatused failis /etc/network/interfaces&amp;lt;ref&amp;gt;https://lauri.võsandi.com/cfgmgmt/linux-containers.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
 auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
 #Kindlasti tähelepanu pöörata eth0 liidesele, neid nimesid enam ei kasutata.&lt;br /&gt;
 auto br0&lt;br /&gt;
  iface br0 inet dhcp&lt;br /&gt;
    # Lisa füüsiline eth0 silla koosseisu&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
 &lt;br /&gt;
 # Eemalda võrguliidese definitsioon füüsilise võrguliidese jaoks:&lt;br /&gt;
 &lt;br /&gt;
 #auto eth0&lt;br /&gt;
 #iface eth0 inet ...&lt;br /&gt;
&lt;br /&gt;
Kui uus võrgusild on valmis, siis tuleb olemasolevad konteinerid sinna ühendada, selleks muuta faili /var/lib/lxc/&#039;&#039;&#039;masinanimi&#039;&#039;&#039;/config.&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
ja kui tahame, et uued masinad ka saaksid ühendatud, siis failis /etc/lxc/default.conf muudame järgneva rea:&lt;br /&gt;
 lxc.network.link=br0&lt;br /&gt;
&lt;br /&gt;
Selleks, et muutused jõustuksid tuleb teha konteinteritele restart.&lt;br /&gt;
Tulemuste kontrollimiseks saab kasutada käsku:&lt;br /&gt;
 brctl show&lt;br /&gt;
väljundist näeme, et masinad on uue silla küljes ja ka füüsiline liides(ens3) ka:&lt;br /&gt;
 bridge name	bridge id		STP enabled	interfaces&lt;br /&gt;
 br0		8000.525400c464f5	no		ens3&lt;br /&gt;
 							vethH0QBCN&lt;br /&gt;
 							vethH42CB7&lt;br /&gt;
 							vethK8N248&lt;br /&gt;
 							vethS2KUOK&lt;br /&gt;
 							vethX0K05X&lt;br /&gt;
 							vethY7QYSW&lt;br /&gt;
 lxcbr0		8000.000000000000	no&lt;br /&gt;
&lt;br /&gt;
lxc-ls -f käsuga saab kiiresti üle vaadata ka ip aadressid.&lt;br /&gt;
&lt;br /&gt;
=Turvalisus=&lt;br /&gt;
Väga oluline on meeles pidada, et konteineri turvalisusele peab sama palju tähelepanu pöörama, kui eraldiseisvale füüsilisele masinale. Konteineris olevat tarkvara peab ka uuendama, suhtumine et mul asjad jooksevad konteineris, las murravad sisse on väga vale suhtumine.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Puutusin sellega kokku aines VPN, tulemüürid ja ipsec kus oli sellega väga mugav installida erinevaid teenuseid. Tavaliselt kui midagi teenuse installimisel väga katki läks, oli väga kerge uus masin teha ja alustada otsast pihta, muidugi tuleb siin suurt tähelepanu pöörata turvalisusele, sest masinat jagavad ju ikkagi ühist kernelit. Linuxi konteinerites on mul väga palju veel juurde õppida. Millest kindasti tuleks rääkida on privileegidega(&#039;&#039;privileged&#039;&#039;) ja privileegideta(&#039;&#039;unprivileged&#039;&#039;) konteinerid.&lt;br /&gt;
&lt;br /&gt;
=Huvtavad lingid, videod=&lt;br /&gt;
&lt;br /&gt;
Postitan siia lehed kust veel infot saab&lt;br /&gt;
&lt;br /&gt;
https://www.stgraber.org/ -  Stéphane Graber&#039;s blog, kes on Linuxi konteinerite põhi tegijaid.&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/&lt;br /&gt;
&lt;br /&gt;
https://linuxcontainers.org/lxc/getting-started/ kuidas teha konteinereid tava kasutaja alla, ehk &#039;&#039;unprivileged conteiners&#039;&#039; ja kuidas on need turvalisemad.&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=2EwFkOrZ7I8 - Videod kuidas seadistada lXC võrku.&lt;br /&gt;
&lt;br /&gt;
=Kasutatud allikad=&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:ID-kaarditarkvara_Ubuntu_guest_kasutajaga&amp;diff=116145</id>
		<title>Talk:ID-kaarditarkvara Ubuntu guest kasutajaga</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:ID-kaarditarkvara_Ubuntu_guest_kasutajaga&amp;diff=116145"/>
		<updated>2016-12-20T10:18:26Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! KRITEERIUM&lt;br /&gt;
! KAAL&lt;br /&gt;
! HINNANG&lt;br /&gt;
! SELGITUS&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Skoop&lt;br /&gt;
| 0,5&lt;br /&gt;
| 0,5&lt;br /&gt;
| Probleem on olemas.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Artikli tutvustus ja versioon&lt;br /&gt;
| 0,5&lt;br /&gt;
| 0,5&lt;br /&gt;
| Autor ja grupp on olemas&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Sissejuhatus&lt;br /&gt;
| 0,5&lt;br /&gt;
| 0,5&lt;br /&gt;
| Hästi on kirjeldatud probleemi.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tehniliselt korrektne&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Asi töötas väga hästi, alguses ei saanud id-kaarti kasutada ja peale seda fixi asi töötas.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Kasutatud kirjandus&lt;br /&gt;
| 0,5&lt;br /&gt;
| 0,5&lt;br /&gt;
| Kasutatud kirjandus on välja toodud&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Näited kasutamiseks/käsud&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Koodid on ilusti olemas, lausa skripti failidenda&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Sisu&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Ülesehitus&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Ülesehitus on arusaadav &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Kirjavead ja õigekiri&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Ei leidnud vigu&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Kokku&lt;br /&gt;
| 10&lt;br /&gt;
| 10&lt;br /&gt;
| Kasulik töö.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hindaja: Marvin Martinson A21&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:ID-kaarditarkvara_Ubuntu_guest_kasutajaga&amp;diff=116144</id>
		<title>Talk:ID-kaarditarkvara Ubuntu guest kasutajaga</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:ID-kaarditarkvara_Ubuntu_guest_kasutajaga&amp;diff=116144"/>
		<updated>2016-12-20T10:17:31Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! KRITEERIUM&lt;br /&gt;
! KAAL&lt;br /&gt;
! HINNANG&lt;br /&gt;
! SELGITUS&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Skoop&lt;br /&gt;
| 0,5&lt;br /&gt;
| 0,5&lt;br /&gt;
| Probleem on olemas.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Artikli tutvustus ja versioon&lt;br /&gt;
| 0,5&lt;br /&gt;
| 0,5&lt;br /&gt;
| Autor ja grupp on olemas&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Sissejuhatus&lt;br /&gt;
| 0,5&lt;br /&gt;
| 0,5&lt;br /&gt;
| Hästi on kirjeldatud probleemi.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tehniliselt korrektne&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Asi töötas väga hästi, alguses ei saanud id-kaarti kasutada ja peale seda fixi asi töötas.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Kasutatud kirjandus&lt;br /&gt;
| 0,5&lt;br /&gt;
| 0,5&lt;br /&gt;
| Kasutatud kirjandus on välja toodud&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Näited kasutamiseks/käsud&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Koodid on ilusti olemas, lausa skripti failidenda&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Sisu&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Ülesehitus&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Ülesehitus on arusaadav &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Kirjavead ja õigekiri&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Ei leidnud vigu&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Kokku&lt;br /&gt;
| 10&lt;br /&gt;
| 10&lt;br /&gt;
| Kaslik töö.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hindaja: Marvin Martinson A21&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:ID-kaarditarkvara_Ubuntu_guest_kasutajaga&amp;diff=116143</id>
		<title>Talk:ID-kaarditarkvara Ubuntu guest kasutajaga</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:ID-kaarditarkvara_Ubuntu_guest_kasutajaga&amp;diff=116143"/>
		<updated>2016-12-20T10:17:22Z</updated>

		<summary type="html">&lt;p&gt;Mmartins: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! KRITEERIUM&lt;br /&gt;
! KAAL&lt;br /&gt;
! HINNANG&lt;br /&gt;
! SELGITUS&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Skoop&lt;br /&gt;
| 0,5&lt;br /&gt;
| 0,5&lt;br /&gt;
| Probleem on olemas.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Artikli tutvustus ja versioon&lt;br /&gt;
| 0,5&lt;br /&gt;
| 0,5&lt;br /&gt;
| Autor ja grupp on olemas&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Sissejuhatus&lt;br /&gt;
| 0,5&lt;br /&gt;
| 0,5&lt;br /&gt;
| Hästi on kirjeldatud probleemi.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Tehniliselt korrektne&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Asi töötas väga hästi, alguses ei saanud id-kaarti kasutada ja peale seda fixi asi töötas.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Kasutatud kirjandus&lt;br /&gt;
| 0,5&lt;br /&gt;
| 0,5&lt;br /&gt;
| Kasutatud kirjandus on välja toodud&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Näited kasutamiseks/käsud&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Koodid on ilusti olemas, lausa skripti failidenda&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Sisu&lt;br /&gt;
| 4&lt;br /&gt;
| 4&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Ülesehitus&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Ülesehitus on arusaadav &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Kirjavead ja õigekiri&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| Ei leidnud vigu&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Kokku&lt;br /&gt;
| 10&lt;br /&gt;
| 10&lt;br /&gt;
| Kaslik töö.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hindaja: Marvin Martinson A21 (hindamine on pooleli)&lt;/div&gt;</summary>
		<author><name>Mmartins</name></author>
	</entry>
</feed>