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

SONaFR-2.0 k stiahnutiu

Works with Vista

  Editor's Choice

Keď nepoužívate diskety, stiahnite si multiboot ISO obraz, ktorý obsahuje moje tri projekty - SONaFR, KarmaBSD (MP3 prehrávač na jednej diskete na báze OpenBSD) a 1FCDBSD (MP3 prehrávač na jednej diskete, ale na báze FreeBSD).

Na úvod 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 o OpenBSD neviete nič, čítajte! Ak sa chcete rýchlo dozvedieť, ako používať/konfigurovať tento mini BSD SONaFR systém, kliknite sem.

  4 Stars

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. Theo de Raadt mi odpísal na email, kde uviedol, že jeho odchod bol spôsobený bojom o moc a že doteraz nevidí inú možnú príčinu. OpenBSD je teda z rodiny BSD ako OS najmladší iba podľa roku, keď 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.

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 (časť) 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 (partitions) v rámci oddielu (slice), ktorý používa. Ak si fdiskom v Linuxe (i DOS) rozdelíte disk, každý program pre správu diskov (i vo Windows) bude delenie diskov vidieť ako - 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" vo vnútri FFS, teda "b", "e" atď., má pomenovanie podľa abecedy) je tretia primárna partícia - "s3" (v štvrtej môžete mať logický disk aj so súborovým systémom FAT32 atď.). Písmenká abecedy sa však vo FreeBSD držia jednotného štandardu - "b" (swap), "a" (/) a "e" (/tmp). Iné pomenovania oproti Linuxu majú aj CDROM zariadenia, sieťové či USB zariadenia. OpenBSD pre CDROM používa 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, keď 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 OpenBSD napríklad inštalovať, alebo ako pripojiť linuxovský disk.

Pár ďalších slov o OpenBSD

Inštalácia

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 napáliť na CD.

MaheshaBSD na stiahnutie - surfuj anonymne

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). Ak zadáte direktívy pre ALTQ do súboru /etc/pf.conf, budete môcť využívať i traffic shaping (kontrolu priepustnosti siete). Po nabehnutí (nabootovaní z diskety alebo z CD) 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 v pamäti potom 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á alebo CDROM mechanika (ak chcete SONaFR použiť ako CD, stiahnite si moje multiboot CD). 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 či oveľa novší.

SONaFR - pre prečítanie (stránkovanie) úvodného textu použite kláves SPACE a pre slovenskú verziu rýchleho návodu zadajte: "more /etc/READMEskcz" (samozrejme, bez úvodzoviek).

SONaFR-1.0 stojí na systéme OpenBSD - OS, ktorý sa považuje za najbezpečnejší 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 aj v samotnom SONaFR, ktorý 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 na 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 (alebo čo je) Router/Firewall/NAT?

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 ďalšie 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 III už nezbehnete Windows 7; budete teda musieť potrebovať niekoľko tisíc korún či zopár sto EU 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. Ak máte starý PC, nemusíte ho vyhodiť.

NAT (Network Address Translation) pomáha šetriť IP adresy, 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 vľavo.

Č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, keď 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), cez ktorý dáta prechádzajú (ako v presýpacích hodinách, keď 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 Wiki: 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ď.

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

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é sieťové 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?

Disketa:

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

(fd0a v OpenBSD, alebo fd0 v Linuxe) a rovnako možno použiť 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 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ť 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 ne2 (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" 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ť. 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 nemusí to byť vždy pravdou.

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/CD 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í)
3) zadanie DNS serverov do súboru /etc/resolv.conf (pokiaľ to nebolo urobené automaticky)
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.

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 dá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úť - systém beží iba v pamäti, 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. 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