Linux ja reititys kahden verkkokortin välillä?

Liittynyt
01.02.2017
Viestejä
4
Löytyisköhän täältä tietämystä linuxin reititysaiheiseen kysymykseen. Googlailtu on ja kokeiltu, mutta ei vaan pelitä. Yksinkertainen kysymys kiteytyy tähän kuvaan.



vasemman alalaidan koneelta: ping 10.46.161.2 -- menee hyvin ekan hopin yli ja saapuu oikealle ylhäälle linux koneeseen, jossa on 2 nicciä.

Wireshark / TCPdump kertoo ICMP echo request - saapuu koneelle NICiltä eth2:
source : 10.46.160.2
destination : 10.46.161.2
(destination on NIC eth0:n alla)

mutta Linux ei vaan suostu reitittään tuota pakettia eth0:n ja eth2:n välillä. Eli paketti vaan katoaa johonkin, ei näy kohteessa eikä logit kerro mihin se häviää.
ip_forwarding=1. On yritetty loitsua ip routella
ip route add -net 10.46.161.0/24 gw 10.46.161.1 ja vaikka mitä, mutta ei vaan mene. Googlella löytyvät tärpit vastaavaan ongelmaan eivät myöskään tunnu auttavan mitään.
iptablesit on nollattu ettei senkään pitäisi pakettia kadottaa.

NATtia ei ole tarkoitus käyttää, vaan molemmat subnetit pitäisi saada reititettyä kuvan laidalta toiselle. Käyttiksenä Debian.

Kuinka homma toteutetaan? Joku kernelin vipu vielä väärässä asennossa? Jos korvaan tuon Linuxin normaalilla reitittimellä, homma toimii joten ei pitäisi linukallekkaan olla mahdoton taipua.
 
Hyvä kuva. Piirrä siihen vielä nimet tai numerot ja aja jokaisesta koneesta ifconfig -a ja netstat -nr ja pastea tänne. Pystytkö pingaamaan joka koneesta kaikkia omia interfaceja sekä kaikkia muita interfaceja, jotka ovat samassa aliverkossa (oletus on, että paluureittiä ei löydy).
 
Ei vissiin ollut mikään koulutehtävää tärkeämpi juttu.

No ei nyt sentään tällä iällä enää koulutehtäviä, ei ole vaan joutanut vastailemaan. Sain sen lopulta toimimaan, mutta en ole ihan sata varma että mikä sen lopulta korjasi. Ensin buuttia ja puhtaalta pöydältä. Määrittelin molemmilla gateway koneilla ip route add 10.46.160.0/24 via 10.46.160.1 (vastaavasti oikealle puolella), ja pistin default gw:t oikealta routterilta vasemmalle ja päinvastoin (koska näiltä vehkeiltä ei tarvitse päästä ulkomaailmaan niin ei sillain merkitystä).

Mutta tod. näk. niitti oli reitittimien välinen yhteys, joka oli ppp eli arpit ei kulkeneet ilman kikkailua. Sain modattua donglen käyttämään qmi:tä ja sain sillekkin välille ethernetin niin nyt se näyttäis toimivan.
 
On itsellä tullut joskus kans värkättyä tuo verkkokorttien siltaus:

Teet network bridgen, koska nähtävästi tahdot nyt vain linkata samasta lähiverkosta läpi.

Vaatii bridge-utils -paketin aptitudesta. Alla olevassa linkissä ohjeet.

Linkki:
BridgeNetworkConnections - Debian Wiki

EDIT: Näemmä olitkin saanut sen toimimaan. Noh, tuossa on toinen keino tuo bridge-utils jos joku sattuu joskus tarvitsemaan.
 
Toi korjaus kertoo, että et ole ihan tarkkaan sisäistänyt reitityksen toimintaa, kun käytetään staattisia reittejä.

Vasen kone, jonka IP on 10.46.160.2 ei tiedä mitään verkoista 10.46.150 eikä verkosta 10.46.161, jos ei niitä sille kerro. Se tietää vaan verkon 10.46.160. (oletan /24 -maskit).

Sama juttu muiden koneiden osalta, ne tietävät vaan verkot, joiden interfacet koneissa on kiinni.

Joka IP-paketin osalta kukin kone tekee reitityspäätöksen oman reititystaulun osalta. Taulu on järjestetty tarkimmasta epätarkimpaan. Ja periaatteessa joka paketin osalta taulu käydään läpi, kunnes löytyy matchi tai päästään loppuun. Jos päästään loppuun, eikä reittiä ole, paketti dropataan. Reititystaulun lopussa voi olla oletusreitti (default tai /0 -merkintä), joka tarkoittaa, että jos ei mitään tarkempaa löydy, laitetaan paketti tuonne.

Käytännössä sun olisi pitänyt varmistua joka koneen osalta, route add:lla, että reititystaulut sisältävät kaikki verkot 10.46.160, 10.46.150 ja 10.46.161. Joko niin, että kyseinen verkko on paikallinen tai että verkko löytyy samassa aliverkossa olevan toisen koneen verkkointerfacen takaa. Toki oletusreittikin toimii, mutta se voi aiheuttaa sopivassa tilanteessa loopin.

Toinen vaihtoehto olisi käyttää sopivaa reititysprotokollaa, jonka avulla tuo sama staattinen reititystieto leviää automaattisesti muihin koneisiin, jotka reititysprotokollaa kuuntelevat.

Eli vasemmalle koneelle pitää käsin kertoa route add:lla verkot 10.46.150 ja 10.46.161
Seuraavalle koneelle verkko 10.46.161
Kolmannelle koneelle verkko 10.46.160
ja oikeanpuoleiselle koneelle verkot 10.46.160 ja 10.46.150
 

Statistiikka

Viestiketjuista
261 357
Viestejä
4 535 972
Jäsenet
74 793
Uusin jäsen
Sasu Heikkilä

Hinta.fi

Back
Ylös Bottom