Virtuelle IP in einem einzelnen Server

Virtuelle IP in einem einzelnen Server

Ich möchte es wie folgt einrichten

Ich habe zwei ISPs mit unterschiedlichen statischen IPs, die in einem einzigen Server mit zwei Netzwerkkarten enden. Ich erstelle eine virtuelle IP für diese Netzwerkkarte und möchte meinen lokalen Webserver an diese virtuelle IP binden, damit der Ausfall eines ISPs den Zugriff auf meinen Webserver von außen nicht beeinträchtigt. Wie kann ich das mit Linux machen?

Antwort1

Für eine einzelne IP-Adresse ist dies nicht so möglich, wie Sie es sich vorstellen.

Damit dies auf IP-Adressebene funktioniert, benötigen Sie eineAutonome Systemnummer (ASN)und führen Sie ein dynamisches BGP-Routingprotokoll aus, das allen Internet-Backbone-Routern der Welt mitteilt, wie sie Ihre virtuelle IP erreichen.

Leider ist eine einzelne IP-Adresse in der Praxis ein zu kleiner Block, um auf diese Weise dynamisch geroutet werden zu können. Die meisten ISPs akzeptieren keine eingehenden BGP-Ankündigungen von Privat- oder Kleinunternehmenskunden, und selbst wenn Sie diese Hürde überwinden würden, würden Internet-Router BGP-Ankündigungen für einzelne IP-Adressen ignorieren. Um ihre Routing-Leistung aufrechtzuerhalten und die Routing-Tabellen der Backbone-Router nicht absurd lang werden zu lassen, werden die Backbone-Router nur mit größeren Blöcken des IP-Adressraums umgehen wollen.

Um wirklich über solche virtuellen IPs zu verfügen, müssten Sie eine ziemlich große Organisation mit einem großen Block (/24 würde genügen) öffentlicher IP-Adressen sein. Es wäre auch hilfreich, wenn Sie den Datenverkehr anderer Organisationen akzeptieren und ihn über Ihre Netzwerkverbindungen weiterleiten könnten.

Natürlich ließe sich wahrscheinlich etwas arrangieren, wenn Ihre beiden ISPs Kunden desselben Internet-Backbone-Anbieters wären und Sie bereit wären, zu verhandeln und für eine individuelle Lösung zu zahlen. Für die meisten Leute wäre das allerdings eine Verschwendung von viel Geld und Mühe für etwas, das sich mit einem anderen Ansatz viel einfacher erreichen lässt.


Eine realistischere Strategie zur Implementierung eines ISP-Failovers für einen einzelnen Server wäre die Verwendung eines verfügbaren dynamischen DNS-Dienstes. Sie hätten eine öffentliche (nicht notwendigerweise statische) IP-Adresse für jeden Ihrer Uplinks und würden einen DDNS-Client verwenden, um den DNS-A-Eintrag für den vollqualifizierten Hostnamen Ihres Webservers so zu aktualisieren, dass er auf die aktuell aktive IP-Adresse verweist.

Wenn ein Uplink ausfällt, aktualisieren Sie einfach den A-Eintrag, warten, bis die Time-To-Live des alten Eintrags abgelaufen ist (die meisten dynamischen DNS-Dienste halten die TTLs ziemlich kurz – etwa 60 Sekunden) und sind wieder erreichbar. Natürlich würde dies dazu führen, dass alle bestehenden Verbindungen unterbrochen werden, da sich Ihre IP-Adresse beim Failover ändern würde. Aber wenn Ihre ISPs überhaupt eine Stateful Firewall verwenden, würde dies beim Failover trotzdem passieren, selbst wenn Sie Ihre virtuelle IP hätten.

Alternativ könnten Sie einfach einen Cloud-Server von einem beliebigen großen Cloud-Betreiber mieten und diesen die Verwaltung redundanter Netzwerkverbindungen und der gesamten Komplexität überlassen – bei dieser Größenordnung ist das für ihn so ziemlich eine Selbstverständlichkeit.

verwandte Informationen