[Discuss] router verliert alle routen

Michael Blizek (spam-protected)
So Nov 16 14:57:15 CET 2008


On 14:27 Sun 16 Nov     , Bernd Petrovitsch wrote:
> On Son, 2008-11-16 at 12:56 +0100, Michael Blizek wrote:
> [...]
> > On 22:01 Sat 15 Nov     , Bernd Petrovitsch wrote:
> > > On Sam, 2008-11-15 at 14:21 +0100, Harald Geyer wrote:
> > > 
> > > > hat er "vergessen" die Route zum gateway einzutragen, oder diese
> > > > route wurde wie von dir beschrieben vom kernel gelöscht - was ich
> > > > aber auch nicht verstehe - siehe unten:
> > > 
> > > Wenn Du eine Route löschst, wird der Kernel alle Routen löschen, die die
> > > gelöschte Route "brauchen" - analog zum Eintragen neuer Routen.
> > 
> > Wie kann eine route von einer anderen Abhaengen? Routen sollten immer zu
> 
> Technisch kurz und einfach: von der IP-Adresse hintern "via" (wenn man
> `ip r l` benützt).
> 
> > einem lokalem Nachbarn gehen, der ohne anderen zwischengeschalteten Routern
> > erreichbar ist.
> 
> Technisch länger:
> ----  snip  ----
> {107}ip r l
> [...]
> default via 62.178.36.1 dev eth1 
> ----  snip  ----
> Die Defaultroute funktioniert nur und macht deshalb nur Sinn, wenn
> 62.178.36.1 irgendwie erreichbar ist. Ob das mit 17 Hops dazwischen ist
> oder obiges Gerät tatsächlich im Netz 62.178.36.0/24 ist, ist dem
> IP-Stack egal (und der IP-Stack/Kernel hat auch keinen Einfluß drauf -
> irgendwer setzt ja die Route von oben/Userspace - und im Prinzip kann es
> ihm auch wurscht sein).
> 
> Am Level höher: Mein Node hat einen Tunnel Richtung 0xFF-Netz und eine
> LinkSys an eth0 dranhängen. Da schaun die Routen so aus:
> ----  snip  ----
> [...]
> 78.41.112.179 via 78.41.112.2 dev tap0  metric 5 
> 78.41.112.176 via 78.41.112.2 dev tap0  metric 6 
> 78.41.115.128/25 via 78.41.112.2 dev tap0  metric 1 
> 193.238.157.0/25 via 78.41.112.2 dev tap0  metric 1 
> default via 78.41.112.2 dev tap0  metric 1 
> {117}fgrep -c " via 78.41.112.2" ~/routes
> 478
> {118}fgrep -vc " via 78.41.112.2" ~/routes
> 3
> {119}fgrep -v " via 78.41.112.2" ~/routes
> 193.238.156.204 dev eth0  scope link  metric 1 
> 78.41.112.2 dev tap0  scope link  metric 1 
> 193.238.156.189 via 193.238.156.204 dev eth0  metric 1 
> ----  snip  ----
> D.h. bei *allen* Routen, die über den Tunnel gehen, steht hintern "via"
> die 1. IP-Adresse hintere der anderen Seite des Tunnels.
> Wenn jetzt 78.41.112.2 nicht mehr erreichbar ist, weil openvpn den
> Tunnel restartet und die IP-Adresse löscht, dann löscht der Kerne
> lsofort alle Routen dort drüber.
> Der olsrd  kriegt das übers OLSR-Protokoll etwas später mit, löscht sie
> intern und versucht sie im Kernel auch zu löschen - nur das sind sie ja
> schon längst weg.

Warum gehen ueber den Tunnel OLSR Packete? Mein Gedankenmodell ist:

Verschluesselung von lokalem Traffic zum Tunnel: Separate routing Tabelle 
fuer Traffic, der aus dem lokalem Netz kommt mit default route ueber den
Tunnel erstellen (iproute policy routing)
Tunnel bei einer Funkinsel: default route mit schlechter Metrik in den Tunnel

...nur statische Routen
	-Michi





Mehr Informationen über die Mailingliste Discuss