Základy Mikrotiku #10 Module 8: PPP protocol, PPPoE, PPPoE Client, IP Pool, PPP profile, PPP secret, PPPoE server, PPTP, PPP tunel, SSTP

Point-to-Point Protocol (PPP) je používán k vytvoření zabezpečeného tunelu (direct connection = přímé spojení) mezi 2 síťovými uzly (nodes). PPP poskytuje samotnému spojení autentizaci (authentication), šifrování (encryption) a kompresi dat (compression). RouterOS podporuje různé PPP tuznely:

  • PPPoE
  • SSTP
  • PPTP
  • L2TP
  • OVPN

Máme tedy stejné schéma jako v minulém případě: Diagram1_mikrotik_ospf

PPPoE server

pppoeserver1 PPP/záložka PPPoE servers/ klikneme na tlačítko +: vybereme interface, který sousedí s druhým routerem. V mém případě jsem na pravém routeru, takže dávám ether2. Název služby si nastavíme mikrotik (to bude důležité pak u klienta, kde budeme do Service name: (názvu služby) uvádět rovněž stejné jméno – tedy mikrotik. pppoeserver2 Teď musíme vytvořit login údaje pro uživatele: uzivatel heslo si nastavíme pro testovací účely: mikrotikmikrotik (to stejné pak budeme uvádět do klienta) pppoeserver3 Tím, že si uvedeme do service: any, tak si tím zajistíme, že tyto přihlašovací údaje nám budou fungovat s jakoukoliv další službou od PPTP až po L2TP atd…

PPPoE client

U PPPoE clienta klikneme na PPP / tlačítko PPPoE Scan/ tím si ověříme, že klient někoho vidí. cl10_pppoeklient Okno zavřeme a v PPP/klikneme na modré tlačítko +, vybereme PPPoE client: cl10_pppoeklient2 cl10_pppoeklient2_5 V záložce Dial Out nastavíme název služby (pozor na velká a malá písmena) v poli Service. Uživatele, heslo a nastavíme profil. Na začátek můžeme default, později můžeme použít default-encryption. cl10_pppoeklient3

Hotovo, funguje!

Další servery typu L2TP,PPTP, SSTP atd.. jsou pořád na stejné brdo. Rozjedete server, uživatele, nastavíte si nějaký bezpečnostní profil (profile) a na straně klientského mikrotiku rozběháte klienta, vše nastavíte a máte hotovo.

Když proxmox dostane krámy

Dnes se mi stala nepříjemná věc. Restartoval jsem 2 mašiny a po restartu už to v quorum a v proxmoxu řvalo, že ty mašiny jsou odpojeny. Co teď? Pvecm status vypisuje, že je v clusteru jediná node a to je ta, která vše kontroluje, restartované mašiny jsou pryč. Po delším googlení jsem došel k následujícímu řešení, které Vás však může připravit o veškerou konfiguraci, či virtuálky, takže pozor! Na jednotlivých mašinách (mimo kontrolní, ze které cluster spravujete):  // ikdyž jsem to na kontrolní virtuálce pak udělal taky a v pohodě.

systemctl stop pve-cluster
systemctl stop corosync
pmxcfs -l
rm /etc/pve/corosync.conf
rm /etc/corosync/*
ps aux | grep pmxcfs
kill -9 $(pgrep pmxcfs)
systemctl restart pve-cluster

A potom mi šla mašina znovu přidat do clusteru příkazem: pvecm add <název čip IP adresa kontrolního stroje, kam chci fyzickou mašinu přidat), pak už to vypíše něco ve smyslu:

pvecm add dns_název_kontrolního_stroje
copy corosync auth key
stopping pve-cluster service
backup old database
waiting for quorum...OK
generating node certificates
merge known_hosts file
restart services
successfully added node 'název_stroje' to cluster.

zdroj zdroj2 zdroj3

Nepodporované síťové karty na Centos7 (Sun Fire X2200m2)

Ono to podle posledních článečků vypadá, že mám nějakou pifku proti Red Hatu, jenže to není pravda. Mě se prostě jen dějí podezřelé náhody, které mě nutí k zamyšlení, proč se tak děje. Doteď jsem nějak nepochopil, proč by Red Hat odebíral ovladače hardwaru z jejich distribuce.

Teď k tomu co se mi stalo.

lspci mi ukazuje na centosu7, že má stroj 4 síťové karty. Bohužel v ifconfig -a či ip addr show vidím jen 2. Kam se poděly ty zbývající 2? Odpověď je jednodušší, než byste mohli čekat. Mám asi moc staré síťové karty, ačkoliv jsou gigabitové a Red Hat si prostě usmyslel, že už je nebude standardně podporovat.

Mé řešení v mém případě pomohlo na mašinách Sun Fire X2200 M2:

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
#Pokud byste měli Realtek 8168, tak:
yum install kmod-r8168 -y
#Pokud máte síťovky od Nvidie, tak:
yum install kmod-forcedeth -y

Pokud to nepůjde jinak, tak rebootnete stroj a po rebootu už síťovky uvidíte všechny.

zdroj1 zdroj2

 

 

Zahoďte oVirt, je tu Proxmox ver. 4.x

Za tenhle článek mě Red Haťáci sežerou zaživa, na druhou stranu, než se pustím do Proxmoxu, popovídám Vám o oVirtu.

OVirt je skvělá technologie, založená na KVM (kernel based virtual machine), která umí live migraci, High-availability (vysokou dostupnost, dále jen HA), podporuje jak GlusterFS, tak namapování nejrůznějších diskových polí, umí snapshoty a je to prostě super technologie, o které jsem psal i ve své diplomce. Ovirt vychází z RHEV (Red Hat Enterprise Virtualization), máte na výběr si to buď rozjet na Centos 7, nebo Fedora Server, anebo si zkompilujete zdrojáky na Debianu/Ubuntu, což spíš nedoporučuji, protože oVirt je masivně podporovaný a používaný na Centosech a Fedorách, ale zatím jsem neviděl jedinou funkční bezproblémovou instalaci oVirtu na Debianu či Ubuntu. Parametricky je oVirt úplně vynikající technologie, která poměrem cena/výkon (je zdarma), nabízí to stejné, co konkurenti nabízí v cenové kategorii “platím jako mourovatý”. Ke zprovoznění oVirtu potřebujete 2 fyzické servery a aspoň 1 virtuálku. Občas se na internetu setkávám s pojmem “hosted engine”, kde honíte virtuálku, která řídí ty 2 fyzické mašiny uvnitř clusteru.

No a teď moje zkušenosti s oVirtem. Ještě jednou píšu, oVirt je vynikající technologie, která se řídí myšlenkou, že oVirtem spravujete v podstatě celý server. A už tady oVirt u mě naráží. Já chci virtualizační technologii, ať si ona virtualizuje, ale ať mě jako admina nechá možnost změnit něco v síťových připojeních serveru a ať ona vidí jen síťové mosty, které ji řeknu, že má vidět. Dále chci mít server pod kontrolou i jinačí možností, než jen přes rozhraní oVirtu a to se tu přesně nedoporučuje. Takže ikdyž jsem byl z oVirtu nadšený, stejně tak jako jsem byl předtím nadšený z OpenStacku, než mi došlo, že na správu a údržbu OpenStacku potřebujete celý team adminů a občas i nějakého programátora, který Vám ohne třeba síťová rozhraní, tak jak vy potřebujete, tak u oVirtu si uvědomuji, že jsem už na začátku dělal jednu chybu. Nevzal jsem si filosofii oVirtu a neporovnal to s tím, jaké víry ohledně Virtualizace jsem založený já sám.
Další co mi tak trošililinku vadí na oVirtu je fakt, že já musím mít ideálně server spárovaný s APC nebo napojený na ILOM, IMM či jiná management rozhraní serverů, ze kterých oVirt čerpá data pro HA a když to tak neudělám, tak mi ten oVirt zkrátka nezaručuje, že bude fungovat zcela bezproblémově s HA (tedy HA bude fungovat omezeně až po několika minutách viz zdroj2). No a teď ale k tomu, co si myslím, že já dělám špatně, když jsem kdykoliv nasazoval oVirt. Měl jsem si vždycky vzít bare metal instalační ISO a nainstalovat oVirt tak jak je rovnou přes něj a jsem přesvědčen, že by se mi neprojevovala většina problémů, které se mi projevovaly tehdy, když jsem oVirt instaloval dodatečně do Centosu 7. Další co mi vadilo na oVirtu byl web management. Já mám rád příkazy, ale jediné, kdy jsem ovládal virtualizační technologií příkazy bylo jen tehdy, když jsem tomu prováděl nějaký ruční update, nebo když jsem to chtěl nějak zautomatizovat přes webové rozhraní, aby se mi vytvářelo jedním kliknutím třeba desítky virtuálek a na to jsem si vygooglil příkazy, ozkoušel a za 14 dní zapomněl. Na oVirtu je web management jen taková nouzovka, která nabíhá pomale, má fakt docela mizernou odezvu a občas jsem měl strach na něco kliknout v obavách, že bych tím tu technologii rozbil, což se mi i parkrát na testovacím clusteru stalo. Potom se mi třeba stávalo, že mašina, která se mi “bugla”, prostě nešla z clusteru odebrat, takže jsem musel odebrat i nějaké další věci, nebo zrušit i celý cluster a povytvářet znovu a zkrátka jsem s tou technologií celý život spíš bojoval a přemlouval, abych ji dostal tam kam potřebuju, než že by to intuitivně fungovalo bez problémů tak, jak od virtualizační technologie očekávám (a to už mi rukama prošel VMware, Xenserver, KVM, VirtualBox, LXC kontejnery, OpenVZ, Xen a další…). Teď představte, že se vám něco takového bugne na produkčním clusteru? To se prostě nesmí stávat a z té nejistoty, kterou ve mě chování web managementu oVirtu vytvářelo, jsem z něho nakonec upustil (a nejen proto). Byla to verze 3.6 a já doteď nenávidím VDSM za to, jak mě, administrátora mlátí přes prsty. Je ale pravda, že sami Red Haťáci mi řekli, že web management je nouzovka, že oVirt se stejně ve většině případů ovládá přes příkazy, což je spolehlivé (ano, v tom jim dávám za pravdu) + s přihlédnutím na filosofii oVirtu jim musím zase dát za pravdu, že není chyba v oVirtu, ale v mém výběru virtualizační technologie vzhledem k mému smýšlení, ačkoliv parametricky splňuje vše, co administrátor potřebuje. Je to prostě jako když si ženská vysní nějaké úžasné boty, úplně se do nich zamiluje, ví že parametricky ji všechno kolem těch bot vyhovuje, cena, velikost bot, kvalita materiálů apod… Bohužel až druhý den, co nosí boty zjistí, že z nich má odřenou patu a že ji taky trošku tlačí palec. A to je přesně můj případ. oVirt je fajn, umí vše dle parametrů, co admin očekává od virtualizační technologie založené na KVM, která umí HA a web management, ale zkrátka mě v oVirtu tlačí palec a mám z něj odřenou patu.

Red Haťáci, promiňte, mám vás rád, děláte dobrý produkty, oVirt má vynikající budoucnost, hodně agresivně se vyvíjí a neustále přibývají nové vychytávky, ale bohužel, pokud chci nějaký cluster, moje následující požadavky na cluster jsou:

1) Ta technologie musí být tak primitivní a jednoduchá s ideologií “Keep it stupid simple”, abych se na ni mohl spolehnout i v časech updatování, pádu stroje, kritických situací apod…

2) Musí to umět vše co potom chci tak, aby se mi to nesypalo pod rukama, nepsalo to stovky warningů, nebo errorů

3) Já jsem tady administrátor, ne Virtualizační technologie, která mě bude házet klacky pod nohy a dělat si svoje a sahat mi do řízení serveru. Chci virtualizační technologii, která virtualizuje, vidí si jen to minimum, které potřebuje k virtualizaci (jiné stroje, virtuální bridge, virtuálky, disková pole, gluster fs atd…), ale už mě nepeskuje za to, jak si upravím nebo přidám vlany, vlany do trunku, bondingu, co nahážu do firewallu apod…

PROXMOX ver 4.x

O proxmox jsem vždycky zavadil, na jednu stranu jsem viděl, že je to “free” a na druhou stranu jsem viděl subscription a ceny předplatné podpory. Slovo bare metal je u mě na single strojích spíš sprosté slovo kvůli ztrátě jedné veřejné IP, která padne v tu ranu pro management a taky nešťastnost updatů některých bare metal řešení. Tam kde použiju bare metal virtualizaci, tak jsou střední firmy, které si mohou nakoupit spoustu železa, mají dostatek IP adres, mašiny jsou schované za hardwarovým firewallem, nebo vůbec za nějakým spolehlivým firewallovým řešení, které chrání celou firmu a často se setkávám s tím, že na bare metalu mi najednou nepůjde dodat tu napojení na nagios, plugin pro munin, zkrátka přicházím o všechny výhody, které jsou spojené se svobodou plnohodnotného operačního systému, na kterém běží virtualizační technologie.

A Proxmox je přesně taková technologie, jakou jsem dlouho hledal. Je totiž:

1) Téměř nerozbitná
2) Tváří se jako Bare Metal, ale je to Debian s funkčním apt-get balíčkovacím systémem
3) Virtualizační technologie si řeší virtualizaci a jakékoliv další balíčky si do systému nahodíte, to už je na Vás. Stejně tak Vás neplácá proxmox přes ruce, když si změníte něco v konfigurácích.
4) Je zdarma či open-source
5) Podporuje HA, Live migraci, snapshoty, GlusterFS a jako bonus vnímám podporu ZFS a RAIDZ/RAIDZ2/RAIDZ3, pokud tedy máte levnější železo, můžete si tam rozjet velmi kvalitní softwarový raid založený na ZFS RAID.
6) A má webové rozhraní, kde si naklikám co potřebuji s integrovanou konzolí, která se mi zatím ani jednou nebugla, vše je extrémně rychlé, běží to na všech prohlížečích a nejeví to známku nějaké unavenosti, nebo problémů. Když se objeví problém, dá mi to najevo, vyplivne mi to errorovou hlášku, vložím ji do googlu a hned vím řešení.
7) Je to tak intuitivní, že ani nemusím studovat dokumentaci a rozběhám si během chvíle cluster, HA, cokoliv chci dodat dalšího, to si tam dodám, ale nic se v tom nesype.
8) V případě, že se to vážně rozsype, musím být schopen z technologie vytáhnout virtuálky a jejich image. Když jsem záměrně rozbil oVirt s GlusterFS, abych tohleto zjistil, vytáhnout se mi z toho virtuálky jen tak snadno nepodařilo.
9) Musí to umět jak local datastore, tak replicated, tak network datastore

Jediná velká nevýhoda Proxmoxu, kterou třeba nemá nejnovější Xenserver je, že na funkční HA cluster potřebujete 3 stroje a je jedno jestli ty 2 jsou fyzické a ten třetí je virtuálka, která ty 2 fyzické stroje řídí, ale potřebujete zkrátka 3 stroje a to znamená, že se Vám to ročně na provozních nákladech prodraží a to je velká škoda. Xenserver narozdíl od toho zvládá fungovat na 2 strojích s HA redundancí.

Další výhoda Proxmoxu (pro mě) je ta, že má IPtables a nemá FirewallD. FirewallD je doménou zejména RedHatích produktů, tedy Centosu, Fedory. Nikde jinde jsem FirewallD snad neviděl, ubuntu ho nemá, debian ho nemá, arch linux taky ne, gentoo nikoliv, zkrátka je snazší napsat, které distribuce ho mají, než které ho nemají. Další nevýhodou je kratší životní cylus Debianu, který je zhruba +- 2 roky, u LTS distribuce je to zhruba +- 4 roky. Ale protože ty virtuálky

No a teď konečně k ukázce virtualizační technologie a jejího chování.

1) Běžná ukázka, instalace jedné virtuálky uvnitř jednoho ze strojů:

2) Ukázka Live Migrace

3) Ukázka snapshotů a revertnutí

4) Ukázka zafungování HA redundance

5) Jak to vypadá, když odpojený fyzický stroj zase zapojíte do sítě

 

zdroje oficiální dokumentace a mé osobní poznatky + rozhovory s kolegy, které tímto zdravím

zdroj2 zdroj3 zdroj4

Error: file not found. Entering rescue mode … Grub rescue>

Velmi nepříjemná situace, kterou zjistíte, až rebootnete stroj. V tom se zásadně liší Windows a Linux administrátoři. Zatímco Windows administrátoři se těší, až to po restartu začne konečně fungovat, Linuxoví administrátoři si začínají okusovat nehty, protože když restartujete třeba po 3 letech, tak už si nejste úplně jistí, jestli ta mašina fakt nabootuje bez problémů.

Příkazem ls zjistíme, jaké oddíly máme k dispozici. Pokud nepoužíváte RAID ani LVM, tak to bude jeden z disků typu:

(hdČíslo,číslo)

Na to pomůže tento návod.
Když nevíte, co ta mašina má (jestli raid má či nikoliv), tak můžete klidně zkusit (hd0,msdos1) atd… vyzkoušíte všechny možnosti, ono vám to stejně bude řvát, že to nejde (file not found, nebo unrecognized device string apod…) viz odkaz.

V případě /boot partitiony na /dev/md0 (pokud je to třeba v SW raid 1):

set root=(md/0)
set prefix=(md/0)/grub
//pokud by to bylo na běžném diskovém poli s neodděleným adresářem /boot tak set prefix=(md/0)/boot/grub
insmod normal
normal

(po odkliknutí normal to začne bootovat do linuxu)

Po náběhu stačí nadhodit následující kletbu (bez těchto příkazů, by Vám to při příštím restartu opět naběhlo do grub rescue!) :

update-grub
grub-install /dev/md0

když se objeví error:

debian grub-install:_ error: will not proceed with blocklists

grub-install: error: diskfilter writes are not supported

V mém případě to řvalo errorama a warningama, takže:

grub-install --target=i386-pc --force /dev/md0

zdroj1 zdroj2 zdroj3 zdroj4 zdroj5 zdroj6

Jak na SQL v kostce všechny užitečné materiály v jednom

Tenhle mikro článeček vznikl pro kolegy, které učím základy s MySQL

 

1) Výborný návod na základy s MySQL, tohle když projedete na nějakém nainstalovaném MySQL serveru, abyste si to mohli procvičit.

http://www.linuxsoft.cz/article.php?id_article=731
(pro případ nouze tento link)

2) Jak pochopit inner, outer, left a right joiny:

http://www.phpdeveloper.cz/prakticke-vyuziti-union-a-join-v-mysql/
(
pro případ nouze tento link )

3) Přehled datových typů v MySQL:

http://programujte.com/clanek/2007052903-prehled-datovych-typu-v-mysql/

(pro případ nouze tento link )

 

Postupně sem kdyžtak budu dál doplňovat užitečné odkazy, které si máte nastudovat. Ve své podstatě jde o to, že o MySQL už je všude článků dost, takže si myslím, že není nutné psát další články na totéž, když jich je všude po internetu tolik.

Černé video na facebooku, co s tím?

S tímto problémem se setkávám poměrně často. Máte video na facebooku a video je od začátku černé, musíte si ho přehrát znovu, aby se “vybarvilo”. V tomto příspěvku dávám řešení.

Pokud používáte jakýkoliv prohlížeč, který používá hardwarovou akceleraci videa, vypněte ji a problém pomine.

V Chromu přejděte na tuto adresu:

chrome://flags/#disable-accelerated-video-decode

Ve Firefoxu najdete řešení tady.

Pro prohlížeč Opera najdete řešení tady.

 zdroj

Enjoy

 

Jaký počítač pod stromeček pod 18 000? Vánoce 2016

Zkráceně tento:

https://www.czc.cz/179320,105970,161089,185236,191548,140785,194717,198645,99689/kody

Celková cena 17 954,-

Je tam vlna kompromisu, ale větší výkon za tu cenu s takovou užitnou hodnotou asi na trhu nenajdete. Bude to rychlé jak při práci díky SSD disku na systém, tak při hraní her s GTX 1060 + Core i3 6100.

 

Asi vás napadnou otázky:

1) A není ta core i3 6100 moc pomalá? Nebude to bottleneckovat?
Kdybych tam místo ní za tu cenu vrazil core i5, musel bych vzít na výkonu grafiky, takže finální výkon celého počítače by byl nižší, než s Core i3. Poslední generace Core i3 je stejně rychlá, jako předchozí generace Core i5, takže výkonu má skutečně dostatečně. Ve hrách, jako je Fallout 4 (procesorově silně závislá), tak je na tom lépe, než 8 jádrová AMDčka.
Viz tento odkaz anebo tohle video. Rozdíl je v procesorech max 5 FPS (snímků za vteřinu), v kritických situacích max 10 fps a to nestojí za zmínku ve srovnání při porovnání grafických karet, kde bývají rozdíly desítky snímků za vteřinu.

2) Kingstony se sypou! Vážně tam je vhodné dávat ten kingston?
Zatím se mi nevysypal ani jeden a kolegové o řadě UV400 také mluví lépe, než o řadě V300, která byla průšvih. Kdyby bylo více peněz, zvolím intel nebo OCZ či Crucial MX200/300, jenže peníze nejsou a my potřebujeme SSD 120GB na systém.

3) Kde je v tom operační systém?
Není, kupte si ho za 2 stovky originál legálně třeba zde:
http://aukro.cz/windows-10-professional-oem-licence-32-64-cz-i6645038839.html

4) Ta kastle je malá!
Je malá, ale vlezou se do ni grafické karty všech velikostí a v dané cenové kategorii je nejlépe vnitřně uspořádaná. Zdroj umístěný dole k nasávání chladného vzduchu, ventilátor vzadu na vyfukování ohřátého vzduchu a inteligentně vymyšlené ustájení SSD disku za základní deskou z druhé strany počítače.

5) Ty rasisto! Proč si tam nedal RX 480?!

Nejsem rasista, sám mám R9 290x, ale radeony neumí CUDA, pokud chcete herní stroj, chcete aby měl podporu Cuda, které AMD bohužel nemá, nehledě na to, že se neustále potýkám s problémy s kompatibilitou a ovladači na AMD grafikách. Posledním hřebíčkem do rakve RX 480 je dalších 600 až 900 korun nad rozpočet, které rovněž do rozpočtu 18 000 už prostě nevymyslíme.

6) Proč si tam nedal taktovatelné paměti kingston hyper-x?
Protože paměti dnes tvoří mizivé procento výkonu. Dokonce rozdíl mezi DDR3 a DDR4 ve většině aktuálních her jsou 2 max 4FPS (FPS = snímek za vteřinu)

7) Budou na tom hry plynulý?

Cokoliv co utáhnete nad 40 FPS, tak je nádherně plynulé, někomu stačí jen 30FPS (herní konzole mají často uzamčení na 30 snímků za vteřinu), já jsem spokojen s čímkoliv nad 40FPS a když chci natáčet, tak 60 FPS je minimum a tato Core i3 6100 spolu s GTX 1060 s proražením 60FPS nebude mít ve hrách problém.

8) Za jak dlouho budu muset vylepšovat a přikupovat?
Odhaduji tak 3 roky a bude potřeba dokoupit Core i5 (to za 3 roky bude stát tak řekněme 2500 až 4000 kč) , dalších 8GB RAM (tam odhaduji za 3 roky ceny od 500 do 900 korun)  a lepší grafiku (podobná cena, jako u té dnešní GTX 1060), za tu dobu vše však zlevní zpravidla minimálně na 40% aktuálních cen dnešního high-endu.

Další dotazy? Ptejte se v diskusi.

 

 

Project cars: Unhandled exception trapped. EXCEPTION_ACCESS_VIOLATION at 0x40dfa67b. Reading from Adddress 0×000000000. Thread 0x00000b1c Build SMSARI.20161118.1246.BLDA000

Velmi často objevující se bug:

Project cars: Unhandled exception trapped. EXCEPTION_ACCESS_VIOLATION at 0x40dfa67b. Reading from Adddress 0×000000000. Thread 0x00000b1c  Build SMSARI.20161118.1246.BLDA000

Vypadá to nějak takto:

unhandled_exception_project_cars

Je v podstatě jedno co Vám to píše za adresy 0×0000 atd.., problém mají jak majitelé Nvidia Geforce karet, tak majitelé AMD Radeonů. V případě radeonů na PC kde jsem problém řešil, nepomohly ani starší, ani novější drivery (catalysty vs. crimson vs. crimson relive), podtaktování grafiky dokonce pod úroveň defaultních frekvencí jen oddálila problém, ale stejně ta hra pak spadla.

Situace na oficiálních forech Project Cars vypadá podobně

Někomu pomohlo snížit si frekvenci ramek, někomu vrátit přetaktovanou grafiku na původní takty od výrobce, ale celkově to neznamená vyřešení problému. Na počítačích, kde je hra spouštěna za standardního uživatele bez administrátorských práv je doporučováno hru spustit s právy administrátora. Pokud máte steam, tak prvně spustit steam s právy administrátora a následně spustit hru s právy administrátora, ale většinou tohle vůbec nemá vliv na pády hry, stejně hra spadla.

Jak se problému zbavit

Následující řešení však pomohlo na počítači, kde jsem tento problém řešil já:

1)  start /ovladací panely / (vpravo nahoře zobrazit podle: vyberte Malé ikony) možnosti napájení/ Vyberte Vysoký výkon (nebo performance, podle toho jak se Vám to tam zobrazuje).

2) (tento bod je asi nejdůležitější) start /ovladací panely / (vpravo nahoře zobrazit podle: vyberte Malé ikony)/systém / nalevo kliknete na upřesnit nastavení systému/ v poli kde se píše “Výkon” “Vizuální efekty, plánování procesoru, využití paměti a virtuální paměť” klikněte na tlačítko Nastavení / objeví se tabulka kde zaškrtnete “Optimalizovat pro výkon” jako vidíte na obrázku a dáte dole OK.

Optimalizovat pro vykon

 

3) Posledním bodem, který je důležitý pokaždé, když měníte nastavení grafiky v Project cars, je nutné vymazat jeden XML soubor a to konkrétně v cestě:

C:/Users/<jméno vašeho uživatele/Documents (nebo Dokumenty)/Project CARS/

a zde SMAŽETE nebo PŘEJMENUJETE soubor:

graphicsconfigdx11.xml

(buďte vklidu, při spuštění hry, si hra konfigurační soubor vygeneruje znovu)

4) V nastavení grafiky ve hře si pohlídejte, abyste měli zakázané sdílení videopaměti (tuším že je to poslední záložka v nastavení).

5) Na PC s Radeonem R9 290x jsem snížil navíc ještě frekvence videopamětí z defaultních 1250 na 1145Mhz a čip z 1000 Mhz na 945Mhz (někam na úroveň Radeona R9 290) a problém se již nevyskytnul. (jsem však přesvědčen, že největší vliv na to mělo zakázání těch grafických funkcí ve windows, se kterými se hra nemusí snášet).

 

 

 

Přestaly Vám fungovat aktualizace na Windows 7?

Pokud jste zrovna nainstalovali originální windows 7 a nějak Vám nefungují aktualizace, respektive fungují, ale nic to nedělá, tak doporučím tento link.

Ve své podstatě jde o tyto aktualizace:

Windows 7 32-bit (x86):

Windows 7 64-bit (x64):

Jenže ani přesto Vám to nepůjde nainstalovat, takže před každou instalací konkrétní aktualizace musíte otevřít příkazovou řádku za admina a napsat:

net stop wuauserv
net start wuauserv 

Anebo po každé instalaci jednotlivých aktualizací restartovat počítač, pokud se necítíte na to, spustit příkazovou řádku za admina a provést restart služby. Oboje řešení jsou možná.

Příprava na LPIC-1 certifikační zkoušku #2 Otravná teorie 2/2

 

Dnes si spláchneme pojmosloví.

Není Linux jako Linux. Franta má Ubuntu Linux, Pepa má Debian Linux, Honza má CentOS Linux. Všechno je to Linux, ovšem každá z těchto distribucí má trošku upravené jádro, zastává jinou mentalitu a tomu odpovídá i míra využívání jednotlivých distribucí pro jejich účely.

Wikipedie sice není relevantní zdroj, proto sem koukněte na seznam linuxových distribucí jen pro základní orientaci v distribucích.

Svoje názory do článků budu psát kurzívou, aby jste věděli, že to nesouvisí s kurzem, ale s mým osobním přidáním názoru na věc.

Za mě nejslavnější distribuce seřazené dle abecedy:  

Arch Linux
CentOS
Debian
Fedora
Gentoo
Mint
OpenWRT
Puppy
Raspberian
Red Hat Enterprise Linux
Slackware
Slax
Suse
Ubuntu

Historie Linuxu v kostce zde. Zde historie od Unixu k Linuxu. Pro extra hnidopichy, které neodradily předchozí 2 články o historii přidám i tento, co je to Operační systém, což Vám odpoví na základní otázku života, smrti a tak podobně, co se účelu vzniku operačních systému týče.

Smysl a účel Kernelu

3 hlavní komponenty operačního systému jsou:

  • Filesystem (souborový systém)
  • Kernel
  • Shell

Kernel vše řídí a naviguje, řeší co se má dít s pamětí, spouští, zabijí programy, zajišťuje zobrazování textu na monitor. Kernel je v operačním systému takový základ, jako je gravitace a veškeré fyzikální zákony v našem existujícím světě. Když aplikace chce zapsat na disk, musí ji to povolit kernel. Pokud se 2 či více aplikací dožadují stejného zdroje, Kernel rozhodne komu a na jak dlouho zdroje přidělí. Představte si Kernel jako Matrix ve stejnojmenném filmu.

Kernel se tedy stará o běžící programy v počítači. Spuštěný program je proces. Procesy si představte jako pasažéry v autobusu. 8 jádrový procesor zvládne utáhnout 8 běžících procesů, které spotřebovávají 100% všech jader procesoru. Je to jako kdybychom měli autobus s 8 pasažéry, kteří zabírají 100% prostoru pro pasažéry, tedy všech 8 sedadel. Když nějaký proces jel dostatečně dlouho,  CPU ho dočasně pozastaví, aby se mohl svézt jiný proces. Všichni se tedy na těchto sedadlech autobusu neustále střídají a dělí o sedadla, aby mohli sedět všichni.

  • To je preemptivní multitasking (pre-emptive multitasking)

Multitasking je víceúlohovost. Každá žena umí multitasking, tedy zvládat více úkolů naráz. (poslouchat hudbu, číst, dávat přitom pozor na děti a ještě stíhat vařit).
Pre-emptivní (pre-emptive) znamená, že se Kernel rozhoduje, kdy předat řízení jakému procesu. (kdy se má který pasažér posadit) Když se neustále na procesoru běžící procesy střídají (když se neustále střídají pasažéři v tom kdo bude sedět na sedadle autobusu), tak se zdá, že počítač dělá hodně věcí současně. Ve skutečnosti je to však pouhé střídání se pasažérů na jednom sedadle.

Každá aplikace se domnívá, že má velký blok paměti vyhrazenou systémem, ale ve skutečnosti je Kernel tak “chytrý”, že neustále přemapovává, přerozděluje, organizuje malé bloky (části) paměti napříč běžícími aplikacemi, anebo odkládá nepoužívané části paměti na disk, aby si paměť uvolnil.

Když počítač startuje

načte základní program, kterému říkáme:

  • Bootloader
    ten následně spustí:
  • Kernel

Co je to Aplikace

představte si křižovatku a uprostřed ni je Policista, který organizuje dopravu. Policista je Kernel, projíždějící auta jsou spuštěné aplikace. Policista má nad auty výhradní kontrolu. Může je zastavovat, sledovat jejich provoz, pouštět dle požadavku a řešit systémové zdroje (uzavírat silnici apod…)

V rychlosti o Open-source

Linux vychází z operačního systému UNIX, který vzešel z laboratoří AT&T v USA. Autorem Linuxu je Linus Torvalds, byla to jeho disertační práce. K jeho projektu se pak přidali další lidi, kteří zajistili, aby se nejen v počátečních verzí linuxu neobjevily stejné chyby, jaké se objevily v OS UNIX. Open-source znamená otevřený kód. Napíšete program, jeho zdrojové kódy volně vydáte a pak se nestíháte divit, že Váš kód někdo vezme a třeba na to naváže. Jakmile je něco vydáno jako open-source, je to zdarma, pokud někdo chce na Vaši práci navázat, tak může. Pokud mě však paměť nešálí, nikdo nemůže použít něčí open-source kód v komerčním produktu. (To nechme na diskusi)

Ve zkratce a co největší stručnosti. Když programátor píše program, píše tzv zdrojový kód (source code), což je uživatelem čitelný seznam různých příkazů. Zdrojový kód (source code) může být psán v různých jazycích. Od programovacího jazyku C, až po jazyky jako jsou Java, PHP, Python, C#. Každý jazyk má své výhody a nevýhody, každý se hodí na něco jiného. Linux byl napsán v programovacím jazyku C.

Zdrojový kód (source code) je jako těsto, které potřebujete nechat upéct, aby se to dalo jíst. Zdrojový kód (source code) potřebujete proto zkompilovat (upéct), k čemuž použijete kompilátor (compiler). Kompilátor zdrojový kód (source code) vezme, pak následuje vcelku komplikovaný postup práce kompilátoru, který Vás výborně naučí na Mendelově Univerzitě pan Doc. Rybička v předmětu Teorie programovacích jazyků a na konci tohoto postupu máme spustitelný program. Ještě připomenu, že máme jazyky interpretované a kompilované. Kompilované jazyky jsem popsal těstem a pečením. Příkladem kompilovaných jazyků jsou například C++, C#, C, Pascal, Objective-C, Java.
Příkladem interpretovaných jazyků jsou například jazyky PHP, HTML, Perl, Python, BASH, JavaScript, Ruby, Tcl, VBScript, MATLAB, R, PostScript, Wolfram, Lua, Maple, Game Maker Language. Zdroj
Interpretované jazyky nepotřebujete kompilovat, ale při spuštění probíhá překlad zdrjového kódu interpretem, který musíte mít v systému. Pro interpretaci HTML kódu potřebujete internetový prohlížeč. Pro spuštění BASH skriptu potřebujete mít v systému nainstalovaný interpret bashe, zkrátka něco, co přeloží kód za chodu a vykoná co je potřeba. (Toť opravdu ve stručnosti, nechtěl jsem do toho moc zacházet. V diskusi mě prosím příliš netrestejte za takto jednoduchá vysvětlení).

GNU project (GNU’s not UNIX)

Až nedávno jsem se dozvěděl že GNU se vyslovuje [Ga-nů]. GNU vytvořilo různé nástroje pro OS UNIX, zdrojové kódy (source code) byly volně zcela zdarma dostupné (zejména pro různá UI, kompilátory apod…). Některé nástroje jsou z GNU dostupné i dnes v dnešním Linuxu.

Distribuce Linuxu

Distribuci Linuxu si představte jako jeden velký koncern vyrábějící automobily. V podstatě je jedno jestli si koupíte škodovku, nebo volskwagen či audi. Patří pod stejný koncern, všechny mají 4 kola, volant, karoserii, stěrače, kufr, sedadla, všechny vyžadují údržbu, pohonné hmoty apod. Co dělá linux linuxem a auto autem? Vezměte linux, nástroje GNU, přidejte třeba grafické uživatelské rozhraní, emailového klienta, webový prohlížeč, nějaké karetní hry a máte základ distribuce linuxu. Ve své podstatě distribuce Linuxu dělají z Linuxu použitelný operační systém, protože obsahují stovky nástrojů a programů, bez nichž by operační systém byl pro uživatele nepoužitelný základ asi tak, jako když by se Vám výrobce automobilu snažil prodat jen podvozek, namísto hotového automobilu. I ten podvozek se rozjede, ale nechtěli byste na podvozku jet vysokou rychlostí v zimě.

Mezi základní distribuce jmenuji Debian, Ubuntu, Centos, Red Hat, Fedora, Arch Linux, Scientific Linux, Puppy linux, Suse/OpenSuse, Slax, Slackware.
Rozeberme si tu ale 2 distribuce, které jsem zmínil na začátku. Ubuntu a Centos.

Ubuntu vyšlo z Debian linuxu, takže většina problémů, které řešíte na Debianu, pravděpodobně řešíte i na Ubuntu a naopak. Centos vychází z Red Hat enterprise Linuxu a je velmi podobný i Fedoře či Scientific Linuxu.
Pokud instalujete programy, můžete využít balíčkovací systémy yum a apt využívající balíčky rpm a deb. To uživatelé Windows neznají. V zásadě napíšete příkaz, co chcete nainstalovat a operační systém to za Vás vyhledá v dostupných repozitářích, stáhne, nainstaluje a připraví ke spuštění. Už chápete genialitu Linuxu? ;-)

Centos, Fedora, Red Hat používají RPM balíčkovacího manažera (zkratka Red Hat Package Manager). Debian, Ubuntu a další odnoše jako je ZorinOS, Edubuntu, Kubuntu apod. obsahují deb balíčky.

Na Centos/Fedora/Red Hat linuxu instalujete balíčky pomocí příkazu yum a na Debian/Ubuntu  pomocí příkazu apt-get.

 

Release cycle

Tohle je velmi důležité vědět. Každá distribuce má jiný životní cyklus (life cycle). Nebudu tu ultra do podrobna probírat životní cykly, freezy apod… Důležité je znát zkratu LTS (Long term support), což znamená dlouhodobá podpora bezpečnostích aktualizací a jednotlivých balíčků. Pokud chcete dát nějakou distribuci na server, chcete aby měla co nejdelší dobu LTS. Zpravidla Ubuntu žije u LTS distribucí zhruba 5 let, Debian mívá +- 4 roky zdroj, Centos žije většinou 10 let, Fedora mívá velmi krátký životní cyklus několik desítek měsíců. Není na to vyloženě návod nebo doporučení co používat. Pokud chcete mít v systému nejnovější balíčky, zato ale občas zanadávat, že Vám občas nějaký program nemusí běžet pořádně, protože je moc nový a ještě úplně neodladěný, tak zkuste pro běžný počítač třeba Fedoru, Ubuntu-desktop, Arch Linux apod… Pokud chcete něco stabilního, co Vám někde na nějaké serverové mašině za firewallem poběží vklidu a nechcete s tím mít moc problémů, tak by vás mohl zaujmout Centos. Pokud potřebujete stabilitu a budete přecházet na novější verze distribuce jednou za 3 až 4 roky, tak debian nebo ubuntu-server. Toť moje doporučení, nesouvisí to nijak s konkrétními znalostmi linuxu, nebo něčím, co byste měli nutně dělat.

i386 vs. x86_64

Stručně. i386, i486, i586, i686 apod… jsou 32bitové distribuce Linuxu, které Vám poběží na starším počítači. Umí využít maximálně něco přes 3,2 GB RAM i přestože můžete mít 4 GB či víc, tak systém vidí jen tuto část. Nespustíte na takovém systému 64bitové aplikace a programy spuštěné v takovém systému by měly konzumovat méně operační paměti (RAM).

Když příkazem uname -a na linuxu zjistíte informace o kernelu a bude tam někde napsáno x86_64 či AMD64, tak víte, že se právě nacházíte na 64bitovém linuxu, který využije řádově více ram (zhruba 16,8 milionů terabajtů RAM zdroj). Zvládá spouštět i 32 bitové aplikace, aplikace i systém budou konzumovat nepatrně více paměti.

 

Shell

To není reklama na čerpací stanice, to je rozhraní (interface), který nám umožňuje do počítače zadávat příkazy, co po něm chceme aby udělal. Shell je v podstatě interpret (viz nahoře o interpretovaných jazycích). Příkazy, které zadáme do Shellu vykoná kernel.

Existují 2 typy shellů:

  • GUI (Graphical User Interface) <- grafické rozhraní, ikonky, plocha, okna, klikání myší
  • CLI (Command Line Interface) <- textové rozhraní, příkazy, to čeho se začátečníci bojí jak čert kříže

Výhody CLI

  • Opakování příkazů (command repetition) – napsat znovu stejný příkaz znamená mít možnost zopakovat co chcete
  • Zdroje (resources) – na serverech třeba GUI většinou není, protože GUI žere docela dost paměti, příkazová řádka je velmi nenáročná na systémové zdroje  a systém je tak mnohem stabilnější.
  • Skriptování (scripting) – napíšete si skript, skládající se z mnoha příkazů, který za Vás něco udělá kdykoliv budete chtít, kolikrát budete chtít. V grafickém rozhraní se špatně něco automatizuje.
  • Flexibilita příkazů (Command Flexibility) – možnosti příkazů, které Vám jednotlivé příkazy nabízí jsou většinou bohatší, než Vám nabídne nějaký grafický program, kde když není tlačítko, tak zkrátka nějakou funkci nevyvoláte. U příkazu zvolíte přepínač a najednou jste schopni např. data setřídit od největšího po nejmenší a naopak, nebo opomenout velká a malá písmena atd…
  • Vzdálený přístup (remote access) – Pokud se připojíte na server přes příkazy, nepotřebujete ani rychlý internet, ani myš, stačí Vám jen klávesnice a napsat pár příkazů, nebo je dokonce jen poslat vykonat na vzdálený server bez nutnosti někam klikat a čekat než se Vám načte vzdálené grafické rozhraní.
  • Vývoj (development) – když někdo vyvíjí aplikaci, tak vyvinout základní funkčnost někde v příkazové řádce trvá mnohem kratší dobu, než vyvinout grafickou aplikaci, kde musíte na něco klikat, řešíte rozložení prvků, vzhled, uživatelskou přívětivost, vývoj grafických aplikací zkrátka trvá déle a nezaručuje to, že by aplikace byla robustnější, nebo spolehlivější.
  • Snazší automatizace (ease of automation) – napíšete skript, který zavolá jiný skript. Až projedete tímto kurzem, pochopíte, výhody automatizace na linuxu.

Chtěl jsem tu začít se základními linux příkazy, ale asi to nechám na příště.

 

 

 

Příprava na LPIC-1 certifikační zkoušku #1

Zdravím všechny, kdo si chce byť jen osvěžit znalosti Linuxu, nebo kdo s Linuxem začíná.

 

Já budu mít během tutorialu spuštěný virtualbox se:

LPIC v kostce

LPIC platí po dobu 5 let, což je asi nejférovější certifikace co znám. Linux LPIC-1 vyžaduje složení certifikačních zkoušek 101 a 102. Ve srovnání s tím dle mých informací: Cisco vás certifikuje obvykle na 3 roky, Juniper na 2, Mikrotik na 3 roky, no a mít Linux certifikaci na 5 let, to je prostě perfektní v poměru cena/výkon ve srovnání s ostatními certifikacemi. Na druhou stranu je pravda, že na Linuxu se toho co se základních příkazů týče, za posledních 5 let taky příliš mnoho nezměnilo a proto je vcelku logické, že Vám takovou certifikaci dají rovnou na 5 let.  Zde už odkaz na stránky certifikace. Mým cílem je během příštích 5 až 8 let udělat všechny 3 levely LPIC certifikace a stát se tak malým Linuxovým Kingem. ;-) Zkoušky lze dělat buď u vzdělávacích školících autorit, typu Gopas, nebo využít možností výrazných slev např. na konferencích Linux Days, nebo tuším že i na OpenAlt konferencích v Brně tato možnost je a dají se tam pokud se nepletu všechny LPIC certifikace dělat se slušnou slevou, což je opět fér. Kdokoliv máte linux, otevřete si příkazovou řádku, nebo si na windows nainstalujte třeba Oracle Virtualbox, uvnitř kterého si nainstalujete jakýkoliv Vám vyhovující linux. Pokud nevíte jak na to, tak Vás nejspíš budu muset provést nějakým videem.

Budu se snažit psát co nejuniverzálnější návod tak, aby se nestávalo, že mi Ubunťák bude řvát, že mu příkazy pro Centos Linux či Fedoru neběží a zase Fedorák neřval, že mu ty /etc/init.d/apache2 nic neříká. Takto budou mít všichni jeden virtualbox se stejnou virtuálkou a budou všem fungovat stejné příkazy.

  • Pro zkušenější uživatele budu psát v bodech, jako je uvedena tato věta.

Příprava na Windows

Oracle Virtualbox pro Windows

Ať si zkrátím čas i práci. Hned první video, které jsem našel na youtubu je použitelné, jakožto návod na instalaci VirtualBoxu.

Příprava na Linux

zde už vcelku profesionální video jak nainstalovat VirtualBox pro vybrané distribuce Linuxu (Debian, Ubuntu)

VirtualBox Nainstalován

virtualbox jsme stáhnuli a nainstalovali. Nyní je potřeba vytvořit virtuální stroj a s tím Vám opět detailně nepomohu, protože předpokládám, že mým kurzem budou procházet všichni uživatelé, všech věkových skupin, všech zařízení, od notebooků, přes herní stanice až po brutální workstationy či servery s opravdu velkou velikostí RAM.

Jeden jednoduchý a starší univerzální návod jak si vytvořit vlastní virtuálku s Virtualboxem je např. zde, včetně obrázků! Pokud umíte googlit, napište do googlu něco ve smyslu “jak instalovat virtualbox”, nebo “virtualbox tutorial”, anebo “virtualbox vytvoření virtuálky”.

  • Vytvořte 2x virtuální stroj. pokud máte na počítači 4 GB RAM, tak každému virtuálnímu stroji můžete věnovat zhruba 1,5 GB Ram, pokud plánujete pouštět jen jeden z nich, tak každému věnujete 2GB RAM. Pokud Vám stačí nouzovka, tak by mělo bohatě s grafickým rozhraním stačit 1GB RAM per virtuálka, pokud si nainstalujete virtuálku bez grafického rozhraní, mohlo by Vám bohatě stačit jen 512 MB RAM. Procesor/Procesorové jádro Vám na naše pokusy stačí jeden CPU, 1 jádro. Pokud chcete více výkonu, věnujte každé virtuálce alespoň 2 jádra. Velikost virtuálního disku Vám bude stačit 10 GB na virtuálku bohatě s rezervou.

Pokud nemáte v BIOSu aktivované virtualizační instrukce procesoru (v BIOSu secure virtual machine code enabled, nebo virtualization instructions enabled apod….), tak Vám VirtualBox poběží jen s jedním jádrem, ale i tak to na naše hrátky v terminálu a trénování příkazů bude bohatě stačit.

Nyní obrázkový návod jak vytvářím Virtuálku s Centos 7:

Centos 7 1. obrazovka instalace VM

Centos 7 1. obrazovka instalace VM

Centos 7 2. obrazovka instalace VM (volba velikosti vyhrazené RAM pro VM)

Centos 7 2. obrazovka instalace VM (volba velikosti vyhrazené RAM pro VM)

Centos 7 3. obrazovka instalace VM (volba velikosti vyhrazeného virtuálního pevného disku pro VM) Neztratíte žádná data! Jedná se jen o vytvoření souboru s virtuálním pevným diskem.

Centos 7 3. obrazovka instalace VM (volba velikosti vyhrazeného virtuálního pevného disku pro VM) Neztratíte žádná data! Jedná se jen o vytvoření souboru s virtuálním pevným diskem.

 

nabídka s typy souborů s pevným diskem (VDI tedy VirtualBox disk Image), dále VHD (Virtual Hard Disk) a VMDK (Virtual Machine Disk), kterou používá zejména VMware, ale je též kompatibilní s dalšími typy virtualizačních technologií

Centos 7 4. obrazovka instalace VM (volba typu virtuálního disku) Zde je pro naše účely v podstatě úplně jedno kterou volbu zvolíme.

 

Centos 7 5. obrazovka instalace VM. Pevná velikost zabere celou zvolenou kapacitu na disku a je obvykle rychlejší při práci. Dynamicky alokované zvolí všichni majitelé SSD disků a majitelé menších pevných disků, kde není moc místa na zbyt

Centos 7 5. obrazovka instalace VM. Pevná velikost zabere celou zvolenou kapacitu na disku a je obvykle rychlejší při práci. Dynamicky alokované zvolí všichni majitelé SSD disků a majitelé menších pevných disků, kde není moc místa na zbyt

 

Centos 7 6. obrazovka instalace VM. Posuvníkem zvolíme velikost virtuálního pevného disku. Na obě virtuálky nám stačí klidně standardních 8 GB, kdo chce víc, může nastavit třeba 15GB, kdo méně, přežije na Centos 7 i se 4 GB, na Ubuntu doporučím alespoň 8 GB.

Centos 7 6. obrazovka instalace VM. Posuvníkem zvolíme velikost virtuálního pevného disku. Na obě virtuálky nám stačí klidně standardních 8 GB, kdo chce víc, může nastavit třeba 15GB, kdo méně, přežije na Centos 7 i se 4 GB, na Ubuntu doporučím alespoň 8 GB.

 

Centos 7. Obrazovka připojení instalačního média v podobě .iso souboru.

Centos 7. Obrazovka připojení instalačního média v podobě .iso souboru. (klikněte pro zvětšení na obrázek)

 

Dále můžeme kliknout pravým tlačítkem na logo červeného klobouku u virtuálky, náseledně na spustit (stejný postup provedeme pro virtuálku s Ubuntu 16.04 LTS Linuxem) a nastartuje se nám okno se spuštěnou instalací CentOS 7 Linuxu.

  • Když klikneme do okna, vyskočením z Virtualboxu pro opětovné uvolnění myši a klávesnice pro náš aktuální počítač stiskněte pravý CTRL.
Instalační obrazovka Centos 7

Instalační obrazovka Centos 7

A dále bude nejjednodušší natočit tiché video s ukázkou instalace Centosu 7 přímo na youtube:

Uživatele jsem vytvořil pro naše výukové účely:

uživatel: root
heslo: linuxlpikurz123
uživatel2: linux
heslo: linuxlpikurz123

Potom co se přihlásíte (třeba za roota), tak pro vypnutí virtuálky napište:

systemctl poweroff

Pokud jste prošli až sem, tak jste se kvalifikovali na další díl, který přísahám už bude mnohem lehčí.

 

Na závěr lekce opakovačka z toho co jsme se naučili z používání Virtualboxu + klávesové zkratky + Linuxové příkazy:

  • systemctl poweroff     #vypne virtuální linuxový počítač uvnitř Virtualboxu s běžícím CentOS 7
  • [Pravý CTRL] ( pravý control)  #uvolní klávesnici a myš z virtuálního počítače, takže budete moci zpět ovládat Váš hlavní operační systém
  • [Pravý CTRL] + [HOME]   #Přepne VirtualBox do celoobrazovkového režimu

 

Více v příštím díle. Pokud cokoliv nebudete vědět, pište do komentářů, rád Vám pomohu, poradím, nebojte se radit si i navzájem.

 

Uživatelé nemohou číst logy apache, ikdyž jsou prosymlinkovány a mají práva (debian/ubuntu)

I to se může stát. Ačkoliv máte na soubor práva CHMOD 777 a máte ho dokonce prosymlinkovaný do adresáře uživatele, tak dokud není r a X tedy spouštění pro adresář, tak to nepůjde. (v mém případě to tak nešlo)

 

řešení:

na centosu/fedoře/redhat

chmod -R go+rX /var/log/httpd

na debianu/ubuntu:

chmod -R go+rX /var/log/apache2/

 

zdroj

Oracle Virtualbox změna UUID disku

Mám 1 virtuálku a tu si chci naduplikovat. Nakopíruji někam druhou kopii .vdi souboru. Virtualbox při přidání image však řve, že to nejde, protože UUID virtuálního disku je stejné, jako dříve přidaný virtuální disk.

Jak postupovat? Pokud jste v linuxu, tak už píšete příkaz, pokud jste ve windows tak:

cd C:\Program Files\Oracle\VirtualBox\

VBoxManage.exe internalcommands sethduuid e:/cesta/k/soubor_virtualniho_disku_virtualky.vdi

pak to napíše něco ve smyslu:

UUID changed to: b35a1e……atd…………………..4c2

Pak už jde druhý vytvořený soubor přidat do virtualboxu do druhé virtuálky.

 

Testoval jsem to ve Virtualboxu 5.1.6 (verze z roku 2016)

zdroj

Přejmenování síťové karty z ens7, enp8, epo3 apod… na eth0, eth1 a eth2 (Centos 7)

Když tento zákrok uděláte, spadne Vám rozhraní, takže pokud jste připojení k internetu, můžete si server odstřihnout! Pozor na to!

 

síťová rozhraní vylistujeme příkazem:  (pokud máme nainstalovaný yum install epel-release && yum provides ifconfig -y )

ifconfig -a
/sbin/ip link set ens7 down
/sbin/ip link set ens7 name eth0
/sbin/ip link set ens7 up

 

Enjoy ;-)

zdroj

Užitečné klávesové zkratky v Google Chrome a Google Drive

Klávesové zkratky pro webový prohlížeč Google Chrome

Otevřít nové okno Ctrl + n
Otevřít nové okno v anonymním režimu Ctrl + Shift + n
Otevřít novou kartu a přejít na ni Ctrl + t
Znovu otevřít poslední zavřenou kartu a přejít na ni Ctrl + Shift + t
Přejít na další otevřenou kartu Ctrl + Tab nebo Ctrl + PgDn
Přejít na předchozí otevřenou kartu Ctrl + Shift + Tab nebo Ctrl + PgUp
Přejít na konkrétní kartu Ctrl + 1 až Ctrl + 8
Přejít na poslední kartu Ctrl + 9
Otevřít domovskou stránku na aktuální kartě Alt + Home
Otevřít předchozí stránku z historie prohlížení na aktuální kartě Alt + šipka vlevo
Otevřít následující stránku z historie prohlížení na aktuální kartě Alt + šipka vpravo
Zavřít aktuální kartu Ctrl + w nebo Ctrl + F4
Zavřít všechny otevřené karty a prohlížeč Ctrl + Shift + w
Minimalizovat aktuální okno Alt + mezerník + n
Maximalizovat aktuální okno Alt + mezerník + x
Ukončit aplikaci Google Chrome Ctrl + Shift + q nebo Alt + F4

 

Nápověda klávesových zkratek přímo v GMAILU:

SHIFT + ?

 

Klávesové zkratky v Google Drive:

Vytvoření nového souboru v google drive:

Dokument Shift + t
Prezentace Shift + p
Tabulka Shift + s
Malování Shift + d
Složka (f jako folder) Shift + f
Formulář Shift + o

 

Nápověda klávesových zkratek v google drive:

SHIFT + +

(je to klávesa + zpravidla vedle tlačítka backspace na mazání)

 

Pohybování v souborech a složkách google Drive lze pomocí šipek na klávesnici.

Zmáčknutím klávesy ENTER se dostaneme do složky, nebo otevřeme soubor pro editaci.

Pro návrat ze složky do nadřazené složky:

ALT + ← (šipka doleva)

 

zdroj – oficiální nápověda googlu

Fifa 17 startup crash (po zapnutí hra spadne)

Kamarád mě oslovil s problémem, kdy mu Fifa 17 demo na PC s AMD FX 8120, 4GB RAM, radeon 6950 spadne po spuštění.

Novější ovladače problém nevyřešily, různá nastavení problém taktéž nevyřešily.

Pomohlo tohle video:

https://www.youtube.com/watch?v=8bvmYG2K5ec

Konkrétně aplikace dxcpl.exe, která je k dispozici ke stažení zde: (100% funkční odkaz, bez virů, bez problémů)

https://ulozto.cz/!cnvyyt8X8/dxcpl-exe

Aplikaci nahrajte do adresáře s hrou, spusťte s právy administrátora, přidejte cesty jak k setupu hry, tak k .exe spouštěcímu souboru hry, zaškrtněte force on, corruption, error, featured level limit nastavte na: 11_0, force WARP a Disable Feature Level Upgrade.

Dáte OK, spustíte následně hru a fungujete. Kdyby hra stále nešla, spusťte ji s právy administrátora.

Jen podotýkám, že na internetových forech i v článcích se píše, že je potřeba minimálně 8GB RAM pro spuštění hry. Není to pravda, stačí Vám 4GB RAM.

 

 

Portforwarding na Windows

Máte stroj A, za něho je připojen stroj B. Stroj A má veřejnou ip. Stroj B má neveřejnou IP např.: 192.168.123.3. Stroj B běží na windows a má povolenou vzdálenou plochu na portu 3389.

Chci zadat do připojení ke vzdálené ploše adresu A:3390 a chci se přitom dostat na stroj B:3389, jak na to?

Na stroji A otevřeme příkazový řádek za správce a napíšeme:

netsh interface portproxy add v4tov4 listenport=3390 connectaddress=192.168.123.3 connectport=3389

Případně pokud chceme určit specifickou adresu stroje A, tak:

netsh interface portproxy add v4tov4 listenaddress=ip_stroje_A_např_123.123.123.123 listenport=3390 connectaddress=192.168.123.3 connectport=3389

 A to je vše přátelé. Windows neumí portforwardit UDP, ale pouze TCP packety. UDP se používají na audio/video některé PC hry. TCP se používá na služby, kde je potřeba zajistit konzistenci dat (www stránky, souborov služby, emailové služby apod…).Nastavení zůstává na stroji i po restartu, není tedy nutné na to psát skripty či to nějak automatizovat.

Otestováno na Windows server 2012, ale funguje to i na jiných verzích windows. ;-)

 

zdroj

Vytvoření nového GPT disku a přidání do SW RAID 6 diskového pole

cat /proc/mdstat ukazuje degradované pole.

Přidal jsem fungl nový a čistý disk z reklamace.

 

parted /dev/sda

GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
(parted) unit TB
(parted) mkpart primary 0.00TB 3.00TB
(parted) print
Model: ATA WDC WD30EFRX-68A (scsi)
Disk /dev/sda: 3,00TB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
 1 0,00TB 3,00TB 3,00TB primary
(parted) set 1 raid on
(parted) print
Model: ATA WDC WD30EFRX-68A (scsi)
Disk /dev/sda: 3,00TB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
 1 0,00TB 3,00TB 3,00TB primary raid
(parted) quit
Information: You may need to update /etc/fstab.
Přidání do raidu /dev/md3 nově zinicializovaného disku /dev/sda, konkrétně oddílu /dev/sda1:

mdadm /dev/md3 -a /dev/sda1
mdadm: added /dev/sda1

Vadné ECC ramky na serveru. Jak to detekovat na běžící mašině (Centos 7)

Problém vypadá takto:

Message from syslogd@server at Aug 15 14:50:19 ...
 kernel:[Hardware Error]: MC4 Error (node 0): DRAM ECC error detected on the NB.
Message from syslogd@server at Aug 15 14:50:19 ...
 kernel:[Hardware Error]: Error Status: Corrected error, no action required.
Message from syslogd@server at Aug 15 14:50:19 ...
 kernel:[Hardware Error]: CPU:0 (f:41:3) MC4_STATUS[Over|CE|MiscV|-|AddrV|CECC]: 0xdc7a4000e6080a13
Message from syslogd@server at Aug 15 14:50:19 ...
 kernel:[Hardware Error]: MC4_ADDR: 0x000000008f1f3500
Message from syslogd@server at Aug 15 14:50:19 ...
 kernel:[Hardware Error]: cache level: L3/GEN, mem/io: MEM, mem-tx: RD, part-proc: RES (no timeout)

řešení:

yum install edac-utils -y
root@server# edac-util -v 
mc0: 0 Uncorrected Errors with no DIMM info
mc0: 0 Corrected Errors with no DIMM info
mc0: csrow0: 0 Uncorrected Errors
mc0: csrow0: mc#0csrow#0channel#0: 0 Corrected Errors
mc0: csrow1: 0 Uncorrected Errors
mc0: csrow1: mc#0csrow#1channel#0: 0 Corrected Errors
mc0: csrow2: 0 Uncorrected Errors
mc0: csrow2: mc#0csrow#2channel#0: 0 Corrected Errors
mc0: csrow3: 0 Uncorrected Errors
mc0: csrow3: mc#0csrow#3channel#0: 0 Corrected Errors
mc0: csrow4: 0 Uncorrected Errors
mc0: csrow4: mc#0csrow#4channel#0: 0 Corrected Errors
mc0: csrow5: 0 Uncorrected Errors
mc0: csrow5: mc#0csrow#5channel#0: 0 Corrected Errors
mc0: csrow6: 0 Uncorrected Errors
mc0: csrow6: mc#0csrow#6channel#0: 0 Corrected Errors
mc0: csrow7: 0 Uncorrected Errors
mc0: csrow7: mc#0csrow#7channel#0: 42 Corrected Errors
mc1: 0 Uncorrected Errors with no DIMM info
mc1: 0 Corrected Errors with no DIMM info
mc1: csrow2: 0 Uncorrected Errors
mc1: csrow2: mc#1csrow#2channel#0: 0 Corrected Errors
mc1: csrow3: 0 Uncorrected Errors
mc1: csrow3: mc#1csrow#3channel#0: 0 Corrected Errors
mc1: csrow4: 0 Uncorrected Errors
mc1: csrow4: mc#1csrow#4channel#0: 0 Corrected Errors
mc1: csrow5: 0 Uncorrected Errors
mc1: csrow5: mc#1csrow#5channel#0: 0 Corrected Errors
mc1: csrow6: 0 Uncorrected Errors
mc1: csrow6: mc#1csrow#6channel#0: 0 Corrected Errors
mc1: csrow7: 0 Uncorrected Errors
mc1: csrow7: mc#1csrow#7channel#0: 0 Corrected Errors
Protože server dokáže nastartovat pouze se sudým počtem RAM, je nutné odebrat, či nahradit poslední PÁR modulů RAM a server bude zase šlapat v pořádku.

zdroj

Jak zjistit počet obsazených RAM DIMM modulů v linuxovém serveru či počítači?

Máte více serverů, ale někde se v dokumentaci ztratilo, kolik ramek má který server obsazený.

Jak to zjistit?

V mém případě stačilo zadat:

dmidecode -t memory|grep "Clock Speed: Unknown"|nl
Vypsáno bylo:
 1 Configured Clock Speed: Unknown
 2 Configured Clock Speed: Unknown
 3 Configured Clock Speed: Unknown
 4 Configured Clock Speed: Unknown
 5 Configured Clock Speed: Unknown
 6 Configured Clock Speed: Unknown
 7 Configured Clock Speed: Unknown
 8 Configured Clock Speed: Unknown
 9 Configured Clock Speed: Unknown
 10 Configured Clock Speed: Unknown
 11 Configured Clock Speed: Unknown

 

Tedy 11 neobsazených modulů. Na serveru se 24 DIMM sloty se tedy jedná o server, kam chci přidat chybějící RAM, kvůli lichému obsazení RAM ve slotech.

 

zdroj

Po upgradu z ubuntu-server 12.04 na 14.04 blbne phpmyadmin #2

Konkrétně tyto 2 moduly/tabulky:

http://docs.phpmyadmin.net/en/latest/config.html#cfg_Servers_recent

http://docs.phpmyadmin.net/en/latest/config.html#cfg_Servers_table_uiprefs

V configu v  /etc/phpmyadmin/config.inc.php je potřeba povolit následující řádky:

$cfg['Servers'][$i]['recent'] = ‘pma_recent’;

$cfg['Servers'][$i]['table_uiprefs'] = ‘pma_table_uiprefs’;

$cfg['Servers'][$i]['recent'] = ‘pma_recent’;

 

Potom lognout na phpmyadmina a v databázi phpmyadminu přejít do záložky sql a vložit tam tohle:

CREATE TABLE IF NOT EXISTS `pma_recent` (
  `username` varchar(64) NOT NULL,
  `tables` text NOT NULL,
  PRIMARY KEY (`username`)
)
  COMMENT='Recently accessed tables'
  DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

-- --------------------------------------------------------

--
-- Table structure for table `pma_table_uiprefs`
--

CREATE TABLE IF NOT EXISTS `pma_table_uiprefs` (
  `username` varchar(64) NOT NULL,
  `db_name` varchar(64) NOT NULL,
  `table_name` varchar(64) NOT NULL,
  `prefs` text NOT NULL,
  `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`username`,`db_name`,`table_name`)
)
  COMMENT='Tables'' UI preferences'
  DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;

Pak se odhlásit a přihlásit z phpmyadmina a warning zmizí.

řešení zde

Blbnoucí balíčky po upgradu z ubuntu-server 12.04 na 14.04

Vypadá to nějak takto:

Následující balíky byly nainstalovány automaticky a již nejsou potřeba:
 db5.1-util g++-4.6 gfortran-4.6 html2text libboost-iostreams1.46.1
 libclass-isa-perl libgd2-xpm libgeos-3.2.2 libgeos-3.3.3 libicu48
 libkadm5clnt-mit8 libkadm5srv-mit8 libkdb5-6 libllvm3.0 libmpc2
 libstdc++6-4.6-dev libswitch-perl libt1-5 libtasn1-3-dev libyaml-syck-perl
 python-authres python-central python-dns python-spf update-inetd
Pro jejich odstranění použijte „apt-get autoremove“.
0 aktualizováno, 0 nově instalováno, 0 k odstranění a 1 neaktualizováno.
4 instalováno nebo odstraněno pouze částečně.
Po této operaci bude na disku použito dalších 0 B.
Nastavuji balík apache2 (2.4.7-1ubuntu4.10) …
Directory /etc/apache2/conf.d is not empty - leaving as is
Please note, that directory is considered obsolete and not read anymore by default
munin phpmyadmin.conf phppgadmin phppgadmin.dpkg-new
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
ERROR: Module filter not properly enabled: /etc/apache2/mods-enabled/filter.load is a real file, not touching it
ERROR: Could not enable dependency filter for deflate, aborting
dpkg: error processing package apache2 (--configure):
 podproces instalovaný post-installation skript vrátil chybový status 1
dpkg: nesplněné závislosti zamezily konfiguraci balíku libapache2-mod-php5:
 libapache2-mod-php5 závisí na apache2 (>= 2.4); avšak:
 Balík apache2 zatím není zkonfigurován.
dpkg: error processing package libapache2-mod-php5 (--configure):
 problém se závislostmi - nechávám nezkonfigurované
Žádné apport hlášení nebylo vytvořeno, protože chybová hláška naznačuje, že se jedná o chybu způsobenou předchozí chybou.
 dpkg: nesplněné závislosti zamezily konfiguraci balíku php5:
 php5 závisí na libapache2-mod-php5 (>= 5.5.9+dfsg-1ubuntu4.17) | libapache2-mod-php5filter (>= 5.5.9+dfsg-1ubuntu4.17) | php5-cgi (>= 5.5.9+dfsg-1ubuntu4.17) | php5-fpm (>= 5.5.9+dfsg-1ubuntu4.17); avšak:
 Balík libapache2-mod-php5 zatím není zkonfigurován.
 Balík libapache2-mod-php5filter není nainstalován.
 Balík php5-cgi není nainstalován.
 Balík php5-fpm není nainstalován.
dpkg: error processing package php5 (--configure):
 problém se závislostmi - nechávám nezkonfigurované
Žádné apport hlášení nebylo vytvořeno, protože chybová hláška naznačuje, že se jedná o chybu způsobenou předchozí chybou.
 dpkg: nesplněné závislosti zamezily konfiguraci balíku phpmyadmin:
 phpmyadmin závisí na libapache2-mod-php5 | libapache2-mod-php5filter | php5-cgi | php5-fpm | php5; avšak:
 Balík libapache2-mod-php5 zatím není zkonfigurován.
 Balík libapache2-mod-php5filter není nainstalován.
 Balík php5-cgi není nainstalován.
 Balík php5-fpm není nainstalován.
 Balík php5 zatím není zkonfigurován.
dpkg: error processing package phpmyadmin (--configure):
 problém se závislostmi - nechávám nezkonfigurované
Žádné apport hlášení nebylo vytvořeno, protože již byl dosažen MaxReports
 Při zpracování nastaly chyby:
 apache2
 libapache2-mod-php5
 php5
 phpmyadmin
E: Sub-process /usr/bin/dpkg returned an error code (1)

ŘEŠENÍ

Zajet do

/var/lib/dpkg/info

a přesunout někam do háje třeba do /root/info/

soubory balíčků uvedených v chybě, tedy:

cd /var/lib/dpkg/info
mkdir /root/info/
mv apache2* /root/info/
mv libapache2-mod-php5* /root/info
mv php5* /root/info
mv phpmyadmin* /root/info
zdroj

 

Jak připravit Debian Jessie pro provoz WoW serveru snadno a rychle jedním příkazem?

apt-get update -y && apt-get upgrade -y && apt-get install vim mc nano htop iotop fail2ban -y && apt-get install apache2 php5 libapache2-mod-php5 -y && service apache2 restart && apt-get install locate -y && updatedb && 
apt-get install build-essential autoconf libtool gcc g++ make cmake git-core wget p7zip-full libncurses5-dev zlib1g-dev libbz2-dev -y && apt-get install openssl libssl-dev mysql-client libmysqlclient-dev libmysql++-dev libreadline6-dev -y && 
apt-get install libboost-dev libboost-thread-dev libboost-system-dev libboost-filesystem-dev libboost-program-options-dev libboost-iostreams-dev -y && apt-get install screen -y && apt-get install munin munin-node -y && apt-get install iptables-persistent -y

Rychle, jednoduše, snadno. ;-)

Samozřejmě Apache je nutné přenastavit v konfiguračních souborech tak, aby to nezobrazovalo TOKENy serveru a další informace užitečné pro každého útočníka apod…

Nově na debianu Jessie je /etc/iptables/rules.V4 konfigurační soubory pro IPv4 a rules.V6 pro IPv6.

zdroj

Nefunguje rozbalení .tar.bz2 na Centos7?

Error, který to vypisovalo:

tar (child): cannot run bzip2: Adresář nebo soubor neexistuje
tar (child): trying lbzip2
tar (child): lbzip2: Funkce exec selhala: Adresář nebo soubor neexistuje
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now

řešení v rychlosti:

yum -y install bzip2

rozbalení souboru pomocí:

tar jxf soubor.tar.bz2

Enjoy

zdroj






					

Nelze psát velké české znaky / kapitálky v GIMPu

Na to mám jednoduché řešení.
Napište si velké znaky typu Č, Š, Ž, Ď, Ň, Ť bokem v textovém editoru a potom si je vložte do textu, který píšete do nějakého obrázku v gimpu a pak už to půjde. V Gimpu ty velké znaky s interpunkcí nejde jen zadávat, ale bere je to alespoň při CTRL + C a CTRL + V.

Enjoy ;-)

Debian Jessie iptables rules after reboot

Debian Jessie to má téměř identicky stejné, jako v předchozích verzích debianu.

máme již vytvořená pravidla iptables.

Uložíme je příkazem:

iptables-save > /etc/iptables.conf

#to další je 1 "delší" příkaz na 2 řádky
echo "#!/bin/sh 
iptables-restore < /etc/iptables.conf" > /etc/network/if-up.d/iptables

chmod +x /etc/network/if-up.d/iptables

 

zdroj

neběžící druhý raid 1 mdadm: /dev/sdc1 has wrong uuid

mdadm --assemble --scan -v

vypíše:

mdadm: looking for devices for /dev/md/0
mdadm: no RAID superblock on /dev/md/0
mdadm: /dev/sdd1 has wrong uuid.
mdadm: no RAID superblock on /dev/sdd
mdadm: /dev/sdc1 has wrong uuid.
mdadm: no RAID superblock on /dev/sdc
mdadm: /dev/sdb1 is busy - skipping
mdadm: no RAID superblock on /dev/sdb
mdadm: /dev/sda1 is busy - skipping
mdadm: no RAID superblock on /dev/sda

bez úspěchu.

Řešení v mém případě:

mdadm --assemble --run --force /dev/md1 /dev/sdc1 /dev/sdd1
mdadm: /dev/md1 has been started with 2 drives.

Potom vidíme:

cat /proc/mdstat
Personalities : [raid1]
md1 : active (auto-read-only) raid1 sdc1[0] sdd1[1]
 1953382336 blocks super 1.2 [2/2] [UU]

K aktivaci pole pro zápis:

mdadm --readwrite /dev/md1

poté již vidíme:

cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdc1[0] sdd1[1]
 1953382336 blocks super 1.2 [2/2] [UU]
Vše běží ok.

zdroj

 

yum-cron centos6 centos7 updates updatujte denně

Když chcete aby se server updatoval sám, ale současně si nechcete rozházet balíčky a další věci na Vašem serveru, jak to udělat efektivně?

Pomůže následující video.

Odpovědí samozřejmě může být několik. Ubuntu-server má landscape, Centosy mají dokonce několik řešení, jak spravovat desítky serverů. Co když chcete, aby se server prostě updatoval sám a nechcete, aby Vám chodily desítky emailů od desítek serverů a současně aby se aktualizovaly jen bezpečnostní záplaty?

řešením je:

yum update -y && yum install yum-cron -y
vim /etc/yum/yum-cron.conf

v něm editnete tyto názvy proměnných tak aby platilo:
update_cmd = security
apply_updates = yes

Je to tak trošku dvojsečná zbraň, ale ve skutečnosti to bude ve většině případů velký pomocník, zejména na méně důležitých serverech, kde chcete minimalizovat dobu správy.

 

 

Změnit oznámení programů vpravo dole u hodin na windows 10

Horší NEintuitivnější nastavení microsoft udělat skutečně nemohl. Tam kde bývalo dříve přízpůsobit teď nic není a musíte si to přenastavovat kdesi totálně v háji.

řešení je tedy:

Start /nastavení / Systém/ Oznámení a akce /Zobrazovat oznámení z těchto akcí případně “vybrat které ikony se zobrazí na hlavním panelu” a tam už máte posuvníky na zapnutí jednotlivých ikon.

zdroj

Qcow2 pomalost imagů ve srovnání s .raw na KVM (debian wheezy)

Všimněte si toho rozdílu:

Qcow2, dd test propustnosti dat sekvenčního zápisu.

příkaz:

dd if=/dev/zero of=ddfile.big bs=1MB count=1k

time cp ddfile.big ddfile2.big

Virtuální stroj na KVM, image .qcow2, io mode: default, cache mode: default

1 024 000 000 bajtů (1,0 GB) zkopírováno, 1 134,61 s, 903kB/s

Virtuální stroj na KVM, image .raw, io mode: native, cache mode: none

1 024 000 000 bajtů (1,0 GB) zkopírováno, 14,7578 s, 69,4 MB/s

Další zajímavé a užitečné příkazy pro testování výkonnosti a zdraví pevných disků či diskových polí na linuxu:

dd if=/dev/zero dd=ddfile.big bs=1MB count=1k
 hdparm -I /dev/sda
 smartctl --attributes --log=selftest /dev/sdb
 dd if=ddfile.big if=/dev/null
 time dd if=/dev/zero of=/tmp/test oflag=direct bs=64k count=10000

 Stav zátěže disků při jejich práci:
iostat -xdk 1 25

konverzi image jsem provedl pomocí:

http://docs.openstack.org/image-guide/convert-images.html

Konkrétně příkazem:

qemu-img convert -f qcow2 -O raw puvodniqcow2.img novynazevraw.img

zdroj zdroj2 zdroj3 zdroj4 zdroj5 zdroj6 zdroj7 zdroj8

Centos 7 iptables + fail2ban not banning, not working, nebanuje, nepracuje, není v iptables

Dnes jsem se setkal s nefunkčností fail2ban při spolupráci s Iptables. ve fail2ban-client status to psalo Number of jail: 0, ikdyž jsem měl vše nakonfigurované ok.

 

Zde je tedy řešení

yum install -y epel-release
yum install -y fail2ban fail2ban-systemd
yum update -y selinux-policy*

yum -y install iptables-services
systemctl mask firewalld.service
systemctl enable iptables.service
systemctl enable ip6tables.service
systemctl stop firewalld.service
systemctl start iptables.service
systemctl start ip6tables.service

do /etc/fail2ban/jail.d/sshd.local vložíme:

[ssh-iptables]
enabled = true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
logpath = %(sshd_log)s
maxretry = 5
bantime = 86400

dále pak už stačí jen:

systemctl enable fail2ban
systemctl restart fail2ban

 

Když potom dáte:

iptables -L -vn

už tam uvidíte:

Chain f2b-SSH (1 references)
 pkts bytes target prot opt in out source destination
 281 26010 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
nahoře uvidíte:
Chain INPUT (policy DROP 2461 packets, 193K bytes) pkts bytes target prot opt in out source destination
 247 22703 f2b-SSH tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22

 

Pokud se potom pokusíte odněkud přihlásit více než je povolený limit počtu přihlášení a nebudete ve whitelistu:

Chain f2b-SSH (1 references)
 pkts bytes target prot opt in out source destination
 14 1784 REJECT all -- * * VašeIPAdresaStrojeOdkudJsteSeSnažiliNeúspěšněPřihlásit 0.0.0.0/0 reject-with icmp-port-unreachable

Ze stroje odkud se budete snažit přihlásit:

ssh: connect to host <VzdálenýServerSFunkčnímFail2ban> port 22: Connection refused

zdroj

 

 

 

Oprava UEFI/EFI boot partition na GPT disku Windows 7/8/8.1

Strašně mi pomohl tento návod

Jen v rychlosti shrnu. Migroval jsem jeden notebook z HDD na SSD. Oddíly jsem naklonoval, vše by mělo běžet. Jenže neběželo. Buď to házelo error 0xc0000000e nebo 0xc0000225 při snaze nabootovat systém. Podle toho, jestli jsem UEFI zapnul nebo vypnul. Takže jsem nechal přes externí mechaniku nabootovat Windows 8.1 instalačku, kliknul na repair/opravit, doklikal se s ke command line (příkazové řádce) a co dál?

 

diskpart

disk sel 0

list vol

Mrkneme který oddíl (partition) je FAT32 + nemá žádné přiřazené písmeno jednotky a má od 100 do 350 Mb velikost (víc obvykle nemá). V mém případě to bylo přeházeno, jednotka typu FAT32, oddíl s velikostí 260MB byla vol 4 a druhá jednotka (asi kvůli recovery oddílu) byla vol 6.

Takže:

select vol 4
assign letter v:
exit
cd /d v:\efi\microsoft\boot\
bootrec /fixboot
ren BCD BCD.bak
bcdboot C:\Windows /l en-us /s v: /f ALL

To stejné v případě vol 6

diskpart
sel disk 0
list vol   (jen pro kontrolu)
sel vol 6
assign letter u:
exit
cd /d u:\efi\microsoft\boot\
bootrec /fixboot
ren BCD BCD.bak
bcdboot C:\Windows /l en-us /s u: /f ALL

 

pozor na obrácené \ u C:\windows a ostatní lomítka normální /l en-us atd… Kvůli tomu obrácenému lomítku mi to ten příkaz nechtělo sežrat a řvalo to “could not open the bcd template store. Status fc000000f”. Potom co jsem dal správné lomítko už to přestalo řvát, z čehož vyvozuji, že to evidentně nemohlo najít c:\Windows.

Opět platí pravidlo, jako v každém jiném návodu – tohle je můj návod pro mě. Pokud si zlikvidujete počítač, nemáte nárok na náhradu, berte to jako článek který pomohl mě a možná pomůže v inspiraci i vám, ale neberu žádné záruky ani riziko na sebe, pokud si cokoliv s počítačem provedete.

Základy Mikrotiku #9 Module 7: QoS, Speed Limiting, Simple Queue, Torch, Guaranteed Bandwitdth, Burst, Per Connection Queuing, PCQ

Quality of Service

QoS je celková výkonnost sítě, zejména přesně ta výkonnost, která je viditelná uživateli na síti.
RouterOS implementuje několik QoS metod jako například traffic speed limiting (shaping) či traffic prioritisation atd..

Speed limiting

přímá kontrola nad vstupním provozem (inbound traffic) nelze zajistit, ale je možné zajišťovat omezování rychlosti prostřednictvím zahazování příchozích packetů.
TCP se přizpůsobí efektivní rychlosti spojení (effective connection speed).

Simple Queue u klienta

jednoduchá fronta, která může být použita k limitování rychlosti přenosu dat (data rate) následujícími způsoby:

  • Klientovu rychlost stahování (download speed)
  • Klientovu rychlost natahování dat směrem do sítě (upload speed)
  • Klientovu celkovou rychlost toku dat (download + upload)

Na simple Queue se dostaneme kliknutím na položku Queues v levém menu, nové pravidlo k limitaci přidáme pomocí tlačítka +:

cl9_queue

Do name můžeme vyplnit cokoliv, co nám pomůže idenfitikovat tuto frontu, Target už zadáváme konkrétní IP adresu, nebo dokonce celou síť, kterou chceme omezit. do MAX limit již zadávám 1Mbps pro Upload a Pro Download pro ukázku pouhých 768kbps. Potom na cílovém počítači zkuste něco stáhnout odněkud z webového serveru, odkud víte, že jste měli větší stahovací rychlosti, než udávané.

Torch

nástroj k monitorování provozu v reálném čase. Dostaneme se k němu buď skrze Queues/poklikáním na konkrétní vytvořený záznam a kliknutím na tlačítko Torch. Nebo skrze Tools/Torch:

cl9_torch

Torch funguje jednoduše. Do políčka Src. Address zadáme adresu ip adresy, jejíž spojení chceme sledovat v mém případě jsem tam zadal ip adresu počítače, se kterým tento mikrotik ovládám (mám k dispozici pravý mikrotik z předchozích modulů, který je připojen do internetu). Ve vysouvacím menu interface jsem si vybral interface, do kterého je zastrčený kabel, vedoucí z téhož počítače a pak stačí kliknout na tlačítko start a už vidíte co z této zdrojové adresy teče a co případně teče do ní.

 

 Simple Queue směrem k serveru

Představte si, že nechcete omezovat jednotlivé klienty, ale zkrátka dáte limitovat třeba celou síť k serveru. Třeba IT oddělení nebude mít limity žádné, zato účetní zaškrtíte třeba jen na 5Mbitech při přístupu na konkrétní IP adresu serveru. Jak to tedy udělat?

Představme si, že máme v internetu někde dál od WAN rozhraní našeho routeru třeba diskové pole s IP 192.168.123.165 a klientům ze sítě 192.168.20.0/24 chceme snížit rychlost Uploadu na 512kbps a rychlost Downloadu 768kbps. Zde je ukázka:
cl9_queue_serverV Targetu může být i IP 0.0.0.0/0 (to znamená, všichni klienti) přístupující na adresu Dst (destination – cílového serveru) s IP 192.168.123.165.

Throttle connection

Zjistěte si pingem IP adresu serveru www.mikrotik.com. (v době psaní tohoto článku to byla adresa 159.148.147.196). Můžete si dát stáhnout MTCNA outline a pokud jste ve windows, tak můžete vyzkoušet pomocí CTRL + SHIFT + ESC proklikat se ke grafu vytížení sítě a ověřit si tak, že simple queue skutečně funguje a taky jak funguje omezování spojení v praxi:

cl9_omezeni_spojeni_na_server_mikrotik

Guaranteed Bandwidth

se používá k ujištění, že klient opravdu dostane minimální garantovanou rychlost, pod kterou mu rychlost připojení nespadne. Zbývající provoz bude rozdělen mezi klienty na bázi “kdo dřív příjde, ten dřív mele”. (fronta, FIFO = first in first out). Kromě packetového FIFA můžeme vybrat i bajtové FIFO.
Kontroluje se parametrem s názvem Limit-at.

cl9_limitat

Dostanem se tam přes Queues/Simple Queue/edit (ěx kliknutím na konkrétní vytvořenou frontu (queue)/záložka advanced.

Typický příklad Guaranteed Bandwidthu jsou 3 klienti na síti, celkový bandwidth 10Mbitů. 3 klienti mají garantovaný bandwidth 3 mbity a zbývající trafik se rozdělí mezi klienty.

SFQ – Stochastic Fair Queuing

dělá to, že každý packet pouští stejnou chvíli na router. Všechny služby tedy dostanou stejnou šanci procpat svůj packet.

cl9_sfq

Stochastic fair dělá to, že si časy propouštění packetů rozdělí po 100 milisekundách. A když klient A stahuje nějaký .iso soubor a někdo jiný chce jít na web, tak to 100 milisekund propouští packety pro .iso soubor a 100milisekund to propouští packety pro web. Zde už ukázka sfq aplikovaného pro wifi hot-spot. Typ fronty sfq, procpe to najednou 1514 bajtů, každých ve screenshotu se uvádí 5 s, tedy 5 sekund. (pokud se pletu, opravte mě v diskusi).

Burst

Používá se k povolení větších přenosových rychlostí na krátkou časovou dobu. Typický příklad – stahujete 5 megový PDF dokument, nebo 3 megovou .mp3 audio nahrávku. Používá se to zejména pro HTTP trafic (webový provoz). Díky tomu nabíhají webové stránky rychleji. Je zde však i přesto uplatněna politika Max Limit, který jsme si nastavovali v Simple Queue u klienta.
Ukázka burstu:

cl9_burst

  • Burst limit – max upload/download přenosová rychlost (data rate), které může být dosaženo během burst (dávkovacího) režimu.
  • Burst time – čas (v sekundách), po dobu kterého je počítána průměrná přenosová rychlost (data rate). Pozor! Nejedná se o dobu dávky (burst) jako takové!
  • Burst Threshold – Pokud průměrná rychlost přenosu data (data rate)překročí, nebo klesne pod určitou prahovou hodnotu (threshold), tak je burst (dávka) aktivována či deaktivována.

Per Connection Queuing (dále jen PCQ)

Typ fronty pro optimalizaci velkých QoS nasazení limitováním “sub-streamů” (datových “pod-proudů” <- to zní fakt česky strašně, proto to nepřekládám). Umožňuje nám to tedy nahradit více front (queues) jednou jedinou.
K tomu může být použito hned několik klasifikátorů:

  • source/destination IP address (zdrojová/cílová IP adresa)
  • source/destination port (zdrojový/cílový port)

Další pojmy v Per Connection Queuing:

  • Rate – maximální dostupná datová propustnost každého sub-streamu
  • Limit – velikost fronty jednoho sub-streamu (v KiB)
  • Total Limit – maximální velikost dat ve frontě ve všech sub-streamech (KiB)

K PCQ se dostaneme skrze Queues/záložka Queue Types / klikneme na ikonku s modrým + a vyplníme údaje jako na obrázku.

cl9_pcq1

 

Přejděme na záložku Interface Queues/ a pro místní LAN rozhraní (LAN interface) na ether2, ve kterém máte buď připojený druhý router, nebo Vaše klienty vnitřní sítě, a Queue type vyberte ten, který jsme si vytvořili – tedy klient-download. Potom klikněte na Váš WAN interface 2x a tomu zase nastavte klient-upload v Queue type kolonce. A dejte u obou OK.

cl9_klient_up_down

Odteď všichni klienti připojení do lan rozhraní budou mít limitován jak Upload tak Download na rychlost 1Mbitu za vteřinu.

Ověříme přes Torch.

 

 

 

Základy Mikrotiku #8 Module 6: Firewall, Firewall Rules, Filter, Actions, Chains, Ports, Log, NAT, Dst NAT, Src NAT, Conntrack

Firewall

Firewall je síťový bezpečnostní systém, který chrání vnitřní síť (internal network / inside ) z venku (outside), tedy z internetu. Zakládá se na pravidlech, která jsou sekvenčně analyzovány dokud není nalezena první shoda (first match) v pravidlech. RouterOS Firewallová pravidla jsou řízena ve Filter a NAT sekcích. Firewall pracuje na principu IF – THEN (pokud nějaká podmínka – tak proveď tohle). Pravidla jsou řazeny do takzvaných chainů (chains = řetězů pravidel, já chainy nepřekládám do češtiny). Existují předdefinované chainy. Uživatel může vytvářet nová pravidla.

Firewall Filter

Existují 3 defaultní chainy:

  • input (na router/do routeru)
  • output (z routeru ven do internetu)
  • forward (skrze router třeba do vnitřní sítě nebo skrze router VEN do internetu)

Filter Actions

Každé pravidlo má nějakou akci (action) – co dělat když se packet matchne (shoduje s nějakým pravidlem):

  • accept (přijmout/povolit)
  • drop (zahození packetu bez oznámení původci zprávy, že byl packet zahozen)
  • reject (zahození packetu ale s oznámením původci zprávy o nedoručitelnosti zprávy)
  • jump/return k/od uživatele definovaný chain
  • a spousta dalších.

Na Filter Actions se dostaneme skrze IP/ Firewall /New Firewall Rule (+ modrým pluskem) -> záložka action.

Filter Chains

Zde se dostaneme pomocí IP / Firewall. Je lepší a přehlednější firewall rozdělit na jednotlivé chainy.

Chain: Input

Chain input chrání služby běžící na routeru před vnějším internetem i z vnitřku. Např. www rozhraní, API, winbox, telnet, ssh a jakoukoliv další službu, která by mohla běžet na routeru a být dostupná z internetu nebo z místní sítě, na kterou se mohou připojit uživatelé.

Chain: Forward

Obsahuje pravidla, kontrolující packety procházející SKRZE router (jak z vnitřní sítě do internetu, tak z internetu do vnitřní sítě). Defaultně je veškerý provoz (traffic) mezi klienty připojenými do routeru povolen. Trafik mezi klienty a internetem není defaultně omezován.

Jak pochopit rozdíl mezi Inputem a Forwardem?

Pokud si na mikrotiku zakážete forwardovat port 80 (http), tak se nedostanete na žádnou webovou stránku v internetu. Ale protože tohle je v chainu Forward, tak se dostanete díky Input pravidlu na WebFig (webové rozhraní) vašeho mikrotiku. Provoz skrze router ven do internetu byl zablokován na portu 80, provoz DO routeru skrze chain Input nijak omezen nebyl a proto Vám to bude fungovat. Často používané porty 20 a 21/tcp FTP (File transfer protocol) 22/tcp SSH (secure shell – vzdálený terminál, šifrovaný) 23/tcp Telnet (nešifrovaná terminálová služba) 25/tcp SMTP (odchozí pošta) 103/tcp 110 (příchozí pošta) 143/tcp IMAP (Internet Message Access Protocol) 80/tcp HTTP (web) 443/tcp HTTPS (zabezpečený web) 3306/tcp MySQL (MySQL databáze) 3724/tcp World of Warcraft Authentizace uživatelů 8085/tcp/udp World of Warcraft herní server 8291/tcp Winbox 5678/udp MikroTik Neighbor Discovery 20561/udp MAC WinBox 27015/udp/tcp Half-life/Counter-strike herní server Další seznam portů zde.

Address List

Adresní listy umožňují vytvářet akce pro vícero IP adres, což je výhodné zejména pro větší sítě, vnitřní sítě se servery atd..atd… IP adresa může být přidaná do seznamu permanentně nebo na předdefinovaný časový interval. Adreslisty mohou obsahovat 1 IP, rozsah IP, nebo celé podsítě. K adreslistům se dostaneme přes IP/Firewall/záložku Address Lists/New Firewall Address List (+) Namísto psaní adres v záložce General se přepneme do advanced a zvolíme adresu (Source/Src/zdrojovou nebo destination/dest/cílovou – to je jedno) a můžeme si tak vybrat předdefinované adreslisty. Dokonce mikrotik je tak vychytaný, že můžeme vyvolat akci, při které si mikrotik automaticky přidá adresu do address listu (opět buď trvale/Permanently nebo dočasně temporarily). IP / Firewall /New Firewall Rule (+) / záložka akce a tam se vybere add src to address list.

Firewall Log

každé pravidlo firewallu může být zalogováno (zalogovat znamená zapsat záznam do deníku událostí firewallu, dále jen log či zalogovat), když se matchne (shodne s právě probíhajícím packetem). K pravidlům lze přidat specifický prefix aby se záznam snadněji dal později v záznamech najít.

NAT

Network address Translation (NAT) je metoda modifikace zdrojové a cílové IP adresy v záhlaví packetu. Existují 2 typy NATu:

  • Source NAT / srcNAT / Zdrojový překlad adres
  • Destination NAT / destNAT/ Cílový překlad adres

NAT běžně poskytuje přístup uživatelům vnitřní sítě s privátními adresami do Internetu. (src-nat/source NAT) NAT umožňuje přístup z externí (vnější) sítě ke zdrojům (webový server, databázový server) ve vnitřní síti (dst-nat/destination NAT) Na mikrotiku implementují pravidla srcnat a dstnat. Stejně jako běžná Filter rules (filtrovací pravidla) fungují na principu If-Then (jestli je podmínka splněna, tak něco udělej). Funkcionalita je opět uplatněna k prvnímu matchnutí nalezeného pravidla.

Jak funguje NAT

V podstatě to funguje tak, že letí packet od klienta směrem do internetu -> packet dorazí na router, router přepíše zdrojovou privátní adresu typu 192.168.xyz.xyz či 10.xyz.xyz.xyz nebo 172.16.xyz.xyz na veřejnou IP adresu např. 195.178.1.1 a tento packet teprve pustí do internetu. Ten kdo komunikuje s klientem ve vnitřní síti skrze router si tedy myslí, že komunikuje s routerem, protože tohle šachování s IP adresami v záhlaví packetu dělá právě router. Klienta zajímá cílová adresa cílového vzdáleného serveru, se kterým klient komunikuje a vzdálený server zase neřeší nějakou privátní adresu nějakého klienta za routerem, protože jeho zajímá jen veřejná IP routeru, se kterým komunikuje. V případě destination NATu letí např. požadavek na port 80 z vnějšku, z internetu z adresa 21.21.21.21 na veřejnou ip např. 195.178.1.1, packet přistane na WAN rozhraní routeru, router se podívá, kam má packet poslat, pokud se jedná o port 80, zjistí, že má packet poslat na port 80 ip adresy 192.168.20.10, změní destination (cílovou) adresu ze 195.178.1.1 na 192.168.20.10 a tu pošle na na cílový server ve vnitřní síti 192.168.20.10. Jakmile server odpoví/vyhodnotí požadavek, tak odpoví na nějakém portu např. 51234 vzdálenému klientovi s ip 21.21.21.21, zdrojová je tentokrát při odpovědi 192.168.20.10, packet dojde na router, ten zase přehodí zdrojovou adresu ze 192.168.20.10 na 195.178.1.1 a packet přepošle na cílovou adresu vzdálenému klientovi na 21.21.21.21. (pokud jsem tu něco nepopsal, tak dejte vědět v diskusi, rád to tu poupravím).

Redirect

jedná se o speciální typ DSTNATu. Tato akce přesměruje packety do routeru samotného. Toho lze využít k vytvoření transparentních proxy služeb (např. DNS, HTTP atd…) Klient odešle packet s destination adresou konfigurovaného DNS serveru na portu 53, dojde to na router, ten packet přesměruje na novou destination adresu routeru na portu 53. Mikrotikácké DNS servery jsou ve skutečnosti jen DNS cache.

Src NAT

Princip source NATu jsem tu již polopatě popsal. Masquerade je speciální typ srcnatu. Src-nat je tedy defakto akce určená k přepsání source IP adresy nebo portu v přicházejícím packetu na router.

Masquerade

cl8

Maškaráda je překlad vnitřních IP adres z vnítřních sítí na WAN rozhraní tak, aby z routeru z WAN rozhrání odcházely packety se source  (veřejnou) IP adresou WAN routeru.

NAT Helpers

některé protokoly vyžadují NAT helpery (NAT pomocníky) v natované síti. Typickým příkladem je FTP,H323,tftp, pptp, občas nějaké torrenty a další porty, kde se pracuje s RELATED packety.

Connections

  • New – nově příchozí packet otevírající spojení.
  • Established – packety, které souvisí s již známým ustanoveným funkčním spojením.
  • Related – jsou packety otevírající nové spojení, související s již známým spojením. Typicky protokol FTP. Připojíte se na port 21 tcp, related port je port 20 tcp, který je datový port.
  • Invalid – neznámý packet, který nepatří do žádného ze známých či navázaných spojení.

Connection Tracking

Jedna z nejdůležitějších funkcí stavového firewallu. Firewall si udržuje informaci o všech aktivních spojení. Musí být povolen pro NAT a Filter pravidla. Důležitá poznámka: Connection state =/= TCP state. Není to stejné. Pokud byste vypnuli Connection Tracking, tak byste získali bezstavový firewall, jako je např. ACL na ciscu.

FastTrack

Metoda zrychlující propustnost packetů skrze router. Established nebo related connection (spojení) je označeno jako fasttrack connection. Obchází firewall, connection tracking, simple queue (jednoduchou frontu) a další funkcionality. Podporuje však pouze TCP a UDP protokoly. S FastTrackem lze dosáhnout menšího vytížení CPU a vyšší propustnosti, než bez něj a menší zátěž CPU kvůli práci firewallu. Více info zde. Pokud se nepletu, tak FastTrack je povolen na mikrotiku defaultně. Opět v diskusi mě opravte, pokud tu melu nesmysly.

Stavíme firewall

Mějme vnitřní síť routeru 192.168.20.0/24, adresa bridge ve kterém je wlan1 i ether2 je 192.168.20.1. Počítač připojený kabelem či WiFinou do routeru bude 192.168.20.10. Defaultní politika iptables je “nepustím nic”, když nejsou žádná pravidla. Defaultní politika MIKROTIKU je “povolím vše”, když nejsou žádná pravidla. Další důležitá věc. Stanovme si jaké máme zóny na mikrotiku: mikrotik_clanek8 Mějme 3 zóny, které firewall bude řešit:

  • inside
  • outside
  • DMZ (Demilitarizovaná zóna – kde budou např. servery)

Zpřehlednění pravidel

Jsou 2 možnosti, jak zpřehlednit pravidla:

  • 2x kliknout na konkrétní pravidlo a vpravo je možnost comment.
  • Subchainy (podrětězy pravidel)

Pro příklad si můžeme přidat accept input pravidlo na bridge interface pro Src. Addressu (src = zdrojová adresa) 192.168.20.10.

 

Zbytek dopíšu, jak se k tomu dostanu. Zatím to zveřejňuji právě pro ty nešťastníky, kteří zítra píšou certifikační zkoušku. ;-)