Bootojeme po síti - část II. 1. pxelinux



Podobné dokumenty
Západočeská univerzita v Plzni Fakulta aplikovaných věd katedra informatiky a výpočetní techniky LABORATORNÍ PRÁCE. z předmětu Přenos dat.

Linux a Vzdálená plocha

Instalace Microsoft SQL serveru 2012 Express

Před instalací 25 Minimální požadavky na systém Linux a Windows na jednom disku Zrušení instalace Mandriva Linuxu...

9. Sítě MS Windows. Distribuce Windows. Obchodní označení. Jednoduchý OS pro osobní počítače, pouze FAT, základní podpora peer to peer sítí,

Instalace SQL 2008 R2 na Windows 7 (64bit)

VirtualBox desktopová virtualizace. Zdeněk Merta

Postup instalace síťové verze Mount Blue

TC-502L. Tenký klient

IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

TDP RPort 1.0. uživatelská příručka. 12. července 2007 Na slupi 2a, Praha 2

Minimální požadavky na systém Linux a Windows na jednom disku Zrušení instalace Mandriva Linuxu... 23

TC-502L TC-60xL. Tenký klient

SPARKLAN WX-7800A - návod k obsluze Verze 1.2

Návod k obsluze. Platforma RouterBoard s přeinstalovaným RouterOS Mikrotik. i4wifi a.s.

AIDA64 Extreme. Příručka k nastavení. v

Úvod do OpenWRT. Ondřej Caletka. 1. března Uvedené dílo podléhá licenci Creative Commons Uveďte autora 3.0 Česko.

Operační systémy 1. zápočtový úkol Stanislav Kaska 5. dubna 2006

Tomáš Borland Valenta

Konfigurace Windows 7

Automatizace bootování s novabootem

Instalace programu ProGEO

Instalace IBM Notes 9 na Windows Server 2012 Core

Komunikace s automaty MICROPEL. správa systému lokální a vzdálený přístup do systému vizualizace, umístění souborů vizualizace

Rocrail. Nejprve: Obecný úvod. Instalace

1 Uživatelská dokumentace

LINUX ADRESÁŘOVÁ STRUKTURA. Co to, hrome, je? V této lekci se budeme brouzdat adresáři. SPŠ Teplice - 3.V

Nastavení programu pro práci v síti

STRUč Ná Př íruč KA pro Windows Vista

V hlavní roli: jeden starý a jeden nový počítač, Debian Linux a spousta harampádí kolem.

Instalační příručka Command WorkStation 5.6 se sadou Fiery Extended Applications 4.2

TGMmini. začínáme. komplexní dodávky a zprovoznění servopohonů dodávky řídicích systémů

Quick Installation Guide

Evidence majetku a Windows 8

Technologie počítačových sítí 5. cvičení

Instalace a první spuštění Programu Job Abacus Pro

Fides Software Storage Administrator

Instalace OS, nastavení systému

v. 2425a Jak si na PC vypěstovat HTTP (WWW, Web) server a jak ho používat (snadno a rychle) by: Ing. Jan Steringa

OBSAH. Stránka 1 z 11 INSTALACE THINPRINT RDP V POČÍTAČI KLIENTA STAŽENÁ Z WEBU 2

Návod k obsluze IP kamery Zoneway. IP kamery jsou určené pro odbornou montáž.

Úvod do Linuxu SŠSI Tábor 1

Uživatelská příručka

Nastavení DCOM. Uživatelský manuál

TECHNICKÉ POŽADAVKY PRO INSTALACI SW PRO ZÁZNAM VIDEA PRO ZÁZNAM AUDIA (ZVUKU) PRO ZÁZNAM OBRÁZKŮ JAZYKOVÉ MUTACE

Demoprojekt Damocles 2404

.NET Framework verze Program pro připojení ke vzdálené ploše (RDC) verze

Instalace propojení dotykového PANELu a SYSTÉMU pomocí Ethernetu (náhrada propojení USB kabelem)

TACHOTel manuál 2015 AURIS CZ

Konfigurace pracovní stanice pro ISOP-Centrum verze

Základní škola a mateřská škola Lázně Kynžvart Autor: David Holubec NÁZEV: VY_32_INOVACE_11_INF Vzdělávací oblast: informatika

Postup přechodu na podporované prostředí. Přechod aplikace BankKlient na nový operační systém formou reinstalace ze zálohy

Lekce 7 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

EvMO postup při instalaci

Ing. Jitka Dařbujanová. TCP/IP, telnet, SSH, FTP

Nastavení MS Windows Vista pro připojení k WIFI síti JAMU. Stažení certifikátu JAMU. Instalace certifikátu JAMU

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ

ČSOB Business Connector Instalační příručka

Implementace LMS MOODLE. na Windows 2003 Server a IIS 6.0

DŮLEŽITÉ INFORMACE, PROSÍM ČTĚTE!

MS WINDOWS I. řada operačních systémů firmy Microsoft *1985 -? Historie. Práce ve Windows XP. Architektura. Instalace. Spouštění

NAS 109 Použití NAS s Linux

SYSTEM EDUBASE INSTALAČNÍ PŘÍRUČKA

Windows a Linux. Přednáška číslo 7

Operační systémy 1. Přednáška číslo Souborové systémy

EvMO postup při instalaci

Registrátor teploty a vlhkosti vzduchu a ovlhčení listů

Operační systémy 2. Firewally, NFS Přednáška číslo 7b

Kerio Administration Console

File Transfer Protocol (FTP)

a autentizovaná proxy

Instalace Linuxu Ubuntu v programu VirtualBox

Provoz DOS verzí programů VIS pod Windows 7

Instalace Debianu pomocí debootstrap

T-Mobile Internet. Manager. pro Mac OS X NÁVOD PRO UŽIVATELE

PROGRAMOVATELNÉ AUTOMATY FATEK

1 Správce licencí Správce licencí Správce licencí Start > Všechny programy > IDEA StatiCa > Správce licencí Soubor > Správce licencí Licence

NÁVOD K POUŽITÍ. IP kamerový systém.

Radim Dolák Gymnázium a Obchodní akademie Orlová

Linux CryptoFS. Petr Novický

INFORMACE. Postup vytvoření virtuálního PC. Zpracoval: Ing. Emil Kajer Datum vydání:

NAS 107 Seznámení s Control Center

PC Fand a Linux Budoucnost PC FANDu

Operační systém GNU/Linux

Studentská unie ČVUT v Praze, klub Silicon Hill. 22. února Ondřej Caletka (SU ČVUT) IPv6 nové (ne)bezpečí? 22.

NAS 323 NAS jako VPN Server

Instrukce pro vzdálené připojení do učebny 39d

ČSOB Business Connector instalační příručka

Jak programovat Tinykeyer?

Dell UltraSharp U2518D/U2518DX/U2518DR Dell Display Manager Uživatelská příručka

IT ESS II. 1. Operating Systém Fundamentals

INSTALAČNÍ POSTUP PRO APLIKACI ELIŠKA 4

Registrační číslo projektu: CZ.1.07/1.5.00/ Název projektu: Moderní škola 21. století. Zařazení materiálu: Ověření materiálu ve výuce:

Stručný návod pro nastavení routeru COMPEX NP15-C

František Hudek. červen ročník

Po přihlášení do Osobní administrativy v Technologie a jejich správa vybereme položku Certifikáty bezdrátové sítě (Eduroam).

Architektura systému GNU/Linux. Bohdan Milar

eduroam - nastavení v MS Windows 7/8/8.1/10 1 Konfigurace pomocí asistenta eduroam CAT

Transkript:

Bootojeme po síti - část II 1. pxelinux Pxelinux je derivátem projektu Syslinux (syslinux.zytor.com), který téměř jistě znáte, tedy pokud jste někdy instalovali nějaké distro jako Debian, Mandrake, Fedora, nebo prostě bootovali Danix.Je to ten zavaděč, který se vám objevil při prvním nabootování z diskety, nebo CD. Výhodou Pxelinuxu je hlavně větší flexibilita - kromě jádra linuxu dokáže zavést i jiné věci, nás zajímá zejména to, že dokáže zavést další PXE bootstrap, tedy třeba pxegrub... uvidíme dále. PXElinux rozlišuje soubory podle přípon. Z toho nás hlavně zajímá, že pro PXE bootstrap je potřeba přidat příponu ".0" Pokud soubor nemá příponu, nebo má nějakou nerozpoznanou, je brán jako jádro linuxu. Jaký konfigurační se použije? Sice je možné, podobně jako u PxeGrubu nastavit konfigurační soubor pomocí speciální dhcp option, ale lepší je spolehnout se na "vrozenou" inteligenci. Pxelinux totiž hledá svůj konfigurační soubor na TFTP serveru v tomto pořadí: /pxelinux.cfg/01-88-99-aa-bb-cc-dd ;MAC adresa /pxelinux.cfg/c000025b ; IP adresa v HEX <- 192.0.2.91 /pxelinux.cfg/c000025 /pxelinux.cfg/c00002 /pxelinux.cfg/c0000 /pxelinux.cfg/c000 /pxelinux.cfg/c00 /pxelinux.cfg/c0 /pxelinux.cfg/c /pxelinux.cfg/default Takže v jednoduché konfiguraci stačí nazvat konfigurační soubor jako default a umístit ho do podadresáře pxelinux.cfg tftp serveru. Pokud bychom se např chtěli omezit na ČVUT, pojmenujeme soubor "9320" (147d -> 93h; 32d -> 20h). Obsah konfiguráku nastíním nejlépe příkladem: default local prompt 1 timeout 300 display boot.msg #uvodni splash F1 boot.msg F2 linst.msg F3 danix.msg F7 snake.msg label local localboot 0 #splashe po stisknuti ruznych klaves # lokalni boot, s kompletnim odebranim Pxe label dos # bootovani dosu pomoci specialniho bootstrapu kernel tipundi2.0 label memdos # bootovani dosu pomoci memdisku kernel memdisk append initrd=unditcpip.img keeppxe label memtest kernel memtest label lt #proste memtest # takhle se bootuje LTSP.org

kernel ltsp/bzimage-2.4.24-ltsp-1 append init=/linuxrc rw root=/dev/ram0 initrd=ltsp/initrd-2.4.24-ltsp-1.gz LABEL danix #a takhle danix KERNEL danix/vmlinuz APPEND nfsdir=192.168.0.1:/mnt/extra/moon/install/os/linux/danix/cd nodhcp lang=cs ramdisk_size=100000 init=/etc/init noeject noprompt nomce vga=791 initrd=danix/miniroot.gz quiet wheelmouse BOOT_IMAGE=knoppix 2. memtest Nejjednodušší je nabootovat ze sítě memtest (memtest86.com). To je totiž vlastně falešný kernel který ověří paměť. Namá žádné nastavitelné parametry, takže není co řešit. 3. memdisk Memdisk je také součástí projektu Syslinux a slouží k bootování dosu z netradičních médií, jakým síť určitě je. Opět se jedná o "falešný kernel" který načte jako svůj inicalizační ramdisk do paměti obraz diskety (nebo jiného média) a pověsí se na INT13, tedy obsluhu disků, kde způsobí přesměrování obsluhy reálné diskety na obsluhu fiktivního disku, vytvořeného z obrazu v paměti. V praxi to vypadá tak, že při bootu se připojí na pozici "A:" obraz z paměti, ze kterého se bootuje a na pozici "B:" se přesune reálná disketová mechanika. Nyní je na nás, abychom v DOSu rozchodili síť a napojili se třeba přes SMB na nějaký server. To je možné udělat například pomocí Microsoft Lanmanager client, který se dá odkudsi z Internetu stáhnout. Detailní popis je nad rámec této přednášky, případné zájemce odkazuji na podrobné prostudování nějakého obrazu, který funguje. Poznámka: Pro rozjetí sítě Microsoft v DOSu je potřeba tzv. NDIS ovladač síťové karty, to je soubor s příponou.dos - najdete ho na CD ke každé slušné síťové kartě. Můžeme se ale obejít i bez něj - existuje totiž wrapper, který se chová jako NDIS ovladač, ale přítom příkazy pouze zabaluje do příkazů UNDI (to je ten ovladač který je vestavěn v bootrom síťové karty). Díky tomu se nám stane nabootovaný DOS nezávislý na konkrétním HW počítače. Je však potřeba nějak říci pxelinuxu, že nemá PXE stack odebírat z paměti - to se dělá přidáním parametru "keeppxe". Ještě jedna poznámka: Zjistil jsem, že místo memdisku je lepší použít přímo PXE bootstrap od firmy 3Com, protože obsahuje i prográmek freemem, který dokáže po úspěšném nabootování odstranit obraz diskety z paměti a přemapovat zpět fyzickou diskatu na A:. Tento bootstrap vygenerujete spolu s obrazem diskety pomocí Windowsového programu imgedit, který je součást balíku firmy 3com "util430.exe". Na webu 3com hledejte "3CMBA-D". 4. danix Danix je česká mutace světoznámé distribuce Knoppix. Tato distribuce umožňuje mimo jiné také režim "Knoppix-TerminalServer", ve kterém se samotný počítač s knoppixmem stane serverem, který umožní ostatním stanicím ze sítě nabootovat danix přes síť. Na nás tedy zbývá přenést konfiguraci na jiný počítač, tak aby nám na serveru nemusel běžet Danix (já vím, že je to skvělý OS, ale na servery se věru nehodí :-) Takže nejprve nabootojeme danix, spustíme "knoppix-terminalserver" a proklikáme průvodce. 1 Poté, co průvodcem projedeme, uložíme si potřebné soubory z adresáře /tftpboot. Zejména se jedná o konfigurační soubor pxelinuxu, samotné jádro a inicializační ramdisk. Také pohledem do souboru "/etc/exports" zjistíme, že je potřeba exportovat přes NFS obsah CD s danixem, takže na server buďto zkopírujeme obsah Danix LiveCD, nebo jeho ISO obraz, který přes loopback (mount -o loop danix.iso /mnt/danix) připojíme a připojený vyexportujeme. Cestu k exportovanému obrazu musíme předat kernelu danixu v konfiguračním souboru pxelinux.cfg, viz výše. 1 Pokud je počítač v tuto chvíli připojen do veřejné sítě, doporučuji na chvíli vytáhnout kabel z karty, protože průvodce se pokusí spustit DHCP a než ho stihneme killnout, mohl by nás nějaký aktivnější administrátor zardousit UTP kabelem :-)

Tím je konfigurace hotova. Více info viz: http://www.danix.cz/members/kato/tbery/termserv/view?searchterm=terminal% 20server 5.Terminálový server Danix je sice pěkný, ale někdy se hodí mít namísto hromady samostatných klientů jeden "tlustý" server, který poskytuje prostřednictvím X protokolu své prostředky a mnoho "tenkých" klientů. Nejdříve si vysvětlíme, jak vlastně X funguje. X window system se dělí na servery a klienty. Servery komunikují s hardwarem a přes hardware s uživatelem. Když spustíte samotný X server, uvidíte pouze známý černobílý vzorek a ukazovátko ve tvaru X. Aplikace, které v X window systému spouštíme jsou tzv. X klienti. Ti navážou přes síť (většinou přes loopback, nebo tzv. unix domain socket) spojení se serverem a požádají ho o např. nakreslení okna. Server jim na oplátku posílá informace o tom, kam uživatel klikl myší, atd. Důležité je hlavně uvědomit si, že každý "tenký klient" je pouze X server, ten "tlustý server" obsahuje pouze X klienty, kteří se připojují k X serverům. Z tohoto popisu je jasné, že ten "tlustý server" se nějak můsí dozvědět, kde všude běží X servery, aby s nimi začal komunikovat. K tomu se používá protokol XDMCP (X Display Manager Control Protocol.) Tímto protokolem se každý X server ohlásí "Display Manageru", kterýžto s ním začne komunikovat. Display manager zná asi každý, je to ten program, co zobrazuje dialogové okno s přihlašovacím jménem a heslem, pokud se přihlašujete přes X Window System. V praxi to tedy probíhá takto: Na "tlustém serveru" běží X display manager (xdm, kdm, nebo gdm). Ten poslouchá na portu protokolu XDMCP. Jakmile se spustí nějaký "tenký klient", popátrá obvykle vysíláním (X -broadcast), nebo přímým pořadavkem (X -query a.b.c.d) po serveru, na kterém běží XDMCP povolený display manager. Když ho najde, oznámí mu: "jsem tady!" a vymění si s ním autorizační údaje (standardně jsou totiž X servery nastaveny tak, aby si jen tak někdo nemohl na serveru cokoli spustit). Nato display manager pošle na X server svoje přihlašovací okno a pokud dojde k úspěšnému přihlášení, nastaví přihlásivšímu uživateli proměnné DISPLAY a X_AUTHORITY tak, aby každý nově spuštěný klient (tedy program) posílal svůj výstup na "tenkého klienta". Protože unixové systémy mají opravdový multitasking a multiusering, není problém, když takovýchto klientů bude víc než jeden. Celý problém tedy lze rozdělit na následující podproblémy: 1. Zprovoznit na "tlustém serveru" X display manager tak, aby přijímal požadavky od vzdálených počítačů protokolem XDMCP. 2. Vytvořit malou live distribuci, která nastartuje ze sítě na každém "tenkém klientovi" a spustí na něm X server. Začneme tím jednodušším, a to konfigurací X display manažeru. Máme na výběr 3 druhy: xdm, který je součástí balíku X Window system; kdm, který je součástí KDE a nakonec gdm, který je součástí Gnome. My se zaměříme na kdm, čiště z osobních preferencí. kdm se konfiguruje velice podobně jako xdm, hlavním rozdílem je umístění konfiguračních souborů, které je: V případě xdm v adresáři /etc/x11/xdm/ V případě kdm v adresáři /usr/kde/3.4/share/config/kdm/ Zde se nacházejí soubory, které konfigurují celé chování programu kdm. Nás z toho zajímá hlavně: 1. Hlavní konfigurační soubor kdmrc, kde je úplně na konci obvykle zakázán protokol XDMCP: [Xdmcp] Enable=false

2. Konfigurační soubor Xaccess omezující přístup, který ovšem bývá nastaven správně: * #any host can get a login window Po úpravě těchto konfiguračních souborů a restartu, resp. reloadu kdm by již mělo být možné připojit se přes X vzdáleně. To nejlépe vyzkoušíme tak, že na jiném počítači spustíme X -query a.b.c.d, kde a.b.c.d je adresa, nebo název počítače s XDM. V případě, že nám na jiném počítači už běží X, vyzkoušíme funkčnost pomocí příkazu Xnest :1 -query a.b.c.d 2 Pokud nevidíme nic než jen černobílý vzorek a kurzor ve tvaru X, je kromě chyby v nastavení xdm také možná chyba v nastavení firewallu jiného počítače. Ten se totiž po spuštění X serveru chová jako server (nečekaně :-) a poslouchá na tcp portu (6000 + číslo displeje). Na ten port se taky xdm snaží připojit. Teď je na řadě ta složitější část. Když už totiž chceme tenkého klienta, tak obvykle chceme, aby byl opravdu tenký, což v našem případě znamená zejména bez pevného disku. Zde narážíme na problém, že většina běžných distribucí se bez harddisku neobejde. Existují ale nejméně dva projekty, které se zaměřují přímo na vytvoření live distribuce, která nastartuje ze sítě a spustí X server - starší a klasický Linux Terminal Server Project - ltsp.org a novější, netradiční PXES Universal Linux Thin Client - pxes.sf.net. Oba si popíšeme. Linux Terminal Server Project LTSP.org je mini distribuce se vším všudy, včetně balíčkovacího systému. Nebudu zde popisovat postup instalace, jenom podotknu, že pro Gentoo linux je připraven ebuild a howto na http://www.gentoo.org/doc/en/ltsp.xml, pro ostatní distribuce buď existuje také balíček, nebo lze nainstalovat ručně. V tom případě si stáhneme malý balíček s instalátorem, který spustíme a on nám nabídne seznam balíků, které můžeme nainstalovat, ty pak stáhne a nainstaluje. Tento instalátor nám také pomůže s nastavením celého serveru, včetně xdm, dhcp, tftp, nfs. LTSP.org se skládá ze tří základních částí: 1. obraz kernelu, který bude nabootován na každém tenkém klientu 2. obraz inicializačního RAMdisku, který se předá při vzdáleném bootování kernelu a slouží hlavně pro navázání komunikace s NFS serverem a připojení kořenového stromu NFS. 3. vlastní kořenový strom, který je ze serveru vyexportován přes NFS. Vzhledem k tomu, že ve stromu LTSP nejsou z úspory místa žádné vývojové nástroje, je dost problematické do distribuce jakkoli zasahovat, a to i například pro nastavení českého prostředí (klávesnice.) PXES Universal Linux Thin Client PXES je už podle názvu univerzálním tenkým klientem, který je svým zezřením i způsobem instalace co nejvíce přiblížen uživatelům MS Windows. Kromě X protokolu navíc podporuje i Microsoftí RDP, Cytrix ICA, VNC, a jednoduchou lokální plochu. Na rozdíl od LTSP.org nepoužívá NFS strom, ale pouze obraz kernelu a inicializační RAMdisk, který má 16 MB a používá komprimovaný souborový systém squashfs. Díky tomu k rozchození stačí pouze tftp a dhcp. Preferovaný způsob instalace spočívá ve stažení binárního obrazu RAMdisku a kernelu a jejich nakopírování do kořene tftp serveru. Je také možné stáhnout zdrojový strom a inicializační RAMdisk si upravit podle svých potřeb, k tomuto však chybí dokumentace :-( Každý PXES klient navíc obsahuje SSH server, přes který lze klienta obsluhovat a také VNC server, kterým lze sledovat přesný obsah obrazovky klienta. 2 Xnest je takový zvláštní prográmek, který je součástí X window systému a chová se zároveň jako klient i server. Jako klient se chová pro X server ve kterém je spuštěn, ale zároveň se chová jako server, to znamená, že na jeho ploše si mohou kreslit klienti, kteří se k němu připojí. Parametr :1 je na příkazovém řádku proto, aby se Xnest spustil jako server s číslem 1 - defaultně se spouští s číslem 0, to ale už je zabrané "rodičovským" X serverem.

Společné problémy terminálových serverů Když už se povede spustit tenkého klienta, narazíme na několik dalších problémů, které mají obvykle společného jmenovatele: snažíme se používat něco ze "svého" počítače (kterýžto je tenkým klientem), a přitom používáme prostředky serveru, který se proti tomu obvykle brání. Zvuk na tenkých klientech. Pokud jsou na serveru v pořádku práva, neměl by povolit komukoli zapisovat do /dev/dsp. Díky tomu si programy vyžadující zvukový výstup budou stěžovat. Řešit se to dá jedině použitím zvukového serveru, který podporuje síťovou transparentnost, to znamená například esd nebo nas. Všechny aplikace navíc musí daný zvukový server podporovat, což je problém zejména u komerčních produktů, jako Real Player, Flash, Skype,... Lokální zařízení na tenkých klientech. Občas si člověk chce z počítače něco odnést na flash disku, nebo CD, někdy možná i na disketě. Místo toho se ale snaží otevírat disketu na serveru. Na to existuje řešení, které spočívá ve spuštění NBD (Network Block Device) serveru na každém klientovi a úpravě mount a umount skriptů. NBD pak vyexportuje z každého klienta blokové zařízení jako takové a vlastní akt přimountování proběhne na serveru. Závěr Tento text byl napsán v Openoffice.org 1.1.4. Za všechny překlepy se omlouvám. Případně uvedené ochranné známky patří jejich vlastníkům. Tento text může být v nezměněné podobě libovolně šířen. Ondřej Caletka 20. 9. 2005 O.Caletka@sh.cvut.cz