Soluții - PC Magazine Romania, Iunie 2003
La bloc
<-- pagina anterioară
Fiule, în viață alegi întotdeauna calea cu metrica cea mai
mică ?
Routerul meu improvizat nu ar fi fost router fără ...
software-ul de rutare! În cazul nostru, el este inclus în distribuția
Linux, fără
nici un cost
suplimentar. Pe platforme Microsoft, este oferită implicit
doar o soluție de rutare puțin
fiabilă (Internet Connection Sharing) - în realitate, instalările
"adevărate" au nevoie de programe mai complexe, cum ar
fi WinGate 5.0.2 de la producătorul
neozeelandez Qbik. Alternativ, faci cum spunea un prieten:
"Scria pe CD să instalez Windows 98 sau mai bun. Așa că
am instalat
Linux"
Mai întâi, am setat adresele IP (fixe) ale celor două plăci
de rețea. În Linux, ele sunt denumite /dev/eth0 și /dev/eth1,
iar
utilitarul
cu care
pot fi configurate
este ifconfig:
Pe interfața publică:
ifconfig eth0 193.231.236.2 netmask 255.255.255.0 up
iar pe cea privată:
ifconfig eth1 192.168.0.2 netmask 255.255.255.0 up
Pentru a seta acești parametri la bootare, este nevoie să edităm fișierele
ifcfg-ethX aflate în directorul /etc/sysconfig/networking/devices/:
# Please read/usr/share/doc/ initscripts-*/sysconfig.txt
# for the documentation of these parameters.
USERCTL=no
PEERDNS=no
GATEWAY=192.168.0.2
TYPE=Ethernet
DEVICE=eth1
HWADDR=00:30:84:73:b7:cb
BOOTPROTO=none
NETMASK=255.255.255.0
ONBOOT=yes
IPADDR=192.168.0.2
NETWORK=192.168.0.0
BROADCAST=192.168.0.255
Deși semnificația parametrilor pare evidentă, vă rog, totuși, să nu neglijați
documentația !
Mai departe, lucrurile se apropie cu pași repezi de tema rutării propriu-zise,
adică de găsirea căii pe care o vor urma pachetele IP. Prin convenție, orice
rută conține câteva informații esențiale:
- adresa unei rețele sau a unei mașini ce urmează a fi atinse (destinație);
- gateway-ul (adresa IP a interfeței unei mașini direct conectate cu a noastră,
prin care vor trebui să "apuce" pachetele IP pentru a atinge ținta);
- metrica, sau un număr care arată "cât e de greu" să se atingă destinația
urmând ruta în cauză.
În funcție de protocolul de rutare folosit, un alt criteriu va fi utilizat
pentru a exprima metrica - dificultatea de atingere a țintei. În cazul cel
mai comun, al protocolului de rutare RIP, se consideră că o rețea-țintă este
cu atât mai dificil de atins cu cât se găsește mai departe, adică cu cât există
un număr mai mare de alte rețele (hop-uri) între noi și destinație. Pentru
un calculator direct conectat, metrica va fi nulă.
Iată un exemplu:
route add -net 192.168.0.0 netmask 255.255.255.0 dev eth1
Comanda de mai sus adaugă în tabela de rutare memorată de kernel o rută către
rețeaua 192.168.0.0 (dată prin perechea adresă de rețea 192.168.0.0, masca
de rețea 255.255.255.0). Pentru a atinge această destinație, pachetele IP trebuie
să părăsească mașina prin interfața eth1. Metrica nu a fost specificată; ea
este zero, deoarece mașina noastră este conectată direct la rețeaua 192.168.0.0.
În rețea, menirea principală a unui router este tocmai aceea de a alcătui
în memorie "harta" zonei adiacente lui, pentru a putea alege corect ruta cea
mai
indicată către destinație, pe baza metricilor. Acest calcul devine cu atât
mai important și mai dificil atunci când între două puncte ale unei rețele
există două sau mai multe căi (trasee, paths) posibile, poate și cu costuri
de transmisie, fiabilități sau viteze diferite. O asemenea "hartă" - numită,
tehnic, tabelă de rutare - poate conține rute statice, asignate fix (v. exemplul
de mai sus) sau poate fi actualizată dinamic, între routerele vecine, prin
intermediul unui protocol de rutare cum ar fi RIP, BGP sau OSPF.
Ruta implicită (default route) este un caz particular de poziție în tabela
de rutare. Ea specifică calea pe care o vor lua, în ultimă instanță, pachetele,
în cazul în care nici o altă rută nu se potrivește mai bine:
route add default dev eth0
În cazul noului nostru router Linux, tabela de rutare are o formă simplă,
fiindcă nu există mai multe căi posibile între destinații [trimitere către
desen4.bmp]. Cel mai important aici este să se specifice ruta implicită, prin
comanda de mai sus (toate pachetele IP care nu sunt trimise de la un computer
local către altul, tot local, trebuie să plece către internet, prin interfața
/dev/eth0 (I1) a routerului Linux). De aceea, această rută implicită statică,
simplă, a fost singurul lucru pe care a trebuit să-l adaug în configurația
noului router creat. Pentru detalii, vă rog să consultați man route.
Odată realizate toate acestea, am conectat interfața eth0 (I1), configurată
cu adresa IP publică alocată de ISP, la modemul M1 și mașina Linux a început
să poată naviga pe internet. Mai departe, am legat la cea de a doua interfață,
eth1 (I2), switch-ul, iar în acesta am introdus cablul Ethernet al unei computer
de test. Asigurându-mă că atât eth1, cât și stația aveau adrese IP corect
alocate (192.168.0.1 pentru eth1, 192.168.0.2 pentru computer), am verificat
că de
pe stație puteam să execut un:
ping 192.168.0.1
ping www.oarecare.com (Ați configurat corect și DNS-ul? Altfel, nu va funcționa)
Computerului, care rula Windows 98, a trebuit să-i specific, bineînțeles,
ca gateway, routerul Linux (adresa 192.168.0.1). Asta se face cu un click-dreapta
pe Network Neighborhood->Properties->TCP/IP.
Dacă toți sunt experți în routere, cine cară sifoanele ?
După marea euforie care a urmat, mai rămânea de realizat un ultim pas: cablarea
rețelei propriu-zise. Am început prin a amplasa modemul de cablu, switch-ul
și proaspătul router Linux (numai unitatea centrală, fără tastatură, mouse
și monitor), într-un hol ferit, pe o mică măsuță. Rămânea problema alegerii
traseului de cablu. Sarcina nu era chiar simplă, deoarece prietenii mei locuiesc
răspândiți pe aceeași scară a blocului, la trei etaje diferite. Din fericire,
am reușit să identificăm orificiile în planșeu, destul de largi, folosite
de compania de cablu TV pentru trecerea firului între etaje. Pe această verticală
am derulat, cât mai îngrijit, un cablu UTP categorie 5e, oprindu-ne în apartamentele
aflate unul sub altul. În fiecare dintre acestea a fost necesar câte un mic
switch cu 8 porturi - aparat ce se poate procura din magazinele de TI la
prețuri
cuprinse între 50 și 100 USD. Configurația trebuie să țină seama de faptul
că distanța maximă între două switch-uri este de 100 m - noi ne încadram
mult sub această limită, reușind să obținem, în final, o "coloană" de trei
switch-uri
unite printr-o magistrală verticală.
Din punct de vedere al mufării cablurilor, am preferat să folosim cabluri
de rețea straight, având mufe în configurație EIA/TIA 568A la fiecare capăt
(de
la stânga la dreapta, alb/verde, verde, alb/orange, albastru, alb/albastru,
orange, alb/maro, maro). La etajele 1 și 3, cablurile plecau din portul
uplink al switch-ului, fiind conectate, la etajul 2, în porturi crossed, marcate
cu X. La același etaj 2, unde se găsea situat modemul de cablu, portul
de
uplink
al switch-ului era ocupat de conexiunea cu interfața I2 a routerului Linux,
realizată cu un cablu crossed.
Odată cablurile instalate și verificate - testerul de cablu UTP este indispensabil
aici ! - am conectat mufele RJ-45 la switch-uri, asigurându-ne că LED-urile
martor s-au aprins. Apoi, nu ne-a mai rămas decât să ne ocupăm de conectarea
fiecărui "abonat" în parte, unind "orizontal" calculatorul său cu switch-ul
situat pe același etaj. Aici, ne-a fost necesară toată imaginatia disponibilă
pentru a găsi un traseu potrivit cablului UTP, tot în limita maximă de
100 m. Desigur, au fost necesare puțină speologie prin debarale, o trecere
peste
un tavan fals și, bineînțeles, o mașină de găurit cu burghiu gros pentru
beton.
În fine, pentru a respecta cât mai bine standardele de construcție, am
rezistat tentației de a merge cu fiecare cablu UTP de la switch direct
în computer,
preferând să instalăm câte o priză aparentă de rețea pe perete, categorie
5e. Acest lucru mai ridică costul rețelei cu aproximativ 300.000 lei/stație,
dar
se realizează separarea completă a părții fixe a rețelei de cea mobilă
(cablul patch de la priza de perete la calculator). Mi-am strâns apoi
repede sculele,
fiindcă se făcuse târziu.
În loc de încheiere
Când am plecat, sharing-ul de foldere fusese deja făcut și se pornise
ad-hoc o partidă de pilotat avioane în rețea. Mi-am dat seama că
voi mai avea
ce discuta cu ei - și cu Dvs. ! - fiindcă primele probleme începuseră
să apară:
o fată
de la 3 vroia să știe cum își poate proteja calculatorul ei, rulând
Windows 95, de viruși și de privirile indiscrete ale celorlalți.
Am zâmbit în
barbă, împachetându-mi trusa: estimez că mai durează exact două zile
până când
voi primi primele telefoane despre ping flood-uri, firewall-uri pe
Linux, programe
de chat și ICQ și despre controlul lățimii de bandă folosite de fiecare.
Până atunci, vă aștept pe www.linuxwill.go.ro - care și-a schimbat
designul ! -
și pe [email protected].
|