Für die Anwendung ist eine IP-Adresse erforderlich, um zur Domäne zu wechseln

15

Wir verwenden eine (schlecht gestaltete) Anwendung, für die die IP-Adresse unserer Unternehmenszentrale mit einer statischen öffentlichen IP-Adresse erforderlich ist. Wenn unser Failover-Internet jedoch aktiviert wird, weist es offensichtlich eine andere statische öffentliche IP-Adresse auf, und dann schlagen Remoteverbindungen fehl.

Wenn die Anwendung einen Domainnamen akzeptieren würde, würde ich diesen mit dynamischem DNS verwenden, aber es wird kein Domainname akzeptiert.

Gibt es eine Möglichkeit, eine IP-Adresse einzugeben, aber zu unserem Domain-Namen zu gelangen? Ich hatte zwei Gedanken, die ich noch nicht ausprobiert habe.

  1. Richten Sie eine lokale IP-Adresse ein, die zu unserem Domain-Namen umleitet (z. B. 10.0.1.99 wechselt zu local.ourdomain.com). Ich bin mir jedoch nicht ganz sicher, wie ich das machen würde. Richten Sie vielleicht einen Raspberry Pi mit einem Webserver ein.

  2. Erwerben Sie Webhosting mit einer dedizierten IP-Adresse und lassen Sie es auf unsere Domain umleiten, die dann bei Bedarf aktualisiert werden kann.

Irgendwelche Gedanken darüber, wie dies erreicht werden kann?

MrPeanut
quelle
1
Was für eine Bewerbung? Du meinst etwas intern gehostet? Wie eine Art Ruby oder Java oder sogar ein JavaScript-Framework?
JakeGould
1
Reverse Proxy. Kleben Sie es an eine feste Adresse und lassen Sie es Pakete an die entsprechende Adresse weiterleiten.
Ignacio Vazquez-Abrams
Nur ein Windows-Programm, das uns ein Anbieter zur Verfügung gestellt hat und das Daten von unserer Unternehmenszentrale sendet und abruft.
MrPeanut
2
Sie müssen irgendwo einen Reverse-Proxy mit einer IP-Adresse einrichten, die sich nie ändert. Das kostet Geld. Haben Sie schon einmal darüber nachgedacht, den Service in die Cloud zu verlagern, in der sowieso Redundanz eingebaut ist? Die Kosten sind wahrscheinlich ähnlich. Der andere Vorschlag, ein VPN zu verwenden, ist sehr sinnvoll. Ich verstehe nicht, dass ein Reverse-Proxy eine gute Lösung dafür ist.
Appleoddity
1
@Appleoddity Der Reverse Proxy ist einfach die Implementierung von Punkt 1 des OP. Sie haben die Himbeere nicht in der Unternehmenszentrale, sondern im lokalen Netzwerk, in dem die Anwendung ausgeführt wird. Da dies im gegebenen Szenario laut OP machbar ist, ist es wahrscheinlich die einfachste und billigste Lösung.
Voo

Antworten:

37

Ein Reverse-Proxy ist eine gute Idee, kann jedoch durch das Protokoll eingeschränkt werden.

Ich würde dieses Problem lösen, indem ich ein VPN einrichte (das Sicherheit bietet - wenn die App so schlecht geschrieben ist, dass sie keine DNS-Suche durchführt, wird wahrscheinlich auch keine anständige Krypto verwendet). Wenn Sie ein VPN verwenden, können Ihre Adressen alle rfc1918 (dh private) sein, und die App kümmert sich nicht einmal darum, wenn sich die externen Adressen ändern.

Davidgo
quelle
0

Ein VPN ist ziemlich teuer, wenn Sie einen Raspberry Pi oder Pi Zero bekommen und Debian darauf ausführen und iptables darauf einrichten können, um die Masken so zu gestalten, wie Sie es möchten

Details hängen davon ab, wie Ihr lokales Netzwerk eingerichtet wurde, aber die allgemeine Idee wäre, dem Pi zwei feste lokale Adressen zuzuweisen.

Eine Adresse wäre für die Verwaltung des Raspberry Pi reserviert. Auf diese Weise können Sie bei Bedarf Änderungen vornehmen.

Der andere fungiert als Proxy für den Remote-Primärserver (oder die Sicherung).

Pakete, die an DIESE Adresse gesendet werden, können iptablesje nach den Bedingungen als Maskerade an die primäre oder die Ersatzadresse weitergeleitet werden. NAT würde die Quell- und Zieladressen des Pakets vor der erneuten Übertragung nach Bedarf ändern.

Zurückgesendete Pakete werden an den Anforderer zurückgesendet.

Dies sollte funktionieren, solange keine IP-Adressen tiefer in die Pakete eingebettet sind oder Fälle wie klassisches FTP, die parallele Verbindungen herstellen.

Bonuspunkte, wenn Sie dem Pi mitteilen können, dass die primäre Site verschwunden ist, und automatisch zur Sicherung wechseln

angebracht
quelle
Ich betreibe einen kostenlosen VPN, ich verstehe nicht, warum er es nicht konnte. Er versteckt seinen Datenverkehr nicht vor seinem ISP. OPENvpn
FreeSoftwareServers
-4

Verwenden Sie Route53 (Amazon) oder einen anderen DNS-Server mit einem Fallback-Routing. Wenn Sie Integritätsprüfungen verwenden, können Sie eine IP-Adresse für den DNS-Eintrag für die Sekundärdatenbank zuweisen, wenn die Integritätsprüfung für die primäre IP-Adresse fehlschlägt.

Ramon Fincken
quelle
7
Wie hilft dies, wenn die Anwendung einen DNS-Eintrag nicht auflöst?
ydaetskcoR
Sie überprüfen die primäre Internet-IP, also NICHT die Geräte-IP. Die primäre Internet-IP muss aufgelöst werden. Wenn dies nicht der Fall ist, benötigen Sie ein Failover.
Ramon Fincken
@Ramon In Anbetracht dessen, dass die Anwendung niemals den DNS-Eintrag verwendet, wie genau würde das Anpassen des DNS-Eintrags helfen?
Voo
4 IPs: Eine primäre Internet-IP, B eine Fallback-Internet-IP, C eine Geräte-IP, D eine Geräte-Fallback-IP. Sie überprüfen IP A und geben IP C für das Gerät zurück. wenn A nach unten geht, Rückkehr ip D
Ramon Fincken
1
@Ramon Die Anwendung hat in einigen Konfigurationen "connect to IP ABCD" fest codiert. Das genaue Problem ist, dass sie nicht fragt, welche IP sie verwenden soll. Oder ist die Idee, dass sie die Anwendung mehrmals für jede Server-IP ausführen und dann die Anwendungen wechseln sollten? Dies könnte funktionieren, vorausgesetzt, es gibt keine Lizenzierungsprobleme und es ist möglich, die Anwendungen so zu konfigurieren, dass sie den gespeicherten Status gemeinsam nutzen, und es gibt kein Problem, mehrere Anwendungen gleichzeitig auf demselben Speicher auszuführen (dies scheint für die große Mehrheit der Anwendungen sehr unwahrscheinlich zu sein).
Voo