[CentOS-de] Wie bringe ich meinen Rechner dazu, den default Gateway ueber ein bestimmtes Interface anzusprechen?

Alexander Dalloz ad+lists at uni-x.org
Sa Aug 20 08:47:37 EDT 2011


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