Как может пройти маршрут между двумя частными IP-адресами через публичные IP-адреса?

Я пытаюсь понять, что это за выход traceroute средства. Я изменил IP-адреса для конфиденциальности, но сохранил различие между публичным и частным диапазоном IP-адресов.

traceroute.db -e -n 10.1.1.9
traceroute to (10.1.1.9), 30 hops max, 60 byte packets
 1  10.0.0.1  0.596 ms  0.588 ms  0.577 ms
 2  10.0.0.2  1.032 ms  1.029 ms  1.084 ms
 3  10.0.0.3  3.360 ms  3.355 ms  3.338 ms
 4  23.0.0.4  3.974 ms  4.592 ms  4.584 ms
 5  23.0.0.5  13.442 ms  13.445 ms  13.434 ms
 6  45.0.0.6  13.195 ms  12.924 ms  12.913 ms
 7  67.0.0.7  52.088 ms  51.683 ms  52.040 ms
 8  10.1.1.8  46.878 ms  44.575 ms  44.815 ms
 9  10.1.1.9  45.932 ms  45.603 ms  45.593 ms

Первый диапазон 10.0.* Находится внутри моей организации. Последний диапазон 10.1.* - это еще один сайт моей организации. Промежуточные адреса принадлежат различным провайдерам. Я ожидаю, что между двумя сайтами есть какой-то VPN, но я не очень разбираюсь в топологии нашей сети.

Что я не понимаю, так это то, как маршрут может идти от личного адреса через публичные адреса обратно к частным адресам. Поиск привел меня к публичным IP-адресам в MPLS Traceroute, что дает возможное объяснение: MPLS. Является ли MPLS единственным возможным или наиболее вероятным объяснением? Иначе, что это говорит мне о нашей сетевой инфраструктуре?

Бонусный вопрос для моего назидания: в этом сценарии кто генерирует превышенные ICMP пакеты TTL и, если необходимо, искажает их адреса отправителя и получателя?

1 ответ

На обоих концах находятся серверы, которые выполняют трансляцию сетевых адресов (NAT). По мере прохождения адреса через эти серверы адрес заголовка пакета данных перезаписывается на интернет-адрес этого сервера. Сервер отслеживает, какие соединения принадлежат какому внутреннему хосту.

Traceroute отображает данные из пакета ICMP, указывающие, был ли достигнут хост в заданном количестве прыжков. Маршрутизаторы NAT не изменяют эти данные. В результате вы видите адрес, по которому каждый хост получил пакет.

Обычно имя сервера на дальнем конце в этом случае маршрутизируется с использованием DNAT (NAT назначения) на хост в частной сети.

Вероятно, что адрес передается через VPN-туннель между двумя сайтами. VPN инкапсулирует исходные и конечные адреса внутри пакетов, отправляемых между скачками 3 и 7. Эффект тот же, хотя механизм другой. Маршрутизаторы на участках 3 и 7 будут знать диапазоны адресов, поддерживаемые удаленными маршрутизаторами, и соответствующим образом маршрутизировать пакеты. Покидая переход 7, IP-адресом назначения будет 67.0.0.7 с публичным адресом, принадлежащим переходу 3. Это невидимо из-за того, как работает трассировка маршрута. В зависимости от протокола VPN некоторые прыжки после перехода 7 могут не отслеживаться.

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

Другие вопросы по тегам