So verbinden Sie zwei Computer mit derselben privaten IP-Adresse, aber in einem anderen LAN

524
Nitin Kumar

Es gibt zwei Geräte in verschiedenen Städten und beide haben dieselbe private IP-Adresse. Wie kann ich sie kommunizieren lassen (SSH, RDP, FTP, Telnet usw.)? Erklären Sie bitte ausführlich.

Vielen Dank

1
Die private IP spielt keine Rolle, da die Kommunikation über das Internet erfolgt, wobei die beiden Router unterschiedliche IP-Adressen haben. Sie interessieren sich nicht für die internen IP-Adressen, müssen jedoch in jedem Router die richtigen Ports auf Ihren Computer portieren. Das Thema ist hier zu umfangreich. harrymc vor 3 Jahren 1
Eine große Frage ist: Sind diese beiden Standorte Teil desselben Unternehmensnetzwerks oder Peering zwischen Unternehmen, die über eine Art WAN-Technologie wie ein Standort-zu-Standort-VPN miteinander verbunden sind? Wenn es sich nur um völlig unabhängige Netzwerke handelt, geschieht dies immer und die einfache Antwort ist die Portweiterleitung. Wenn sie Teil des gleichen homogenen Netzwerks sind, handelt es sich höchstwahrscheinlich um statische NAT, bei denen Sie eine interne Netzwerkadresse in eine andere Netzwerkadresse konvertieren, um das WAN zu durchlaufen und die Konflikte zu beseitigen. Appleoddity vor 3 Jahren 0

1 Antwort auf die Frage

2
Attie

Ich nehme an, Sie sprechen von zwei normalen privaten oder kommerziellen Internetverbindungen (und nicht von einer Standleitung oder zwei Standorten, die über ein VPN oder ähnliches verbunden sind).

Mit dem Beispielnetzwerk haben wir zwei Gebäude und einen Server (weltweit), die über das Internet verbunden sind. Wir haben zwei Router - R1und R2-, von denen jeder eine andere öffentliche IP-Adresse (oder " externe " IP-Adresse) hat.

Innerhalb der Gebäude, die Router und Geräte alle haben gemeinsame IP - Adressen - die Router ( R1und R2) verwenden, um einen privaten IP 192.168.0.1, und die Geräte ( DAund DB) verwenden, um einen privaten IP 192.168.0.10.

Außerhalb der Gebäude haben die Router unterschiedliche öffentliche IP-Adressen - 203.0.113.5und 203.0.113.219. Der Server ist über die öffentliche IP-Adresse erreichbar 203.0.113.42.

Beispiel Netzwerk


Es gibt einen wichtigen Unterschied zwischen zwei Arten von IP-Adressen. Weitere Informationen finden Sie auf der Wiki-Seite " Reservierte IP-Adressen ".

  • Öffentliches Netzwerk - diese sind direkt im Internet verfügbar
    • Hinweis: Ich habe tatsächlich eine Reihe von Netzwerkadressen verwendet, die hier für die Dokumentation reserviert sind, anstatt auf echte öffentliche Adressen
  • Privates Netzwerk - diese sind nur zur Verwendung innerhalb eines Netzwerks vorgesehen

Um DAauf einen Server oder Host im Internet zuzugreifen (z. B. 203.0.113.42), muss er Hilfe von einem Router erhalten, da er 203.0.113.42nicht im lokalen Netzwerk verfügbar ist. So sendet er die Pakete an den konfigurierten Router ( R1), der die Pakete dann an das Internet weiterleitet.

In diesem Fall wird neu schreibt der Router das Paket leicht, Kennzeichnung des " Source Address ", wie in R1der Öffentlichkeit Adresse ( 203.0.113.5) anstelle von DA's - Adresse ( 192.168.0.10). Wenn dann ein Paket zurückgegeben R1wird, prüft es die Verbindungstabellen, schreibt das Paket neu, sodass das Ziel DAerneut vorhanden ist, und leitet das Paket an das lokale Netzwerk weiter.

Dies wird als Network Address Translation (NAT) bezeichnet, und das Umschreiben der ausgehenden Pakete zur Verwendung der eigenen Adresse des Routers wird als " Masquerading " bezeichnet. Das heißt, dass alle ausgehenden Pakete vom Router stammen und nicht von einem dahinterliegenden Gerät.

Dies ermöglicht die Kommunikation zwischen Geräten in einem privaten Netzwerk (z. B. DAund DB) und einem öffentlichen Server im Internet.


Um einige Dienste innerhalb des Netzwerks von Building A zu präsentieren, müssen wir R1den Server mehr wie auf 203.0.113.42... aussehen lassen. Dazu führen wir die Portweiterleitung ein .

Dies ist eine Technik, die es uns ermöglicht R1, eingehende Verbindungsanforderungen an einem Port (z. B. 22für SSH ) anzunehmen und an einen anderen Host innerhalb des privaten Netzwerks weiterzuleiten, das er bedient.

In diesem Fall DAläuft auf dem Port ein SSH-Server 22, sodass wir konfigurieren R1, dass Port 22 an seiner externen Schnittstelle (dh:) 203.0.113.5:22an den Server an seiner internen Schnittstelle (dh:) weitergeleitet wird 192.168.0.10:22.

Nun, da wir die Portweiterleitung konfiguriert haben, DBkönnen Sie auf DAden SSH-Server zugreifen, indem Sie eine Verbindung mit R1der öffentlichen Adresse von ... herstellen 203.0.113.5, dh Port 22. Hinweis: DB Verwendet die DAprivate IP-Adresse nicht oder muss sie nie kennen und umgekehrt.

Die Netzwerkadressenübersetzung wird für Sie erledigt, und die gesamte Kette sieht ungefähr so ​​aus:

  • DBsendet ein Paket an R2- Quelle 192.168.0.10:, Ziel:203.0.113.5
  • R2schreibt das Paket neu - Quelle:, 203.0.113.219Destination:203.0.113.5
    • R2sendet das Paket über das Internet und R1empfängt es
  • R1schreibt das Paket neu - Quelle:, 203.0.113.219Destination:192.168.0.10
    • R1sendet das Paket über das lokale Netzwerk und DAempfängt es

Der Rückweg / die Antwort ist die Umkehrung:

  • DAsendet ein Paket an R1- Quelle 192.168.0.10:, Ziel:203.0.113.219
  • R1schreibt das Paket neu - Quelle 203.0.113.5, Ziel:203.0.113.219
    • R1sendet das Paket über das Internet und R2empfängt es
  • R2schreibt das Paket neu - Quelle:, 203.0.113.5Destination:192.168.0.10
    • R2sendet das Paket über das lokale Netzwerk und DBempfängt es

Wie Sie sehen, spielt die kollidierende private Adresse keine Rolle. Kein Gerät befindet sich jemals in einer Situation, in der 192.168.0.10sowohl Quelle als auch Ziel gesehen werden oder über zwei Schnittstellen erreicht werden können. Wenn dies wahr wäre, würde der Link offensichtlich nicht funktionieren.


Einige Notizen:

  • Die Konfigurationsoberfläche für Router ist sehr unterschiedlich. Daher können wir Sie nicht einfach durch das Setup für die Portweiterleitung führen, ohne zu wissen, welchen Router Sie verwenden.
  • Durch die Einrichtung einer solchen Portweiterleitung wird Ihr Dienst für das gesamte Internet zugänglich (sofern Sie nicht auch Firewall-Regeln konfigurieren).
  • Ich würde dringend davon abraten, auf diese Weise unverschlüsselte Dienste (z. B. Telnet / FTP) einzurichten. Bevorzugen Sie SSH / SFTP.
  • Sie müssen sicherstellen, dass Ihre Dienste angemessen geschützt sind, z. B. Authentifizierung, Ratenbegrenzung usw.