Linux Router

Download PDF


Na této stránce se dozvíte, jak si postavit vlastní Linuxový router. Popíšu zde pouze práci s disketovými distribucemi a to konkrétně s "Floppyfw" a asi nejznámější "Freesco".

1. Co je k tomu potřeba:

HW:

Takže v první řadě vyhrabejte odněkud ze skříně starou 486tku. Postačí když poběží na 33 MHz (ovšem tím netvrdím že to na pomalejší nepoběží, ale je to pořeba vyzkoušet), ovšem co se týče floppyfw, tak jsem ho bez problému provozoval taky na Celeronu 500, co se týče RAMky tak na freesco by mělo stačit 6 MB ale na floppyfw je psáno 8 MB ale doporučuju spíš 12 MB pro bez problémový běh. No potom nějaká disketárna (hard disk není potřeba), grafická karta víceméně není potřeba (pokud v BIOSu nastavíte Halt On: No Errors, tak akorat zařve speaker ale pojede to dál) nicméně je dobrý vědět co se děje (obzvlášť při oživování) obě distribuce jedou v konzoli 80x25, takže postačí klidně nějakej půlmegovej Trident nebo tak něco a nejlíp se k tomu hodí 9" ČB monitor (takovej ten co maj v krámech u pokladen :-).

A teď to hlavní: síťové karty. Já jsem použil 2x 3com Etherlink III (3c509) ISA. Co se týče floppyfw tak to by mělo podporovat NE 2000 compatible, 3 com, Realtek (odzkoušen 8029) problémy můžou nastat s Intelem. Freesco by na tom mělo být obdobně. Doporučuju však mít obě karty stejné (není to však podmínkou).

Kabely - UTP (kroucená dvoulinka), popř. HUB. Je ale potřeba dát si pozor na zapojení kabelu:

Straight-thru - přímé zapojení - nejpoužívanější zapojení, propojení počítače s HUBem
Crossover - křížený kabel - používá se k propojení dvou stejných zařízení - např. PC-PC

V našem případě použijeme přímé zapojení (předpokládejme, že přípojujeme víc počítačů přes HUB). Nutno podotknout, že kabelový modem se chová jako HUB, tj. vystačíme pouze s přímými kabely.
Zapojení do vnitřní sítě je samozřejmě také možné provést koaxiálním kabelem RG-58, ale vzhledem k tomu že, se jedná o zastaralou kabeláž nebudeme tuto možnost uvažovat.


SW:

Jak jsem se již zmínil v úvodu, budu se věnovat pouze dvoum disketovým distribucím (ovšem u ostatních distribucí se nastavení nebude zas tak lišit).

Floppyfw si můžete stáhnout na této adrese:

http://www.zelow.no/floppyfw

a Freesco tady:

http://www.freesco.org

Záleží jenom na Vás jakou distribuci si vyberete, ale pokud to mám shrnout tak floppyfw má velkou výhodu v tom, že nadetekuje automaticky síťové karty, zatímco Freesco má integrovaný web server pro vzdálenou správu.


2. Jak to rozchodit:

Předpokládejme, že 486 (popř. 386) je již sestavená, že máme nainstalované síťové karty na klientech a máme je propojené do HUBu, takže nainstalujeme síťové karty do routru a zapojíme jednu do kabelového modemu a druhou do HUBu. Může se stát, že obě síťové karty mají stejné IRQ a I/O adresu, v tom případě router (floppyfw) nabootuje ale vypíše takovéto chybové hlášení (pokud použijeme nastavení pro DHCP):

dhcpcd [49]: dhcpstart: ioctl: SIOCSIFFLAGS: Resource temporarily unavailable

V tom případě budeme muset použít utilitu dodanou na disketě s ovladači síťové karty (většinou se soubor jmenuje setup.exe a je pro DOS), kde budeme muset nastavit jedné kartě jiné IRQ a I/O adresu.

No a můžeme se věnovat SW nastavení.

Po stáhnutí distribuce je nejdřív potřeba jí dostat na disketu, to provedeme pomocí malé utilitky "rawrite" (ke stažení na stránkách příslušné distribuce), která je určená pro DOS/Windows. Stačí ji spustit a zadat jméno image souboru příslušné distribuce (musí být ve stejném adresáři).

Router používá technologii NAT (Network Address Translation) tj. překlad adres, to znamená, že vnější síti (Internetu) se všechny počítače ve vnitřní sítí jeví jako jedna IP adresa.
Z toho také vychází následující nastavení.

Konfigurace Floppyfw:

Tady si můžete stáhnout hlavní konfigurační soubor floppyfw. Je nastavený pro DHCP, pokud však budete potřebovat nastavení např. pro pevnou adresu bude potřeba soubor upravit. Konfigurační soubor je čistě textový soubor, není dobré ho upravovat např. ve Wordpadu apod.

A proto si teď podrobně popíšeme jednotlivé parametry:

OUTSIDE_DEV=
Definuje síťovou kartu připojenou do kabelového modemu. Zadáme eth0 nebo eth1. viz INSIDE_DEV

OUTSIDE_IP=
Definuje vnější IP adresu. Zadáme buď DHCP (v tom případě se následující parametry nevyplňují !) nebo pevnou IP adresu

OUTSIDE_NETMASK=
Definuje vnější masku podsítě. Většinou bývá 255.255.255.0

OUTSIDE_NETWORK=
OUTSIDE_BROADCAST=
Parametry NETWORK a BROADCAST jsou popsány níže.

DEFAULT_GATEWAY=
Definuje výchozí bránu.

NAME_SERVER_IP1=
Definuje primární name server. Na mistrálu: 62.24.64.2

NAME_SERVER_IP2=
Definuje sekundární name server. Na mistrálu: 62.24.64.3

DOMAIN=
Definuje doménu např. mistral.cz

HOSTNAME=
Definuje jméno počítače např. a2

Takže např. pro IP adresu 62.24.65.2 je doménový název počítače a2.mistral.cz Lze zjistit pomocí systémového příkazu nslookup (NT,W2K,XP)

Všechny tyto parametry se týkají vnější sítě. Parametry OUTSIDE_IP, OUTSIDE_NETMASK, DEFAULT_GATEWAY, NAME_SERVER_IP1, NAME_SERVER_IP2 byste měli dostat od providera a týkají se pouze nastavení pokud máme zaplacenou pevnou IP adresu !

Pokud používáme DHCP (nejčastější případ) je možno použít vzorový soubor, viz výše.


Teď se podíváme na nastavení vnitřní sítě:

INSIDE_IP=192.168.1.1
Definuje vnitřní IP adresu routeru

INSIDE_DEV=eth1
Definuje síťovou kartu připojenou do vnitřní sítě. Problém je v tom že nevíme, jak router karty nadetekuje, tudíž pokud to nebude komunikovat (nejlepší asi je po nabootování routru zadat do jeho příkazové řádky např. ping www.seznam.cz a pokud dostaneme odezvu víme že router komunikuje s internetem) bude třeba prohodit vzájemně v parametrech OUTSIDE_DEV a INSIDE_DEV hodnoty eth0 a eth1

INSIDE_NETMASK=255.255.255.0
Definuje masku vnitřní sítě

INSIDE_NETWORK=192.168.1.0
INSIDE_BROADCAST=192.168.1.255

Parametry Network a Broadcast jsou definovány přímo v protokolu TCP/IP. Parametr Network označuje název sítě a hodnota se definuje tak že vememe příslušnou IP adresu a na konec dáme nulu, tj. např z 192.168.1.1 > 192.168.1.0. Parametr broadcast je zase určen pro hromadné rozesílání paketů všem počítačům na síti. Na konci má vždy 255 (neplatí pokud používáme "subnetted network", to ale není náš případ).

Parametry pro vnitřní síť lze použít tyto vzorové, samozřejmě je možné je změnit, ale následující nastavení klientů je určeno pro tyto parametry.

Zde je ukázka nastavení pro operační systémy (95,98,W2K/XP). Pro ilustraci budeme předpokádat že budeme mít za routrem tři počítače a na každém jeden z těchto OS (samořejmě můžeme mít na každém třeba W98).

Windows 95:
Start > Nastavení > Ovládací Panely > Síť






Windows 98:
Start > Nastavení > Ovládací Panely > Síť






Windows 2000/XP:
Start > Nastavení > Síťová a telefonická připojení > Připojení k místní síti





Pokud máme W95/98 tak ještě restartneme.


A to je vše ! Nyní by to již mělo fungovat.

Ještě se podíváme na nastavení souboru firewall.ini Standartně jsou všechny porty zavřené, kvůli bezpečnosti. Ale může nastat situace kdy budeme chtít na jednom počítači spustit např. FTP server, v tom případě je potřeba provést tzv. namapování portu. Takto vypadá jedno z nastavení ve standartním souboru:

#
# Web / HTTP
#
# ipchains -A input -p TCP -d ${OUTSIDE_IP} 80 -j ACCEPT # web
# ipmasqadm portfw -a -P tcp -L ${OUTSIDE_IP} 80 -R 10.42.42.<SERVER-IP> 80 # web

Toto nastavení stačí upravit následovně (předpokládáme FTP server na počítači např. 192.168.1.2):

ipchains -A input -p TCP -d ${OUTSIDE_IP} 20 -j ACCEPT
ipmasqadm portfw -a -P tcp -L ${OUTSIDE_IP} 20 -R 192.168.1.2 20

ipchains -A input -p TCP -d ${OUTSIDE_IP} 21 -j ACCEPT
ipmasqadm portfw -a -P tcp -L ${OUTSIDE_IP} 21 -R 192.168.1.2 21

Takto můžeme nastavení upravit na kteroukoliv jinou aplikaci (pop3, smtp,…)
Mřížka značí komentář, takže jí nesmíme zapomenout vymazat pokud má nastavení fungovat.

Konfigurace Freesca:

Co se týče Freesca, instalace na disketu probíhá stejným způsobem (tj. pomocí rawrite). Při prvním spuštení je potřeba napsat setup při vypsání hlášky boot: Tím router nabootuje do konfiguračního módu. Při výběru routru dáme "ethernet router" a spustí se průvodce, který se nás bude ptát na jednotlivé parametry které jsou prakticky stejné jako u floppyfw. Freesco neumí automatickou detekci síťových karet, takže IRQ a I/O adresu bude potřeba zadat ručně.
Potom konfiguraci uložíme a restartujeme. Pří dalším startu akorát boot potvrdíme a router neběhne do normálního režimu, který by měl vypada zhruba takto:



Co říct na závěr? Linuxový router je jedna z možností jak připojit víc počítačů k síti Mistral (popř. jiné síti). Je to poměrně levná varianta, avšak mnohem pracnější a méně praktická (počítač zabírá místo, hučí, atd…). Pokud však máte zbytečných zhruba 5 000 Kč není od věci uvažovat nad koupí HW routeru (např. Barricade SMC 7004 BR). Je to sice dražší řešení, ale levnější provoz, bezproblémová instalace (doslova plug&play) a navíc má integrovaný tiskový server. Posledním řešením jak připojit víc počítačů k Mistralu je koupit obyčejný HUB zhruba za 1000 Kč a zaplatit si víc pevných IP adres.


Update 7/2003:

Jelikož od doby, kdy jsem psal tento návod uplynul již rok, mezitím se objevilo několik problémů, na které mne upozornil jeden mistrálník:

Problém 1: Floppyfw během spouštění hlásil několik různých chyb. Toto bylo způsobeno špatnou (příliš novou) verzí této Linux distribuce. Vámi nastavený config mi fungoval pouze s verzí 1.0.15.

Problém 2: I když jsem už měl správnou verzi OS a správnou konfiguraci, objevovalo se chybové hlášení, že systém nemůže navázat spojení s DHCP serverem, a tudíž nelze získat IP adresu. Tento problém spocívá v nutnosti před připojením routeru k modemu změnit na stránkách UPC. pod odkazem registrace modemu (kraken.dkm.cz), MAC adresa síťové karty za tu, které náleží kartě v routeru, která bude komunikovat s kabelovým modemem. Teprve poté je možné router bez problémů používat. (Po změně MAC adresy je ještě nutné z modemu na cca 10 sekund odpojit napájení, aby byl přinucen se spojit s TFTP serverem a nahrál si novou adresu pro přístup na Internet).


K tomu konfiguračnímu souboru bych dodal, že je ke stažení pro maximální zjednodušení konfigurace routeru, pokud nefunguje, pak lze postupovat podle jednotlivých položek, které jsou podrobně popsány.

Co se týče cen HW routerů, tak za rok se situace poněkud změnila a kvalitní HW router i s print serverem lze pořídit již za 2500 Kč s daní.

Pokud máte nějaké připomínky, nebo dotazy, budu jen rád, když mi je pošlete.


© Dcom 2002 - 2003

Main Menu