В разных городах есть два устройства, и оба имеют одинаковые частные IP-адреса. Как мне их связать (SSH, RDP, FTP, Telnet и т.д.). Пожалуйста, объясните подробно.
Спасибо
В разных городах есть два устройства, и оба имеют одинаковые частные IP-адреса. Как мне их связать (SSH, RDP, FTP, Telnet и т.д.). Пожалуйста, объясните подробно.
Спасибо
Я предполагаю, что вы говорите о двух стандартных жилых или коммерческих интернет-соединениях (а не об арендованной линии или двух сайтах, связанных VPN или подобными).
В приведенном ниже примере сети у нас есть два здания и сервер (в любой точке мира), которые подключены через Интернет. У нас есть два маршрутизатора - R1
и R2
- каждый из которых имеет свой публичный IP-адрес (или « внешний » IP-адрес).
Внутри зданий все маршрутизаторы и устройства имеют общие IP-адреса - маршрутизаторы (R1
и R2
) используют частный IP-адрес 192.168.0.1
, а устройства (DA
и DB
) используют частный IP-адрес 192.168.0.10
.
Внешне к зданиям маршрутизаторы имеют разные публичные IP-адреса - 203.0.113.5
и 203.0.113.219
. Сервер доступен по общедоступному IP-адресу 203.0.113.42
.
Здесь есть важное различие между двумя типами IP-адресов, дополнительную информацию можно найти на вики-странице « Зарезервированные IP-адреса ».
Чтобы DA
мог получить доступ к серверу или хосту в Интернете (например, 203.0.113.42
), ему необходимо получить помощь от маршрутизатора - потому что 203.0.113.42
не доступен в локальной сети. Таким образом, он отправит пакеты на настроенный маршрутизатор (R1
), который затем перенаправит пакеты в Интернет.
В этом случае маршрутизатор будет слегка перезаписывать пакет, помечая « Адрес источника » как открытый адрес R1
(203.0.113.5
) вместо адреса DA
(192.168.0.10
). Когда пакет затем возвращается в R1
, он проверит таблицы соединений, перезапишет пакет так, чтобы адрес назначения снова был DA
, и перенаправил пакет в локальную сеть.
Это называется преобразованием сетевых адресов (NAT), а перезапись исходящих пакетов для использования собственного адреса маршрутизатора называется « маскарадингом », т. Е. Все исходящие пакеты, по-видимому, исходят от маршрутизатора, а не от устройства, находящегося за ним.
Это позволяет осуществлять связь между устройствами в частной сети (например, DA
и DB
) и общедоступным сервером в Интернете.
Чтобы представить некоторые услуги, предоставляемые внутри сети здания А, нам нужно, чтобы R1
больше походил на сервер в 203.0.113.42
... Для этого мы вводим переадресацию портов .
Это метод, который позволяет нам настроить R1
для приема входящих запросов на соединение через порт (например, 22
для SSH) и пересылать их на другой хост в частной сети, которую он обслуживает.
В этом случае DA
имеет SSH-сервер, работающий на порту 22
, поэтому мы настраиваем R1
для переадресации порта 22 на его внешнем интерфейсе (т. 203.0.113.5:22
) на сервер на его внутреннем интерфейсе (т. 192.168.0.10:22
).
Теперь, когда мы настроили переадресацию портов, DB
может получить доступ к SSH-серверу DA
, подключившись к общему адресу R1
... 203.0.113.5
, порт 22
. Примечание: DB
не использует или никогда не должен знать частный IP-адрес DA
, и наоборот.
Трансляция сетевых адресов позаботится о вас, и вся цепочка будет выглядеть примерно так:
DB
отправляет пакет в R2
- Источник: 192.168.0.10
, Назначение: 203.0.113.5
R2
переписывает пакет - Источник: 203.0.113.219
, Назначение: 203.0.113.5
R2
отправляет пакет через Интернет, а R1
получает егоR1
переписывает пакет - Источник: 203.0.113.219
, Назначение: 192.168.0.10
R1
отправляет пакет по локальной сети, а DA
получает егоОбратный путь / ответ обратный:
DA
отправляет пакет на R1
- Источник: 192.168.0.10
, Назначение: 203.0.113.219
R1
переписывает пакет - Источник 203.0.113.5
, Назначение: 203.0.113.219
R1
отправляет пакет через Интернет, а R2
получает егоR2
переписывает пакет - Источник: 203.0.113.5
, Назначение: 192.168.0.10
R2
отправляет пакет по локальной сети, а DB
принимает егоКак видите, конфликтующие частные адреса вообще не имеют значения - ни одно устройство никогда не находится в ситуации, когда 192.168.0.10
рассматривается как источник и пункт назначения, или может быть достигнуто через два интерфейса. Если бы это было правдой, то ссылка явно не работала бы.
Некоторые заметки: