wrm.gif


 

OpenBSD Router

GANEŠ ŠIVA ATLANTIS ANARCHIA

Esoteric ENGLISH LANGUAGE

Hoci sú tieto stránky o FreeBSD, OpenBSD mám rovnako rád a keďže som vytvoril zaujímavý projekt - jednodisketové mini BSD, ktorý poslúži ako router, rád sa podelím o info.

  SONaFR: 5 Stars Award at redsofts.com !

SONaFR - Simple OpenBSD NAT and Firewall/Router

Jednoduchý NAT a Firewall/Router na jednej diskete

SONaFR je maličký systém, ktorý zbehnete z jednej diskety a ktorý využijete ako NAT a firewall/router.

SONaFR-1.0, Copyright (c) George Sipos, október 2007

Download SONaFR here

Kontakt

SONaFR - router na jednej diskete

Zároveň niekoľko slov o OpenBSD

Copyright (c) George Sipos

Tu som sa rozhodol umiestniť svoj ďalší maličký výtvor - SONaFR-1.0 (Simple OpenBSD NAT and Firewall/Router), ktorý som otestoval a s ktorého schopnosťami som bol spokojný. Vznikol tak maličký jednodisketový router na báze OpenBSD 4.1 s pokynmi vo farebnom texte, ktoré aj tu popíšem. OpenBSD ako systém si určite zaslúži niekoľko slov, ktorých obsah možno poznáte a teda nasledovné riadky môžete preskočiť. Ak sa však chcete rýchlo dozvedieť, ako používať/konfigurovať tento mini BSD SONaFR systém, kliknite sem.

História

BSD

O histórii som písal aj v časti o FreeBSD, ale predsa si len stručne niečo povieme. UNIX sa začal vyvíjať v Bell Labs (AT&T) (1960-1970). Niekoľko univerzít ho kúpilo aj s licenciou na zdrojový kód a UC (University of California) v Berkeley tiež. Keď sa Unix začal vyvíjať v AT&T v USA v sedemdesiatych rokoch, táto obrovská spoločnosť mala toho času zákaz konkurovať na trhu s počítačmi. Z tohto dôvodu bola AT&T ochotná poskytnúť licenciu na Unix vrátane zdrojových kódov za malý poplatok univerzitám, kde študenti a výskumníci mali dostatok času, aby kód vylepšovali.

Internet už vznikal v rokoch osemdesiatych (interne medzi univerzitami) a univerzity si navzájom vymieňali opravy kódu Unixu, ktorý však nebol dokonalý. Opravy (patches) koordinovala skupina Computer Science Research Group (CSRG) na univerzite v Berkeley (University of California) a tieto opravy dostali pomenovanie ako BSD Unix (Berkeley Software Distribution). Toto prebiehalo dosť dlho, pričom AT&T zároveň získavala opravený kód späť.

V deväťdesiatych rokoch sa BSD kód otvára, hoci sa objavovali mraky v podobe právnych sporov ohľadne licencie. BSD 4.4-Lite2 ako "starý otec" všetkých BSD systémov, ktorý vyšiel z "úkrytu", v ktorom ho predtým videlo a mohlo ohmatať iba pár "vyvolencov", potreboval zo súčasného pohľadu ešte veľa práce. Právnici v Berkeley dokázali, že väčšina BSD kódu v podstate vychádzala z práce týchto opráv, či už od študentov alebo špičkových vývojárov, a že v podstate vôbec nešlo o pôvodný AT&T kód. Spoločnosť AT&T napokon musela zastaviť svoje aktivity a vydala vlastnú verziu Unixu - System V Unix. Skupina CSRG však pravdaže odstránila z BSD sporný kód, na ktorý si nárokovala firma AT&T zo svojho pohľadu oprávnene.

BSD, teda Berkeley Software Distribution, je rodina Unixov, ktorú vyvíjala kalifornská univerzita v Berkeley od konca rokov 1970 aj za finančnej podpory ARPA (vojenskej agentúry). V roku 1985 prišiel na svet projekt 386/BSD so zameraním na čipy Intel. 386/BSD bol postavený najmä na myšlienkach dvoch ľudí: Billa Jolitza a jeho manželky.

Linux

V čase, keď vznikol Linux (1992), BSD systémy boli oveľa viac vyvinutejšie. Prvá verzia NetBSD 0.8 prišla v apríli 1993 a prvé oficiálne CD FreeBSD 1.0 v decembri 1993. K vynálezom BSD patrí aj TCP/IP, na ktorom stojí internet. Linux je postavený na klone Unixu (Minix), ktorý zďaleka nespĺňal požiadavky na plnohodnotnejší systém v tom čase, ale vďaka veľkej práci a nadšeniu vývojárov Linux veľmi veľa dobehol. Dnes je Linux "hodnotnejší" (aj keď je to relatívne) najmä vďaka veľkej podpore ovládačov, v ktorých zase zaostávajú BSD systémy - nie preto, že by boli horšie, ale kvôli nezáujmu. V BSD komunite sa väčšia popularita Linuxu oproti BSD odôvodňuje oveľa viac viditeľným reklamným zastrešením Linuxu (Novell, Red Hat, Mandrake...), ktoré v BSD svete v takom rozsahu chýba.

Pre otvorenie BSD bol najvýznamnejší rok 1993

Bill Jolitz nečakane rezignuje v kooperácii; je uvoľnená neoficiálna oprava kódu 386/BSD. Ale prichádza aj verzia 4.3 BSD-Lite ("Net/2"), ktorá sa stala verejnou. V roku 1993 sa ako prvá sformovala skupina NetBSD, ktorá sa chopila aj tejto neoficiálnej opravy 386/BSD. Medzi zakladateľov NetBSD patril aj Theo de Raadt. Hneď po NetBSD vzniká projekt FreeBSD a Theo de Raadt, zakladateľ OpenBSD, sa pre svoj odchod z tímu NetBSD rozhodol z osobných dôvodov, čo sa stalo v roku 1995, teda oveľa neskôr. OpenBSD je teda z rodiny BSD najmladší iba podľa roku, kedy vznikol jeho názov; systém je vlastne celý postavený na NetBSD, z ktorého v roku 1995 vyšiel v celej jeho kráse. BSD systémy sú voľné a ktokoľvek si ich môže "zobrať". Samozrejme - čím viac sa OpenBSD vzdiaľuje od roku 1995, tým menej sa podobá na dnešné NetBSD.

Najzákladnejšie rozdiely medzi BSD a Linuxom

Linux a BSD tu chápeme globálne, nie jednotlivo, preto tak aj tieto tvrdenia treba vidieť.

1) BSD má inú licenciu, to znamená, že kód si môže po jeho úprave vývojár privlastniť; GPL licencia toto neumožňuje. GPL dáva väčšiu slobodu užívateľom, BSD licencia zase programátorom. Spoločnosť Apple takto prevzala FreeBSD pre svoj Mac OS X.

2) Jadro je pravdaže úplne iné.

3) Súborový systém je iný (ffs).

4) Delenie diskov - BSD si vytvorí vlastné oddiely v rámci disku, ktorý používa. Ak si fdiskom v Linuxe (i DOS) rozdelíte disk, každý program pre správu diskov (i vo Windows) bude toto rozdelenie vidieť - hda1, hda2, hda3 atď. Linux či DOS však bude pozerať na BSD disk iba ako na jeden, avšak v rámci BSD (FFS) môžete mať aj 10 oddielov. BSD systémy teda používajú dva termíny pre diskové oddiely - "partition" (vo vnútri FFS) a "slice" (oddiel disku, ktorý vidí bežný fdisk).

5) Označenie zariadení je iné, napr.: /dev/ad0s3b ("s3", teda "slice 3", je ekvivalentom hda3 v Linuxe; "partícia", teda "b", má pomenovanie podľa abecedy) je oddiel disku vo FreeBSD - tretia primárna partícia - "s3" (v štvrtej môžete mať logický disk aj so súborovým systémom ako FAT32 atď.), avšak "b" (swap), "a" (/) a "e" (/tmp) sú ďalšie oddiely vo vnútri súborového systému FFS, ktoré inak utility (mimo BSD) pre správu s diskami nevidia (DOS/Linux fdisk, Partition Magic atď.). Iné pomenovania oproti Linuxu majú aj CDROM zariadenia, sieťové či USB zariadenia. OpenBSD pre CDROM používa napr. zariadenie /dev/cd0a (vo FreeBSD je to /dev/acd0, samozrejme, iba v súvislosti s CDROM zariadením typu IDE na druhom IDE kanáli s priradením MASTER; pre SLAVE je už označenie iné).

6) BSD nepoužíva "runlevel" (inicializačné startup skripty) na štýl Unix System V ako Linux.

7) IT profesionáli pod pojmom "Linux" chápu predovšetkým iba jadro, hoci sa tento výraz ujal oveľa širšie (u bežných ľudí). BSD systémy sa distribuujú v základnom systéme (manuálové stránky, binárne súbory atď.); BSD, a pravdaže aj v profesionálnej IT terminológii, teda nie je "iba jadro". Na základný systém sa vzťahuje aj BSD licencia; "balíky" (packages) sú na rozdiel od "základného systému" pod licenciou autorov, ktorí ich vyvíjajú.

8) Jadro BSD systémov možno nastaviť do niekoľkých rovín, napr. aj do bezpečnostnej, kedy nie je možné v jadre (ani v súboroch) za behu nič meniť. "Kernel levels" predstavujú komplexnejšie úrovne jadra.

Medzi komunitami BSD, ktorých je viac, sú menšie rozdiely. FreeBSD je asi najviac otvorený ako systém k nováčikom. Komunita OpenBSD zase skôr očakáva, že užívatelia majú už nejaké základné avantúry s Unixom za sebou; mali by to byť teda o niečo skúsenejší užívatelia. Komunita nemá nič proti novým užívateľom, ale nemajú prečo odpovedať na základné otázky, ako napríklad ako OpenBSD inštalovať, alebo ako pripojiť linuxovský disk. V BSD Unixoch platí akési nepísané pravidlo, že ak sa stanete novým užívateľom, tímy vývojárov vás nebudú držať za ruku ako dieťa, ktoré treba viesť. Tu je lepšie vyhľadávať rôzne fóra alebo sa orientovať na Linux a jeho komunitu, v ktorej sa človek tiež naučí o Unixe veľa a svojím spôsobom ho aj niekto podrží za ruku. Aj v OpenBSD vás určite niekto povedie, ale odozva asi nepríde z www.openbsd.org, najskôr od niekoho z komunity. Existuje stránka "Návody pre OpenBSD", hoci iba v angličtine, ale aj ďalšie ako "OpenBSD Tutorials"

Pár slov o OpenBSD a ako si spraviť inštalačné CD

Vo verziách novších ako 4.1 bude v FTP archívoch OpenBSD súbor install42.iso (install43.iso, install44.iso atď., číslo závisí od verzie), ktorý stačí stiahnuť a nasledovné informácie skôr uplatníte so staršími systémami OpenBSD.

Systém 4.1 prichádza najmä so spektrom nových ovládačov a prvýkrát je tu aj natívny port OpenOffice. Ten pravda môžete očakávať aj v budúcich verziách OpenBSD i samotného OpenOffice.org.

OpenBSD tiež pozostáva z tzv. "základného" systému (core system) a balíkov, ktoré treba ťahať oddelene. Ak navštívite zrkadlové FTP servery: http://www.openbsd.org/ftp.html#ftp a vyberiete si ten čo možno najbližšie k vám, základný systém stiahnete pomocou wget:

wget --mirror ftp://server/OpenBSD/4.1/i386

Ak má užívateľ stiahnuté súbory v adresári napr.: /4.1/i386 (súbory ako cdemu41.iso, xfont41.tgz atď.), tak z nich vytvorí bootovateľný ISO súbor príkazom:

mkisofs -b cdrom41.fs -c boot.cat -R -v -o /usr/bsd4.iso .

Bodka na konci príkazu nie je chyba, ale súčasť príkazu. Mkisofs bude teda vytvárať ISO súbor z aktuálneho adresára (netreba teda k nemu zadávať cestu). Po napálení bsd4.iso na CD OpenBSD možno inštalovať.


SONaFR-1.0

Krátky popis SONaFR-1.0

SONaFR-1.0 je router/firewall/NAT na báze OpenBSD 4.1 s možnosťou použiť ho aj pre transparentný firewalling, je postavený na binárnom súbore crunch (všetky príkazy sú zakomponované do jedného binárneho súboru, ktoré sú uložené v jadre OpenBSD). Ak zadáte direktívy pre ALTQ do súboru /etc/pf.conf, budete môcť využívať i traffic shaping (kontrolu priepustnosti siete, t.j. napr. z 5 Mbit sieti urobíte 0,5 Mbit). Po nabehnutí (bootovaní z diskety) sa vytvorí súborový systém v pamäti, pretože systém obsiahnutý v jadre je iba na čítanie a konfigurácie nemožno editovať/meniť. Automatickým skopírovaním súborov do pamäti je editácia možná, čo uľahčuje prácu a umožňuje aj kedykoľvek vrátiť vytvorené zmeny a konfigurácie (k tomuto slúži príkaz /etc/floppy). Minimálne požiadavky sú 9,5 MB RAM a disketová mechanika. Ostatné závisí od schopnosti jadra rozpoznať sieťové karty, takže môže byť aj Pentium 75, prípadne i nejaký PC z rady 486 alebo 386.

Systém po nabehnutí sa zobrazí, ako vidíte vyššie - pre prečítanie celého úvodného textu stlačíte kláves SPACE a pre slovenskú verziu rýchleho návodu zadáte: "more /etc/READMEskcz" (samozrejme, bez úvodzoviek).

SONaFR-1.0 stojí na systéme OpenBSD, ktorý má jedno z najlepších bezpečnostných a teda aj firewall riešení na svete. SONaFR nemá zdrojové kódy, lebo to nie je bežný program napísaný v nejakom jazyku. Všetky zdrojové súbory sú dostupné na domovských stránkach OpenBSD (www.openbsd.org) a SONaFR bol iba skompilovaný - a to tak, aby sa zmestil na jednu disketu, práca teda bola na tvorbe jadra, na tvorbe a testovaní rc skriptu a tvorbe binárneho súboru crunch, v ktorom sú zakomponované kadejaké základné programy. crunchgen je súčasťou nielen OpenBSD, ale aj NetBSD a FreeBSD.

Ako funguje router/firewall/NAT, alebo čo to je?

Router/NAT/firewall sa využíva aj ako periférne zariadenie (hardvérová krabička) a niekedy aj ako softvér v počítači, prípadne na diskete/CD, pomocou ktorého pripojíme k PC (rozumej - k internetu, ktoré ostatné počítače "vytiahnú" z tohto PC) viac počítačov a tie získajú prístup na internet zo systému - z tohto PC, na ktorom beží daný softvér. Takéto PC sa nazýva ako router, brána či gateway a zvykne na ňom súčasne bežať aj firewall. NAT je vlastnosťou routera. Bola by škoda neaktivovať firewall, preto sa aktivácia firewallu vždy doporučuje. Jedným z takýchto programov známych v prostredí Windows je napríklad Kerio Winroute Firewall, ktorého cena sa pohybuje, v závislosti od počtu licencií, od 400 až po 1,400 EUR.

Nevýhodou softvéru ako Winroute je potreba používať Windows - čo predstavuje iba náklady, ktoré v dnešnom svete operačných systémov sú závislé od ďalších nákladov - Windows totiž vyžaduje silný hardvér a výrobcovia ako keby sa s Microsoftom dohodli. Znamená to, že na obyčajnom PC s CPU Pentium II už asi nezbehnete Windows XP; budete teda musieť potrebovať niekoľko tisíc korún či zopár sto Euro na kvalitnejší hardvér aj s väčšou pamäťou, ale aj disk atď.

SONaFR si naopak vystačí bez disku a len s niečo vyše 9 MB RAM.

NAT (Network Address Translation) pomáha šetriť IP adresami, ktorých nikdy nie je dostatok, tak si všetky počítače na lokálnej sieti nakonfigurujú bránu na router, napr. na IP adresu 192.168.0.1, pritom tieto môžu mať (musia mať) na vnútornej sieti vlastné IP adresy. Keby mal internetový poskytovateľ každému počítaču na vnútornej sieti prideliť IP adresu, voľná by neostala už žiadna, lebo systém s prideľovaním adries má tiež svoje limity. Sieť teda funguje tak, že router - ak pracujeme s jeho PC riešením, má dve sieťové karty, z ktorých jedna je pripojená na vonkajšiu sieť, t. j. internet, a druhá na vnútornú sieť (LAN). Pozri obrázok.


Ak má router tretiu sieťovú kartu, to vôbec nevadí; ak však na routeri máme len dve sieťové karty a chceme k nemu pripojiť viac počítačov, použijeme tzv. hub, čo je rozbočovač. Zo sieťovej karty, ktorá je určená pre vnútornú sieť, vyvedieme kábel, ktorý pripojíme do hubu a ostatné počítače z vnútornej siete pripojíme k tomuto hubu. Názorne to vidieť na obrázku. Každý počítač na vnútornej sieti však musí mať svoju lokálnu IP adresu (pravda nemusí mať, ale potom nepôjde sieť).

Čo je to transparentná firewall stena?

SONaFR nakonfigurujete aj pre transparentnú firewall stenu, ale povedzme si k tomu aspoň pár slov. Firewall sa v komplexnejšej sieti zložito inštaluje, prípadne komplikovanejšie sa menia pravidlá. Každý počítač musí mať IP adresu, čo nie je problém zvládnuť v malej sieti, ale v prípade desiatok či stoviek počítačov to už predstavuje veľmi vážny problém - každý počítač na vnútornej sieti treba nakonfigurovať, aby videl firewall ako bránu. Transparentná alebo stealth firewall stena, či bridge firewall (iný názov pre to isté) nepoužíva IP adresy, ale firewall funguje na dátovej úrovni, kedy sa pakety filtrujú a presúvajú na ďalšiu sieťovú kartu bez potreby používať IP adresy.

Pri použití normálneho firewallu musí systém spracovávať a skúmať pakety, čo mierne zdržuje, prípadne oslabuje výkon. Firewall nie je neviditeľný, transparentný firewall nikto nemôže vidieť. Počítač je v úplnom bezpečí. Transparentný firewall ale nie je router!!! Na toto pozor! Transparentný firewall je akýsi most (bridge), kedy dáta prechádzajú (ako v presýpacích hodinách, kedy sa väčšie zrnká piesku filtrujú od tých menších) z jednej sieťovky do druhej, ale nie na sieťovej úrovni, ale na tzv. "vrstve 2", čo je OSI model layer 2 - data link. "Most" premosťuje sieť, jej segmenty atď.

Ak teda máte počítač s dvoma sieťovkami, na ktorom zbehnete systém, ktorý podporuje vytvoriť transparentný firewall (napr. SONaFR, ale môžete použiť aj iný), v rámci sieti vo väčšej firme či kdekoľvek nepotrebujete konfigurovať nič - žiadne IP adresy, iba nakonfigurujete tzv. "most" (bridge - systém so softvérom pre transparentný firewalling ako SONaFR, ktorý umiestnite niekde medzi sieťové segmenty), ktorý môžete kamkoľvek na sieť postaviť. V prípade, že administrátor je nútený meniť firewall pravidlá pre segment, alebo musí inštalovať nový sieťový segment a potrebuje napr. traffic shaping, transparentný firewall most môže postaviť kamkoľvek a umiestniť medzi akýkoľvek sieťový segment bez potreby konfigurácie IP adries a tak môže slobodne aplikovať, meniť i vytvárať pravidlá pre firewalling.

Pre obsiahlejšie informácie si treba naštudovať iné stránky, keďže účelom týchto nie je poskytovať obsiahlu štúdiu pre sieťovanie, ale iba rýchly návod pre jednoduché používanie SONaFR.

Open Systems Interconnection Basic Reference Model alebo OSI layer 1 je fyzická vrstva, OSI layer 2 je tzv. data link layer, až layer 3 je sieťová vrstva a teda oveľa komplexnejšia. Ako vidieť, nie je možné toto celé popisovať, pozrite sa radšej do slovenskej Wikipedie: http://sk.wikipedia.org/wiki/OSI

Keďže tento druh firewallu nepoužíva IP adresu, ale funguje na nižšej úrovni (hoci sa môžete k nemu pripojiť pomocou tretej sieťovky a pozerať logy, alebo aj pomocou sériovej konzoly) - bez IP adresy je systém nedosiahnuteľný; nikto ho nemôže "ohmatávať", ani naň útočiť - je neviditeľný, teda transparentný. Riešenie s OpenBSD je samozrejme to najlacnejšie a na úrovni porovnateľnej aj so špičkovými riešeniami od firiem ako Cisco atď. Dokonca ho možno uplatniť aj na starom notebooku - dôležité je len jedno, aby mal počítač dve sieťové karty a tie aby boli rozpoznané systémom OpenBSD, alebo iným.

Ako použiť transparentnú stenu firewall so systémom SONaFR?

Opakujem, zabudnite na router a NAT - k tomu použite iný počítač (SONaFR + iné PC). SONaFR buď využijete ako router/firewall/NAT ALEBO ako stealth (transparent) firewall. Router/NAT/firewall vyžaduje IP adresy, transparentný (stealth) firewall nie.

1) Po nabehnutí systému z diskety (SONaFR) zadáte príkaz : "ifconfig bridge0 create"

2) A potom príkaz: "brconfig bridge0 add rl0 add rl2 up" kde "rl0" a "rl2" zameníte za skutočné zariadenia, aké jadro OpenBSD (SONaFR) nájde vo vašom systéme. OpenBSD samozrejme umožňuje aj automatické nastavenie takéhoto "mosta" pri bootovaní, ale k tomu si treba naštudovať iné stránky.

3) Pre firewalling je ešte potrebné nastaviť si súbor /etc/pf.conf, ktorý po menšej úprave môžete použiť aj v podobe, v akej sa nachádza v tomto mini BSD, a potom aplikovať príkaz: pfctl -f /etc/pf.conf

Ako nakonfigurujem SONaFR-1.0 pre NAT/Firewall/Router?

Image (obraz) diskety, ktorý si tu stiahnete, treba rozbaliť a zapísať na disketu štandardne buď príkazom:

dd if=subor.img of=/dev/fd0a

(fd0a v OpenBSD, alebo fd0 v Linuxe) a rovnako možno použiť aj známy rawrite.exe (zapíše zrkadlový súbor IMG na disketu v prostredí Windows/DOS), ktorý spolupracuje so systémami DOS/Windows. Rawrite.exe je aj súčasťou balíka 1FCDBSD, ktorý si takisto možno stiahnuť. Ale keďže rawrite.exe má menšie nedostatky, resp. odmieta fungovať vo Windows 2000/XP a na druhej strane funguje vo Windows 98 (závisí to aj od verzie rawrite.exe), rozhodol som sa do ZIP súboru umiestniť aj rawwritewin.exe , ktorý umožní každému ľahko dýchať - nevyzerá obrázok nižšie naozaj pútavo?

Hoci sa v unixovskom svete pre archívy používa iba tar.gz alebo bz2 formát, Zip formát je zvolený zámerne najmä pre užívateľov Windows, aby ich svet mimo $MS trochu prilákal. Existuje veľa utilít pre zápis IMG formátov na diskety, napr. aj Winimage.

Systém OpenBSD nabehne ako bootovacia disketa do prostredia, kde môžete zadávať textové príkazy, pomocou ktorých hneď využijete firewall/NAT/router riešenie. SONaFR používa jednoduchý textový editor "mg", ale aj iné ďalšie dôležité príkazy (sysctl, ifconfig, mount_mfs...).

Musíte mať dve sieťové karty. Jadro OpenBSD bolo skompilované tak, že rozpozná mnohé známe sieťové karty, PCMCIA karty, aj niektoré WiFi zariadenia, ale nie všetky, keďže je to minimalistická verzia. Ak sa napr. pripájate cez DHCP k internetu, stačí vedieť, do ktorej sieťovej karty je zasunutý jack (kábel). Ak je vaša sieťová karta "rl0" - toto zistíte príkazom ifconfig (ten vypíše všetky sieťové karty, ktoré rozpoznalo jadro) - stačí, ak napíšete "dhclient rl0" a pripojenie k internetu by ste mali mať hneď. Ak nie, DHCP sa môže identifikovať cez MAC adresu, ktorá slúži ako heslo, bez ktorého sa nespojíte, resp. áno, ale s reštrikciami na DNS atď. Toto robia niektorí poskytovatelia internetu, ale obísť to možno aj pomocou príkazu lladdr, ktorý treba napísať za ifconfig. "lladdr" nastaví (emuluje) takú MAC adresu, akú len budete chcieť.

Na obrázku vidieť, že SONaFR rozpoznal sieťovú kartu NE (po zadaní príkazu ifconfig).

Pokiaľ je druhá sieťová karta (pre LAN) na našom routeri napr. nfe0, nakonfigurujete ju príkazom "ifconfig nfe0 192.168.0.1", kde "nfe0" pravda zameníte za vašu aktuálnu sieťovú kartu pre LAN (vnútornú sieť) - toto zistíte po zadaní ifconfig.

Ak spojíte váš ďalší PC s PC routerom (PC s adresou 192.168.0.1, kde beží SONaFR) a tento PC (nie router) máte nakonfigurovaný s IP adresou 192.168.0.2 (pravdaže, môže byť aj 192.168.0.3 atď.) a ak funguje ping ("ping 192.168.0.2" z routera alebo "ping 192.168.0.1" z ďalšieho PC, kde skúmate, či ping rozpozná router s adresou 192.168.0.1), potom stačí spustiť už len OpenBSD Packet Filter, ktorý na jednu výnimku je už nastavený tak, aby router/firewall/NAT okamžite fungoval. Touto malou výnimkou je, že do súboru /etc/pf.conf treba napísať (sieťové) zariadenia, pre ktoré bude Packet Filter uplatňovať pravidlá firewall. Použijete jednoduchý editor "mg" - zadáte príkaz: "mg /etc/pf.conf" a "IntIf" (Internal Interface) a "ExtIf" (External Interface) nastavíte tak, aby sa interné (IntIf, teda LAN) a externé (ExtIf, teda internet) zariadenia odkazovali na názvy reálnych zariadení, ktoré naozaj používate. Takisto treba zmeniť aj riadok "set logininterface" (na samom začiatku v /etc/pf.conf) tak, aby sa logininterface odkazoval na sieťovú kartu pripojenú k internetu, t. j. napr. "set logininterface rl0". Zmeníte teda iba tri body vyznačené v červenej farbe v tejto časti (na začiatku) súboru /etc/pf.conf.

----------------> ukážka súboru /etc/pf.conf <-----------------
# $OpenBSD: pf.conf,v 1.28 2004/04/29 21:03:09 frantzen Exp $
#
# See pf.conf(5) and /usr/share/pf for syntax and examples.
# Remember to set net.inet.ip.forwarding=1 and/or net.inet6.ip6.forwarding=1
# in /etc/sysctl.conf if packets are to be forwarded between interfaces.

set loginterface rl0

# Optimize the engine for normal network environment.

# Section: SCRUB
# Interface: all
# Resolve overlapping IP fragments. Fragments are cached and reassembled by
# pf before a packet is received by its destinations. This will protect
# machines with less secure stacks behind it from fragmentation attacks.
# -------------------------------------------------------------------------
#scrub in all
scrub in all fragment reassemble
scrub out all

# -----------------------------------------------------------------------
# Declare interfaces
# -----------------------------------------------------------------------
LoIf="lo0"
IntIf="nfe0"
ExtIf="rl0"

----------------> ukážka súboru /etc/pf.conf <-----------------

V súbore pf.conf je nastavený aj NAT na 192.168.0.1, čo nemusíte meniť, ale táto informácia slúži pre prípad, keby ste chceli použiť iné adresy na privátnej lokálnej sieti - tie môžu byť aj 10.0.0.1 atď., čo však môže byť pre vás o niečo komplikovanejšie.

Riadok LoIf="lo0" (a ani tie ostatné) nás nemusí zaujímať, ale vyššie tri časti v červenej farbe musíte zmeniť podľa aktuálnych sieťových zariadení vo vašom systéme, čo zistíte príkazom ifconfig. Určite - editáciou ostatných riadkov zmeníte pravidlá pre firewalling, ale to už je mimo rozsahu tohto vstupu. Cieľom SONaFR je poskytnúť tzv. jednoduchý (Simple OpenBSD) NAT/(and)Firewall/Router, ktorý bude okamžite fungovať a všetko ostatné mimo tohto by už bolo nad rámec cieľa.

Pre nastavenie DNS je pravda potrebné zadať IP adresy name serverov do súboru /etc/resolv.conf, kde sú príklady (aby užívateľ vedel, ako sa toto presne zadáva). DNS sú číselné IP adresy, napr. 195.x.x.x ("x" predstavuje ďalšie číslo). DNS robí preklad číselných IP adries na písmenka a opačne, lebo písmenka si ľahšie zapamätáme. Ak do prehliadača napr. napíšete www.freebsd.nfo.sk, túto požiadavku najprv spracuje DNS server, ktorý preloží túto adresu na číselnú.

Stačí napísať "mg /etc/resolv.conf" a tak editovať. "mg" je maličký editor, s ktorým si vystačí každý. Editor "mg" ukončíte pomocou kláves Ctrl+X+C (X a C treba podržať súčasne s CTRL) a potom použiť kláves "y" pre uchovanie zmien. dhclient v OpenBSD často automaticky rozpozná DNS, ale po odskúšaní internet nemusí vždy chodiť.

Ak to teda zhrnieme, konfigurácia SONaFR pre NAT/firewall/router (nie Transparent Firewall) pozostáva z týchto krokov:

1) Spustenie PC s disketou SONaFR a nastavenie sieťových kariet pomocou ifconfig
2) editácia súboru /etc/pf.conf (pre zadefinovanie aktuálnych sieťových zariadení, ktoré sú na každom systéme iné)
3) zadanie DNS serverov do súboru /etc/resolv.conf
4) aktivácia pripojenia na internet, napr. "dhclient rl0"
5) spustenie firewall - napr. zadáte príkaz "/etc/start2", ktorý aktivuje firewall - skript obsahuje príkazy potrebné pre aktiváciu firewallu, aby ste ich nemuseli vypisovať ručne. Sú to tieto príkazy:
     pfctl -F all
     pfctl -f /etc/pf.conf
     pfctl -s state

6) Nakonfigurujte si ostatné počítače, ktoré pripojíte k PC-router buď cez hub alebo priamo.

Pomocou "pf -e" aktivácia ("-e" = "enable"), deaktivácia ("-d" = "disable") aktivujete alebo deaktivujete firewall, pre jeho fungovanie však stačí použiť príkaz vo zvýraznenom písme (ak použijete "-f", musíte zadať aj cestu k súboru pf.conf s pravidlami, ktorý samozrejme môžete mať aj inde).

Samozrejmosťou je prepojenie PC s káblami a aj automatické nastavenie forwardingu na 1, čo už obsahuje súbor /etc/rc, ktorý toto aktivuje pri spúšťaní SONaFR. V každom ďalšom počítači - môže to byť i systém Windows, Linux, Mac OS, QNX atď. - si treba nastaviť bránu (192.168.0.1) a samozrejme vnútornú sieť, pretože v prípade viacerých počítačov s rovnakou adresou by nastal konflikt.

Ak máte napríklad 5 počítačov s Windows, tie budú mať adresy: PC1 - 192.168.0.2 (POZOR, nesmie byť 192.168.0.1, lebo túto IP sme pridelili nášmu routeru), PC2 - 192.168.0.3, PC3 - 192.168.0.4, PC4 - 192.168.0.5, PC5 - 192.168.0.6 atď. A na každom z nich treba nakonfigurovať bránu (192.168.0.1) a DNS. Takto je router/NAT/firewall na svete.

Tipy:

Pre zoznam sieťových zariadení, ktoré podporuje SONaFR, zadajte: more /etc/cards

Ak dostanete nejaké chybové hlásenie pri konfigurácii pomocou "ifconfig zariadenie adresa" (napr. "ifconfig nfe0 192.168.0.2"), s najväčšou pravdepodobnosťou podpora daného zariadenia (nfe0 je pravdaže podporované v systéme SONaFR) nie je zakomponovaná do jadra.

Súbor /etc/pf.conf možno pravdaže dolaďovať, ale momentálne je nastavený tak, že NAT/firewall/router funguje okamžite s celkom slušnými filtrovacími pravidlami.

Súbor /etc/start si upravte podľa vlastných potrieb a potom ho používajte, na začiatok začnite s /etc/start2.

Ak si chcete nakonfigurovať tento router ako bránu v systémoch Windows, vyberte Miesta v sieti (Network Neighborhood - pravým tlačidlom myši), potom sieťové zariadenie (tiež pravým tlačidlom myši), kde zmeníte jeho vlastnosti pre TCP/IP tak, že použijete privátne adresy ako 192.168.0.2 (lokálna sieť) atď. a kde uvediete aj DNS server. Po kliknutí na "Použiť nasledujúcu IP adresu" sa vám zobrazí okienko pre zadanie Východzej brány, kde uvediete adresu routera (192.168.0.1). Tento spôsob funguje v podstate rovnako vo všetkých systémoch Windows (98, NT, W2K, XP, Windows 2003, Vista). Pozri obrázok vyššie.

Pre zadefinovanie brány v Linuxe treba zadať: "route add default gw 192.168.0.1". Vo FreeBSD je trochu iný príkaz, kde pre konfiguráciu brány uvediete: "route add default 192.168.0.1"

Ak napíšete "more /etc/READMEskcz", zobrazí sa táto stránka (hoci o niečo menej obsiahla).

Ak vyvoláte príkaz "/etc/floppy", tak sa dostanete do menu, pomocou ktorého naformátujete (ale musí už byť naformátovaná - buď DOS alebo BSD formát) a pripravíte disketu s formátom FFS (OpenBSD), na ktorú môžete uložiť vaše konfigurácie z /etc adresára, čo tento skript urobí za vás. V prípade, že takéto zmeny už máte na diskete, tak ich pomocou tohto skriptu (/etc/floppy) zapíšete späť do pamäti do prostredia SONaFR. Toto však musíte robiť každý raz, keď systém nabehne.

Príkazom "/etc/memory" zistíte, koľko máte voľnej pamäti.

Napíšte do príkazového riadku: "more /etc/RAM-examples", aby ste videli príklady, ako možno zväčšiť/vytvoriť súborový systém v pamäti RAM.

Príkazom: "more /etc/license" sa dozviete typ licencie.

Príkazom: "more /etc/cards" zistíte, aké sieťové zariadenia podporuje jadro SONaFR.

Ak chcete mať transparentný firewall, príkazom: "ifconfig bridge0 create" vytvoríte most (bridge) a potom príkazom: "brconfig bridge0 add rl0 add rl2 up" most aktivujete, pričom "rl0" a "rl2" zameníte za skutočné zariadenia vo vašom systéme. Pre firewalling je ešte potrebné nastaviť si súbor /etc/pf.conf, ktorý po menšej úprave môžete použiť aj v podobe, v akej sa nachádza v tomto mini BSD, a potom aplikovať príkaz: "pfctl -f /etc/pf.conf"

Príkazom: "more /etc/allcommands" zistíte, aké všetky príkazy má toto maličké BSD.

OpenBSD Packet Filter má vyspelú vlastnosť pre kontrolu objemu prenosu dát, ktorú možno obmedziť podľa potreby, a takáto vlastnosť sa nazýva Bandwidth Management alebo Traffic Shaping. PF k tomuto používa ALTQ, ktorý sa ako príkaz zapíše do súboru /etc/pf.conf. ALTQ spravuje objem prenosu (bandwidth) pomocou tzv. queues, čo sú akési súbory paketov, ktoré čakajú na spracovanie. Popísanie tohto je však nad rámec môjho cieľa, ale po naštudovaní si manuálových stránok Bandwidth Management nie je problém nastaviť.

Počítač môžete kedykoľvek natvrdo vypnúť - súborový systém v pamäti sa aj tak skopíroval na svoje miesto z jadra, disketa nie je pripojená, tú môžete vybrať kedykoľvek po nabehnutí SONaFR; nijaký "skutočný" súborový systém nie je pripojený; SONaFR nemôže spáchať nijakú škodu na diskoch, lebo podporu pre ne nemá zakomponovanú do jadra. Nemôžem však niesť zodpovednosť za čokoľvek, čo by mohlo vo vašom systéme zlyhať.

Záver

Nemám osobne toľko času, aby som niekomu robil helpdesk - anglicky sa môžete učiť rovnako ako ja Sanskrit. Hovorím to preto, lebo na internete sa dá najmä o počítačoch všetko vyhľadať. Odpovedať na otázky typu: "mi to nejde, lebo" sa mi nechce. To, čo som odskúšal, funguje. Vždy sa nájde systém, ktorý odmietne zbehnúť - môže sa to stať i s týmto maličkým OpenBSD riešením, ale čo už môžem robiť? Ostáva mi tešiť sa, že ak sa nájde ďalších sto systémov ako môj (a aj tie staré notebooky, na ktorých som SONaFR odskúšal), predsa to len smeruje viac k dobru ako k nedobru.

Back