View previous topic :: View next topic |
Author |
Message |
AnubisTheKing Apprentice
Joined: 13 Oct 2002 Posts: 166
|
Posted: Thu Jun 21, 2007 2:58 pm Post subject: ipv6 routing |
|
|
hi,
ich habe hier ein Problem mit routing und ipv6. Also es ist folgendes Senario gegeben. Es gibt 3 Rechner A,B und C. Alle drei Rechner haben nur eine Netzwerkkarte und auf allen ist ipv6 aktiviert und es sind ipv6 Adressen vergeben worden.
A hat Ipv6-Adresse 2001::1
B hat Ipv6-Adresse 2001::2
C hat Ipv6-Adresse 2001::3
Auf Rechner A existieren folgende Routen:
2001::2 über eth0
2001::3 über gateway 2001::2
Auf Rechner B existieren folgende Routen:
2001::1 über eth0
2001::3 über eth0
Auf Rechner C existieren folgende Routen:
2001::2 über eth0
2001::1 über gateway 2001::2
Also A kann mit B reden und B kann mit C reden. Es ist keine direkte Kommunikation zwischen A und C möglich.
Ein ping6 von A->B und B->A und C->B und B->C klappt. Aber ich kann keinen ping6 von A->C und C->A senden. Ich habe auch herausgefunden woran das liegt. Wenn Rechner A einen ping6 nach C macht, schickt er seine Daten über den Gateway B. Dieser schaut nun in seiner neighbor solicitation liste nach ob er die Linklayeradresse C kennt. Ist dies nicht der Fall sendet er ein ICMP6 Host unreachable zurück an A. Das Problem ist nun, das B bei nicht vorhanden sein eines Eintrage für eine Linklayeradresse von C einfach ein ICMP6 Host unreachable zurücksendet, statt dessen sollte er nach der Linklayeradresse nachfragen, was er aber nicht tut? Muss ich dafür irgendetwas besonderes einstellen?
Also wenn ich per Hand die neighbor solicitaion liste editiere und auf B die Linklayeradresse von C eintrage, dann klappt alles wunderbar. Warum wird die Linklayeradresse nicht angefragt?
Wenn einer von euch eine Idee hat wäre das echt klasse.
Grüße
AnubisTheKing _________________ http://www.volker-boehme.de |
|
Back to top |
|
|
XMath Guru
Joined: 14 Aug 2004 Posts: 435 Location: Germany, Gaimersheim
|
Posted: Thu Jun 21, 2007 3:38 pm Post subject: |
|
|
Hm,
nur mal ne Idee: Wie wäre es mit Masquerading? Keinen Schimmer ob das auch schon mit IPv6 klappt.
HTH |
|
Back to top |
|
|
AnubisTheKing Apprentice
Joined: 13 Oct 2002 Posts: 166
|
Posted: Thu Jun 21, 2007 3:41 pm Post subject: |
|
|
Danke für deinen Vorschlag, aber masquerating ist hier fehlt am Platze. Ich will ja nur ganz normales routing und nicht mehr. _________________ http://www.volker-boehme.de |
|
Back to top |
|
|
rbeck n00b
Joined: 09 Aug 2004 Posts: 10
|
Posted: Thu Jun 21, 2007 6:21 pm Post subject: |
|
|
Packet forwarding aktiviert? |
|
Back to top |
|
|
AnubisTheKing Apprentice
Joined: 13 Oct 2002 Posts: 166
|
Posted: Thu Jun 21, 2007 7:02 pm Post subject: |
|
|
also forwarding ist an. Habe ein
Code: |
echo 1 > /proc/sys/net/ipv6/conf/eth0/forwarding
|
gemacht. _________________ http://www.volker-boehme.de |
|
Back to top |
|
|
XMath Guru
Joined: 14 Aug 2004 Posts: 435 Location: Germany, Gaimersheim
|
Posted: Thu Jun 21, 2007 8:01 pm Post subject: |
|
|
Namd,
noch mal langsam für mich grad zum Mitdenken:
Jeder Rechner hat nur "eine" Netzwerkkarte? Und damit auch nur "ein" Interface (eth0)?
Falls ja empfehle ich dir mal die Doku zur Paketbehandlung auf einem Interface. Wenn mich nicht alles täuscht wird das Paket zwar angenommen, aber auch verworfen. Denn was macht es für einen Sinn ein Paket auf demselben Interface herauszuschicken wie auf dem, auf welchem es empfangen wurde?
Aber vielleicht klärst du das mal auf |
|
Back to top |
|
|
AnubisTheKing Apprentice
Joined: 13 Oct 2002 Posts: 166
|
Posted: Thu Jun 21, 2007 8:56 pm Post subject: |
|
|
Hi,
ja jeder Rechner hat nur ein Interface. Bei den Interfaces handelt es sich um wlan interfaces und aufgrund der der Funktverbindung kann A nicht direkt mit C reden (zu weit auseinander). A kann jedoch mit B reden und B mit C. Also ich habe das Problem sowohl auf meshrouter mit wlan interfaces als auch auf einer XEN kiste, bei der ich die meshrouter mit wlanverbindungen emuliere. Bei der Xen kiste wird mit Iptables geregelt, dass A und C keine packete voneinader bekommen.
Also das die Pakete normalerweise verworfen werden stimmt nicht. Dann würde es ja kein Routing in z.B. Adhoc-Netzwerken geben. Ich denke eher, das ich ein Problem mit dem Kernel habe, weiß nur noch nicht welches. _________________ http://www.volker-boehme.de |
|
Back to top |
|
|
TheSmallOne Guru
Joined: 22 Jan 2005 Posts: 467 Location: Germany
|
Posted: Thu Jun 21, 2007 9:10 pm Post subject: |
|
|
Wäre nicht das /conf/all Unterverzeichniss eher dazu geeignet das Forwarding zu aktivieren?
Ich hoffe mal, dass die IP-Adressen nur vereinfachte Beispiele sind, und du diese Adressen so nicht wirklich verwendest.
Wie auch immer, hast du mal versucht die beiden Rechner, die miteinander reden sollen in unterschiedliche "Subnetze" zu hängen? |
|
Back to top |
|
|
AnubisTheKing Apprentice
Joined: 13 Oct 2002 Posts: 166
|
Posted: Thu Jun 21, 2007 9:40 pm Post subject: |
|
|
Das conf/all verzeichnis habe ich auch schon ausprobiert, hat leider nichts geholfen.
Wegen den IP-Adressen. Das sind im Moment wirklich die, die ich verwende (kann man sich echt gut merken). Da es ein vom Rest der Welt abgeschlossenes Netz ist, ist es eigentlich egal (ist nur für mich zum testen). Ich habe aber auch schon ULAN und site-local Adressen versucht. Mit denen habe ich das gleiche Problem. Liegt also denke ich nicht an den benutzen Adressen.
Das hängen in verschiedene subnetze habe ich noch nicht versucht. Daran denke ich wird es aber auch nicht liegen, da ich als präfix immer /128 benutzt habe um die Routen zu definieren. Ich habe mir auch letztens mal drei echte Suserechner geschnappt und es dort versucht. Dabei hatte der Rechner in der Mitte dann aber zwei Karten. Dort klappt es wunderbar (sowohl mit zwei verschiedenen IP auf den Karten im mittleren Rechner als auch bei gleicher IP und entsprechend gesetzten routen. In /proc/sys/net/ipv6 konnte ich keinen unterschied zwischen dem Susekernel und meinem erkennen. Habe im Moment echt keine Idee woran es liegt. _________________ http://www.volker-boehme.de |
|
Back to top |
|
|
TheSmallOne Guru
Joined: 22 Jan 2005 Posts: 467 Location: Germany
|
Posted: Fri Jun 22, 2007 6:25 am Post subject: |
|
|
Der Sinn hinter IPv6 ist aber eigentlich, dass man weltweit einzigartige Adressen verwendet, selbst wenn es sich um ein komplett abgeschlossenes Netz handelt!
Site-local Adressen sind übrigens deprecated.
Das es bei einem Rechner mit zwei Netzwerkkarten funktioniert ist schon irgendwie klar, der "weiß" ja sozusagen, dass er auf zwei Netzwerkkarten nach dem Ziel suchen muß. Ich vermute einfach mal, wenn er nur eine Netzwerkkarte hat, dann rechnet der Computer einfach nicht damit, dass er die Adresse auf dem gleichen Interface suchen muß.
Warum willst du eigentlich IPv6 dazu verwenden?
Achja, nochmal zurück zu den Adressen: Hast du es mal direkt mit den Link-Local Adressen probiert, also gar keine eigenen Adressen gesetzt? |
|
Back to top |
|
|
AnubisTheKing Apprentice
Joined: 13 Oct 2002 Posts: 166
|
Posted: Fri Jun 22, 2007 6:39 am Post subject: |
|
|
Das site-local Adresse deprecated seind weiß. Habe ja auch nur geschrieben ich habe sie ausprobiert. Dachte am Anfang es kann ja vielleicht an dem Verwendeten Adresstyp liegen. Karkeine Adressen zu vergeben habe ich probiert. Dann vergibt der Kernel ja automatische link-local Adressen. Diese sind aber eben nur auf einem Link gültig und werden nicht geroutet.
Ich mache das ganze mit ipv6, da ich dies für meine Diplomarbeit brauche. Da habe ich nicht wirklich die Wahl .
Quote: |
Ich vermute einfach mal, wenn er nur eine Netzwerkkarte hat, dann rechnet der Computer einfach nicht damit, dass er die Adresse auf dem gleichen Interface suchen muß.
|
Hmm, dann lege ich nachher einfach mal zwei virtuelle Devices an, und versuche ob es dann klappt. _________________ http://www.volker-boehme.de |
|
Back to top |
|
|
|