Tach!
Gegeben sei ein Rechner mit zwei Interfaces. Der Einfachheit halber beschränken wir das mal auf eine einzige Adressfamilie (also nicht IPv4 und IPv6 gleichzeitig). Das eine Interface hat die Adressen A und B und das zweite 2 hat C. Das Default-Routing geht über Interface 1. Ein Programm möchte als Absender C haben und nach außerhalb des C-Netzes senden. Gibts einen Fehler (Ziel nicht erreichbar oder so), weil das System über Interface 2 zu senden versucht oder gehen die Pakete an Interface 1 mit Absender C? Weiterhin ist die Frage, wo die Antworten hingehen. Ans Interface 1 können sie nicht, da werden sie nicht angenommen und vermutlich auch nicht hingeroutet. Ans Interface 2 können sie unter Umständen auch nicht geroutet werden. Ich meine, in dem Fall muss es zu einem Fehler kommen. Die Pakete müssen über Interface 2 ausgesendet werden und wenn dort keine Route zum Ziel vorhanden ist, muss es scheitern. Dann hat das Programm Pech gehabt, was verlangt es auch explizit nach C.
Ich hab das jetzt mal probiert. Das Szenario vereinfache ich noch mal, und lasse Adresse B weg. Ich hab da einen Windows-Rechner mit einem (physischen) Netzwerkinterface (1) und Default-Route über dieses Interface an eine Adresse aus dem Netzwerk A. Es gibt ein (virtuelles) Interface (2) mit Adresse C und dahinter mit das C-Netzwerk. Der Leitungshai horcht auf diesen beiden Interfaces und zeigt nur ICMP-Pakete an.
ping 8.8.8.8 -S C PING: transmit failed. General failure. Der Leitungshai schweigt.
ping C-Netzwerk-Ziel -S A Request timed out. Der Leitungshai zeigt die 4 Pakete - ohne Antworten - auf dem Interface 1 mit den Adressen gemäß Ping an. Die MAC-Adressen sind die vom Interface 1 und vom Interface des Routers. Hier wurde der Default-Router im A-Netzwerk bemüht und die C-Route ignoriert.
Das zeigt mir, dass bei festgelegter Absenderadresse quasi das Netzwerkinterface Vorrang vor dem Routing hat. Genauer geschlussfolgert: Es werden nur die Routen berücksichtigt, die über das Interface gehen, das zur gewünschten Absenderadresse gehört. Lege ich keine Adresse fest, sucht sich das System eine zum Routing passende aus.
dedlfix.