Makseviisid Abuse

Kuidas konfigureerida marsruutimist Linuxis

14.03.2021, 18:59

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.

Vaadates marsruutimistabelit

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

Маршрутизация в Linux

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

Маршрутизация в Linux

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

Маршрутизация в Linux

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.

Marsruutide konfigureerimine

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.1
NETMASK=255.0.0.0.0.0
IPADDR=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

Маршрутизация в Linux

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.