Ich führe eine Webanwendung auf Port 8080 aus. Der Server, auf dem diese Anwendung läuft, muss außerdem jederzeit über ein ausgehendes VPN verfügen. Ich verwende OpenVPN unter Ubuntu 20.
Sobald die VPN-Verbindung hergestellt ist, kann ich nicht mehr auf die Webanwendung zugreifen, zum Beispiel aufhttps://servername.com:8080
Ich gehe davon aus, dass dies am Routing liegt. Der Webserver antwortet meinem Browser über das VPN, was dazu führt, dass mein Browser die Verbindung abbricht, da die Antwort von der gesendeten Anfrage abweicht.
Gibt es eine Möglichkeit in der Routing-Tabelle oder so, wie ich das umgehen kann? Wenn eine Anfrage direkt an meinen Webserver gesendet wird, antwortet sie irgendwie außerhalb des VPN und geht über die normale Netzwerkkarte zurück?
Antwort1
Dies ist machbar, aber nicht trivial umzusetzen.
Was Sie implementieren müssen, ist „richtlinienbasiertes Routing“ (quellenbasiertes Routing). Dies umfasst normalerweise das Einrichten einer zweiten Routing-Tabelle und die anschließende Verwendung von iptables zum Markieren von Paketen, die an die entsprechende Tabelle gesendet werden sollen.
Hier ist ein Link, um es mit Netplan zu machen -https://serverspace.io/support/help/multiple-network-interfaces-ubuntu-20-04/Dies scheint die neue Art der Umsetzung zu sein.
Je nachdem, „warum ein VPN und $$$“, ist es möglicherweise einfacher, ein VPN zu verwenden, das Ihnen eine statische IP-Adresse bietet und sicherstellt, dass Ihre Webanwendung an alle Schnittstellen gebunden ist. Dies bedeutet natürlich, dass der gesamte Datenverkehr von „Ihrer“ VPN-IP-Adresse kommt und auf diese IP-Adresse zurückverfolgt werden kann. Dies kann für Ihren Anwendungsfall ein Problem darstellen, muss es aber nicht.