Ero sivun ”Kahden oletusreitin käyttö” versioiden välillä

Siirry navigaatioon Siirry hakuun
19 merkkiä poistettu ,  5. maaliskuuta 2009
p
ei muokkausyhteenvetoa
p (siirsi sivun Source Routing Linuxissa uudelle nimelle Kahden oletusreitin käyttö: source routingillä toinen merkitys)
pEi muokkausyhteenvetoa
Rivi 1: Rivi 1:
==Ratkaistava ongelma==
Oletetaan, että halutaan saada yhdelle Linux-koneelle useampi [[IP]]-osoite siten, että nämä osoitteet ovat erillisistä aliverkoista ja niiden liikenne kulkee eri yhdyskäytävien kautta ja molempien aliverkkojen kautta on myös pääsy ulkomaailmaan.
 
Halutaan saada yhdelle koneelle useampi [[IP]]-osoite siten, että nämä osoitteet ovat erillisistä aliverkoista ja niiden liikenne kulkee eri yhdyskäytävien kautta ja molempien aliverkkojen kautta on myös pääsy ulkomaailmaan.


Itse IP-osoitteen antamisessa ei ole ongelmaa, kun koneellehan saa helposti useamman IP-osoitteen käyttämällä useampaa fyysistä verkkoliityntää tai käyttämällä fyysisen verkkoliitynnän lisänä virtuaalisia verkkolaitteita <tt>eth0:1</tt>, <tt>eth0:2</tt> jne.
Itse IP-osoitteen antamisessa ei ole ongelmaa, kun koneellehan saa helposti useamman IP-osoitteen käyttämällä useampaa fyysistä verkkoliityntää tai käyttämällä fyysisen verkkoliitynnän lisänä virtuaalisia verkkolaitteita <tt>eth0:1</tt>, <tt>eth0:2</tt> jne.
Rivi 38: Rivi 36:


Mutta entäs, jos paketin lähettäjäosoitteena olikin tuo 172.16.1.2 ja kohteena edelleenkin tuo 10.11.12.13? Sillekin reitityspäätös tehdään samalla tavalla, joten paketti päätyy eth0-laitteen takana olevalle reitittimelle 192.168.1.1, mikä on väärin, ja monissa tapauksissa tuo reititin ei edes suostu välittämään IP-osoitteen 172.16.1.2 lähettämää liikennettä. Tuo lähettäjäosoite voi vaihdella siksi, että verkkoon kommunikoiva ohjelma saattaa nimenomaan haluta käyttää sitä, tai paketti voi olla vaikkapa paluuliikennettä siihen kun joku muu kone on halunnut keskustella nimenomaan osoitteen 172.16.1.2 kanssa.
Mutta entäs, jos paketin lähettäjäosoitteena olikin tuo 172.16.1.2 ja kohteena edelleenkin tuo 10.11.12.13? Sillekin reitityspäätös tehdään samalla tavalla, joten paketti päätyy eth0-laitteen takana olevalle reitittimelle 192.168.1.1, mikä on väärin, ja monissa tapauksissa tuo reititin ei edes suostu välittämään IP-osoitteen 172.16.1.2 lähettämää liikennettä. Tuo lähettäjäosoite voi vaihdella siksi, että verkkoon kommunikoiva ohjelma saattaa nimenomaan haluta käyttää sitä, tai paketti voi olla vaikkapa paluuliikennettä siihen kun joku muu kone on halunnut keskustella nimenomaan osoitteen 172.16.1.2 kanssa.


==Ratkaisu==
==Ratkaisu==
Ratkaisu ongelmaan on se, että Linuxille voi tehdä useamman reititystaulun, ja sitten liikenteen lähettäjäosoitteen perusteella valitaan, mitä taulua käytetään.
Ratkaisu ongelmaan on se, että Linuxille voi tehdä useamman reititystaulun, ja sitten liikenteen lähettäjäosoitteen perusteella valitaan, mitä taulua käytetään.


Tuo aiemmin käytetty <tt>route</tt>-käsky ei enää kelpaa, koska se käyttää aina oletustaulua eikä sille voi kertoa, että reititystieto halutaankin johonkin toiseen. Pitää käyttää uudempaa työkalua <tt>ip</tt>, johon on rakennettu myös <tt>ifconfig</tt>:n ja oikeastaan lähes kaikkien muidenkin verkon konfigurointiin tarvittavien komentojen toiminnallisuus.
Tuo aiemmin käytetty <tt>route</tt>-käsky ei enää kelpaa, koska se käyttää aina oletustaulua eikä sille voi kertoa, että reititystieto halutaankin johonkin toiseen. Pitää käyttää uudempaa työkalua <tt>[[ip]]</tt>, johon on rakennettu myös <tt>ifconfig</tt>in ja oikeastaan lähes kaikkien muidenkin verkon konfigurointiin tarvittavien komentojen toiminnallisuus.


Ensimmäisenä voisi katsoa, että mitä reitityssääntöjä koneessa on komennolla <tt>ip rule show</tt>:
Ensimmäisenä voisi katsoa, että mitä reitityssääntöjä koneessa on komennolla <tt>ip rule show</tt>:
Rivi 51: Rivi 47:
   32767:  from all lookup default
   32767:  from all lookup default


Eli koneessa on siis kolme reitityssääntöä, ja aiemmin kerrottua reitityspäätösprosessia pitääkin laajentaa. Reitityspäätöstä tehdessään käyttöjärjestelmä käy ensimmäisenä läpi nuo säännöt prioriteettijärjestyksessä (Rivin ensimmäinen numero).
Eli koneessa on siis kolme reitityssääntöä, ja aiemmin kerrottua reitityspäätösprosessia pitääkin laajentaa. Reitityspäätöstä tehdessään käyttöjärjestelmä käy ensimmäisenä läpi nuo säännöt prioriteettijärjestyksessä (rivin ensimmäinen numero).


Ensimmäisessä säännössä sanotaan, että sitä käytetään, mikäli lähettäjäosoitteena on mikä tahansa (''from all''), ja käytetään reititystaulua, joka on nimetty nimelle ''local''. Mikäli siellä mikään reititystieto ei täsmännyt kokeillaan seuraavaa sääntöä.
Ensimmäisessä säännössä sanotaan, että sitä käytetään, mikäli lähettäjäosoitteena on mikä tahansa (''from all''), ja käytetään reititystaulua, joka on nimetty nimelle ''local''. Mikäli siellä mikään reititystieto ei täsmännyt kokeillaan seuraavaa sääntöä.
Rivi 81: Rivi 77:
<tt>ip</tt>-komento ei laita asetuksia suoraan käyttöön, vaan asetukset pitää vielä erikseen ottaa käyttöön ennen kuin ne ihan oikeasti vaikuttavat verkkoliikenteeseen. Tämä tapahtuu komennolla ip route flush cache.
<tt>ip</tt>-komento ei laita asetuksia suoraan käyttöön, vaan asetukset pitää vielä erikseen ottaa käyttöön ennen kuin ne ihan oikeasti vaikuttavat verkkoliikenteeseen. Tämä tapahtuu komennolla ip route flush cache.


Nyt homman pitäisi toimia. Vaikka tuonne <tt>main</tt>-taulua käyttävään sääntöön ei pitäisi normaalitilanteessa joutua, mutta silti sinnekin kannattaa jotain järkevää laittaa.
Nyt homman pitäisi toimia. Vaikka <tt>main</tt>-taulua käyttävään sääntöön ei pitäisi normaalitilanteessa joutua, kannattaa silti sinnekin jotain järkevää laittaa.


Kannattaa huomioida, että vaikka reititystiedot häviävätkin automaattisesti, kun verkkoliityntä sammutetaan, niin reitityssäännöt kuitenkin jäävät edelleen olemaan, joten ne pitää poistaa erikseen.
Kannattaa huomioida, että vaikka reititystiedot häviävätkin automaattisesti kun verkkoliityntä sammutetaan, jäävät reitityssäännöt kuitenkin edelleen olemaan, joten ne pitää poistaa erikseen.


[[Luokka:Verkko]]
[[Luokka:Verkko]]
[[Luokka:Ohjeet]]
[[Luokka:Ohjeet]]
4 316

muokkausta

Navigointivalikko