Porți și rute de rețea

Textul a fost furnizat de Coranth Gryphon.

Pentru a ilustra diferitele aspecte ale rutei, vom folosi următorul exemplu de utilizare a comenzii netstat:







Primele două linii specifică ruta implicită (care va fi descrisă în secțiunea următoare) și ruta către localhost.

În ambele grupuri (gazde și subrețele rețelei locale), rutele sunt configurate automat de un daemon numit rutat. Dacă nu rulează, există doar rute specificate static (adică, introduse în mod explicit).

În cele din urmă, diferitele atribute ale fiecărei rute sunt afișate în coloana Flags. Mai jos este o scurtă tabelă a unora dintre aceste steaguri și a semnificațiilor lor:

Atunci când un sistem local are nevoie să se conecteze la o gazdă la distanță, accesează tabela de rutare pentru a determina dacă există un astfel de traseu. Dacă gazda de la distanță intră într-o subrețea pentru care se cunoaște metoda de atingere a acesteia (trasee cum ar fi Cloned), atunci sistemul determină posibilitatea de a se conecta la aceasta pe această interfață.

Dacă toate rutele cunoscute nu sunt adecvate, sistemul are ultima posibilitate: traseul "" implicit ". Acesta este un traseu cu un tip specific de gateway de rețea (de obicei, singurul care există în sistem), iar în câmpul de steag este întotdeauna marcat ca c. Pentru gazdele din rețeaua locală, această poartă de rețea indică o mașină care are o conexiune directă cu lumea exterioară (fie PPP, DSL, modemul de cablu, T1 sau o altă interfață de rețea).

Dacă configurați o rută implicită pe o mașină care în sine este o poartă de rețea către lumea exterioară, atunci ruta implicită va fi poarta de rețea de la ISP.

Să aruncăm o privire la exemplele de traseu implicite. Iată configurația tipică:

Gazdele Local1 și Local2 se află în rețeaua noastră. Local1 este conectat la ISP printr-o conexiune dial-up folosind PPP. Acest computer cu serverul PPP este conectat printr-o rețea locală la un alt computer gateway prin interfața externă a ISP-ului în sine la Internet.

Traseele implicite pentru fiecare dintre mașinile dvs. vor fi următoarele:

Puteți specifica cu ușurință routerul implicit utilizând fișierul /etc/rc.conf. În exemplul nostru, pe mașina Local2, am adăugat această linie în fișierul /etc/rc.conf:

Acest lucru se poate face și direct din linia de comandă folosind comanda ruta (8):

Pentru mai multe informații despre gestionarea tabelelor de rutare, consultați pagina de ajutor pentru comanda rutei (8).

Există un alt tip de conexiune pe care trebuie să-l luăm în considerare și acesta este cazul când gazda se află în două rețele diferite. Din punct de vedere tehnic, orice mașină care funcționează ca o poartă de rețea (în exemplul de mai sus, o conexiune PPP a fost utilizată) este considerată o gazdă cu conexiune dublă. Cu toate acestea, acest termen este utilizat de fapt pentru a descrie o mașină situată în două rețele locale.

În ambele cazuri, tabelele de rutare sunt configurate astfel încât pentru fiecare subrețea, această mașină este definită ca o poartă (cale de intrare) către o altă subrețea. Această configurație, în care mașina funcționează ca un ruter între două subrețele, este adesea folosită dacă doriți să implementați un sistem de securitate bazat pe funcții de filtrare a pachetelor sau firewall în una sau ambele direcții.







Dacă doriți ca această mașină să meargă efectiv pachete între două interfețe, atunci trebuie să specificați FreeBSD pentru a activa această funcție. Consultați capitolul următor pentru a afla cum să faceți acest lucru.

Un router de rețea este un sistem comun care transmite pachetele de la o interfață la alta. Standardele de Internet și bunele practici inginerești nu permit proiectului FreeBSD să includă această funcție în mod implicit în FreeBSD. Puteți activa această caracteristică schimbând valoarea următoarei variabile în YES din fișierul rc.conf (5):

Acest parametru va modifica valoarea variabilei sysctl (8) net.inet.ip.forwarding la 1. Dacă temporar trebuie să dezactivați rutarea, puteți să resetați temporar această valoare la 0.

Noul router are nevoie de informații despre rute pentru a ști unde să trimită traficul. Dacă rețeaua dvs. este suficient de simplă, puteți utiliza rute statice. FreeBSD vine, de asemenea, cu un daemon standard BSD pentru rutarea rutare (8). care pot lucra cu RIP (atât versiunea 1, cât și versiunea 2) și IRDP. Suportul pentru protocoalele BGP v4, OSPF v2 și alte protocoale complexe de rutare este disponibil în pachetul net / zebra. Există, de asemenea, produse comerciale care sunt utilizate ca o soluție mai cuprinzătoare a problemei de rutare în rețea, cum ar fi GateD®.

Furnizat de Al Hoang.

Să presupunem că avem următoarea rețea:

Porți și rute de rețea

În acest scenariu, RouterA este calculatorul nostru cu FreeBSD, care funcționează ca un router pe Internet. Traseul său implicit este setat la 10.0.0.1. care îi permite să se conecteze cu lumea exterioară. Vom presupune că RouterB este deja configurat corect și cunoaște toate căile necesare (în această figură totul este simplu, adăugați o ruta implicită la RouterB folosind 192.168.1.1 ca gateway).

Dacă ne uităm la masa de rutare RouterA. atunci vom vedea ceva de genul:

Cu ajutorul tabelului curent de rutare, RouterA nu va putea ajunge la rețeaua internă 2 (Internal Net 2). O modalitate de a rezolva această problemă este să adăugați manual un traseu. Următoarea comandă adaugă rețeaua internă 2 la masa de rutare RouterA cu 192.168.1.2 ca următorul nod:

Acum RouterA poate ajunge la orice gazdă din rețea 192.168.2.0/24.

Exemplul anterior este grozav pentru setarea unei rute statice într-un sistem care rulează. Cu toate acestea, problema este că informațiile de rutare nu vor fi păstrate după rebootul FreeBSD. Modul de salvare a rutei adăugate este să-l adăugați în fișierul /etc/rc.conf:

Variabila static_routes conține linii separate prin spații. Fiecare linie reprezintă numele traseului. În exemplul de mai sus, există o singură linie în static_routes, aceasta este internnet2. Apoi am adăugat variabila route_internalnet2. unde sunt plasați toți parametrii care trebuie transmiși pe ruta de comandă (8). În exemplul de mai sus, comanda a fost folosită:

așa că vom avea nevoie de "-net 192.168.2.0/24 192.168.1.2".

Așa cum am menționat mai sus, putem adăuga mai mult de o linie la static_routes. Acest lucru va crea mai multe rute statice. Următorul exemplu arată adăugarea rutelor pentru 192.168.0.0/24 și 192.168.1.0/24 (acest router nu este prezentat în figura de mai sus:

Am vorbit deja despre modul în care ne-am stabilit rutele spre lumea exterioară, dar nu am menționat cum ne găsește lumea exterioară.

Sarcina furnizorului dvs. este să declare pe autostradă că este responsabil pentru conectarea (și, prin urmare, indică ruta) din rețeaua dvs. Acest proces se numește propagarea rutei.

Uneori, cu distribuirea problemelor de traseu apar probleme și unele site-uri nu se pot conecta la dvs. Probabil cea mai utilă comandă pentru a determina punctul de operare de rutare incorectă este traceroute (8). Este, de asemenea, util atunci când nu vă puteți conecta la o mașină la distanță (adică, comanda ping (8) nu funcționează).

Pentru mai multe informații, consultați Manualul Traceroute (8).







Articole similare

Trimiteți-le prietenilor: