Best Practice für Dual-Homing-Site mit zwei ISPs?


12

Ich habe zwei ISPs abonniert, einen schnellen, teuren und einen billigen, aber langsameren. Sie verwenden unterschiedliche Technologien, Kabel und ADSL, so dass es kaum eine einzige Fehlerquelle gibt und alle meine Kommunikationsgeräte über eine USV mit Strom versorgt werden.

ISPs in Großbritannien gehen in einem ziemlich zufälligen Muster zurück. Über viele Jahre hinweg habe ich noch keinen Moment erlebt, in dem beide ISPs gleichzeitig ausgefallen sind. Die Zwei-ISP-Strategie ist daher hilfreich, wenn Sie hier einen ununterbrochenen Netzzugriff wünschen.

Das Problem ist jedoch, wie Sie das Netzwerk Ihrer Site organisieren können, um diese verbesserte Verfügbarkeit zu nutzen. Bei vielen ISPs ist es nicht möglich, eigene AS- und Routing-Protokolle auszuführen. Daher müssen Sie Ihr statisches Routing in den meisten Fällen auf die beiden Egress Pipes nach Ziel aufteilen. Dies ist alles andere als brillant und erfordert ein manuelles Eingreifen, wenn ein ISP vom Planeten fällt. Mit Hilfe zahlreicher Skripte behandle ich ISP-Ausfälle mit vertretbarem Erfolg und geringem Aufwand. Es ist aber nicht großartig. Es fühlt sich an, als würde Technologie fehlen.

  1. Gibt es generell einen besseren Weg?
  2. Gibt es einen besseren Weg nur für IPv6 (ich habe Dual Stack auf einem ISP und könnte auf dem anderen tunneln)? Das wäre ein klarer Segen für IPv6.

Hat Ihnen eine Antwort geholfen? In diesem Fall sollten Sie die Antwort akzeptieren, damit die Frage nicht für immer auftaucht und nach einer Antwort sucht. Alternativ können Sie auch Ihre eigene Antwort eingeben und annehmen.
Ron Maupin

Antworten:


11

Welche Art von Ausrüstung haben Sie mit den Anbietern verbunden? Wenn es sich um ein Cisco-Gerät handelt, können Sie mit IP SLA ein Ziel wie 8.8.8.8 über den primären ISP anpingen. Sobald Sie keine Antwort erhalten, wird ein Failover auf die andere statische Route durchgeführt. Beispielkonfiguration:

! ISP1
ip route 0.0.0.0 0.0.0.0 x.x.x.x track 1
! ISP2
ip route 0.0.0.0 0.0.0.0 y.y.y.y 250
ip sla 1
icmp-echo 8.8.8.8 source-interface <ISP1_interface>
frequency 3
timeout 1000
ip sla schedule 1 life forever start-time now

Möglicherweise müssen Sie eine statische Route für 8.8.8.8 über ISP1 angeben, damit dieser Pfad immer verlassen wird. Wenn Sie 8.8.8.8 wirklich verwenden, wählen Sie eine andere IP, da Sie sonst nicht erreichbar sind, wenn ISP1 ausfällt.

!x.x.x.x is next-hop to ISP1
ip route 8.8.8.8 255.255.255.255 x.x.x.x

8

Möglicherweise möchten Sie untersuchen, ob ein LISP vorhanden ist Anbieter verfügbar ist. LISP ist ein Protokoll, mit dem eine Site von den vorgelagerten ISPs, mit denen sie verbunden ist, unabhängig gemacht werden kann. Sie erhalten eine oder mehrere IP-Adressen vom LISP-ISP und diese leiten sie an den Ort weiter, an dem Sie verbunden sind. Es ist eine Tunneltechnik, aber mit vielen coolen Features. Sie können sowohl den eingehenden als auch den ausgehenden Lastenausgleich über die Links steuern. Sie können IPv6-Multihoming durchführen, ohne auf Hacks wie NPT66 (Präfix-Übersetzung) zurückgreifen zu müssen. Du könntest sogar auf die andere Seite des Planeten ziehen, ohne die IP-Adresse zu ändern ;-)

Ich benutze LISP selbst und mein Büronetzwerk hat einen Block mit / 26 IPv4- und einen Block mit / 48 IPv6-Adressen, die unabhängig von den Upstreams sind (eine UPC-Kabelverbindung mit einer dynamischen IPv4-Adresse und eine Solcon DSL-Verbindung mit einer statischen IPv4-Adresse) und ein statischer Block von IPv6-Adressen). Ein Cisco 1841 führt LISP im Büro aus und verwendet den verfügbaren Link, um eine Verbindung zum restlichen Internet herzustellen. Solange ein Link funktioniert, ist mein Büro über seine eigenen Adressen verbunden.

Vollständige Offenlegung : Ich betreibe meinen eigenen LISP-basierten ISP in den Niederlanden, daher bin ich voreingenommen. LISP ist trotzdem ein cooles Protokoll :-)


5

Beim IPv6-Multi-Homing mit Provider-aggregierten Adressen erhält jeder Host im Netzwerk von jedem Provider ein Adresspräfix. Die Auswahl der Quelladresse (RFC6724) und die Auswahl des SA / DA-Paares (RFC6555) des Host-Stacks / der Anwendung bestimmen, welcher Exit verwendet wird.

Das heißt, der Host / die Anwendung wählt die Quelladresse aus, für die der Exit-Link verwendet wird. Verschiedene Implementierungen tun dies auf unterschiedliche Art und Weise und keine tun es im Moment sehr gut.

Das Netzwerk verwendet quelladressabhängiges Routing, um den Datenverkehr an den richtigen Ausgang weiterzuleiten. (Andernfalls hätte BCP38 (Ingress Filtering) ein Paket verworfen, das mit der Quelladresse von ISP B an ISP A gesendet wurde.) Siehe http://tools.ietf.org/html/draft-troan-homenet-sadr-01. Wir haben eine Implementierung in OpenWRT. Es kann aber auch auf jedem Router implementiert werden, der richtlinienbasiertes Routing unterstützt.

Eine Anwendung sollte intelligent genug sein, um die Verbindung zu ändern (wählen Sie ein anderes SA / DA-Paar), wenn die aktuelle Verbindung fehlschlägt. Ist es nicht. In der Zwischenzeit empfehlen wir, die Lebensdauer des Adresspräfix des fehlerhaften Links auf 0 zu setzen, was bedeutet, dass neue Verbindungen diese Adresse nicht verwenden.


2

Q1. Sie können einen Router / eine Firewall installieren, die Multihoming unterstützt. PfSense ist in Sachen freie Software genau das Richtige. http://www.pfsense.org/ . In den pfSense-Dokumenten wird dies als Multi-WAN bezeichnet. http://doc.pfsense.org/index.php/Multi-WAN_2.0

Hilfreich ist, dass pfSense ein automatisches Failover und einen automatischen Lastenausgleich bietet.

Was ich festgestellt habe, ist, dass eine kleine Anzahl von Web-Apps nicht funktioniert, wenn Sie Multihomed sind. Bei den Web-Apps handelt es sich in der Regel um Finanzseiten wie Banken. Aus irgendeinem Grund halten es Web-App-Programmierer manchmal für in Ordnung, die Sicherheit anhand der IP-Adresse zu testen. Für Benutzer, die diesen Zugriff benötigen, können Sie eine IP-Adresse für ihren Computer reservieren und in pfSense eine "LAN-Regel" erstellen, um immer ein bestimmtes Gateway und nicht das andere für diese IP-Adresse zu verwenden.

Ich finde, dass dies für die Kombination von Kabelmodem und ADSL-Modem ganz gut funktioniert.

Q2. Es gibt keinen Grund, warum Multihoming nicht sowohl in IPv6 als auch in IPv4 funktioniert. Allerdings verfügt pfSense nicht über eine vollständig unterstützte Version, die IPv6 ordnungsgemäß verarbeitet. Die aktuelle Version von pfSense ist 2.0x. Sobald 2.1 veröffentlicht ist, wird pfSense gute IPv6-Unterstützung bieten und Multihoming einschließen.


1

Sie können einen Remote-Server / VPS in einem zuverlässigen Rechenzentrum einrichten und dann über jeden ISP VPN-Tunnel von Ihrem Router zum Remote-Server einrichten. Jetzt kann Ihr Router zu Hause Pakete basierend auf einem Bandbreitenverhältnis über diese Tunnel leiten, und der Remoteserver kann den Datenverkehr zwischen dem Rest des Internets leiten.

Der Nachteil ist, dass zusätzliche Kosten für CPU, Speicher und Bandbreite für den Remote-Server anfallen.

Der Vorteil besteht darin, dass Sie die gesamte Bandbreite nutzen können, die von beiden Anbietern bereitgestellt wird, und dennoch eine Failover-Option für Zuverlässigkeit haben.


0

Ich habe OpenWRT mit Multiwan ( http://wiki.openwrt.org/doc/uci/multiwan ) einige Zeit zu Hause verwendet, um zwischen meinem DSL- und Kabel-ISP zu wechseln . Es hat ganz gut funktioniert. Ich würde es nicht als Unternehmenslösung empfehlen, aber es ist in Ordnung für SOHO- und Heim-Setups.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.