[erledigt] Routen verstehen....?

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
TomL

[erledigt] Routen verstehen....?

Beitrag von TomL » 03.03.2015 15:15:26

Moin Leute

Ich habe mal eine Verständnisfrage zum Hinzufügen einer Route. Ich habe jetzt zum ersten Mal mit Routing zu tun und versuche die Zusammenhänge zu begreifen. Der Hintergrund ist zwar ein Tunnel, aber um den geht es hier nicht. Es geht allein ums Netzwerk-Routing und ich bin mir unsicher, ob ich das Prinzip resp. Auswirkung einer Route überhaupt verstanden habe.

Folgender Hintergrund
Standard-Gateway IP 10.10.1.1
PC, Device eth0, IP 10.10.1.2

Der PC hat außerdem ein virtuelles tun-Device 172.10.1.1 und zudem ein PzP-IP 172.10.1.2 (ist also anscheinend gleichzeitig Gateway/DHCP-Server und Client)
Der PC bekommt über eth0 (das physische Device) Pakete vom Standard-Gateway für das Netz 172.10.1/24.

Soweit die Fakten. Aber was bedeutet bzw. bewirkt diese Route auf dem PC?

Code: Alles auswählen

route add -net 172.10.1.0 netmask 255.255.255.0 gw 10.10.1.1 
Ich verstehe das bisher so: Leite alle für das Netz 172.10.1/24 gedachten Pakete weiter zum Standard-Gateway 10.10.1.1. Was ich aber dabei nicht verstehe ist der Umstand, ob die für den Empfänger 172.10.1.2 gedachten Pakete damit auch weitergeleitet werden.

:?
Zuletzt geändert von TomL am 06.03.2015 15:40:19, insgesamt 1-mal geändert.

Benutzeravatar
TRex
Moderator
Beiträge: 8375
Registriert: 23.11.2006 12:23:54
Wohnort: KA

Re: Routen verstehen....?

Beitrag von TRex » 03.03.2015 22:02:10

Gib dir doch mal mit ip route show table local die lokalen Routen aus. Dabei wird dann 172.10.1.2 extra aufgelistet, "scope host", damit in der Priorität höher als die Route zum subnet.
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

TomL

Re: Routen verstehen....?

Beitrag von TomL » 04.03.2015 10:46:46

Moin

Ich versuch mal die Frage zu erklären, die mir das Verstehen so erschwert.... anhand dieses Bildes:
Bild

Wenn die angegebene Route bedeutet "Du findest das Netz 172.10.1/24 hinter dem Gateway 10.10.1.1" wäre diese Route speziell in diesem Beispiel völliger Blödsinn.
Oder bedeutet die angegebene Route "Leite Internet-Pakete aus dem Netz 172.10.1./24 weiter an das Gateway 10.10.1.1", damit diese Clients auch Zugang zum WWW haben.

Das Gateway ist klar, aber wie verstehe ich die Ziel-/Host-Angabe in der Route.... liegt der hinter mir oder vor mir? :roll:

wanne
Moderator
Beiträge: 7625
Registriert: 24.05.2010 12:39:42

Re: Routen verstehen....?

Beitrag von wanne » 04.03.2015 13:54:34

TomL hat geschrieben:Wenn die angegebene Route bedeutet "Du findest das Netz 172.10.1/24 hinter dem Gateway 10.10.1.1" wäre diese Route speziell in diesem Beispiel völliger Blödsinn.
Ja. So wie du's aufgemahlt hast ist es offensichtlich nicht. vermutlich hast du
a) eine Rückroute vom router zu 172.10.1.2 (wlan?)
oder b) eine weitere route auf 172.10.1.1 mit Netzmaske > 24
rot: Moderator wanne spricht, default: User wanne spricht.

eggy
Beiträge: 3334
Registriert: 10.05.2008 11:23:50

Re: Routen verstehen....?

Beitrag von eggy » 04.03.2015 14:05:36

Wenn die angegebene Route bedeutet "Du findest das Netz 172.10.1/24 hinter dem Gateway 10.10.1.1" wäre diese Route speziell in diesem Beispiel völliger Blödsinn.
Ja, in diesem Beispiel.

Manchmal aber gibt es gute Gründe auch direkt erreichbare Rechner über Umwege anzusprechen. Z.B könnten die Rechner direkt über ein sehr wackliges Wlan kommunizieren (Verbindung bricht andauernd ab, Paketverlust, und überhaupt super langsam), die beiden sind aber gleichzeitig auch per "Highspeed"-Kabel jeweils an den Router angeschlossen. In der Summe stört ein kleiner Umweg dann weniger.

Oder wenn es daran geht die Leitungsnutzung zu bezahlen: A kann zwar Pakete direkt an B schicken, B lässt sich das aber sehr gut bezahlen. Nun gibts noch C. C und B haben ein Abkommen sich nichts in Rechnung zu stellen. Und für A kostet es viel weniger Dinge an C zu schicken als an B. Also geht Zeug von A an B eben erstmal über C. Kleiner Umweg, dafür viel Geld gespart, auch ein Grund für eigentlich schwachsinnige Routen.

dufty2
Beiträge: 1714
Registriert: 22.12.2013 16:41:16

Re: Routen verstehen....?

Beitrag von dufty2 » 04.03.2015 17:01:59

Die Ausgaben von

Code: Alles auswählen

$ ip a
$ ip r
wären ganz hilfreich.
Desweiteren, woher hast Du denn eigentlich dieses

Code: Alles auswählen

route add -net 172.10.1.0 netmask 255.255.255.0 gw 10.10.1.1
? Aus irgendeiner Anleitung (welche)? Doch nicht selbstausgedacht, oder?

TomL

Re: Routen verstehen....?

Beitrag von TomL » 04.03.2015 17:08:09

Hi
eggy hat geschrieben:Oder wenn es daran geht die Leitungsnutzung zu bezahlen: A kann zwar Pakete direkt an B schicken, B lässt sich das aber sehr gut bezahlen. Nun gibts noch C. C und B haben ein Abkommen sich nichts in Rechnung zu stellen. Und für A kostet es viel weniger Dinge an C zu schicken als an B. Also geht Zeug von A an B eben erstmal über C. Kleiner Umweg, dafür viel Geld gespart, auch ein Grund für eigentlich schwachsinnige Routen.
Da spielst Du jetzt einen Ball, denn ich annehmen kann.... :lol: ... Bei Deinem Beispiel lautet die Route auf A:

Code: Alles auswählen

route add B netmask 255.255.255.0 gw C
Das bedeutet aus Sicht A, das Ziel B liegt hinter C und er würde statt der "besseren" Route B , die Route C nehmen. Ist das so richtig interpretiert? Das bedeutet dann im Endeffekt, die Route geht immer nur nach vorne, das Ziel liegt also hinter dem GW als Next Hop.

Nehmen wir als Beispiel ein "TCP/IP-Paket". Das Paket hat eine IP und diese wiederum enthält Netzwerk-Anteile gemäß der Subnetmask. Wenn dieser Netzwerkanteil im Netz nicht gefunden wird, geht das Paket an das Gateway. Jetzt stelle ich mir vor, wenn auf dem GW eine Route gefunden wird, deren Ziel/Host mit dem Netzwerk-Anteil der Paket-IP übereinstimmt, dann wird dieses Paket an die neue GW-IP aus der Route als Next-Hop weitergeschickt. Und nun bin ich unsicher, ob ich das so richtig interpretiere.
Zuletzt geändert von TomL am 04.03.2015 17:18:21, insgesamt 5-mal geändert.

TomL

Re: Routen verstehen....?

Beitrag von TomL » 04.03.2015 17:10:05

dufty2 hat geschrieben:Die Ausgaben von

Code: Alles auswählen

$ ip a
$ ip r
wären ganz hilfreich.
Desweiteren, woher hast Du denn eigentlich dieses

Code: Alles auswählen

route add -net 172.10.1.0 netmask 255.255.255.0 gw 10.10.1.1
? Aus irgendeiner Anleitung (welche)? Doch nicht selbstausgedacht, oder?
Hier geht es NICHT um ein reales Beispiel oder darum ein technisches Problem zu lösen. Die technischen Probleme mit der Hardware und dem Tunnel habe ich längst gelöst. Ich würde gerne das Prinzip des Routings an sich kapieren. Ist doch doof, wenn man was macht, es funktioniert und man weiss nicht, warum das funktioniert, weil man das Prinzip nicht verstanden hat.

dufty2
Beiträge: 1714
Registriert: 22.12.2013 16:41:16

Re: Routen verstehen....?

Beitrag von dufty2 » 04.03.2015 18:48:50

wanne hat geschrieben:
TomL hat geschrieben:Wenn die angegebene Route bedeutet "Du findest das Netz 172.10.1/24 hinter dem Gateway 10.10.1.1" wäre diese Route speziell in diesem Beispiel völliger Blödsinn.
Ja. So wie du's aufgemahlt hast ist es offensichtlich nicht. vermutlich hast du
a) eine Rückroute vom router zu 172.10.1.2 (wlan?)
oder b) eine weitere route auf 172.10.1.1 mit Netzmaske > 24
Man sollte sich nicht täuschen lassen ;)
172.10.1.1 (oder .2) sind offizielle Internetadressen, der dsl-router würde sie rausrouten ins Internet.
RFCs fangen erst ab 172.16.0.0 an (bis 172.31.255.255).

Die Default-Route geht eh' zum dsl-router, damit ist
route add -net 172.10.1.0 netmask 255.255.255.0 gw 10.10.1.1
eh "doppelt gemoppelt".

Daher meine Frage zu "ip a" bzw. "ip r", weil das ganze Konstrukt keinen Sinn (noch mit der Point-to-Point) macht.
Ich weiss nicht, wie man mit diesem Fallbeispiel vernünftig lernen kann :(

TomL

Re: Routen verstehen....?

Beitrag von TomL » 04.03.2015 22:23:35

dufty2 hat geschrieben:Ich weiss nicht, wie man mit diesem Fallbeispiel vernünftig lernen kann
Wenn ich ein plausibles Fallbeispiel formulieren könnte, hätte ich wahrscheinlich hier nicht gefragt.... weil ich ja dann wüsste, wie das geht :D Ganz ehrlich, ich habe mittlerweile zig Seiten dazu gelesen.... und ich finde das Thema überhaupt nicht trivial. Möglicherweise stehe ich mir auch mittlerweile selber im Weg, weil ich viel zu viel nicht-nachvollziehbares gelesen habe.
Eben deshalb, weil sich fast alle Web-Seiten darauf beschränken, irgendwelche Fakten zu nennen, ohne zu erklären "warum das genau so ist". Es wird dabei immer mit irgendwelchen IP's hantiert, ohne das ich nachvollziehen kann, in welcher Verbindung die Netze stehen.

Ich glaube, ich habe jetzt folgendes Verstanden:
- Alle TCP/IP-Pakete, die keinen Emfpänger im eigenen Netz finden, landen beim Gateway
- Das Gateway prüft, ob es für den Netzwerk-Anteil der IP eine Route findet. Wenn ja, wird es an den angegebenen Next Hop gesendet, wenn nein, per Default ins Internet
- Wenn ich das Netz vom GW oder das GW anpingen kann, wird das Paket zum Next Hop weitergeleitet werden, auch wenn der Netzteil des Paketes nicht zum GW passt, hauptsache die korrekte Route existiert.

Ist das so richtig festgestellt? Wenn ja, dann ergibt sich daraus, wo eine Route sein muss und wie sie formuliert wird. Und wenn nein, bin ich wieder ratlos......

Um bei meinem Beispiel mit dem Bild zu bleiben:
Wenn ich von meinem Netz 172.10.1/24 das GW 10.10.1.2. anpingen kann, und 10.10.1.2 eine gültige Route zur Weiterleitung hätte, kommt mein Paket auch dort am in der Route angegebenen Ziel (Next Hop) an. Wenn es sich um ein Paket fürs Internet handelt, ist allerdings keine Route notwendig, weil unbekannte Pakete sowieso dort landen.

Tja... ist das so....? :?

dufty2
Beiträge: 1714
Registriert: 22.12.2013 16:41:16

Re: Routen verstehen....?

Beitrag von dufty2 » 05.03.2015 06:14:05

Tja, so langsam komme ich dahinter, was Du willst ;)

Bei Routen werden Destinations angegeben und keine Sourcen.
(Ja, es gibt auch Source-Routing, aber das lassen wir mal weg.)

D. h. wenn Dein Vorhaben ist am 10.10.1.2, "alles aus 172.10.1.0/24 soll ins Internet", dann
ist "172.10.1.0/24" hier eine Source, daher braucht man keine weitere Route, denn die Default-Route erschlägt ja alles, lediglich "IP-Forwarding" muss am 10.10.1.2 aktiv sein.

Das Problem entsteht jetzt erst am DSL-Router, denn jener kennt LAN-seitig nur das 10.10.1.0/24.
D. h. ein ping vom DSL-router selbst aus zu z. B. 172.10.1.2 würde hier irrtümlich ins Internet gehen, da jetzt 172.10.1.2 die Destination wäre.
Du kannst
a) ein NAT einrichten auf 10.10.1.2 und damit "172.10.1.0/24" dahinter "verstecken".
oder
b) eine Route anlegen _am DSL-Router_ (nicht auf 10.10.1.2!)

Code: Alles auswählen

route add -net 172.10.1.0 netmask 255.255.255.0 gw 10.10.1.2
damit der DSL-Routi weiss, "hinter 10.10.1.2 gibt es noch was".
Das ist das, was wanne mit "Rückroute" gemeint hat (vermutlich ;) )

TomL

Re: Routen verstehen....?

Beitrag von TomL » 05.03.2015 14:47:40

dufty2 hat geschrieben:D. h. wenn Dein Vorhaben ist am 10.10.1.2, "alles aus 172.10.1.0/24 soll ins Internet", dann
ist "172.10.1.0/24" hier eine Source, daher braucht man keine weitere Route, denn die Default-Route erschlägt ja alles, lediglich "IP-Forwarding" muss am 10.10.1.2 aktiv sein.
Das würde die "blaue Route" in meinem Bild erklären, die von B.4 ins Internet einfach mitgenutzt werden würde. Ich verwende jetzt hier mal stellvertretend für korrekte IP's eine etwas einfachere Schreibweise, um besser hinter die Logik zu kommen. Wenn ich aber B.4 jetzt über ein anderes Gateway zwingen wollte, würde ich die notwendige Route ins Internet auf dem GW: B.1 so formulieren:
route add Dest: B.0 NM: 255.255.255.0 GW: C.1.
Wäre das so richtig? Ich verstehe das jetzt so: "alle Pakete aus dem Netz B/24 ohne lokalen Empfänger weiterleiten nach C.1". Tja.... ist das so richtig interpretiert :?:

Bild

dufty2
Beiträge: 1714
Registriert: 22.12.2013 16:41:16

Re: Routen verstehen....?

Beitrag von dufty2 » 05.03.2015 15:46:01

Ich glaube mich dunkel erinnern zu können, gesagt zu haben, bei Routen werden DESTINATIONs festgelegt.
Ja, dass muss so gewesen sein.

Irgendjemand hier (dessen Name ich nicht nennen will ;-) ist immer noch auf dem SOURCE-trip:
In der (fälschlichen) Annahme,
route add <SOURCE>
würde Routen anlegen für Pakete, die von SOURCE stammen.

Source-Routing ist tatsächlich unter Linux möglich, aber auf einen anderen Weg:

Code: Alles auswählen

# echo 100 mysource >> /etc/iproute2/rt_tables
# ip rule add from B.4 table mysource
# ip route add default via C.1 dev eth0 table mysource 
Dadurch bekommt der B.4 eine eigene Routingtabelle ("mysource") verpasst.
(Alle Befehle auf dem GW B.1 ausgeführt.)

TomL

Re: Routen verstehen....?

Beitrag von TomL » 05.03.2015 17:32:32

dufty2 hat geschrieben:Ich glaube mich dunkel erinnern zu können, gesagt zu haben, bei Routen werden DESTINATIONs festgelegt.
Ja, dass muss so gewesen sein.
Ja stimmt.... das war auch so.... und ich habe irgendwann vorher gesagt, dass dieses Thema überhaupt nicht trivial ist... ich empfinde das sogar als richtig kompliziert.... und vielleicht liegts daran, dass ich mich noch so schwer tue..... :roll:

Wie und wo wäre denn die notwendige Route in dem Beispiel zu setzen, so das B.4 über den kleinen Umweg des GW: C.1 ins Internet gelangt? Nehmen wir an, das A-Netz nutzen nur die 100 Hauptabteilungsleiter, die dürfen auch die schnelle default-Route nutzen. Aber im B-Netz sind die 10000 Sachbearbeiter, die hohen Traffic generieren und deshalb die billigere Route über C.1 nehmen müssen. Was wäre dafür wo zu tun, damit es korrekt über "Destinations" abgewickelt wird?

dufty2
Beiträge: 1714
Registriert: 22.12.2013 16:41:16

Re: Routen verstehen....?

Beitrag von dufty2 » 05.03.2015 17:50:20

Code: Alles auswählen

# echo 100 sachbearbeiter >> /etc/iproute2/rt_tables
# ip rule add from B/24 table sachbearbeiter
# ip route add default via C.1 dev eth0 table sachbearbeiter
Alle Befehle auf dem GW B.1 ausgeführt.

Benutzeravatar
orcape
Beiträge: 1530
Registriert: 07.11.2008 18:37:24
Wohnort: 50°36'23.99"N / 12°10'20.66"E

Re: Routen verstehen....?

Beitrag von orcape » 05.03.2015 18:20:33

Hi Tom,
Da Dein VPN-Tunnel nun steht, verstehe ich Dein Problem nicht wirklich.
Das Routing übernimmt bei Dir die Fritzbox, den Rest, das OpenVPN betreffend, der OpenVPN-Server auf dem Debian-Wheezy-Server.
Du musst dazu also keine statischen Routen mehr konfigurieren.
Wenn Du Routing verstehen willst, dann log Dich mit ssh, per Putty oder Konsole auf Deinem Server ein und zieh Dir die Routingtabelle rein. Bei der Fritte geht das per Telnet, nachdem Du das freigeschaltet hast.
Das alles kopierst Du Dir in einen Texteditor und vergleichst das dann mit Deinem Netzwerkplan.
Hier noch mal ein kleiner Grundlagenkurs....
http://www.fefe.de/routing/routing.pdf
Gruß orcape

TomL

Re: Routen verstehen....?

Beitrag von TomL » 06.03.2015 15:36:54

Hi Orcape
orcape hat geschrieben:Da Dein VPN-Tunnel nun steht, verstehe ich Dein Problem nicht wirklich.
Das eine hat mit dem anderen aber nichts zu tun. Aber Du hast trotzdem Recht.... es besteht nicht unbedingt die Notwendigkeit, dass ich das kapieren muss, weil ich danach sowieso keine Verwendung dafür hätte. Ich wollte das einfach nur mal verstehen. Und nun glaube ich, das ist mir alles ne Nummer zu hoch.... also ist's wohl besser hiermit getan: Schuster , bleib bei Deinen Leisten.... :wink:
orcape hat geschrieben:Hier noch mal ein kleiner Grundlagenkurs....
http://www.fefe.de/routing/routing.pdf
Das hatte ich mir vor Tagen schon durchgelesen... und es hat mehr Fragen geliefert, als Anworten. Aber egal... trotzdem Danke für Eure Hilfe.

Antworten