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.)? Bitte erläutern Sie im Detail.
Danke
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.)? Bitte erläutern Sie im Detail.
Danke
Antworten:
Ich gehe davon aus, dass es sich um zwei Standard-Internetverbindungen für Privathaushalte oder gewerbliche Zwecke handelt (und nicht um eine Mietleitung oder zwei Standorte, die über VPN oder ähnliches verbunden sind).
Mit dem folgenden Beispielnetzwerk verfügen wir über zwei Gebäude und einen Server (weltweit), die über das Internet verbunden sind. Wir haben zwei Router - R1
und R2
- von denen jeder eine andere öffentliche IP-Adresse (oder " externe " IP-Adresse) hat.
Innerhalb der Gebäude teilen sich die Router und Geräte alle gemeinsame IP-Adressen - die Router ( R1
und R2
) verwenden eine private IP von 192.168.0.1
und die Geräte ( DA
und DB
) verwenden eine private IP von 192.168.0.10
.
Außerhalb der Gebäude haben die Router unterschiedliche öffentliche IP-Adressen - 203.0.113.5
und 203.0.113.219
. Der Server ist über die öffentliche IP-Adresse erreichbar 203.0.113.42
.
Es gibt hier einen wichtigen Unterschied zwischen zwei Arten von IP-Adressen. Weitere Informationen finden Sie auf der Wiki-Seite " Reservierte IP-Adressen ".
Um DA
auf einen Server oder Host im Internet zugreifen zu können (z. B. 203.0.113.42
), muss ein Router Hilfe anfordern, da der Zugriff 203.0.113.42
im lokalen Netzwerk nicht möglich ist. Daher werden die Pakete an den konfigurierten Router ( R1
) gesendet , der sie dann an das Internet weiterleitet.
In diesem Fall wird neu schreibt der Router das Paket leicht, Kennzeichnung des " Source Address " , wie in R1
der Öffentlichkeit Adresse ( 203.0.113.5
) anstelle von DA
's - Adresse ( 192.168.0.10
). Wenn ein Paket dann zurückgegeben R1
wird, überprüft es die Verbindungstabellen, schreibt das Paket neu, sodass es wieder das Ziel ist DA
, und leitet das Paket an das lokale Netzwerk weiter.
Dies wird als Network Address Translation (NAT) bezeichnet, und das Umschreiben der ausgehenden Pakete unter Verwendung der eigenen Adresse des Routers wird als " Masquerading " bezeichnet. Das heißt, alle ausgehenden Pakete stammen scheinbar vom Router und nicht von einem dahinter befindlichen Gerät.
Dies ermöglicht die Kommunikation zwischen Geräten in einem privaten Netzwerk (z. B.: DA
und DB
) und einem öffentlichen Server im Internet.
Um einige innerhalb des Netzwerks von Gebäude A bereitgestellte Dienste zu präsentieren, müssen wir R1
den Server näher betrachten als 203.0.113.42
... Dazu führen wir die Portweiterleitung ein .
Mit dieser Technik können wir festlegen R1
, dass eingehende Verbindungsanfragen an einem Port (z. B. 22
für SSH ) akzeptiert und an einen anderen Host innerhalb des von ihm verwalteten privaten Netzwerks weitergeleitet werden.
In diesem Fall DA
wird ein SSH-Server auf dem Port ausgeführt 22
. Daher konfigurieren wir R1
, dass Port 22 auf seiner externen Schnittstelle (dh:) 203.0.113.5:22
an den Server auf seiner internen Schnittstelle (dh:) weitergeleitet wird 192.168.0.10:22
.
Nun , da wir die Portweiterleitung konfiguriert haben, DB
können zugreifen DA
's SSH Server zu verbinden R1
ist Beschallungs- ... das ist 203.0.113.5
, Port 22
. Hinweis: Die private IP-Adresse DB
wird nicht verwendet oder muss nie verwendet werden DA
und umgekehrt.
Die Netzwerkadressübersetzung wird für Sie erledigt und die gesamte Kette sieht ungefähr so aus:
DB
sendet ein Paket an R2
- Quelle 192.168.0.10
:, Ziel:203.0.113.5
R2
schreibt das Paket neu - Quelle:, 203.0.113.219
Ziel:203.0.113.5
R2
Sendet das Paket über das Internet und R1
empfängt esR1
schreibt das Paket neu - Quelle:, 203.0.113.219
Ziel:192.168.0.10
R1
sendet das Paket über das lokale Netzwerk und DA
empfängt esDer Rückweg / die Antwort ist umgekehrt:
DA
sendet ein Paket an R1
- Quelle 192.168.0.10
:, Ziel:203.0.113.219
R1
schreibt das Paket neu - Quelle 203.0.113.5
, Ziel:203.0.113.219
R1
Sendet das Paket über das Internet und R2
empfängt esR2
schreibt das Paket neu - Quelle:, 203.0.113.5
Ziel:192.168.0.10
R2
sendet das Paket über das lokale Netzwerk und DB
empfängt esWie Sie sehen, spielt die Kollision zwischen privaten Adressen keine Rolle - kein einzelnes Gerät wird jemals 192.168.0.10
als Quelle und Ziel angesehen oder kann über zwei Schnittstellen erreicht werden. Wenn dies wahr wäre, würde der Link eindeutig nicht funktionieren.
Einige Notizen: