Как соединить два компьютера с одинаковыми частными IP-адресами, но в другой локальной сети

663
Nitin Kumar

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

Спасибо

1
Частный IP-адрес не имеет значения, поскольку связь осуществляется через Интернет, где два маршрутизатора имеют разные IP-адреса. Вы не заботитесь о внутренних IP-адресах, но вам нужно будет перенаправить порты на каждом маршрутизаторе на нужные порты для вашего компьютера. Эта тема должна охватить здесь. harrymc 6 лет назад 1
Один большой вопрос заключается в том, являются ли эти два местоположения частью одной сети компании или пиринговыми между компаниями, которые связаны друг с другом посредством некоторого типа технологии WAN, такой как VPN типа «сеть-сеть»? Если они являются просто совершенно не связанными сетями, то это происходит ВСЕ время, и простой ответ - переадресация портов. Если они являются частью одной и той же однородной сети, то, скорее всего, ответом будет статический NAT, где вы преобразуете внутренний сетевой адрес в другой сетевой адрес, чтобы обойти WAN и устранить конфликты. Appleoddity 6 лет назад 0

1 ответ на вопрос

2
Attie

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

В этом случае маршрутизатор будет слегка перезаписывать пакет, помечая « Адрес источника » как R1public address ( 203.0.113.5), а не DAaddress ( 192.168.0.10). Когда пакет затем возвращается R1, он проверяет таблицы соединений, переписывает пакет так, чтобы пункт назначения DAснова был, и перенаправляет пакет в локальную сеть.

Это называется преобразованием сетевых адресов (NAT), а перезапись исходящих пакетов для использования собственного адреса маршрутизатора называется « маскарадингом », т. Е. Все исходящие пакеты, по-видимому, исходят от маршрутизатора, а не от устройства, находящегося за ним.

Это позволяет осуществлять связь между устройствами в частной сети (например, DAи DB) и общедоступным сервером в Интернете.


Чтобы представить некоторые услуги, предоставляемые внутри сети здания А, нам нужно R1больше походить на сервер на 203.0.113.42... Для этого мы вводим переадресацию портов .

Это метод, который позволяет нам настраивать R1прием входящих запросов на соединение через порт (например, 22для SSH ) и пересылать их на другой хост в частной сети, которую он обслуживает.

В этом случае DASSH-сервер работает на порту 22, поэтому мы настраиваем R1переадресацию порта 22 на его внешнем интерфейсе (т. Е. 203.0.113.5:22) На сервер на его внутреннем интерфейсе (т. Е. 192.168.0.10:22).

Теперь, когда мы настроили переадресацию портов, DBможем получить доступ DAк SSH-серверу, подключившись к R1общему публичному адресу ... то есть к 203.0.113.5порту 22. Примечание: DB не использует или никогда не должен знать DAчастный IP-адрес, и наоборот.

Трансляция сетевых адресов позаботится о вас, и вся цепочка будет выглядеть примерно так:

  • DBотправляет пакет в R2- Source:, 192.168.0.10Destination: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- Source:, 192.168.0.10Destination: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.
  • Вы должны убедиться, что ваши услуги защищены соответствующим образом - например, аутентификация, ограничение скорости и т. Д.