Linux Quest. Apsveicam uzvarētājus un pastāstiet par uzdevumu risinājumiem

Linux Quest. Apsveicam uzvarētājus un pastāstiet par uzdevumu risinājumiem

25. martā atvērām reÄ£istrāciju uz Linux Quest, Ŕī ir spēle Linux operētājsistēmas cienÄ«tājiem un ekspertiem. Daži statistikas dati: spēlei reÄ£istrējās 1117 cilvēki, no kuriem 317 atrada vismaz vienu atslēgu, 241 veiksmÄ«gi izpildÄ«ja pirmā posma uzdevumu, 123 pabeidza otro posmu un 70 izturēja treÅ”o posmu. Å odien mÅ«su spēle ir noslēgusies un apsveicam uzvarētājus!

  • Pirmajā vietā ierindojās Aleksandrs Teldekovs.
    Aleksandrs pie sevis teica, ka ir tipiskākais sistēmas administrators. DzÄ«vo Volgogradā, jau apmēram divdesmit gadus administrē dažādas Unix lÄ«dzÄ«gas sistēmas. Man izdevās strādāt gan interneta pakalpojumu sniedzēju, gan bankā, gan sistēmu integratorā. Tagad viņŔ attālināti strādā nelielā uzņēmumā, strādājot pie mākoņa infrastruktÅ«ras lielam ārvalstu klientam. PatÄ«k lasÄ«t un klausÄ«ties mÅ«ziku. Par spēli Aleksandrs teica, ka viņam patika spēle kopumā, viņam patÄ«k Ŕādi uzdevumi. Intervijas laikā vienā no uzņēmumiem es darÄ«ju kaut ko lÄ«dzÄ«gu Hackerrank, tas bija interesanti.
  • Otrā vieta - Romāns Suslovs.
    Romāns no Maskavas. Viņam ir 37 gadi. Strādā par Linux/Unix inženieri Jet Infosystems. Darbā man ir jāadministrē un jānovērÅ” Linux/Unix sistēmas + SAN problēmas. Intereses ir dažādas: Linux sistēmas, programmÄ“Å”ana, reversā inženierija, informācijas droŔība, Arduino. Par spēli Romāns atzÄ«mēja, ka spēle kopumā viņam patika. ā€œNedaudz izstiepju smadzenes un atpÅ«tos no pelēkās ikdienas darba ikdienas. šŸ™‚ Gribētos vairāk uzdevumu, pretējā gadÄ«jumā spēle jau bija beigusies, pirms paguvu to nogarÅ”ot.ā€
  • TreÅ”ais - alex3d.
    Alekss dzīvo Maskavā un strādā programmatūras izstrādē. "Paldies par konkursu, bija interesanti pārbaudīt savas google-fu prasmes."

Arī 10 labāko spēlētāju reitingā:

  • Jevgeņijs Saldajevs
  • Markels Mokhnachevsky
  • KonstantÄ«ns Konosovs
  • Pāvels Sergejevs
  • Vladimirs Bovajevs
  • Ivans Bubnovs
  • Pavlo Klets

Mēs saprotam, ka visu mÅ«su problēmu risināŔanai ir daudz iespēju; daži no iespējamiem risinājumiem ir aprakstÄ«ti tālāk.

1. Pirmais posms

Mēs to nosaucām par ā€œVai jÅ«s tieŔām esat admins?ā€, jo uzdevums bija pavisam vienkārÅ”s - salabot siltās lampas servisu.

1.1. Interesanti fakti:

Divi spēlētāji pirmo atslēgu atrada pirmajās 15 spēles minūtēs, un pirmajā stundā mums bija trīs līderi, kuri izpildīja uzdevumu.

1.2. Vingrinājums

JÅ«s aizgājāt strādāt uzņēmumā, kurā ilgu laiku nebija kompetenta informācijas tehnoloÄ£iju speciālista. Pirms sākat sakārtot lietas, jāatrisina degoŔā problēma, kas traucē biroja darbu.

Apkopēja ar mopu aizķēra servera skapja strāvas kabeli. Strāva ir atjaunota, bet ļoti svarÄ«ga vietne joprojām nedarbojas. Mājas lapa ir svarÄ«ga, jo uzņēmumam Ä«paÅ”i nerÅ«p informācijas droŔība, un tās galvenajā lapā skaidrā tekstā var atrast izpilddirektora datora administratora paroli.

Kādu dienu parole tika nomainÄ«ta, bet visi aizmirsa jauno, direktors nevar strādāt. KlÄ«st baumas, ka Å”ajā maŔīnā bijis vairāk atslēgu, kas varētu palÄ«dzēt mums atÅ”ifrēt grāmatvedÄ«bas dokumentu rezerves kopijas.

Ikviens sagaida ātru problēmas risinājumu!

1.3. Risinājums

1. Pirmkārt, virtuālajā maŔīnā ir jāmaina root parole, lai tai piekļūtu. Sākot, mēs pamanām, ka tas ir Ubuntu 16.04 serveris.

Lai atiestatÄ«tu saknes paroli, mēs restartējam maŔīnu, ielādējot, brÄ«dÄ«, kad tiek parādÄ«ta grub izvēlne, dodieties uz Ubuntu vienuma rediģēŔanu ar pogu ā€œeā€. Rediģējiet linux lÄ«niju, pievienojiet to beigām init=/bin/bash. Mēs ielādējam, izmantojot Ctrl+x, mēs iegÅ«stam bash. Pārinstalējiet sakni ar rw, mainiet paroli:

$ mount -o remount,rw /dev/mapper/ubuntu--vg-root
$ passwd

Neaizmirstiet par sinhronizāciju, atsāknÄ“Å”anu.

2. Nosacījums saka, ka mūsu tīmekļa serveris nedarbojas, skatiet:

$ curl localhost
Not Found
The requested URL / was not found on this server.
Apache/2.4.18 

Faktiski Apache darbojas, bet atbild ar kodu 404. Apskatīsim konfigurāciju:

$ vim /etc/apache2/sites-enabled/000-default.conf

Šeit ir arī atslēga - StevenPaulSteveJobs.

Pārbauda ceļu /usr/share/WordPress - tāda nav, bet ir /usr/share/wordpress. Rediģējiet konfigurāciju un restartējiet Apache.

$ systemctl restart apache2

3. Mēģiniet vēlreiz, tiek parādÄ«ta kļūda:

Warning: mysqli_real_connect(): (HY000/2002): Connection refused in /usr/share/wordpress/wp-includes/wp-db.php on line 1488

Datubāze nedarbojas?

$ systemctl status mysql
Active: active (running)

Kas noticis? Mums tas ir jāizdomā. Lai to izdarÄ«tu, jums ir jāpiekļūst MySQL, kā aprakstÄ«ts sadaļā dokumentācija. Viens no dokumentācijas punktiem iesaka reÄ£istrēt opciju skip-grant-tables Š² /etc/mysql/mysql.conf.d/mysqld.cnf. Å eit ir arÄ« atslēga - AugustaAdaKingByron.

Lietotāja tiesÄ«bu laboÅ”ana 'wp'@'localhost'. Mēs palaižam MySQL, padarām to pieejamu tÄ«klā, komentējot opciju konfigurācijā skip-networking.

4. Pēc Ŕīm darbÄ«bām tÄ«mekļa serveris tiek startēts, taču vietne joprojām nedarbojas, jo

Warning: require_once(/usr/share/wordpress/wp-content/themes/twentysixteen/footer.php): failed to open stream: Permission denied in /usr/share/wordpress/wp-includes/template.php on line 562

Mēs rediģējam tiesības uz failu.

$ chmod 644 /usr/share/wordpress/wp-content/themes/twentysixteen/footer.php

Mēs atsvaidzinām lapu, dodamies uz vietni un atrodam atslēgu - BjarneStroustrup! Mēs atradām visas trÄ«s atslēgas, mÅ«su direktors var strādāt, mēs atÅ”ifrējām grāmatvedÄ«bas failus. Visi ir apmierināti, un jums priekŔā ir daudz darba, lai uzņēmumā izveidotu infrastruktÅ«ru, dublējumus un droŔību.

2. Otrais posms

Bija nepiecieÅ”ams atrisināt analÄ«tikas vākÅ”anas problēmu. Ikvienam patÄ«k analÄ«tika ā€“ kas to izmanto, kur un kādos daudzumos. Mēs izdomājām gadÄ«jumu, ar kuru vienā vai otrā veidā dzÄ«vē var saskarties visi inženieri.

2.1. Interesanti fakti

Viens no mÅ«su spēlētājiem ievadÄ«ja pareizo atslēgu pirmajās 10 spēles minÅ«tēs, un pirmajā stundā mums bija lÄ«deris, kurÅ” izpildÄ«ja uzdevumu.

2.2. Vingrinājums

JÅ«s gājāt strādāt uzņēmumā, pie jums nāca vadÄ«tāji un lÅ«dza noskaidrot, kam nosÅ«tÄ«tas vēstules no Āfrikas. Balstoties uz tām, mums ir jāizveido 21 populārākā adresātu adrese. Galvenais ir adresātu adreÅ”u pirmie burti. Viena lieta: pasta serveris, caur kuru tika nosÅ«tÄ«tas vēstules, netiek ielādēts. Ikviens sagaida ātru problēmas risinājumu!

2.3. Risinājums

1. Serveris neielādējas neeksistējoÅ”a mijmaiņas nodalÄ«juma fstab dēļ, ielādējot, sistēma mēģina to uzmontēt un avarē. Kā boot?

Lejupielādējiet attēlu, mēs lejupielādējām CentOS 7, sāknējiet no Live CD/DVD (TraucējummeklÄ“Å”ana -> GlābÅ”ana), uzstādiet sistēmu, rediģējiet /etc/fstab. Uzreiz atrodam pirmo atslēgu - GotfrÄ«ds Vilhelms11646Leibnics!

Izveidot mijmaiņas darījumu:

$ lvcreate -n swap centos -L 256M
$ sync && reboot

2. Kā vienmēr, paroles nav, virtuālajā maŔīnā jāmaina root parole. Mēs to jau izdarÄ«jām pirmajā uzdevumā. Mēs mainām un veiksmÄ«gi piesakāmies serverÄ«, taču tas nekavējoties tiek atsāknēts. Serveris ir pārslogots tādā ātrumā, ka jums pat nav laika rÅ«pÄ«gi apskatÄ«t visus žurnālus. Kā saprast, kas notiek?

Atkal mēs sāknējam no livecd, rÅ«pÄ«gi izpētām sistēmas žurnālus un katram gadÄ«jumam ieskatāmies cron, jo Ŕāda periodiskums. Tur mēs atrodam problēmu un otro atslēgu - Alan1912MathisonTuring!

NepiecieÅ”ams iekŔā /etc/crontab dzēst vai komentēt rindiņu echo b > /proc/sysrq-trigger.

3. Pēc tam serveris ir ielādēts, un jÅ«s varat izpildÄ«t pārvaldnieka uzdevumu: "Kādas ir adreses Āfrikā?" Å Ä« informācija parasti ir pieejama sabiedrÄ«bai. Å o informāciju var atrast internetā, izmantojot frāzes ā€œip adrese āfrikaā€, ā€œgeoip datubāzeā€. Problēmas risināŔanai var izmantot brÄ«vi pieejamas adreÅ”u izplatÄ«Å”anas datu bāzes (geoip). Mēs izmantojām datubāzi kā standartu MaxMind GeoLite2, pieejams saskaņā ar Creative Commons Attribution-ShareAlike 4.0 licenci.

Mēģināsim atrisināt savu problēmu, izmantojot tikai Linux sistēmas utilÄ«tus, taču kopumā to var atrisināt ļoti daudzos veidos: izmantojot teksta filtrÄ“Å”anas utilÄ«tus un izmantojot skriptus dažādās programmÄ“Å”anas valodās.

Sākumā mēs vienkārÅ”i iegÅ«sim pārus ā€œsÅ«tÄ«tāja-adresāta IPā€ no pasta žurnāla /var/log/maillog (veidosim e-pasta adresātu tabulu ā€“ sÅ«tÄ«tāja IP). To var izdarÄ«t ar Ŕādu komandu:

$ cat /var/log/maillog | fgrep -e ' connect from' -e 'status=sent' | sed 's/[]<>[]/ /g' | awk '/connect from/ {ip=$11} /status=sent/ {print $10" "ip}' > log1.txt

Un pirms mēs turpinām Āfrikas adreÅ”u datu bāzes apkopoÅ”anu, apskatÄ«sim populārākās sÅ«tÄ«tāju IP adreses.

$ cat log1.txt | cut -d' ' -f1 | sort | uniq -c | sort -r | head -n 40
5206 [email protected]
4165 [email protected]
3739 [email protected]
3405 [email protected]
3346 [email protected]

Starp tiem burtu skaita ziņā skaidri izceļas pirmie trÄ«s adresāti no augÅ”as. Ja izvēlaties to sÅ«tÄ«tāju IP adreses, kuri sÅ«tÄ«ja uz adresēm no Ŕī top 3, jÅ«s pamanÄ«sit skaidru noteiktu tÄ«klu pārsvaru:

$ cat log1.txt | fgrep '[email protected]' | cut -d' ' -f2 | sort | cut -d'.' -f1 | uniq -c | sort -r | head
831 105
806 41
782 197
664 196
542 154
503 102
266 156
165 45
150 160
108 165

Lielākā daļa tÄ«klu 105/8, 41/8, 196/8,197/8 ir pieŔķirti AFRINIC - vienam no pieciem reÄ£ionālajiem interneta reÄ£istratoriem, kas izplata interneta resursus. AFRINIC izplata adreÅ”u telpu visā Āfrikā. Un 41/8 pilnÄ«bā attiecas uz AFRINIC.

https://www.nic.ru/whois/?searchWord=105.0.0.0 
https://www.nic.ru/whois/?searchWord=41.0.0.0

Tādējādi atbilde uz problēmu faktiski ir paŔā žurnālā.

$ cat log1.txt | fgrep -e '105.' -e '41.' -e '196.' -e '197.' -e '154.' -e '102.' | awk '{print $1}' | sort | uniq -c | sort -r | head -n 21
4209 [email protected]
3313 [email protected]
2704 [email protected]
2215 [email protected]
1774 [email protected]
1448 [email protected]
1233 [email protected]
958 [email protected]
862 [email protected]
762 [email protected]
632 [email protected]
539 [email protected]
531 [email protected]
431 [email protected]
380 [email protected]
357 [email protected]
348 [email protected]
312 [email protected]
289 [email protected]
282 [email protected]
274 [email protected]

Å ajā posmā mēs iegÅ«stam virkni ā€œLinuxBenedictTorvadstā€.

Pareizā atslēga: "LinusBenedictTorvalds".

Rezultātā iegūtajā virknē ir drukas kļūda saistībā ar pareizo atslēgu pēdējās 3 rakstzīmēs. Tas ir saistīts ar faktu, ka mūsu atlasītie tīkli nav pilnībā paredzēti Āfrikas valstīm un tam, kā mūsu žurnālā tiek izplatīti e-pasta ziņojumi pēc IP adresēm.

Pietiekot precizējot lielākos Āfrikas valstÄ«m pieŔķirtos tÄ«klus, var iegÅ«t precÄ«zu atbildi:

$ cat log1.txt | fgrep -e' '105.{30..255}. -e' '41. -e' '196.{64..47}. -e' '196.{248..132}. -e' '197.{160..31}. -e' '154.{127..255}. -e' '102.{70..255}. -e' '156.{155..255}. | awk '{print $1}' | sort | uniq -c | sort -r | head -n 21
3350 [email protected]
2662 [email protected]
2105 [email protected]
1724 [email protected]
1376 [email protected]
1092 [email protected]
849 [email protected]
712 [email protected]
584 [email protected]
463 [email protected]
365 [email protected]
269 [email protected]
225 [email protected]
168 [email protected]
142 [email protected]
111 [email protected]
 96 [email protected]
 78 [email protected]
 56 [email protected]
 56 [email protected]
 40 [email protected]

Problēmu var atrisināt arī citā veidā.
Lejupielādējiet MaxMind, izpakojiet to, un nākamās trīs komandas arī atrisinās mūsu problēmu.

$ cat GeoLite2-Country-Locations-ru.csv | grep "ŠŃ„Ń€ŠøŠŗŠ°" | cut -d',' -f1 > africaIds.txt
$ grep -Ff africaIds.txt GeoLite2-Country-Blocks-IPv4.csv | cut -d',' -f1 > africaNetworks.txt
$ grepcidr -f africaNetworks.txt log1.txt | cut -d' ' -f1 | sort | uniq -c | sort -r | head -n21

Tā vai citādi mēs galu galā aprēķinājām statistiku, un vadÄ«tāji saņēma darbam nepiecieÅ”amos datus!

3. TreŔais posms

TreŔais posms ir nedaudz līdzīgs pirmajam - jālabo arī siltās lampas serviss, taču viss ir sarežģītāk nekā pirmajā uzdevumā.

3.1. Interesanti fakti

Pirmajās 15 minūtēs trīs spēlētāji atrada pirmo atslēgu, 2 stundas un 20 minūtes pēc posma sākuma mūsu uzvarētājs izpildīja uzdevumu.

3.2. Vingrinājums

JÅ«s devāties strādāt uzņēmumā, kur visi uzņēmuma dokumenti tiek glabāti iekŔējā Wiki serverÄ«. PagājuÅ”ajā gadā inženieris serverim pasÅ«tÄ«ja 3 jaunus diskus papildus vienam esoÅ”ajam, argumentējot, ka, lai sistēma bÅ«tu izturÄ«ga pret defektiem, diski ir jāievieto kaut kādos masÄ«vos. Diemžēl dažas nedēļas pēc to uzstādÄ«Å”anas inženieris devās atvaļinājumā uz Indiju un neatgriezās.

Serveris vairākus gadus darbojās bez kļūmēm, taču pirms pāris dienām tika uzlauzts uzņēmuma tÄ«kls. Saskaņā ar instrukcijām, apsardzes darbinieki izņēma diskus no servera un nosÅ«tÄ«ja tos jums. TransportÄ“Å”anas laikā viens disks tika neatgriezeniski pazaudēts.

Mums ir jāatjauno Wiki funkcionalitāte, pirmkārt, mÅ«s interesē viki lapu saturs. Noteikts teksta fragments, kas atradās vienā no Ŕīs wiki lapām, ir 1C servera parole, un tas ir steidzami nepiecieÅ”ams, lai to atbloķētu.

Turklāt kaut kur viki lapās vai citā vietā bija paroles žurnāla serverim un videonovēroÅ”anas serverim, kuras arÄ« bÅ«tu vēlams atgÅ«t, bez tām incidenta izmeklÄ“Å”ana nav iespējama. Kā vienmēr, mēs sagaidām ātru problēmas risinājumu!

3.3. Risinājums

1. Mēs cenÅ”amies palaist pa vienam no diskiem, kas mums ir, un visur mēs saņemam vienu un to paÅ”u ziņojumu:

No bootable medium found! System halted 

Jums no kaut kā jāstartē. Atkal palÄ«dz sāknÄ“Å”ana no Live CD/DVD (TraucējummeklÄ“Å”ana -> GlābÅ”ana). Ielādējot, mēs cenÅ”amies atrast sāknÄ“Å”anas nodalÄ«jumu, mēs to nevaram atrast, mēs nonākam čaulā. Mēģinām izpētÄ«t, ko un kā darÄ«t ar diskiem. Zināms, ka tādi ir trÄ«s. Å im nolÅ«kam ir vairāk rÄ«ku CentOS 7. versijā, kur ir komandas blkid vai lsblk, kas parāda visu informāciju par diskiem.

Kā un ko mēs darām:

$ ls /dev/sd*

Uzreiz ir skaidrs, ka

/dev/sdb1 - ext4
/dev/sdb2 - чŠ°ŃŃ‚ŃŒ lvm
/dev/sda1 Šø /dev/sdc1 - чŠ°ŃŃ‚Šø рŠµŠ¹Š“Š°
/dev/sda2 Šø /dev/sdc2 - ŠæрŠ¾ Š½Šøх Š½ŠøчŠµŠ³Š¾ Š½Šµ ŠøŠ·Š²ŠµŃŃ‚Š½Š¾ Š½Š° тŠµŠŗущŠøŠ¹ Š¼Š¾Š¼ŠµŠ½Ń‚

Mēs uzstādām sdb1, ir skaidrs, ka tas ir CentOS 6 sāknÄ“Å”anas nodalÄ«jums.

$ mkdir /mnt/sdb1 && mount /dev/sdb1 /mnt/sdb1

Acīmredzot mēs ejam uz grub sadaļu un tur atrodam pirmo atslēgu - James191955Gosling neparastā failā.

2. Mācāmies pvs un lvs, jo strādājam ar LVM. Redzam, ka vajadzētu bÅ«t 2 fiziskajiem sējumiem, viens neatrodas un sÅ«dzas par pazaudētu uid. Mēs redzam, ka ir jābÅ«t 2 loÄ£iskiem sējumiem: root un swap, savukārt sakne ir daļēji zaudēta (apjoma P atribÅ«ts). Nav iespējams uzstādÄ«t, žēl! Mums viņŔ tieŔām ir vajadzÄ«gs.

Ir vēl 2 diski, mēs tos apskatām, saliekam un montējam:

$ mdadm --examine --verbose --scan
$ mdadm --assemble --verbose --scan
$ mkdir /mnt/md127 && mount /dev/md127  /mnt/md127 

Mēs skatāmies, mēs redzam, ka Å”is ir CentOS 6 sāknÄ“Å”anas nodalÄ«jums un jau esoŔā dublikāts /dev/sdb1, un te atkal tā pati atslēga - DennisBMacAlistairCRitchie!
Apskatīsim, kā tas ir salikts /dev/md127.

$ mdadm --detail /dev/md127

Redzam, ka vajadzēja salikt no 4 diskiem, bet salikts no diviem /dev/sda1 Šø /dev/sdc1, tiem sistēmā vajadzēja bÅ«t numuriem 2 un 4. Mēs pieņemam, ka no /dev/sda2 Šø /dev/sdc2 Varat arÄ« savākt masÄ«vu. Nav skaidrs, kāpēc par tiem nav metadatu, bet tas ir uz administratora sirdsapziņas, kurÅ” atrodas kaut kur Goa. Mēs pieņemam, ka vajadzētu bÅ«t RAID10, lai gan ir iespējas. Mēs savācam:

$ mdadm --create --verbose /dev/md0 --assume-clean --level=10 --raid-devices=4 missing /dev/sda2 missing /dev/sdc2

Skatāmies blkid, pvs, lvs. Mēs atklājam, ka esam savākuÅ”i fizisko apjomu, kura mums iepriekÅ” trÅ«ka.

lvroot tika nekavējoties salabots, mēs to uzstādām, bet vispirms aktivizējam VG:

$ vgchange -a y
$ mkdir /mnt/lvroot && mount /dev/mapper/vg_c6m1-lv_root /mnt/lvroot 

Un tur ir viss, ieskaitot atslēgu saknes mājas direktorijā - /root/sweet.

3. Mēs joprojām cenÅ”amies atdzÄ«vināt savu serveri, lai tas normāli startētu. Visi loÄ£iskie sējumi no mÅ«su /dev/md0 (kur mēs visu atradām) velciet to uz /dev/sdb2, kur sākotnēji strādāja viss serveris.

$ pvmove /dev/md0 /dev/sdb2
$ vgreduce vg_c6m1 /dev/md0

Izslēdzam serveri, izņemam 1. un 3. disku, atstājam otro, sāknējam no Live CD/DVD uz Rescue. Atrodiet sāknÄ“Å”anas nodalÄ«jumu un atjaunojiet sāknÄ“Å”anas ielādētāju grub:

root (hd0,0)
setup (hd0)

NoplÄ“Å”am sāknÄ“Å”anas disku un veiksmÄ«gi ielādējam, bet vietne nedarbojas.

4. Ir divas vietnes palaiÅ”anas iespējas: konfigurējiet Apache no jauna vai izmantojiet nginx ar jau iepriekÅ” konfigurētu php-fpm:

$ /etc/init.d/nginx start
$ /etc/init.d/php-fpm start

Visbeidzot, jums jāsāk MySQL:

$ /etc/init.d/mysqld start

Tas nesāksies, un atbilde slēpjas /var/log/mysql. TiklÄ«dz jÅ«s atrisināsit problēmu ar MySQL, vietne darbosies, galvenajā lapā bÅ«s atslēga - RichardGCCMatthewGNUStallman! Tagad mums ir pieejams 1C, un darbinieki varēs saņemt algas. Un kā vienmēr, jums priekŔā ir daudz darba, lai izveidotu infrastruktÅ«ru un droŔību uzņēmumā.

Vēlreiz varam padalīties ar grāmatu sarakstu, kas palīdzēja mums un mūsu dalībniekiem sagatavoties spēlei: linux.mail.ru/books.

Paldies, ka bijāt ar mums! Sekojiet līdzi paziņojumiem par nākamajām spēlēm!

Avots: www.habr.com

Pievieno komentāru