LINUXSOFT.cz Přeskoč levou lištu
Uživatel: Heslo:  
   CZUKPL

> OpenBSD 4.1

Seznámení s projektem OpenBSD s přihlédnutím k jeho využití na routeru.

17.9.2007 13:00 | Radim Kolář | Články autora | přečteno 8920×

OpenBSD

Většina z Vás již něco slyšela o OpenBSD. V současné době se jedná se po FreeBSD o druhý nejrozšířenější systém z rodiny BSD, pokud nepočítáme Mac OS X. Kromě vlastního operačního systému je OpenBSD projekt znám zejména díky programu OpenSSH, který dnes není třeba představovat. Ostatní programy napsané OpenBSD teamem (dhclient, openntpd, opencvs, atd) již nejsou tak známé. Jedinou vyjímku tvoří OpenBGPD, který je příležitostně nasazován i u větších ISP.

Primárním cílem OpenBSD projektu je sice bezpečnost, ale velký důraz se klade i na kvalitu kódu a přijatelnost licence. OpenBSD je portované na většinu dnes běžných platforem. Jako u všech BSD, tak i u tohoto projektu je kladen velký důraz na kvalitní a aktuální dokumentaci.

Doménou vhodnou pro nasazení OpenBSD jsou zařízení, kde se vyžaduje vysoká míra bezpečnosti a spolehlivosti, malá spotřeba paměti a kde je aktualizace software během životnosti zařízení spíše vyjímkou nežli pravidlem (tzv. install and forget).

OpenBSD je tradičně nasazováno na routery, firewally, wifi access pointy a embedded zařízení. Wifi podpora včetně driverů je tradičně na velmi dobré úrovni. Pokud není požadována vysoká bezpečnost, tak je na velké servery díky nižšímu výkonu a slabé podpoře SMP nasazováno poměrně zřídka, Na desktopech či notebooku se s OpenBSD setkáte jen u jeho skalních příznivců.

OpenBSD je nejpomalejším OS z celé BSD rodiny. Nižší výkon je sice nepříjemný, ale existuje řada úloh při kterých není server moc zatěžován a zde menší výkon nevadí. Výkon OpenBSD můžeme rozdělit na dvě části: kernel a userland.

Výkon v userlandu je snížen sadou GCC patchů známou pod jménem Pro Police (Vyvinuto IBM), zajišťující obranu proti klasickému útoku typu stack overflow. Podle testů Pro Police brzdí systém maximálně o 5 procent, obvykle jsou to jen 2-3 procenta. Další ochranou je sada patchů známá pod označením Purify, která obsahuje W^X stack, .rodata segment, Guard pages, Randomized malloc(). Tyto patche snižují výkon zhruba stejně. Nejsou tady ničím závratně zpomalujícím. Tímto jsem chtěl poukázat na nepravdivost pověstí tvrdících, že OpenBSD je díky své bezpečnosti pomalé.

Největší brzdou výkonu v OpenBSD je kernel. Ačkoliv se aplikační rozhraní Unix kernelu za posledních 20 let prakticky nezměnilo a naprosté většině softwaru stačí ke spokojenosti BSD4.3 API, staré verze Unixu byly naprogramovány s využitím jednoduchých ale neefektivních a nepříliš škálovatelných algoritmů. Kernel OpenBSD je co se efektivity týče z pravěku a jeho odpůrci se často vyjadřují slovy jako ,,je dobrý jen na to, aby tam šlo spustit vi /etc/pf.conf''.

Efektivitu OpenBSD kernelu zde dopodrobna rozebírat nechci, poukáži jen na test propustnosti routerů, ve kterém OpenBSD dosahuje přibližně poloviční propustnosti (packety/sec) oproti ostatním systémům. Tento test odpovídá reálnému nasazení, protože OpenBSD je velmi často používáno jako router. V poslední době se tato nepříjemná situace zlepšila, protože během přidávání podpory 10 Gbit Ethernetu došlo i na optimalizaci síťového subsystému.

O OpenBSD se humorně říká, že je to nejlepší Linuxová distribuce na router. Sám jsem s OpenBSD na routerech velmi spokojen a zbytek článku bude tomu nasazení věnován.

Hardware

Pravděpodobně nejpoužívanějším hardwarem pro routery jsou embedded PC. OpenBSD je velmi nenáročný systém. K provozu mu stačí 32MB RAM (bez swapu), 128MB CF, sériový port pro consoli, 1 nebo 2 onboard síťové karty a případně USB pro připojení Wifi karty. Pokud jde o procesor, nejpomalejší CPU co dnes seženete jsou taktovány na cca 400Mhz, což je nejen více než dostatečné pro 100Mbit routing, ale zvládá i IPSEC a WPA šifrování používané při stavbě Wifi Access Pointů.

Instalace

O instalaci OpenBSD bylo napsáno mnoho dobrého i zlého. Některým se jednoduchá instalace libí a ostatní již z principu zatracují všechny negrafické instalační programy. OpenBSD se nikdy nezaměřovalo na koncového uživatele a instalační program tomu odpovídá. Je nejjednoduší z celé BSD rodiny. To je jeho hlavní klad, nikoliv nedostatek. Neklade mnoho otázek a tím šetří čas administátora a snižuje se riziko selhání instalace způsobené lidským faktorem. Nejnáročnější částí instalace je vytváření diskových partitions tradičním BSD způsobem t.j. dvouúrovňově partition/disklabel.

Nejjednoduší způsob instalace OpenBSD je bootovací disketa + zbytek stáhnout ze sítě. OpenBSD je jediným BSDčkem kterému k instalaci stačí jedna jediná disketa. NetBSD používá dvě a FreeBSD čtyři. Instalační program pak dotáhne z Vámi vybraného mirroru zbytek. Při instalaci na více počítačů se doporučuje použití proxy cache. Projekt OpenBSD poměrně netypicky pro Open Source nedává volně k dispozici instalační ISO image. Instalační lisovaná CD lze zakoupit na stánkách projektu a projekt tímto finančně podpořit nebo si je svépomocí vyrobit.

Běžná instalace na router se skládá z 6MB jádra, 40MB základního systému, 1MB konfigurace, 7MB man stránek a 2MB ostatní dokumentace. V některých případech můžeme přidat i 75MB GCC. Posledním balíčkem který můžeme volitelně nainstalovat jsou 63MB X Windows.

Po instalaci

Po instalaci a dekomprimaci instalačních balíků zabere OpenBSD 4.1 bez kompilátoru a X Windows 180 MB. S vynaložením jistého úsilí (např. deinstalace manpages) lze systém ručně ořezat tak, aby se pohodlně vešel na 128MB flash drive. Vyplatí se to pouze pokud máme v plánu instalovat desítky podobných systémů (ušetříme zhruba 5 USD/kus). Pokud někdo víte o již ořezaném OpenBSD distru pro 128MB, dejte prosím v diskuzi vědět. Ořezávat systém na 64MB se dnes již vzhledem k minimálnímu cenovému rozdílu (v době psaní článku průměrně 1,5 USD) flash pamětí nevyplatí.

Dobrým zvykem je před uvedením do produkce systém opatchovat. To je u OpenBSD trošku problém. Patche k dispozici jen ve formě diff souborů a na routeru se nám těžko bude chtít překládat kernel, pokud tam vůbec je překladač GCC instalován. Toto lze řešit dvěma způsoby:

  1. Při instalaci neinstalovat z oficiálního FTP serveru ale z neoficiálního serveru s větví stable např. ftp://ftp.bsdjournal.net/pub/OpenBSD/4.1-stable/
  2. systém přeložit na jiném stroji, velmi vhodné je k tomuto účelu používat jeden z mnoha dostupných emulátorů.

OpenBSD vydává dvě hlavní verze ročně. Bezpečnostní a errata patche jsou podporovány pouze pro dvě poslední verze. Pokud chcete mít aktuální systém je nutné provádět aktualizaci každých šest měsíců, protože přeskakování jednotlivých verzí není při aktualizacích oficiálně podporováno. Aktualizační politiku proto nepovažuji vzhledem k nutnosti častých upgradů za příliš šťastnou.

Nainstalovaný Software

OpenBSD obsahuje v základním systému vynikající kolekci software. Osobně považuji základní systém OpenBSD za nejucelenější ze všech BSDček. Nenastávají tu problémy jako například u FreeBSD, kdy kernel sice umí IPSEC, ale daemon pro dynamickou výměnu klíčů již v systému není. Dobře vybraný software v základním systému OpenBSD je jedním z velkých plusů OpenBSD, neboť výrazně zkracuje čas nutný k uvedení nově nainstalovaného systému do provozu.

Routovací daemoni: routed, route6d, ospfd, bgpd multicast - ripd, mrouted, dvmrpd
Správa IP address: rarpd, dhcpd, dhclient, dhcrelay, rtsold, rtadvd
Síťový čas: timed, rdate, ntpd
Bootování: tftpd, rbootd, bootparamd, mopd
IPSEC: isakmpd, sasyncd
Wifi: hostapd
Load balancing: hostated
Standardní unix služby: ftpd, identd, rwhod, portmap, inetd, kerberos, nis
Sdílení souborů: nfsd, lockd, amd, afs
Klasika: BIND 9.3.4, Sendmail 8.14.0 + spamlogd, Apache 1.3.29, OpenSSH 4.6, OpenSSL 0.9.7j

Další sofware je se doinstalovává z tzv. portů - připravených binárních balíčků, v případě krize manuální kompilací. Pro provoz routeru si můžeme přihodit pár drobností jako vim, screen, případně PHP. Na access pointech je populární mít nainstalován tzv. captive portal a většina těchto portálů je napsána právě v PHP.

OpenBSD v QEMU

OpenBSD se velmi hezky provozuje v QEMU. Jednak se s ním pomocí QEMU můžete bezrizika seznámit a jednak je to snadný způsob výroby binárek pro patchování ostatních systémů bez nutnosti obětovat OpenBSD celý počítač či partition. Pro instalaci do qemu stačí stáhnout obraz instalační diskety floppy41.fs a spustit ji:

qemu-img create -f qcow2 openbsd.qemu 2GB
qemu -m 40 -hda openbsd.qemu -fda floppy41.fs -boot a -net nic -net tap

Komunita

OpenBSD uživatelů není sice mnoho, ale rádi o sobě dávají vědět. Projekt prodává cédéčka, trička, plakáty a drobné reklamní předměty. Nové verze jsou vydávané nejen pravidelně, ale také s patřičnou parádou -- na počest každé nové verze je složena píseň. OpenBSD je také nejvíce ze všech BSD zmiňované v BSD sekci slashdotu.

Nejznámějším informačním serverem OpenBSD komunity je bezesporu Undeadly, kde se dozvíte aktuální novinky ze světa OpenBSD. Nelze opomenout vůdce projektu Theo de Raadta, který je znám občasnými flamewary zaměřenými na Linux a GPL licenci. Kromě flamewarů poskytuje také občasná interview různé kvality z nich nejznámější je Linux is for losers.

Verze pro tisk

pridej.cz

 

DISKUZE

pekny clanek 23.9.2007 22:15 Aldagautr
L Re: pekny clanek 25.9.2007 00:47 Radim Kolář
Instalacia 30.9.2007 22:55 Jaroslav Imrich
  L Re: Instalacia 15.10.2007 19:38 Radim Kolář




Příspívat do diskuze mohou pouze registrovaní uživatelé.
> Vyhledávání software
> Vyhledávání článků

13.9.2017 8:00 /František Kučera
Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Zajímá tě DIY, CNC, SDR nebo morseovka? Přijď na sraz spolku OpenAlt – tentokrát netradičně v pondělí: 18. září od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5).
Přidat komentář

3.9.2017 20:45 /Redakce Linuxsoft.cz
PR: Dne 21. září 2017 proběhne v Praze konference "Mobilní řešení pro business". Hlavní tématy konference budou: nejnovější trendy v oblasti mobilních řešení pro firmy, efektivní využití mobilních zařízení, bezpečnostní rizika a řešení pro jejich omezení, správa mobilních zařízení ve firmách a další.
Přidat komentář

15.5.2017 23:50 /František Kučera
Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Zajímá tě DIY, CNC, SDR nebo morseovka? Přijď na sraz spolku OpenAlt, který se bude konat ve čtvrtek 18. května od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5).
Přidat komentář

12.5.2017 16:42 /Honza Javorek
PyCon CZ, česká konference o programovacím jazyce Python, se po dvou úspěšných ročnících v Brně bude letos konat v Praze, a to 8. až 10. června. Na konferenci letos zavítá např. i Armin Ronacher, známý především jako autor frameworku Flask, šablon Jinja2/Twig, a dalších projektů. Těšit se můžete na přednášky o datové analytice, tvorbě webu, testování, tvorbě API, učení a mentorování programování, přednášky o rozvoji komunity, o použití Pythonu ve vědě nebo k ovládání nejrůznějších zařízení (MicroPython). Na vlastní prsty si můžete na workshopech vyzkoušet postavit Pythonem ovládaného robota, naučit se učit šestileté děti programovat, efektivně testovat nebo si v Pythonu pohrát s kartografickým materiálem. Kupujte lístky, dokud jsou.
Přidat komentář

2.5.2017 9:20 /Eva Rázgová
Putovní konference československé Drupal komunity "DrupalCamp Československo" se tentokrát koná 27. 5.2017 na VUT FIT v Brně. Můžete načerpat a vyměnit si zkušenosti z oblasti Drupalu 7 a 8, UX, SEO, managementu týmového vývoje, využití Dockeru pro Drupal a dalších. Vítáni jsou nováčci i experti. Akci pořádají Slovenská Drupal Asociácia a česká Asociace pro Drupal. Registrace na webu .
Přidat komentář

1.5.2017 20:31 /Pavel `Goldenfish' Kysilka
PR: 25.5.2017 proběhne v Praze konference na téma Firemní informační systémy. Hlavními tématy jsou: Informační systémy s vlastní inteligencí, efektivní práce s dokumenty, mobilní přístup k datům nebo využívání cloudu.
Přidat komentář

15.4.2017 15:20 /František Kučera
Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Zajímá tě IoT a radiokomunikace? Přijď na sraz spolku OpenAlt, který se bude konat ve středu 19. dubna od 18:30 v Šenkovně (Sokolská 60, Praha 2).
Přidat komentář

5.3.2017 19:12 /Redakce Linuxsoft.cz
PR: 23. března proběhne v Praze konferenci na téma Cloud computing v praxi. Hlavními tématy jsou: Nejžhavější trendy v oblasti cloudu a cloudových řešení, Moderní cloudové služby, Infrastruktura současných cloudů, Efektivní využití cloudu, Nástrahy cloudových řešení a jak se jim vyhnout.
Přidat komentář

   Více ...   Přidat zprávičku

> Poslední diskuze

18.9.2017 14:37 / Rojas
high security vault

15.9.2017 7:33 / Wilson
new zealand childcare jobs

31.8.2017 12:11 / Jaromir Obr
Re: ukůládání dat ze souboru

30.7.2017 11:12 / Jaromir Obr
Národní znaky

27.7.2017 12:24 / Jaromir Obr
Cteni/zapis

Více ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2017) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze