Linux mini-howto: Monitoring procesů nástrojem kill!!!

Linux mini-howto?
Krátce o nástrojích ze života sysadmina.

Monitoring procesů s kill

havel@havel-machine:~$ kill -0

Tajné, pssst!

Nedokumentovaná (man kill) část nástroje kill, kill -0. Zcela dle neočekávání kill -0 nezabije proces, ani ho jinak neovlivní, vrací exitcode 0 pokud proces běží a akceptuje signály a naopak pokud neběží  vrací 1.

havel@havel-machine:~$ echo $$
10231
havel@havel-machine:~$ /bin/bash
havel@havel-machine:~$ echo $$
12023
havel@havel-machine:~$ kill -0 12023
havel@havel-machine:~$ echo $?
0
havel@havel-machine:~$ exit
havel@havel-machine:~$ kill -0 12023
kill: kill 12023 failed: no such process
havel@havel-machine:~$ echo $?
1

Seznam dostupných signálů, 0 zde není. kill-monitoring-siglist

K čemu je to dobré? Napadá mě, využití např. jednoduché hlídání procesů (démonů) z /var/run/xyz.pid ( #kill -0 $(cat /var/run/crond.pid) ), určitě existují jiná i lepší řešení (a nevím zda-li parsování ps je ono nebo průchod /proc/<pid>), ale jak už někdo poznamenal, proč, protože můžem.

Užívejte moudře a opatrně, díky za pozornost.

František Havel, MOJEservery.cz

Proč používat příkazový řádek(CLI)

Proč používat příkazový řádek ?

Pozn.: Volně přeloženo a převzato ze serveru packetlife.net, je to přesné, děkujeme.

Jedním z důvodu proč profesionálové používají příkazový řádek (CLI, command line) je stručnost, efektivita, přesnost a popisnost, geekové miluji stručnost a efektivnost, navíc lenost je matkou pokroku.

Posuďte sami, máte nového junior kolegu a posíláte mu postup emailem pro konfiguraci NAT na pobočkovém routeru (Cisco), který email by jste psali raději?

GUI


Přihlaš se do SDM (Cisco Router and Security Device Manager, GUI managent, budeš si ho muset stáhnout prvně z routeru), jdi do konfigurační záložky, klikni na NAT, poté “Advanced NAT”, klikni na next, vyber rozhraní FastEthernet0 z rozbalovacího seznamu a klikni na next, přikládám obrázek.

cisco-sdm_step1

Dalším krokem v seznamu obou rozhraní vyber Vlan1 s ip adresou 192.168.1.0/24 a klikni na next, , přikládám obrázek.

cisco-sdm_step2

Poslední krokem je přidání statického NAT pravidla pro VPN server, klikni na “Add’ tlačítko a vyplň tyto hodnoty, přikládám obrázek.

cisco-sdm_step3

Potvrď kliknutím OK, a poté klikni na “Next”, zkontroluj v okne NAT pravidlo. Klikni na “Finish” v poslední kroku, vyskočí okno s hláškou ve smyslu “configuration saved”, poté klikni na OK a zavři SDM, hotovo.

CLI


Přihlaš se na router pomoci ssh nebo telnet a vlož tuto konfiguraci.

configure terminal
interface FastEthernet0
 ip nat outside
!
interface Vlan1
 ip nat inside
!
ip nat inside source static udp 192.168.1.204 1194 interface FastEthernet0 1194
ip nat inside source list 1 interface FastEthernet0 overload
!
access-list 1 permit 192.168.1.0 0.0.0.255
exit
copy run start

Hotovo!


Máte vybráno? ;-).

Nesrážíme zde podstatu a smysl GUI nástrojů, jen až potkáte “profesionála”, který se bude štítit, bát a odmítat textové rozhraní, CLI a příkazový řádek, buďte opatrní!

František Havel, MOJEservery.cz

Linux mini-howto: SSH login notifikace emailem

Linux mini-howto?
Krátce o nástrojích ze života sysadmina.

SSH login notifikace emailem

Krátké a jednoduché, chcete info(oznámení) do emailu po přihlášení uživatele na SSH server? Jednoduchý script ukazuje jak na to, nejde o náhradu za komplexní systémy s logování na centrání vzdálený server, ale pro malé použití a případně další čarování s sshrc se může hodit.

Kde spouštět SSHrc script?

  • ~./ssh/rc – lokální konkrétní uživatel
  • /etc/ssh/sshrc – globálně pro všechny uživatele

SSHrc script

Napsán pro Vás jednoduchý ukázkový script v bashi, použijte ho, upravujte dle potřeby.

mail=alertemail@mojeservery.cz
user=/usr/bin/whoami
ip=/usr/bin/last | head -1 | awk '{print $3}'
#read -d " " ip <<< $SSH_CONNECTION
date=$(date "+%d.%m.%Y %Hh%M")
reverseIP=$(dig -x $ip +short)
hostname=$(hostname)

mail -s "SSH Login: $USER@$hostname" $mail <<EOF
From: root@$hostname
User: $USER
Host: $hostname
From IP: $ip
Reverse: $reverseIP
Date: $date
EOF

A to je vše! (! script opravdu není uvozen #!/bin/bash )

Na serveru musí být v provozu mail subsystém, alespoň jako stmp relay, tak aby email mohl odejít, navíc může být zpracování sshrc potlačeno konfigurací (ForceCommand, ssh -N apod.).

Užívejte moudře, mějte přehled o přístupech na Váš SSH server.

Díky za pozornost. František Havel, MOJEservery.cz

Linux mini-howto: Pigz, paralelní gzip implementace, komprimujte rychleji!

Linux mini-howto?
Krátce o nástrojích ze života sysadmina.

Pigz, unpigz , paralelní gzip implementace

Proč ? V dnešní době je téměř nemožné koupit procesor s jedním jádrem, výrobci tak obcházejí problém rychlejších procesorů (výšší frekvence) díky možnosti umístění více jader do jednoho fyzického  pouzdra a přenesení problému do oblasti software.

Paralelní výpočty rozdělují složitější úlohu na vícero jednoduchých,
ty jsou často vykonávány ve vláknech, které běží škálovatelně přes
jádra procesoru.

Paralelní programování je považováno za obtížnější formu vývoje
software, nese sebou celou řadu problému, zamykání, souběh, vyloučení, paralelní zpomalení, synchronizace atd, přesto jde o klíčovou oblast zejména pro řešení simulací, potřebujeme znát odpovědi na otázky které jsou analyticky neřešitelné (např. teoretická a experimentální fyzika)

K čemu to používáme? Zpátky na zem, smrtelník a sysadmin v našem případě nasadil pigz jako rychlou náhradu za klasický gzip pro komprimaci záloh databáze MySQL, zálohuje s v noci, komprimuje se v noci a jak praví klasik čas jsou peníze.

Instalace pigz

root@havel-machine:~# apt-get install pigz

Malá ukázka, vzorová data SQL dump 868MB , komprimace provedena nad stejnou db vždy metodou fast (-1, nejrychlejší) a best (-9, nejúčinější).

 FAST  BEST
 pigz (čas)  12.1s (cpu 392%)  16.5s (cpu 396%)
 gzip (čas)  44.6s (cpu 100%)  58s (cpu 100%)

Testováno na AMD A6-3670, 4GB RAM, disk SATA 7200rpm.

Jednoduchý benchmark ukazuje rychlejší zpracování dat za použití paralelní implementace gzip a to v obou případech, rozdíly jsou na první pohled signifikantní. Jak je patrné paralelní komprimace dává smysl a dokáže významně zkrátit časy v celém zálohovacích procesu a nárůstem počtu jader zkracujete čas, navíc je možné omezit pigz na konkrétní počet jader (např. 6 jader z 8).

http://zlib.net/pigz

http://linux.die.net/man/1/pigz

Užívejte moudře, díky za pozornost. František Havel, MOJEservery.cz


Bojujete se zálohování? Nabízíme pomoc.

Nabízíme firemní i osobní zálohovací systémy, onsite i offsite zálohování, replikační systémy, katalogové zálohování, komprimace, deduplikace, verzování záloh, synchronizace lokalit, ochrana záloh, reporting a zcela bezplatně konsultaci a poradentství.

Kontaktujte nás, najdeme nejlepší řešení za skvělou cenu.

MOJEservery.cz

Windows 10 IoT: Raspberry Pi 2, MinnowBoard Max, Intel Galileo

Windows 10 IoT Core Raspberry Pi 2

Připraveno ke stažení a použití, testujte je to zdarma !

Microsoft po předchozím developer insider preview uvolnil oficiální verzi Windows 10 IoT (Internet of Things) pro platformy Raspberry Pi 2, MinnowBoard Max a Intel Galileo.

Chcete Raspberry Pi 2? Skladem Tachov, Mariánské Lázně, Planá, můžete ho mít ještě dnes ! Kontaktujte nás.

http://www.mojeservery.cz/raspberry-pi-2-inovace-pro-vase-projekty-skladem-tachov-plana-marianske-lazne/

http://www.mojeservery.cz/raspberrypi/

Windows 10 IoT Core

Není plnohodnotná verze Windows 10 pro desktop! Je upravená pro mini počítače a vývoj, nepotřebuje display, lze použít k připojení SSH, integruje vývojové nástroje (python, node.js,…), podpora pro GPIO rozhraní, wireless rohraní, device-command-line tools, nástroje pro portování aplikací, powershell, integrace s Visual Studio, debugger, FTP, Arduino podpora a další nástroje.

Windows 10 IoT Core features:

http://ms-iot.github.io/content/en-US/win10/StartCoding.htm

SSH server na Raspberry Pi 2 (Windows 10 IoT Core)

Windows 10 IoT: Připojení k Raspberry Pi 2 přes SSH (putty)
Windows 10 IoT: Připojení k Raspberry Pi 2 přes SSH (putty)

Začněte s Windows 10 IoT Core

  1. Vyberte si své IoT zařízení
  2. Nastavte své desktop PC
  3. Nastavte své IoT zařízení
  4. Vyvíjejte
Windows 10 IoT Core: Raspberry Pi 2
Windows 10 IoT Core: Raspberry Pi 2
Windows 10 IoT Core: MinnowBoard Max (x86, Intel Atom E38XX)
Windows 10 IoT Core: MinnowBoard Max (x86, Intel Atom E38XX)
Windows 10 IoT Core: Intel Galileo (x86)
Windows 10 IoT Core: Intel Galileo (x86)
Stáhnout obraz pro podporovaná zařízení zde.

https://ms-iot.github.io/content/en-US/GetStarted.htm

Připravujeme otestování systému Windows 10 IoT Core na Raspberry Pi 2, obraz stažen, uděláme pro Vás screenshoty a první pocity.

MOJEservery.cz.

Linux mini-howto: Jak zabít TCP spojení s nástrojem tcpkill

Linux mini-howto?
Krátce o nástrojích ze života sysadmina.

Nástroj tcpkill

Přijde čas od času k duhu, vytvořit TCP spojení je snadné a umí to každý, ale co dělat pokud chceme konkrétní spojení zabít? Trochu Nerudovská otázka: „Kam s ní“, že? Na procesy máme kill, ale co s tcp, navazané je, firewall jsem opravili a teď ho ukončeme.

Tak jednoduché to zas není, k uzavření socketu je potřeba  znát TCP ACK(Acknowlegment) a SEQ(Sequence numbers), je nutné tyto informace extrahovat z paketu spojení (odposlechnout, spoof) a zaslat TCP RST(reset).

Nástroj tcpkill funguje přesně popsaným mechanismem, syntax je shodný s nástrojem tcpdump, autorem tcpkill je Dug Song.

# tcpkill -i eth0 { expression }
# tcpkill -i eth0 port 21 // zabije odchozí spojení na port 21(FTP)
# tcpkill host 192.168.1.42 // zabije odchozí spojení na host 192.168.1.42

Hotovo!

Vypadá to jednoduše, popsaný mechanismus ukončení tcp spojení (tzv. passive, pasivní) má jeden drobný neduh, v případě tcp spojení ve stavu idle(wait, keepalive) není co ochytit (nejsou data, není co spoofovat), takové spojení se Vám tímto nástrojem nepodaří zabít.

Příště se podíváme na nástroje killcx, cutter a bude-li čas i low-level hack s netstat,lsof a kill.

Užívejte moudře, díky za pozornost. František Havel.

Tvořte, vyvíjejte, objevujte! Arduino platforma na dosah ruky za skvělé ceny, skladem Tachov, Planá, Mariánské Lázně.

Tvořte, vyvíjejte, objevujte!

Buďte kreativní, rozviňte výjimečný potenciál sebe i svých dětí, nabízíme Vám unikátní příležitost, nabízíme Vám platformu Arduino včetně možnosti školení za atraktivní ceny, poprvé skladem k osobnímu převzetí Tachov, Planá, Mariánské Lázně.

Objevte dokonalost a ještě dnes můžete mít Arduino u sebe, poštou expedujeme 24hodin (zpravidla druhý den u Vás).

! Připravuje od září 2015 jednoduchý eshop s Arduino a Raspberry Pi !

Školení!

Pro zájemce, jednotlivce i skupiny nabízíme možnost zaškolení do platformy Arduino, krátký praktický workshop Vám pomůže objevit kouzlo chytré elektroniky.

! Připravuje pro Vás jednoduché start-up video jak rychle začít s Arduino platformou !

UNO R3 ATMEGA328 kompatibilní s Arduino.

Arduino UNO R3 kompatibilní hardware.
Arduino UNO R3 kompatibilní hardware.

Cena: 199Kč/ks

Možnost osobního odběru Tachov, Planá, Mariánské Lázně nebo poštou pro přespolní za přijatelných 40Kč.

Jak objednat Arduino?

  • Stačí nás kontaktovat kontaktovat přes jednatele (František Havel), způsob je na Vás, telefon, email, facebook, twitter, zbytek zařídíme.

Součástí balení

  • 1x USB kabel pro připojení
  • pinové lišty pro možnost osazení Arduino do DPS (desky plošného spoje)

Hardware

  • 14x digitálních vstupů/výstupů
  • 6x PWM výstup
  • 6x analog vstupů
  • Krystal 12MHz
  • 5V logika!
  • Připojení k PC přes USB, programování, napájení
  • Napájení 6-20V (externí adaptér, doporučeno 7-12V)
  • Paměť 32 KB Flash pro
  • RAM(SRAM) 2 KB
  • EEPROM 1 KB
  • Rozměry: 68.6 mm x 53.4 mm
  • Váha: 25g
  • Programování ArduinoIDE/Wire/C/C++
  • Podpora pro Windows, Mac, Linux (čip CH340G)
  • Možnost použít jako programátor pro AVR µCPU
  • Bohaté rozšíření pomocí shieldů
  • Vhodné pro výuku, prototypování, rychlý vývoj, automatizaci

Expedujeme Arduino k Vám

Arduino UNO + příslušenství připravené k předání/odeslání
Arduino UNO + příslušenství připravené k předání/odeslání

 

Video stream server pro nové online kamery rozhledna Vysoká Tachov.

Realizováno,

Online video stream server rozhledna Tachov - Linux Debian
Online video stream server rozhledna Tachov – Linux Debian

v pátek 31.7.2015 jsme zprovoznili streamovací server pro dvě nové online video kamery na rozhledně Vysoká pro město Tachov, akce byla realizována ve spolupráci s firmou KETNET s.r.o. (provedla osazení kamer), kamery jsou připojeny do světa přes lokálního ISP TaNET.

Našim úkolem bylo nastavení kamer a zprovoznění streamovácího serveru, který provádí “překodování” streamu(videa) z kamer do formátu vhodného pro zobrazení na www, aktuálně se pohybuje kolem 5FPS, což pro náhled na www pro online veřejnost bohatě dostačuje, server dále obsahuje funkci pro automatické obnovu a restartování streamu v případě výpadku videodat z kamer.

Video server je postaven na open-source rešení, pohání ho operační systém GNU/Linux Debian.

Děkujeme za příležitost a těšíme se na další spolupráci. MOJEservery.cz.

Malá statická ochutnávka, oddělení pro www vývoj společnosti KETNET s.r.o. aktuálně  pracuje na integraci živého streamu na www.mesto-tachov.cz.

stream-cam1-rozhledna-tachov-2015

stream-cam2-rozhledna-tachov-2015