1

В разных городах есть два устройства, и оба имеют одинаковые частные IP-адреса. Как мне их связать (SSH, RDP, FTP, Telnet и т.д.). Пожалуйста, объясните подробно.

Спасибо

1 ответ1

2

Я предполагаю, что вы говорите о двух стандартных жилых или коммерческих интернет-соединениях (а не об арендованной линии или двух сайтах, связанных 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 рассматривается как источник и пункт назначения, или может быть достигнуто через два интерфейса. Если бы это было правдой, то ссылка явно не работала бы.


Некоторые заметки:

  • Интерфейс конфигурации для маршрутизаторов значительно различается, поэтому мы не сможем выполнить настройку переадресации портов, не зная, какой у вас маршрутизатор.
  • Подобная настройка переадресации портов сделает вашу службу доступной для всего Интернета (если только вы не настроите правила брандмауэра).
  • Я настоятельно рекомендую не настраивать незашифрованные службы (например, Telnet / FTP) таким способом. Предпочитаю SSH / SFTP.
  • Вы должны убедиться, что ваши услуги защищены соответствующим образом - например, аутентификация, ограничение скорости и т.д.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .