Am 20.08.2011 14:13, schrieb Frank Thommen:
Alexander Dalloz wrote:
Am 20.08.2011 13:11, schrieb Frank Thommen:
Der GW-Eintrag hat eine hoehere Prioritaet und Anfragen zu anderen Subnetzen gehen *immer* ueber dieses Interface.
Das ist falsch. Überlege mal, was das in Konsequenz bedeuten würde.
Die praktische Erfahrung im beschriebenen Fall zeigt leider, dass es richtig ist:
- default GW via eth1
- statische host-route fuer den GW via eth0
NFS-Server in fremdem Subnetz wird via eth1 (nicht eth0) angefragt. Das waere vielleicht anders, wenn ich direkt den GW ansprechen wuerde (ssh etc.), aber Anfragen in andere *Subnetze* werden definitiv ueber eth1 getaetigt und nicht ueber eth0.
Ich koennte natuerlich fuer jeden einzelnen NFS-Server eine statische Route einrichten, aber das ist in diesem Fall nicht praktikabel.
frank
Egal was Du da fummelst, Dein Statement über die default route ist trotzdem falsch.
Die default route hat einfach die Funktion, dass Pakete, die nicht innerhalb desselben Netzes des Senders ihr Ziel finden können, einen Router haben und so das Ziel erreichen können.
Typischerweise[1] ist die default route eine Netzroute mit der größtmöglichen Maske. Die Route für eines der Interfaces ist auch eine Netzroute. Diese ist aber spezifischer, weil sie mehr Bits der Maske abdeckt. Daher hat sie Vorrang vor der default route.
Wenn Du nun eine andere präzisere Netzroute oder gar eine Hostroute definierst, haben diese natürlich auch Vorrang vor der default route.
([1] Ich rede hier der Vereinfachung halber vom Standardsetup, wie man es unter CentOS mit einem oder mehreren Devices vorfindet.)
Wenn Du mehrere Devices innerhalb desselben Netzes auf Deinem Host betreibst, dann musst Du auch dafür sorgen, dass eine Applikation ein bestimmtes Interface rausgehend benutzt. Sonst bestimmt das der Kernel selbst.
Gruß
Alexander