Pakettide lõppsihtkohta toimetamiseks vajalikud marsruudid on konfigureeritud liideses või marsruuteris. Kui arvuti ülesandeks on saata pakett võrku, vaatab ta marsruutimistabelit, kus on loetletud siht-IP-aadressid ning nende koduvõrgu liideste ja marsruuterite aadressid, mis võivad paketi õigele aadressile saata. Kui sihtkoha jaoks ei ole marsruuti määratud, kasutatakse esmalt nn vaikimisi väravat või vaikimisi marsruuti. Täpselt sama muster on täheldatav ka marsruuteril. Seade vaatab sihtkoha IP-aadressi ja kontrollib seda oma marsruutimistabelist ning saadab selle seejärel edasi. Järgnevalt vaatame ühe näite abil, kuidas konfigureerida konkreetseid marsruute ja luua uusi marsruute.
Enne kui hakkate midagi muutma, peate mõistma, millised reeglid on juba kasutusel. Selleks pakub Linuxi operatsioonisüsteem mitmeid käske. Selleks kasutame spetsiaalset käsku route
:
$ route
Selline näeb välja linuxi marsruutimistabel. See annab lihtsat teavet, millest alati ei piisa, et aru saada. Üksikasjalikuma teabe saamiseks tuleb kasutada käsku routel
:
$ routel
Siin näete IP-aadressi (siht), värava IP-aadressi, lähte-IP, protokolli ja isegi võrguliidese. Kuid on ka mugavam viis linuxi marsruutimistabelit näha, kasutades käsku IP:
$ ip route
Näeme tulemust, mis on sarnane eelmise käsu väljundiga. Kuna väljund ei ole kõige mugavamal kujul, võite kasutada ip route add
või ip route del
argumendina käsku ip route
add
või ip route
del. Uskuge mind, see on väga mugav. Nii näete kõikjal vaikimisi väravana 192.168.1.1
. Järgnevalt räägime sellest, mida selle käsu väljund tähendab:
default
-vaikimisi
valik. See peaks olema siht ip-aadress või alamvõrgu mask;via 192.168.1.1.1
- näitab, millise värava kaudu me saame selle sihtkoha kätte, meie puhul on see 192.168.1.1;
dev enp2s0
- võrguliides, mille kaudu see värav on kättesaadav;proto static
tähendab, et marsruut on määratud administraatori poolt, kernel tähendab, et see on määratud tuuma poolt;metric
- see on marsruudi prioriteet, mida väiksem väärtus, seda kõrgem prioriteet.Järgnevalt vaatame, kuidas Linuxi marsruute konfigureeritakse.
Kasutajal on endiselt võimalus marsruutimistabelit konfigureerida käsuga ip
. Näiteks vaikimisi marsruudi muutmiseks piisab, kui käivitada:
$ ip route add default via 192.168.1.1
Nii saab lisada marsruudi mis tahes IP-aadressile, näiteks 243.143.5.25
:
$ sudo ip route add 243.143.5.25 via 192.168.1.1
Seega määrame siht-IP-aadressi ja seejärel värava kohalikus võrgus, mille kaudu sellele aadressile jõuda. Ainus probleem on see, et sellised marsruudid on aktiivsed kuni arvuti esimese taaskäivitamiseni. Pärast taaskäivitamist kustutatakse need automaatselt. Selle puuduse parandamiseks tuleb marsruute lisada konfiguratsioonifaili.
Näiteks Red Hat perekonna süsteemides on konfiguratsioonifailid /etc/sysconfig/network-scripts/route-ethX
. Iga fail võib kirjeldada mitu marsruuti, näiteks:
GATEWAY=10
.10.0.0.0.1NETMASK=255
.0.0.0.0.0IPADDR=10
.10.0.0.0.22
Selles konfiguratsioonifailis kasutatakse gateway, see on liidesele määratud gateway, netmask
on võrgumask ja ipaddr
on liidese ip-aadress. Debianis ja sellel põhinevates distributsioonides saab marsruute konfigureerida failis /etc/network/interfaces
. Siin on käsk route lisatud iface
sektsiooni. Näiteks:
up route add -net 10.10.0.0 netmask 255.0.0.0 gw 10.10.0.1
Iface -netiga
määrame sihtvõrgu, netmask
on võrgumask ja gw
on värav. Selles pole midagi keerulist. Nüüd jäävad lisatud marsruudid ka pärast taaskäivitust alles.
Niisiis nägime, kuidas marsruutimine Linuxis töötab, kuidas marsruutimist Linuxis konfigureeritakse ja miks see vajalik on.