RTFM.WIKI

Ordnung muß sein. Ordnung über alles (18+)

Инструменты пользователя

Инструменты сайта


Боковая панель


Навигация

Линкшэринг

ALARM!

Добавить новую страницу

You are not allowed to add pages
network:nat_related_issues


Два сетевых механизма связанных с NAT

В данном посте пойдет речь про два не связанных напрямую между собой сетевых механизма: Hairpin NAT и Proxy ARP. Стоит заметить, что их использование необходимо только в определенных случаях NAT, далее будет описано подробнее.

Hairpin NAT

Сценарий: веб сервер и клиент находятся за общим NAT. Веб сервер опубликован на внешнем адресе 80.80.80.80 на порту 80. Внутренние IP адреса у клиента и сервера из одной подсети 10.10.10.0/24.

Клиент не может подключиться к веб серверу по внешнему адресу. При этом от других клиентов (с мобильного телефона, из дома и пр.) доступ работает.

Причина:

  • Клиент делает запрос к веб серверу
Адрес источника Адрес получателя
10.10.10.50 80.80.80.80
внутренний адрес клиента внешний адрес сервера
  • Маршрутизатор изменяет адрес получателя (DNAT) и по таблице маршрутизации отправляет пакет в тот же интерфейс, из которого он пришел
Адрес источника Адрес получателя
10.10.10.50 10.10.10.2
внутренний адрес клиента внутренний адрес сервера
  • Сервер получает запрос и по таблице маршрутизации выясняет, что он находится в одной подсети с клиентом (10.10.10.0/24) и отправляет ответ напрямую клиенту, минуя маршрутизатор
Адрес источника Адрес получателя
10.10.10.2 10.10.10.50
  • Клиент, получив ответ с адреса, с которым он не общался до этого, отбрасывает его.

Решение: Для того, чтобы разрешить обмен через внешний адрес сервера между клиентом и сервером, находящимися в одной внутренней подсети, следует применять изменение адресов отправителя (SNAT) и получателя (DNAT) — механизм названный hairpin NAT.

  • Клиент делает запрос к веб серверу
Адрес источника Адрес получателя
10.10.10.50 80.80.80.80
внутренний адрес клиента внешний адрес сервера
  • Маршрутизатор изменяет адрес получателя (DNAT) и адрес отправителя (SNAT) и по таблице маршрутизации отправляет пакет в тот же интерфейс из которого он пришел
Адрес источника Адрес получателя
10.10.10.1 10.10.10.2
внутренний адрес маршрутизатора внутренний адрес сервера
  • Сервер получает запрос и по таблице маршрутизации отправляет ответ на маршрутизатор, т.к. его адрес значится источником
Адрес источника Адрес получателя
10.10.10.2 10.10.10.1
  • Маршрутизатор изменяет адрес получателя (DNAT) и адрес отправителя (SNAT) и по таблице маршрутизации отправляет пакет в тот же интерфейс из которого он пришел
Адрес источника Адрес получателя
80.80.80.80 10.10.10.50
  • Клиент получает ответ с адреса, на который он отправлял запрос, поэтому принимает его.

Путем hairpin NAT клиент думает, что разговаривает с публичным интерфейсом веб сервера, а веб сервер думает, что разговаривает с внутренним интерфейсом роутера.

Proxy ARP

Сценарий: для публикации серверов (DNAT) используется целая подсеть 80.80.80.0/24 при этом внешнему интерфейсу маршрутизатора назначен адрес 80.80.80.1.

Клиенты не могут подключиться к веб серверу по внешнему адресу.

Причина:

  • Клиент из интернета делает запрос к внешнему адресу веб сервера
Адрес источника Адрес получателя
50.50.50.50 80.80.80.80
внешний адрес клиента внешний адрес сервера
  • Запрос приходит на пограничный маршрутизатор провайдера, к которому подключен ваш маршрутизатор внешним интерфейсом. Маршрутизатор провайдера делает широковещательный ARP запрос в подсеть 80.80.80.0/24 с целью получить MAC адрес клиента с IP адресом 80.80.80.80.
  • Поскольку в подсети 80.80.80.0/254 нет интерфейса с адресом 80.80.80.80 маршрутизатор провайдера отправляет ошибку клиенту, что сервер недоступен.

Решение: Для того, чтобы ваш маршрутизатор отвечал на ARP запрос необходимо на его внешнем интерфейсе настроить Proxy ARP. В этом случае ваш маршрутизатор будет отвечать на все ARP запросы по IP адресам, которые вы укажите, вне зависимости от адреса самого интерфейса на который, они будут приходить.

Источник 1

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies

Discussion

Enter your comment. Wiki syntax is allowed:
 
network/nat_related_issues.txt · Последнее изменение: 2018/03/01 13:11 (внешнее изменение)