Erlauben Sie eingehenden Datenverkehr nur für eine bestimmte öffentliche IP

Erlauben Sie eingehenden Datenverkehr nur für eine bestimmte öffentliche IP

Ich habe einen Debian-VPS mit zwei öffentlichen IP-Adressen, 90.90.90.90 und 90.90.90.100.

Ich möchte, dass der Server eingehenden Datenverkehr nur für die andere öffentliche IP akzeptiert.

Beispiel:

Auf meinem Server läuft ein OpenVPN-Server. Wenn ich eine VPN-Verbindung zu 90.90.90.90 herstelle, lautet die öffentliche IP 90.90.90.100. (Das ist die aktuelle Situation)

Ich möchte nicht, dass die OpenVPN-Ports für 90.90.90.100 geöffnet sind, sondern nur für die andere IP, die ich für die Verbindung mit dem Server verwende.

Ist dies mit iptables oder einer anderen Methode möglich?

Danke!

Antwort1

Wenn ich Sie richtig verstehe, möchten Sie, dass die ausgehenden Verbindungen von VPN-Verbindungen zu IP Nr. 1 als IP Nr. 2 maskiert werden und die ausgehenden Verbindungen von VPN-Verbindungen zu IP Nr. 2 als IP Nr. 1 maskiert werden.

Für diese Antwort nennen wir 90.90.90.90 IP #1 und 90.90.90.100 IP #2

Am einfachsten geht das, indem Sie zwei OpenVPN-Server betreiben. Richten Sie jeden mit einem anderen privaten Subnetzbereich ein. Beispielsweise erhalten eingehende Verbindungen auf IP Nr. 1 Adressen im Bereich 10.0.1.0/24 und eingehende Verbindungen auf IP Nr. 2 Adressen im Bereich 10.0.2.0/24.

Die Konfigurationsdateien sind bis auf drei Zeilen größtenteils identisch mit der Originalkonfiguration. Die erste Konfiguration enthält Folgendes:

local 90.90.90.90
server 10.0.1.0 255.255.255.0
push "route 10.0.1.0 255.255.255.0"

Während der zweite stattdessen Folgendes enthält:

local 90.90.90.100
server 10.0.2.0 255.255.255.0
push "route 10.0.2.0 255.255.255.0"

Starten Sie den OpenVPN-Dienst neu, um sicherzustellen, dass beide Konfigurationsdateien aktiviert sind.

Um sicherzustellen, dass die Verbindungen beim Verlassen Ihres VPN-Servers die richtige externe IP-Adresse erhalten, können Sie die folgenden iptables-Regeln verwenden. Ersetzen Sie eth0 durch den tatsächlichen Schnittstellennamen.

iptables -t nat -A POSTROUTING -s 10.0.1.0/24 -o eth0 -j SNAT --to 90.90.90.100
iptables -t nat -A POSTROUTING -s 10.0.2.0/24 -o eth0 -j SNAT --to 90.90.90.90

Jetzt kommen die VPN-Verbindungen über eine IP herein und gehen als die andere hinaus. Das kann komplizierter sein als nötig, insbesondere gibt es keinen Grund,zweiVPN-Server. Entfernen Sie in diesem Fall einfach eine der Konfigurationen und verwenden Sie ausschließlich die verbleibende Konfiguration.

verwandte Informationen