1

Предположим, у меня есть два компьютера в локальной сети, и они подключаются к маршрутизатору для совместного использования общего IP-адреса. Один имеет порт 22, перенаправленный на него маршрутизатором. Если второй подключается к нему, используя свой частный IP-адрес (например, ssh root@192.168.1.2), то же самое, что он подключается к нему, используя свой открытый IP-адрес (например, ssh root@71.177.17.58)?

Под "одним и тем же" я подразумеваю, что пакеты маршрутизируются точно так же. Я знаю, что сервер будет видеть хост как 71.177.17.58 при подключении с использованием общедоступного IP-адреса и 192.168.1.2 при подключении с использованием частного IP-адреса, но означает ли это, что в первом случае пакеты выходят за пределы локальной сети? Или оборудование маршрутизации сначала разрешает кратчайший путь (только через локальную сеть)?

2 ответа2

1

Маршрут совсем другой. Когда вы используете локальный адрес, маршрутизатор просто передает пакеты назад и вперед без трансляции. Это будет работать, если вы просто соедините два компьютера вместе с помощью перекрестного кабеля. Вам нужен маршрутизатор для работы с внешним IP-адресом.

Если вы используете внешний адрес, маршрутизатор переведет пункт назначения перед пересылкой пакета. Это называется NAT (трансляция сетевых адресов). В этом случае вы будете использовать DNAT (Destination NAT). Если маршрутизатор не поддерживает шпилечный NAT, вы не сможете подключиться к внешнему IP-адресу из вашей локальной сети. Когда вы используете NAT, маршрутизатор должен выполнять больше работы, и скорость соединения может заметно уменьшиться.

Предполагая, что ваш исходный компьютер находится на 192.168.2.8, а ваш маршрутизатор - 192.168.2.1, вы получите:

        Computer 1                    Computer 2
  Source IP   Destination IP   Source IP    Destiantion IP
192.168.2.8 -> 192.168.2.2    192.168.2.8 -> 192.168.2.2   Local address (Direct)
192.168.2.8 -> 71.177.17.58   192.168.2.1 -> 192.168.2.2   External Address (NAT)
                Source IP    Destination IP
                         Router

Для возврата пакетов IP-адреса источника и назначения меняются местами.

Для соединений из Интернета тип используемого NAT зависит от того, где происходит соединение.

        Local Computer                       Internet 
  Source IP    Destination IP       Source IP     Destination IP
192.168.2.2 -> xxx.xxx.xxx.xxx    72.177.17.58 -> xxx.xxx.xxx.xxx   Outgoing (SNAT)
xxx.xxx.xxx.xxx -> 192.168.2.2    xxx.xxx.xxx.xxx -> 72.177.17.58    Incoming (DNAT)
                     Source IP    Destination IP
                             Router
1

За исключением некоторой клиентской изоляции, когда трафик находится в локальной сети, два хоста будут напрямую взаимодействовать друг с другом и вообще не будут задействовать маршрутизатор.

Что касается доступа к общедоступному IP-адресу, это будет полностью зависеть от маршрутизатора. Некоторые маршрутизаторы разрешат этот трафик и переведут его на внутренний IP. Другие не позволят этого вообще.

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