Ich habe einen Mac, auf dem Mac OS X 10.6 oder Ubuntu 9.10 oder Windows XP (Multiboot) ausgeführt wird. Die Lösung kann für jedes System sein, je nachdem, was besser funktioniert.
Ich habe zwei ISPs , auf einen kann über WLAN zugegriffen werden , auf einen kann über LAN zugegriffen werden . In Mac OS XI kann die Priorität festgelegt werden, welches Netzwerk zuerst ausgewählt werden soll. Was ich aber tun möchte, ist ein Lastausgleich mit beiden Netzwerken.
Ich möchte keine zusätzliche Hardware kaufen. Ich habe einige unbenutzte WLAN-Router, wenn dies helfen würde.
Das Kompilieren und Konfigurieren von Programmen unter Linux ist für mich kein Problem.
Ähnliche Frage: Lastausgleich mit mehreren Gateways
Antworten:
Ein naheliegendes Thema für Linux wäre die Einstellung "Metrik" für Routen. Niedrigere Zahlen werden höheren Zahlen vorgezogen. Wenn Sie beiden Routen dieselbe Metrik geben, würde ich denken, dass sie mit gleicher Wahrscheinlichkeit ausgewählt werden.
Ich denke, die Technik, die Sie erreichen möchten, heißt Multihoming . Ich habe keine direkten Erfahrungen damit. Ein paar Dinge, die Sie wahrscheinlich beachten müssen.
Jedenfalls sind das alle Hinweise, an die ich im Moment denken kann.
quelle
metric
ist ein Parameter für Netzwerkschnittstellen in Windows und OS X; Für jedes Betriebssystem, das mehrere Netzwerkschnittstellen unterstützt, muss die Priorität festgelegt werden.Sie können ein Routing-Metriksystem verwenden, bei dem Sie beide Internetverbindungen mit einer gleichen Metrik in Ihrer Routing-Tabelle installieren. Das Betriebssystem sollte dann beide Routen gleichermaßen verwenden und Ihren ausgehenden Datenverkehr effektiv auf beide Verbindungen aufteilen.
Eingehender Datenverkehr als Antwort auf Ihre Anforderungen sollte ebenfalls ausgeglichen sein, da er an die Schnittstelle (Public IP) zurückkehrt, von der die Anforderung stammt.
Das Problem dabei wäre die Persistenz der Sitzung. Sie können beispielsweise eine Website über einen Ihrer Links anzeigen. Die nächste Seitenansicht wird jedoch über die andere Schnittstelle verteilt. Dies würde einige Anwendungen verwirren, da sich Ihre Quell-IP-Adresse ständig ändert.
Daher würde ich wahrscheinlich nur einen Teil Ihres Datenverkehrs auf die andere Schnittstelle aufteilen, wobei nicht gleichwertige Routen verwendet werden, möglicherweise nach Anwendung, Ziel oder Protokoll. Nur etwas, das Ihre Verkehrswege konsistent hält.
quelle
Connectify Dispatch bietet eine Lösung, die genau das tut, was Sie brauchen. Derzeit nur für Windows, aber es war erfolgreich , die Software unter OS X zu virtualisieren und zu verwenden.
Da Sie Windows XP bereits ausgeführt haben (ausgeführt haben), dachte ich, dass Sie diesen Teil selbst herausfinden können.
Das größte Problem dabei ist, dass Windows problemlos Unterstützung für mehrere Netzwerkkarten bietet, während es unter OS X bei weitem nicht so einfach zu implementieren ist.
quelle
Es gibt eine Art Problemumgehung: Meine Anwendung kann den Lastausgleich durchführen, ich kann 2 Verbindungen definieren, die dann beide verwendet werden.
Ich leite dann eine der Server-IPs an eine der IPS weiter.
auf Mac OS 10.6:
route add -host XXX.XXX.XXX.XXX 192.168.1.1
Ich weiß, das ist sehr spezifisch und funktioniert nur, wenn die Server-IPs immer gleich sind. Und wenn die Anwendung in irgendeiner Weise Lastausgleich kann.
quelle
Ich denke nicht, dass dies möglich sein wird, ohne dass der gesamte ausgehende Datenverkehr ein ISP und der eingehende Datenverkehr ein anderer ISP ist.
Grund dafür ist, dass die Aufteilung des Datenverkehrs auf zwei separate Netzwerke nicht so aussieht, als würden sie es zurück schaffen. Wenn Sie 2 Pipes von 1 ISP hatten, könnte dies möglich sein.
Wie die Person zuvor sagte, denke ich, dass Sie sowieso eine Standardeinstellung benötigen und bestimmten Verkehr über eine Route und den Rest über eine andere bremsen könnten. Denken Sie nur nicht, dass der Lastenausgleich wie in einem LAN hier funktioniert.
Beispiel: Führen Sie Updates mit 192.168.2 aus. * Wi-Fi ISP führt Halflife mit 192.168.1 aus. * LAN ISP.
quelle
Die unten erwähnte URL ist speziell für Win 7 gedacht, aber Sie sollten sich ein Bild davon machen. Es ändert die Metrik des Standard-Gateways in Abhängigkeit von der Last auf der Schnittstelle, was zu einer Lastverteilung führt.
http://www.youtube.com/watch?v=Qh5Eb8sXvuk
quelle
Ich habe dieselbe Frage ein Dutzend Mal auf ein Dutzend verschiedene Arten gehört. Erstens werden interne und externe Sitzungen ähnlich behandelt, sind jedoch nicht identisch. Für jede interne Sitzung kann es mehrere externe geben und umgekehrt. Worüber Sie sprechen, ist logisch nicht unmöglich, erfordert jedoch ein wenig Programmierung und Vorbereitung. Einige Geräte werden mit der Fähigkeit gebaut, Ethernet-Verbindungen oder WLAN für schnellere Netzwerkgeschwindigkeiten intern in einem Netzwerk zusammenzufassen. Für externe Netzwerke habe ich jedoch nur Geräte mit FAILOVER gefunden, was bedeutet, dass sie nur dann wechseln, wenn sie müssen. Sie können jedoch eine grundlegende Umschaltung (if-Anweisungen mit 0 oder 1) im Verbindungsprotokoll verwenden, die den Datenverkehr für jede EXTERNE Sitzung über ein anderes Gateway umleitet. Sie müssten dann jede EXTERNE SITZUNG verfolgen, die jeder INTERNEN SITZUNG zugeordnet ist, indem Sie eine Untersitzung in eine Hauptsitzung mit einer Sitzungs-ID einschließen. Sie müssten dann eine Möglichkeit haben, nach der Site-Domäne zu suchen oder die Sitzungs-ID zu verwenden, um das interne Routing abzuschließen (mit anderen Worten, Sie müssten in der Lage sein, Nachrichten vom Client für jede externe Sitzung \ Verbindung zu unterscheiden, basierend auf welcher Standort, von dem sie Daten anforderten oder an den sie Daten sendeten, damit die Pipe für jeden Standort festgelegt wurde und der Standort die Pipe nicht ablehnte. Dies bedeutet, dass Sie ein neues Netzwerkprotokoll in Ihren Router einbauen und entscheiden müssen, wie die Verbindungen unterschieden werden sollen (wenn dies nur nach Standortdomäne erfolgt, kann dies möglicherweise vom Router aus durchgeführt werden, der Client versucht jedoch möglicherweise, die IP-Adresse des Routers zu verwenden externes Tor für die Website, das dies negiert; Wenn dies an beiden Enden erfolgt, muss der Client einen Bezeichner verfolgen, normalerweise einen numerischen Wert für die binäre Maskierung, mit dem der Sendeempfang mit der externen Sitzung abgeglichen werden kann, die am Hauptgatter weitergeleitet wird. Mit anderen Worten, Sie müssten Ihr eigenes Protokoll programmieren, um das Netzwerk zu verwalten, und Sie müssten entscheiden, ob Sie es selbst erstellen möchten (unter Verwendung von Client- und Host-Programmierung) oder ob Sie etwas erstellen möchten Dies ist kompatibel mit älteren vorhandenen Programmen (die an die Nachrichten zwischen Host und Client gebunden sein müssten, wodurch der Host stärker beansprucht wird, für den Client jedoch nichts Neues). Wenn Sie Ihr Unix oder Ihre Winserver-Programmierung kennen, kann dies mit nur wenig Zeit erledigt werden, erfordert jedoch eine größere Menge an Ressourcen, die für jedes ausgeglichene Gerät zugewiesen werden. Der Client muss einen Bezeichner verfolgen, normalerweise einen numerischen Wert für die binäre Maskierung, mit dem der Sendeempfang mit der externen Sitzung abgeglichen werden kann, die am Hauptgatter weitergeleitet wird. Mit anderen Worten, Sie müssten Ihr eigenes Protokoll programmieren, um das Netzwerk zu verwalten, und Sie müssten entscheiden, ob Sie es selbst erstellen möchten (unter Verwendung von Client- und Host-Programmierung) oder ob Sie etwas erstellen möchten Dies ist kompatibel mit älteren vorhandenen Programmen (die an die Nachrichten zwischen Host und Client gebunden sein müssten, wodurch der Host stärker beansprucht wird, für den Client jedoch nichts Neues). Wenn Sie Ihr Unix oder Ihre Winserver-Programmierung kennen, kann dies mit nur wenig Zeit erledigt werden, erfordert jedoch eine größere Menge an Ressourcen, die für jedes ausgeglichene Gerät zugewiesen werden. Der Client muss einen Bezeichner verfolgen, normalerweise einen numerischen Wert für die binäre Maskierung, mit dem der Sendeempfang mit der externen Sitzung abgeglichen werden kann, die am Hauptgatter weitergeleitet wird. Mit anderen Worten, Sie müssten Ihr eigenes Protokoll programmieren, um das Netzwerk zu verwalten, und Sie müssten entscheiden, ob Sie es selbst erstellen möchten (unter Verwendung von Client- und Host-Programmierung) oder ob Sie etwas erstellen möchten Dies ist kompatibel mit älteren vorhandenen Programmen (die an die Nachrichten zwischen Host und Client gebunden sein müssten, wodurch der Host stärker beansprucht wird, für den Client jedoch nichts Neues). Wenn Sie Ihr Unix oder Ihre Winserver-Programmierung kennen, kann dies mit nur wenig Zeit erledigt werden, erfordert jedoch eine größere Menge an Ressourcen, die für jedes ausgeglichene Gerät zugewiesen werden. In der Regel handelt es sich um einen numerischen Wert für die binäre Maskierung, mit dem der Sendeempfang mit der externen Sitzung abgeglichen werden kann, die am Hauptgatter weitergeleitet wird. Mit anderen Worten, Sie müssten Ihr eigenes Protokoll programmieren, um das Netzwerk zu verwalten, und Sie müssten entscheiden, ob Sie es selbst erstellen möchten (unter Verwendung von Client- und Host-Programmierung) oder ob Sie etwas erstellen möchten Dies ist kompatibel mit älteren vorhandenen Programmen (die an die Nachrichten zwischen Host und Client gebunden sein müssten, wodurch der Host stärker beansprucht wird, für den Client jedoch nichts Neues). Wenn Sie Ihr Unix oder Ihre Winserver-Programmierung kennen, kann dies mit nur wenig Zeit erledigt werden, erfordert jedoch eine größere Menge an Ressourcen, die für jedes ausgeglichene Gerät zugewiesen werden. In der Regel handelt es sich um einen numerischen Wert für die binäre Maskierung, mit dem der Sendeempfang mit der externen Sitzung abgeglichen werden kann, die am Hauptgatter weitergeleitet wird. Mit anderen Worten, Sie müssten Ihr eigenes Protokoll programmieren, um das Netzwerk zu verwalten, und Sie müssten entscheiden, ob Sie es selbst erstellen möchten (unter Verwendung von Client- und Host-Programmierung) oder ob Sie etwas erstellen möchten Dies ist kompatibel mit älteren vorhandenen Programmen (die an die Nachrichten zwischen Host und Client gebunden sein müssten, wodurch der Host stärker beansprucht wird, für den Client jedoch nichts Neues). Wenn Sie Ihr Unix oder Ihre Winserver-Programmierung kennen, kann dies mit nur wenig Zeit erledigt werden, erfordert jedoch eine größere Menge an Ressourcen, die für jedes ausgeglichene Gerät zugewiesen werden. Dadurch kann der Sendeempfang mit der externen Sitzung abgeglichen werden, die am Haupttor weitergeleitet wird. Mit anderen Worten, Sie müssten Ihr eigenes Protokoll programmieren, um das Netzwerk zu verwalten, und Sie müssten entscheiden, ob Sie es selbst erstellen möchten (unter Verwendung von Client- und Host-Programmierung) oder ob Sie etwas erstellen möchten Dies ist kompatibel mit älteren vorhandenen Programmen (die an die Nachrichten zwischen Host und Client gebunden sein müssten, wodurch der Host stärker beansprucht wird, für den Client jedoch nichts Neues). Wenn Sie Ihr Unix oder Ihre Winserver-Programmierung kennen, kann dies mit nur wenig Zeit erledigt werden, erfordert jedoch eine größere Menge an Ressourcen, die für jedes ausgeglichene Gerät zugewiesen werden. Dadurch kann der Sendeempfang mit der externen Sitzung abgeglichen werden, die am Haupttor weitergeleitet wird. Mit anderen Worten, Sie müssten Ihr eigenes Protokoll programmieren, um das Netzwerk zu verwalten, und Sie müssten entscheiden, ob Sie es selbst erstellen möchten (unter Verwendung von Client- und Host-Programmierung) oder ob Sie etwas erstellen möchten Dies ist kompatibel mit älteren vorhandenen Programmen (die an die Nachrichten zwischen Host und Client gebunden sein müssten, wodurch der Host stärker beansprucht wird, für den Client jedoch nichts Neues). Wenn Sie Ihr Unix oder Ihre Winserver-Programmierung kennen, kann dies mit nur wenig Zeit erledigt werden, erfordert jedoch eine größere Menge an Ressourcen, die für jedes ausgeglichene Gerät zugewiesen werden. und Sie müssten sich entscheiden, ob Sie es selbst erstellen möchten (unter Verwendung von Client- und Host-Programmierung) oder ob Sie etwas erstellen möchten, das mit älteren vorhandenen Programmen kompatibel ist (was durch die Nachrichtenübermittlung zwischen Hosts gebunden sein müsste und Client, der den Host stärker belastet, aber für den Client nichts Neues ist). Wenn Sie Ihr Unix oder Ihre Winserver-Programmierung kennen, kann dies mit nur wenig Zeit erledigt werden, erfordert jedoch eine größere Menge an Ressourcen, die für jedes ausgeglichene Gerät zugewiesen werden. und Sie müssten sich entscheiden, ob Sie es selbst erstellen möchten (unter Verwendung von Client- und Host-Programmierung) oder ob Sie etwas erstellen möchten, das mit älteren vorhandenen Programmen kompatibel ist (was durch die Nachrichtenübermittlung zwischen Hosts gebunden sein müsste und Client, der den Host stärker belastet, aber für den Client nichts Neues ist). Wenn Sie Ihr Unix oder Ihre Winserver-Programmierung kennen, kann dies mit nur wenig Zeit erledigt werden, erfordert jedoch eine größere Menge an Ressourcen, die für jedes ausgeglichene Gerät zugewiesen werden. dem Host mehr Verschleiß zufügen, aber nichts Neues für den Kunden). Wenn Sie Ihr Unix oder Ihre Winserver-Programmierung kennen, kann dies mit nur wenig Zeit erledigt werden, erfordert jedoch eine größere Menge an Ressourcen, die für jedes ausgeglichene Gerät zugewiesen werden. dem Host mehr Verschleiß zufügen, aber nichts Neues für den Kunden). Wenn Sie Ihr Unix oder Ihre Winserver-Programmierung kennen, kann dies mit nur wenig Zeit erledigt werden, erfordert jedoch eine größere Menge an Ressourcen, die für jedes ausgeglichene Gerät zugewiesen werden.
Bei größeren Netzwerken im Unternehmensstil können Sie das Netzwerk vernetzen und jeder Etage oder Abteilung ein dediziertes Gateway zuweisen, das mehrere ISPs zulässt und niemals zu viel auf einen von ihnen überträgt. Sie können Failover auch von einem Hub durchführen lassen, der Änderungen oder Weiterleitungen an ein anderes Gateway sendet, wenn eines von ihnen Probleme hat. Dies bietet eine gewisse Fehlertoleranz.
quelle