Skloviny 05/2006 ================ 2. maj 2006 /////////////////////////////////////////////////////////////////////////// ,-----. .----- - - - - - - | | | `-----. |.' | |^| \ / | |,~; \ / | |`. | |_| \/ | | | \/ `-----' / Slovenske Linuxove Noviny \_/ MAJ 2006 /////////////////////////////////////////////////////////////////////////// Uvod ---- Toto cislo Sklovin vychadza po dobrovolnej jednomesacnej odmlke. Po standardnom prehlade (sice teraz dvojmesacnom) sa vo zvysku casopisu nachadzaju tieto nemenej zaujimave temy: * Serial Policy Routing v Linuxe * Pribeh presunu jedneho servera Prijemne citanie praje Jasan Prehlad marcoveho a apriloveho diania ------------------------------------- Maly Anglicko-Slovensky (mass) a Slovensko Anglicky (msas) Slovnik ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Zdenko Podobny vo svojom http://lists.linux.sk/pipermail/linux/2006-March/074214.html[prispevku] do konferencie `linux` informoval o vydani premierovej verzie 1.0 slovnikov mass a msas. Viac informacii na najdete na adrese http://www.sk-spell.sk.cx[]. Modifikacia DNS odpovede pre vyhradene adresy ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ V http://lists.linux.sk/pipermail/linux/2006-March/074212.html[prispevku] do `linux`-u vyjadril Jan Ostrochovsky potrebu riesenia zmeny DNS odpovede v zavislosti od adresy klienta. Dostal na to par zaujimavych odpovedi, viac uz v spomenutom prispevku. LugCon14: posunuty termin prihlasovania prednasok ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Stano Meduna ako koordinator prednasajucich pre najblizsi LugCon vo svojom http://lists.linux.sk/pipermail/linux/2006-March/074223.html[prispevku] posunul terminy, do ktorych boli akceptovane dalsie prednasky (momentalne je uz po termine - pozn. red.). Presun servera ~~~~~~~~~~~~~~ http://lists.linux.sk/pipermail/linux/2006-March/074229.html[Oznam o presune] Momentalne je server stale na docasnom mieste, nastastie vsak relativne bezproblemovo funguje a mnohe temy s ktorymi sa skor ci neskor stretneme v Sklovinach boli inspirovane prave cinnostami suvisejucimi s tymto presunom. Dakujem http://www.ipsec.info[Milanovi Pikulovi], u ktoreho bol server dovtedy umiestneny. Podakovania a informacie o hardveri, ktorym server disponuje, sa nachadzaju v dalsom http://lists.linux.sk/pipermail/linux/2006-March/074231.html[prispevku]. Games for Linux - upgrade portalu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ http://lists.linux.sk/pipermail/linux/2006-March/074284.html[Prispevok] od Juraja Michalka ziada napaditych ludi, aby vyjadrili svoje navrhy na zmeny portalu http://games.linux.sk[]. pam_radius_auth a freeRADIUS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ http://www.sklug.sk/~jasan/skloviny/externe/radius-ostry.html[Dalsia obsiahlejsia praca] Jana Ostrochovskeho sa zaobera praktickym vyuzitim protokolu RADIUS. Nevydane Skloviny 4/2006 ~~~~~~~~~~~~~~~~~~~~~~~~ http://lists.linux.sk/pipermail/linux/2006-March/074310.html[Oznamenie o nevydani aprilovych Sklovin]. Dalsie info k LugCon-u ~~~~~~~~~~~~~~~~~~~~~~ http://lists.linux.sk/pipermail/linux/2006-April/074337.html[Rozsirujuce informacie] tykajuce sa 14. Vikendu s Linuxom som poslal do vsetkych konferencii. Islo najma o to, kde najst miesto konania na mape a ktora adresa s informaciami je ta prava (pouzivame dva nezavisle systemy, nikto netvrdi, ze je to dobre, vytvara to zmatok, ale predsa to nejako funguje). Fetchmail a mazanie mailov po niekolkych dnoch ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ V http://lists.linux.sk/pipermail/linux/2006-April/074338.html[prispevku] Juraja Bednara, za ktorym nasleduje aj vyriesenie, sa dozvieme, aky program pouzit v kombinacii s http://fetchmail.berlios.de/[`fetchmail`]-om, aby sme dosiahli mazanie mailov z pop3 servera po istom case. Vypadok mailov na serveri SKLUG-u ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Od 17. aprila http://lists.linux.sk/pipermail/linux/2006-April/074347.html[ nefungovalo dorucovanie mailov] zo servera `sklug.sk`. V odpovedi na mail je kratke vysvetlenie opravy. Policy Routing v Linuxe ----------------------- Bezne formy smerovania z rychlika ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Prosim zdatnejsich, aby tuto podsekciu bez reptania preskocili. Na Linuxe sa na nastavovanie smerovania bezne pouziva prikaz `route`. Jeho pouzitie je nasledovne (v kontexte s prikazom ifconfig): $ ifconfig eth0 192.168.0.47 netmask 0xffffff00 up $ route add default gw 192.168.0.1 Vysledkom prveho prikazu je, ze sietove rozhranie `eth0` uvedieme do aktivneho stavu, v ktorom bude mat uvedenu adresu a sietovu masku 255.255.255.0 (v priklade je zamerne pouzity alternativny zapis masky). Akykolvek pocitac v sieti s touto maskou je tym padom priamo pristupny (nie je potrebne na komunikaciu s nim vyuzivat iny pocitac - router). Druhym riadkom systemu povieme, ze akekolvek pakety, ktore nemaju svoj ciel jasny (nepatria ziadnemu pocitacu zo siete 192.168.0.0/255.255.255.0), budu smerovane na pocitac s adresou 192.168.0.1, ktory sluzi ako smerovac (router). Router musi byt pocitac z tej istej siete, v ktorej sa nachadza aj nas pocitac, pretoze inak by na seba priamo nevideli. Takymto sposobom sa nastavuje siet uz dost dlho. My vsak v dalsich castiach clanku budeme pouzivat na nastavenie siete mladsi prikaz, `ip`. Nastavenia z prveho prikladu vykoname pomocou `ip` nasledovne: $ ip link set eth0 up $ ip addr add 192.168.0.47/24 brd + dev eth0 $ ip route add default via 192.168.0.1 V prvom riadku aktivujeme rozhranie, v druhom mu nastavime adresu s maskou (dovolim si tu napisat viacere alternativne zapisy a prosim vazene publikum o odozvu v pripade, ze niektory zo zapisov nie je jasny: `/24` == `255.255.255.0` == `0xffffff00` == `11111111.11111111.11111111.00000000`) a v tretom nastavime standardnu branu. Takto jednoducho sa ale nastavuje smerovanie len na pocitacoch, ktore maju iba jedno sietove rozhranie pripojene na internet. Zakladne principy smerovania urceneho pravidlami ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Radi by sme dosiahli stav, ked sa nam bude urcovat smerovanie paketov podla nejakych pravidiel. Najprv vsak musime mat jadro, ktore je schopne takto carovat. Minimalne potrebne nastavenia jadra (pre verziu 2.6.16.11) su: `NET`, `INET`, `IP_ADVANCED_ROUTER`, `IP_MULTIPLE_TABLES`, `CONFIG_IP_ROUTE_FWMARK`, `NETFILTER`, `NETFILTER_XTABLES` a v neposlednom rade `NETFILTER_XT_TARGET_MARK`. Z programov je potrebne mat nainstalovane aspon baliky `iptables` (obsahujuci rovnomenny prikaz) a `iproute2` (obsahujuci prikaz `ip`). V takejto konstelacii by sme mali disponovat jadrom, ktore dokaze pracovat s viacerymi smerovacimi tabulkami. Kym nespecifikujeme tabulku, s ktorou pracujeme, pouziva jadro standardne tabulku cislo `254` oznacenu textovo ako `main`. Priklad: prikaz `ip route add default via 1.1.1.1` je totozny s prikazom `ip route add table main default via 1.1.1.1`. Predpokladajme teraz, ze mame dva pevne pripojenia do internetu na rozhraniach `eth0` a `eth1`. Chceme, aby vsetky data odchadzajuce priamo z tohto servera isli cez `eth0` a data od klientov z lokalnej siete `192.168.1.0/24` (na rozhrani `eth2`) aby sli cez `eth1` (nevenujem sa inicializacii rozhrani): ------------------------------------------------------------------- #!/bin/sh IP=/sbin/ip IPT=/sbin/iptables IPTS=/sbin/iptables-save IPTR=/sbin/iptables-restore # cistenie tabuliek $IPTS | sed "/-/d;/^#/d;s/DROP/ACCEPT/" | $IPTR $IP route flush table 1 $IP route add table 1 default via $eth1_gateway $IP route flush table default $IP route add table default default via $eth0_gateway $IP rule flush $IP rule add prio 50 table main $IP rule add prio 60 from 192.168.1.0/24 table 1 $IP rule add prio 80 table default $IP route flush cache $IPT -t filter -N keep_state $IPT -t filter -A keep_state -m state --state RELATED,ESTABLISHED \ -j ACCEPT $IPT -t filter -A keep_state -j RETURN $IPT -t nat -N keep_state $IPT -t nat -A keep_state -m state --state RELATED,ESTABLISHED \ -j ACCEPT $IPT -t filter -A INPUT -j keep_state $IPT -t filter -A FORWARD -j keep_state $IPT -t filter -A OUTPUT -j keep_state $IPT -t nat -A PREROUTING -j keep_state $IPT -t nat -A POSTROUTING -j keep_state $IPT -t nat -A OUTPUT -j keep_state $IPT -t nat PREROUTING -s 192.168.1.0/24 -j SNAT --to $eth1_ip # ... pokracuju nejake firewall pravidla ... (mozno nabuduce) ------------------------------------------------------------------- Zaver prvej casti ~~~~~~~~~~~~~~~~~ Skript nechavam za domacu ulohu na premyslenie. Prijimam navrhy na zlepsenie. Neberte prosim tento priklad ako vycerpavajuce vysvetlenie podmieneneho smerovania v Linuxe. Pokracujeme v dalsom cisle Sklovin. Tesim sa na Vase pripomienky, pretoze prave tie mozu ovplyvnit tempo a zameranie nasledujucich casti serialu. Odporucane studijne materialy (pokojne a s mierou; su to rozsiahle materialy): * http://people.netfilter.org/rusty/unreliable-guides/[ Rustyho pozoruhodne nespolahlive navody] * http://www.policyrouting.org/[] * http://linux-ip.net/[] Skutocny pribeh: Presun servera ------------------------------- ************************************************************ Tento pribeh je pravdivy. Mena postav su zamerne rozhadzane. ************************************************************ Julo vedel uz dlho, ze ma pre server ANTILAB-u najst novy domov. Miro mu to v maile napisal uz pred tromi mesiacmi. Napriek tomu vsak nepohol este ani prstom. Permanentne sa vyhovara na mnozstvo skolskych povinnosti a nedostupnost hardveru, na ktory by server preniesol. Teraz vsak nadisla ta chvila s velkym CH. Dostal mail, v ktorom Miro pise, ze masina sluziaca ako server ANTILAB-u bude o dva dni predana. Julo je nuteny skoncentrovat sa a za velmi kratky cas vymysliet nieco natolko rozumne, aby vypadok servera netrval prilis dlho --- to by bolo z profesionalneho hladiska pre neho uplne fopa. 'Co skor?', rozmysla. Napokon si urci postup nasledovne: 'a)' zistit, kto ma na starosti zaznam pre domenu `antilab.sk` - pre pripad potreby zmeny (sice mu Miro ponukol docasne tunelovanie doterajsej IP adresy), 'b)' pripravit masinu, ktora mu necinne kysne na vrchu vysokej skrine tak, aby bola schopna prevziat vsetky sluzby stareho servera, 'c)' pripravit miesto na disku a stiahnut kompletne vsetky data (cim skor, o dva dni Miro server vypne!), 'd)' pozmenit nastavenia a spustit vsetky sluzby v `chroot`-e, 'e)' riesenie pripadnych dalsich komplikacii, ktore vzniknu. 'Deenesko by nemal byt velky problem,' vravi si a uz spusta `dig -t ns antilab.sk`. Nasledne napise mail na `hostmaster`-ov vsetkych serverov, ktore mu vypluvol predosly prikaz s prosbou o informacie ohladom poskytovania domeny ANTILAB-u. Na odpovede necaka, cas je drahy. Zapina pocitac na skrini. Je to na dnesne pomery ,,sunka'', Pentium III 500MHz, Ulrik mu kvoli tomuto presunu zapozical 512MB DIMM modul (ano, ta masina ma este dimky!), takze dokopy ma 640MB co nie je az take zle. Tento pocitac nema monitor ani klavesnicu, ale pristup cez seriovu konzolu si nastastie Julo nastavil uz skor. Pomocou weboveho klikatka sa snazi povolit si pre masinu niektore porty na centralnom rutri poskytovatela (ano, aj to sa dnes robi, bezpecnost nadovsetko!) ale po naslednej kratkej mailovej komunikacii so spravcom rutra poskytovatela zistuje, ze dvadsatpatka je proste blokovana este skor, nez vobec dojde do tejto siete. To znamena, ze vyuzit aktualnu sietovu adresu na beh sluzieb ANTILAB-u nemoze. Pyta sa svojho ochrancu a spovednika GURU-a, co dalej a ci ma nejaky napad. GURU navrhuje tunel z Brezovej pod Bradlom, kde robi spravcu, k Julovi. Kedze nastavenie zaberie chvilku a mozno aj dve, Julo sa vrha na dalsi bod: cistenie disku a presun dat. Ta sunka na skrini ma v sebe 17.2GB Seagate U8 disk, ktory ma uz nejake tie roky za sebou. 'Nevadi. Hadam este posluzi...' dodava si Julo odvahy. Maze z disku adresar s animovanou rozpravkou Tom a Jerry, ktoru malemu bratovi uz aj tak odniesol na cedecku. Tym padom zistuje, ze je na disku dost miesta a spusta prikaz `ssh root@antilab.sk "tar c /" | tar xvp -C /home/root-antilab` lenze v tej rychlosti zabuda na limit prenosu dat stanoveny poskytovatelom... a uvedomuje si svoj omyl az po tom, co sa prenos znenazdajky zahadne zastavi. Nic vsak nie je stratene; pripaja sa na linuxovu masinu u provajdera, kde ma uzivatelske konto a nastavuje presmerovanie portu eseshacka `antilab`-u (provajder samozrejme nepocita limity svojim masinam). Data stastne skopiruje mierne pozmenenym prikazom... A tu sa uz ozyva GURU s konfigurakom a klucmi pre openvpn. Julo ich v momente umiestni do spravneho adresara v `/etc` a sprevadzkuje tunel. Fajn. 'To by bolo z krku. Uz len pospustat sluzby, zmenit nastavenia na novu ip adresu ak treba a hadam by to uz mohlo byt aj vsetko ...' Hej veru myslel si on. Ale vsetko to zdaleka nebolo. LugCon 14 --------- Prosim vsetkych, aby brali na vedomie, ze sa blizi strnasty Vikend s Linuxom. Tato akcia je zamerana hlavne na osobne stretnutia ale nie len 'starych znamych'. Uvitame nove tvare a netreba sa hanbit. Neexistuje taky guru aby sa od neho nenasiel vacsi... Viac informacii, mapku miesta konania a program prednasok najdete na adrese http://www.sklug.sk/lugcon14[], kde este coskoro pribudnu fotky miesta konania, ako aj slovny popis pristupu nan. Tiraz ----- .Informacie o Sklovinach `-------------------`------------------------------------ Autor Jan Sarenik Kontakt mailto:jasan@x31.com[] Zdrojovy subor link:skl-2006-05.txt[] - podpisany link:skl-2006-05.txt.asc[] - bez diakritiky link:skl-2006-05.txt.ascii[] - iso-8859-2 link:skl-2006-05.txt.latin2[] Archiv cisel http://www.sklug.sk/~jasan/skloviny[] Zaloha archivu http://www.x31.com/~jasan/skloviny[] ------------------------------------------------------