Savienojumā vai maršrutētājā tiek konfigurēti maršruti, kas ir nepieciešami, lai nogādātu paketes līdz to galamērķim. Ja datoram ir uzdevums nosūtīt paketi uz tīklu, tas aplūko maršrutēšanas tabulu, kurā ir uzskaitītas galamērķa IP adreses un mājas tīkla saskarņu un maršrutētāju adreses, kas var nosūtīt paketi uz pareizo adresi. Ja galamērķim nav norādīts maršruts, vispirms tiek izmantots tā sauktais noklusējuma vārteja vai noklusējuma maršruts. Tieši tāds pats modelis tiek novērots maršrutētājā. Ierīce aplūko galamērķa IP adresi, pārbauda to savā maršrutēšanas tabulā un pēc tam nosūta to tālāk. Tālāk aplūkosim, kā konfigurēt konkrētus maršrutus un izveidot jaunus maršrutus, izmantojot piemēru.
Pirms sākat kaut ko mainīt, jums jāsaprot, kādi noteikumi jau tiek izmantoti. Šim nolūkam operētājsistēma Linux piedāvā vairākas komandas. Lai to izdarītu, mēs izmantojam speciālo maršrutēšanas
komandu:
$ route
Šādi izskatās Linux maršrutēšanas tabula. Tā sniedz vienkāršu informāciju, kas ne vienmēr ir pietiekama, lai saprastu, par ko ir runa. Lai iegūtu detalizētāku informāciju, jāizmanto komanda routel
:
$ routel
Šeit var redzēt IP adresi (mērķa), vārteja IP adresi, avota IP, protokolu un pat tīkla interfeisu. Taču ir arī ērtāks veids, kā apskatīt linux maršrutēšanas tabulu, izmantojot komandu IP:
$ ip route
Mēs redzam rezultātu, kas ir līdzīgs iepriekšējās komandas izvadei. Tā kā izvads nav ērtākajā formā, kā argumentu ip route add
vai ip route del
var izmantot ip route add
vai ip route del
. Ticiet man, tas ir ļoti ērti. Šādā veidā visur kā noklusējuma vārteju redzēsiet 192.168.1.1
. Tālāk parunāsim par to, ko nozīmē šīs komandas izvade:
noklusējuma
- noklusējuma opcija. Tai jābūt mērķa ip adresei vai zemtīkla maskai;via 192.168.1.1.1
- norāda, caur kuru vārteju mēs varam sasniegt šo mērķi, mums tas ir 192.168.1.1.1;
dev enp2s0
- tīkla interfeiss, caur kuru būs pieejams šis vārteja;proto static
nozīmē, ka maršrutu noteica administrators, kernel nozīmē, ka to noteica kodols;metrika
- tā ir maršruta prioritāte, jo zemāka vērtība, jo augstāka prioritāte.Tālāk apskatīsim, kā tiek konfigurēti Linux maršruti.
Lietotājam joprojām ir iespēja konfigurēt maršrutēšanas tabulu, izmantojot ip
komandu. Piemēram, lai mainītu noklusējuma maršrutu, viss, kas jums jādara, ir jāizpilda:
$ ip route add default via 192.168.1.1
Šādā veidā var pievienot maršrutu jebkurai IP adresei, piemēram, 243.143.5.25:
$ sudo ip route add 243.143.5.25 via 192.168.1.1
Tātad, mēs norādām mērķa IP adresi un pēc tam vārteju vietējā tīklā, caur kuru sasniegt šo adresi. Vienīgā problēma ir tā, ka šādi maršruti ir aktīvi līdz datora pirmajai restartēšanai. Pēc pārstartēšanas tie tiek automātiski dzēsti. Lai novērstu šo trūkumu, maršruti jāpievieno konfigurācijas datnei.
Piemēram, Red Hat ģimenes sistēmās ir konfigurācijas faili /etc/sysconfig/network-scripts/route-ethX
. Katrā failā var būt aprakstīti vairāki maršruti, piemēram:
GATEWAY=10
.10.10.0.0.0.1NETMASK=255.
0.0.0.0.0.0IPADDR=10
.10.10.0.0.0.22
Šajā konfigurācijas failā tiek izmantots gateway, kas ir interfeisa vārteja, netmask
ir tīkla maska, bet ipaddr
ir interfeisa ip adrese. Debian un citās izplatīšanās sistēmās maršrutus var konfigurēt failā /etc/network/interfaces
. Šeit maršrutēšanas komanda ir pievienota iface
sadaļai. Piemēram:
up route add -net 10.10.0.0 netmask 255.0.0.0 gw 10.10.0.1
Ar iface -net
mēs norādām mērķa tīklu, netmask
ir tīkla maska un gw
ir vārteja. Šeit nav nekā sarežģīta. Tagad pievienotie maršruti saglabāsies arī pēc restartēšanas.
Tātad mēs esam redzējuši, kā maršrutēšana darbojas Linux, kā maršrutēšana tiek konfigurēta Linux un kāpēc tā ir nepieciešama.