Die kurze Antwort lautet: In 95% der Fälle ist dies nicht möglich, und Ihre Antwort liegt bei 95%.
Lassen Sie mich zunächst sagen, dass es wenig Sinn macht, vom getrennten Upload und Download des Routings zu sprechen, da selbst bei intensiven Download-Aufgaben einige Pakete rückwärts zur Quelle fließen müssen, dh jeder Download erfordert einen Upload-Fluss (Dies gilt weniger für UDP als für TCP, aber das macht nichts).
Wenn wir den Upload einer Verbindung mit den meisten Downloads über eine andere Netzwerkkarte als die für den Download verwendete kanalisieren würden, würde die Quelle des Downloads sehen, dass die Antworten auf ihre Pakete von einer anderen IP-Adresse stammen als der, zu der sie gehört Pakete senden; Es ist eine grundlegende Sicherheitsfunktion, Pakete zu ignorieren, die angeblich mit einer bestimmten Verbindung zusammenhängen, aber von einer Adresse eines Drittanbieters stammen. Daher würde der Upload-Teil der Konversation unterbrochen und die Verbindung zum Stillstand gebracht. Dies hat wenig mit ISPs und ihren Diensten zu tun: Es tritt sogar zwischen zwei PCs im selben LAN auf, wenn einer der beiden versucht, eine Verbindung zu einer IP-Adresse herzustellen, indem er in derselben Verbindung zwei verschiedene NICS verwendet (daher zwei verschiedene IPs). .
Dies ist der Grund, warum wir über Verbindungen sprechen, nicht über Upload / Download. Aber dann könnte man Ihre Frage wie folgt umformulieren: Kann ich einen PC, an dem zwei Netzwerkkarten angeschlossen sind, die beiden Netzwerkkarten für zwei verschiedene verwenden? Verbindungen, sagen Sie die langsame Verbindung für einen langsamen, mühsamen Job wie E-Mail und die schnelle Verbindung für einen schnellen Vorgang wie das Herunterladen von Webseiten?
Die kurze Antwort auf diese häufig gestellte Frage lautet: Unter Windows * Nix (einschließlich MacOS) und Android no.In Linux yes, you can.
Der Grund, warum Sie dies in Windows (jede Version), * Nix und Android nicht können, ist, dass jede Routing-Tabelle nur ein Standard-Gateway haben kann (* dh * die Adresse, an die Sie alle Pakete senden, die nicht für Ihr LAN bestimmt sind), und diese Betriebssysteme können nur eine Routingtabelle verarbeiten: daher ein einziges Gateway.
Um unterschiedliche Anwendungen unterschiedlichen Schnittstellen zuzuweisen, benötigen Sie stattdessen zwei unterschiedliche Funktionen: eine, die Fähigkeit, zwei Routingtabellen gleichzeitig auszuführen, und zwei, die Fähigkeit, Anwendungen an eine der beiden Routingtabellen zu binden. Nur der Linux-Kernel (der der Konkurrenz um Lichtjahre voraus ist) verfügt zum jetzigen Zeitpunkt über diese Funktionen. Der * Nix-Kernel gleicht dies teilweise durch einen vernünftigen Einsatz seiner Firewall, pfsense, aus, ohne jedoch das volle Ergebnis zu erzielen.
Die Möglichkeit, zwei Routingtabellen gleichzeitig auszuführen (als Richtlinienrouting oder quellenbasiertes Routing bezeichnet ), bedeutet, dass Pakete abhängig von ihrer IP-Adresse unterschiedlich geroutet werden. Dies ist eine äußerst nützliche Funktion, wenn Sie einen Router erstellen.
Um jedoch je nach Anwendung unterschiedliche NICs (und damit IPS) zu verwenden, benötigen Sie Netzwerk-Namespaces , eine Linux-Kernel-Funktion, mit der Sie eine separate Shell mit einem eigenen Netzwerk-Stack erstellen können. Jetzt werden alle Prozesse, die in dieser separaten Shell ausgeführt werden, gemäß der Routing-Tabelle des Netzwerk-Namespaces und nicht des Haupt-PCs geroutet.
Dies ist natürlich eine Form der Virtualisierung, wenn auch eine schwächere Form als beispielsweise ein Linux-Container, ganz zu schweigen von einer virtuellen Maschine. Aber es ist die reale Art und Weise, mit einem einzigen PC verschiedene Prozesse über verschiedene Schnittstellen zu leiten.
Zusammenfassend lässt sich sagen, dass Sie unter Linux (und nur unter Linux) einen separaten Netzwerknamespace ausführen können, der beispielsweise über ein VPN mit Ihrem Arbeitsplatz verbunden ist, sodass Sie auf Ihre Arbeitsressourcen zugreifen können. Wenn Sie Firefox ausführen, können Sie Sie scheinen an Ihrem Arbeitsplatz zu arbeiten und gleichzeitig Google Chrome außerhalb des Netzwerk-Namespaces zu betreiben. Auf diese Weise scheinen Sie (in Chrome) zu Hause zu sein.