Letysite.ru

IT Новости с интернет пространства
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Двойное преобразование сетевых адресов nat

Что такое двойной NAT и как решить проблемы с ним?

Цифровой мир — это все адреса IP (интернет-протокола). Каждому устройству требуется IP-адрес для связи в Интернете или в частной сети. Учитывая, что для каждого подключенного к Интернету устройства ( по крайней мере, с IPv4 ) недостаточно публичных IP-адресов, эта мелочь, называемая NAT, становится чрезвычайно важной. Он означает трансляцию сетевых адресов (NAT) и является функцией, предоставляемой маршрутизаторами, позволяющей нескольким устройствам получать доступ к Интернету через один общедоступный IP-адрес.

Благодаря каждому публичному IP-адресу через NAT может быть сотни устройств с собственными частными IP-адресами. И почти все оборудование, предоставляющее функцию NAT, включает брандмауэр для защиты частных IP-адресов и устройств от общедоступных IP-адресов и устройств в Интернете. Также обычно предлагаются другие сетевые службы, такие как DHCP (динамический протокол управления хостом) для выдачи частных IP-адресов устройствам, которые подключаются к локальной сети.

Как получается двойной NAT

Однако наличие нескольких устройств, выполняющих NAT в частной сети, может вызвать проблемы с этой сетью. Некоторые пользователи, возможно, никогда не заметят, что делает их невостребованными для них. Но другие могут столкнуться с головными болями с определенными приложениями, услугами и ситуациями. Таким образом, всегда рекомендуется удалять двойной NAT, если он у вас есть.

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

Если вы не знаете, что провайдер предоставил вам, взгляните на коробку. Если есть только один порт Ethernet, это, скорее всего, простой модем (он же широкополосный шлюз). Но если есть несколько портов Ethernet или поддерживает Wi-Fi-соединения, это, скорее всего, выполняет NAT и маршрутизацию.

Какие проблемы может вызвать двойной NAT

Когда в вашей сети есть двойной NAT, вы можете столкнуться с проблемами с услугами, для которых требуется поддержка UPnP (Universal Plug-and-Play) или ручная переадресация портов. Это будет включать онлайн-игры на компьютерах или консолях, удаленный рабочий стол на компьютеры, подключение к VPN-серверу или доступ к каналам камеры безопасности. Такие службы иногда требуют, чтобы определенные порты открывались в брандмауэре маршрутизатора и направлялись на определенный компьютер или устройство в сети.

На этом снимке экрана показано, как я настроил свой маршрутизатор для перенаправления портов, чтобы я мог использовать удаленный SSH (Secure Shell) на сервере в локальной сети. Я не могу этого сделать, если мой шлюз также выполняет NAT (преобразование сетевых адресов).

Проблема с двойным NAT заключается в том, что если первый маршрутизатор в вашей сети не настроен для переадресации портов, входящий трафик прекратится там, даже если на втором маршрутизаторе настроен порт вперед. Даже если первый маршрутизатор имеет порт вперед, он не может перенаправить трафик на устройство, подключенное ко второму маршрутизатору. Он может перенаправлять только трафик на компьютеры и устройства, напрямую подключенные к этому первому маршрутизатору, который может быть либо беспроводным, либо проводным.

Двойной NAT также может усложнить любые ручные или автоматические элементы управления качеством обслуживания (QoS), которые определяют приоритетность трафика в вашей внутренней сети, чтобы обеспечить чувствительный к задержкам трафик (игра, голос или видео), которому присваивается более высокий приоритет, чем данные, связанные с файловыми передачами. Это особенно важно, если у вас есть устройства, подключенные к обоим маршрутизаторам, оба из которых имеют разные элементы управления QoS.

На этом снимке экрана отображаются параметры QoS (Quality of Service) моего маршрутизатора, которые я настроил для назначения приоритета VoIP (Voice over Internet Protocol).

Как обнаружить ситуацию с двойным NAT

Я уже упоминал, как быстро определить, имеет ли шлюз ISP возможности NAT и маршрутизации, но вы также можете посмотреть, действительно ли происходит двойной NAT, прежде чем тратить время на эту проблему. Иногда шлюзы обнаруживают двойной NAT и автоматически исправляют проблему для вас. Или иногда, если инсталляторы ISP хорошо осведомлены, они могут исправить это, когда они выходят, чтобы установить шлюз, и убедитесь, что у вас есть собственный маршрутизатор.

Для двух способов я покажу вам, как определить ситуацию с двойным NAT, вам нужно проверить свои IP-адреса и узнать, являются ли они частными или общедоступными. Это легко: частные адреса обычно находятся в диапазоне от 192.168.0.0 до 192.168.255.255, от диапазона 172.16.0.0 до 172.31.255.255 или от 10.0.0.0 до 10.255.255.255. Адресами за пределами этих диапазонов будут публичные (интернет-адреса).

Один быстрый способ, который обычно показывает, что двойной NAT существует, — это traceroute, который позволяет вам пинговать сервер или устройство в Интернете и видеть путь, который требуется между маршрутизаторами и серверами. Откройте командную строку (на ПК с ОС Windows, который подключен к Интернету, щелкните в меню «Пуск», введите «cmd» и нажмите Enter) и введите «tracert 8.8.8.8», чтобы увидеть трассировку на DNS-сервере Google. Если вы видите два личных IP-адреса, перечисленных в первых двух перелетах, у вас есть двойной NAT. Если вы видите только один частный адрес, а второй прыжок показывает общедоступный адрес, тогда вы все хорошо.

Вот traceroute, показывающий двойной NAT, о чем свидетельствуют частные IP-адреса в первых двух прыжках.

Еще один способ проверить двойной NAT — подключиться к веб-интерфейсу вашего маршрутизатора и посмотреть, является ли WAN (интернет) IP-адрес частным или общедоступным. Это должен быть публичный адрес. Если это частный адрес, у вас двойной NAT.

Больше доказательств двойной ситуации с NAT: IP-адрес моего маршрутизатора WAN является закрытым, а не публичным.

Как вы можете это исправить

Если вы подтвердили, что у вас двойной NAT, есть способы исправить это. Один простой способ — отключить любой дополнительный маршрутизатор и использовать только шлюз вашего интернет-провайдера. Если вы властный пользователь, и вы не можете расстаться с вашим любимым маршрутизатором, то этот вариант, вероятно, не для вас.

Если вы хотите сохранить свой маршрутизатор, посмотрите, можете ли вы перевести шлюз ISP в мостовой или транзитный режим. Это отключит функции NAT, брандмауэра и DHCP шлюза и уменьшит его до простого интернет-модема. Многие шлюзы предлагают эти настройки, но не все. Войдите в веб-интерфейс GUI шлюза и проверьте настройку NAT, сквозной или мостовой режим, но имейте в виду, что иногда он скрыт. Если вы этого не видите, найдите в Интернете подробную информацию о своей конкретной модели или обратитесь в службу технической поддержки вашего провайдера.

Мой шлюз Arris от TimeWarner (Spectrum) имеет параметры NAT в настройках LAN, но другие поставщики могут иметь его в WAN или другой области.

Если ваш шлюз ISP не предлагает никаких мостовых функций, подумайте о том, чтобы разместить маршрутизатор в DMZ (демилитаризованной зоне) шлюза. Если шлюз имеет DMZ, он будет в основном предоставлять маршрутизатору прямое подключение к Интернету, минуя NAT-шлюз шлюза, межсетевой экран и DHCP, чтобы ваши сетевые устройства получали эти значения непосредственно с вашего маршрутизатора.

Чтобы использовать DMZ, вы должны войти в веб-интерфейс графического интерфейса шлюза, найти настройку DMZ и ввести частный IP-адрес, назначенный вашему маршрутизатору. Кроме того, вы также должны увидеть, можете ли вы установить резервирование IP-адреса для своего маршрутизатора, поэтому ваш шлюз всегда дает тот же частный IP-адрес вашему маршрутизатору. Если шлюз не поддерживает резервирование IP-адресов, вы должны войти в веб-интерфейс маршрутизатора и вручную назначить ему статический частный IP-адрес (тот же, который вы настраиваете как хост DMZ) самостоятельно для своей глобальной сети (WAN); т.е. интернет).

Мой шлюз имеет настройки DMZ в настройках брандмауэра, как это типично для шлюзов.

Еще один вариант устранения двойного NAT при сохранении шлюза ISP и вашего маршрутизатора — это запустить Ethernet-кабель от шлюза к одному из портов LAN вашего маршрутизатора вместо порта WAN (интернет) маршрутизатора. Это в основном превратит ваш маршрутизатор в коммутатор, и любые компьютеры, подключенные через маршрутизатор (проводные или беспроводные), получат NAT, брандмауэр и DHCP от шлюза ISP. Это хороший вариант, если вы используете дополнительный маршрутизатор для улучшения Wi-Fi или потому, что вам нужно больше портов Ethernet. Если, с другой стороны, ваше стремление к другому маршрутизатору для лучшей перенаправления портов или улучшения контроля QoS, этот подход не поможет.

Xboxland.net

Double NAT

feLhage 09.10.2019

ajattus 09.10.2019

Попробуй выйти на инженера провайдера и скажи что тебе нужно чтоб их железка бриджом тебе была. Тогда все настройки сетевые будут на твоей железке. Это как вариант, по факту хз какая там схема.

feLhage 09.10.2019

ajattus 09.10.2019

вот тут засада конечно, придётся искать китайца какого
есть какие изи варианты? может ещё что-то своё воткнуть с настройками? к роутеру могу получить доступ

А если у тебя инет вообще отвалится или сгорит провайдерская железка — будешь без инета сидеть или все таки найдешь способ найти инженера? ))

feLhage 09.10.2019

mad8vad 09.10.2019

L3n1n 09.10.2019

Нужно открыть порты и будет стабильный нат2, но если хочешь нат1, то придется покупать выделенный IP. У меня порты проброшены так:

ajattus 09.10.2019

ДМЗ и проброс проблему двойного НАТ не решает. Пробрасываешь ты их только в рамках своей железяки, железке провайдера плевать на твои пробросы, он видит тебя за серым IP.

Читать еще:  Адрес входящей почты яндекс

Вот если добиться того, что оборудование провайдера будет лишь мостом, а терминироваться канал будет на твоей стороне — вот там ДМЗ и пробросы в помощь.

Изменено ajattus: 09.10.2019 — 16:46

feLhage 09.10.2019

Нужно открыть порты и будет стабильный нат2, но если хочешь нат1, то придется покупать выделенный IP. У меня порты проброшены так:

открытие портов не всегда срабатывало у меня, ещё дома плясал с ними и результата ноль, нужно было разговаривать с провайдером для белого айпишника

ДМЗ и проброс проблему двойного НАТ не решает. Пробрасываешь ты их только в рамках своей железяки, железке провайдера плевать на твои пробросы, он видит тебя за серым IP.
Вот если добиться того, что оборудование провайдера будет лишь мостом, а терминироваться канал будет на твоей стороне — вот там ДМЗ и пробросы в помощь.

понял, буду пробовать
надо будет поподробнее посмотреть хоть что за машина стоит, может удастся своими силами что-то сделать без прямого вмешательства провайдера

SteaX 10.10.2019

Нужно открыть порты и будет стабильный нат2, но если хочешь нат1, то придется покупать выделенный IP. У меня порты проброшены так:

Ого, нат 1 с выделенным ip это что то новенькое.
Изменено SteaX: 10.10.2019 — 15:17

feLhage 13.10.2019

ajattus 13.10.2019

с мобильного инета всегда будет дикий пинг, а главное нестабильный.

feLhage 13.10.2019

Frey 13.10.2019

по вай-фаю так же подключался и пинг одинаковый (180+-)

так и есть.
Если хочешь нормальный пинг, нужно подключать шнурком.

SteaX 14.10.2019

с мобильного инета всегда будет дикий пинг, а главное нестабильный.

Не всегда. У 4г пинг часто нормальный, чуть выше проводного.

окей, пока подзабил на двойной нат из-за нехватки времени и решил попробовать раздать с телефона интернет
два вопроса:
1. можно ли как-нибудь с телефона нат отрегулировать? с телефона уже не двойной, а обычный, но уже идёт как strict (с двойным натом и роутером показывает moderate), пытался с впн и без, один результат
2. дикий пинг в играх, где-то 180 в гирях, в рокетлиге вообще не коннектит к серверам, можно как-то прописать параметры, чтобы цепляло к ближайшим серверам? нахожусь в китае, по идее у японским должно тянуть, но как-то пинг очень удручает

С нат можно бороться вне зависимости от того откуда он.
Весь вопрос в знаниях как это делать и геморе который ты получишь. В 90% знаний его победить не хватит. Поэтому для большинства статически ip от провайдера лучший выбор. Получишь нат 2 или открытый на хбокс.

NAT (Преобразование сетевых адресов)

Их вы свободно можете использовать в своей частной сети, и поэтому, разумеется, они будут повторяться. Как же быть с уникальностью? Кому будет отвечать WEB-сервер, которому пришёл запрос с обратным адресом 192.168.1.1? Ростелекому? Компании Татнефть? Или вашему комнатному Длинку? В большом интернете никто ничего не знает о приватных сетях — они не маршрутизируются.
Тут и выходит на сцену NAT. По большому счёту, это обман, подстава. На натирующем устройстве ваш приватный адрес, грубо говоря, просто подменяется на белый адрес, который и будет фигурировать далее в пакете, пока он путешествует до WEB-сервера. А вот белые адреса очень даже хорошо маршрутизируются, и пакет точно вернётся обратно на натирующее устройство.
Но как оно в свою очередь поймёт, что с ним делать дальше? Вот с этим и разберёмся.

Статический
В этом случае один внутренний адрес преобразуется в один внешний. И при этом все запросы, приходящие на внешний адрес будут транслироваться на внутренний. Словно бы этот хост и является обладателем этого белого IP-адреса.
Настраивается следующей командой:

Что происходит:
1) Узел 172.16.6.5 обращается WEB-серверу. Он отправляет IP-пакет, где в качестве адреса получателя стоит 192.0.2.2, а отправителя 172.16.6.5.

8) По внутренней сети пакет возвращается инициатору, которому даже и невдомёк, какие чудеса с ним творились на границе.
И так будет с каждым.
При этом если соединение инициируется из Интернета, пакеты автоматически, проходя через натирующее устройство, попадают на внутренний хост.

Такой подход бывает полезным, когда у вас есть сервер внутри вашей сети, к которому необходим полный доступ извне. Разумеется, этот вариант вы не можете использовать, если хотите триста хостов выпустить в Интернет через один адрес. Такой вариант NAT’а никак не поможет сохранить белые IP-адреса, но тем не менее он бывает полезен.

Динамический
У вас есть пул белых адресов, например, провайдер выделил вам сеть 198.51.100.0/28 c 16-ю адресами. Два из них (первый и последний) — адрес сети и широковещательный, ещё два адреса назначаются на оборудование для обеспечения маршрутизации. 12 оставшихся адресов вы можете использовать для NAT’а и выпускать через них своих пользователей.
Ситуация похожа на статический NAT — один приватный адрес транслируется на один внешний, — но теперь внешний не чётко зафиксирован, а будет выбираться динамически из заданного диапазона.
Настраивается он так:

Задали пул (диапазон) публичных адресов, из которого будет выбираться адрес для натирования

Задаём список доступа, который пропускает все пакеты с адресом источника 172.16.6.х, где х варьируется 0-255.

Этой командой мы стыкуем созданный ACL и пул.
Этот вариант тоже не универсальный, своих 300 пользователей вы так же не сможете выпустить всех в Интернет, если у вас нет 300 внешних адресов. Как только белые адреса исчерпаются, никто новый уже не сможет получить доступ в Интернет. При этом те пользователи, что уже успели отхватить себе внешний адрес, будут работать. Скинуть все текущие трансляции и освободить внешний адреса вам поможет команда clear ip nat translation *
Помимо динамического выделения внешних адресов, этот динамически NAT отличается от статического тем, что без отдельной настройки проброса портов уже невозможно внешнее соединение на один из адресов пула.

Many-to-One
Следующий тип имеет несколько названий: NAT Overload, Port Address Translation (PAT), IP Masquerading, Many-to-One NAT.
Последнее название говорит само за себя — через один внешний адрес выходит в мир много приватных. Это позволяет решить проблему с нехваткой внешних адресов и выпустить в мир всех желающих.
Тут надо бы дать пояснение, как это работает. Как два приватных адреса транслируются в один можно представить, но как маршрутизатор понимает кому нужно переслать пакет, вернувшийся из Интернета на этот адрес?
Всё очень просто:
Предположим, что от двух хостов из внутренней сети приходят пакеты на натирующее устройство. Оба с запросом к WEB-серверу 192.0.2.2.
Данные от хостов выглядят так:

И теперь пакеты доставляется по внутренней сети компьютерам-инициаторам, которым и невдомёк даже, что где-то с их данными так жёстко обошлись на границе.
Каждое ваше обращение — это отдельное соединение. То есть попытались вы открыть WEB-страницу — это протокол HTTP, использующий порт 80. Для этого ваш компьютер должен установить TCP-сессию с удалённым сервером. Такая сессия (TCP или UDP) определяется двумя сокетами: локальный IP-адрес: локальный порт и удалённый IP-адрес: удалённый порт. В обычной ситуации у вас устанавливается одно соединение компьютер-сервер, в случае же NATа соединения будет как бы два:, маршрутизатор-сервер и компьютер думает, что у него есть сессия компьютер-сервер.
Настройка отличается совершенно незначительно: добавочным словом overload:

При этом, разумеется, сохраняется возможность настроить пул адресов:

Перенаправление портов
Иначе говорят ещё проброс портов или mapping.
Когда мы только начали говорить про NAT, трансляция у нас была один-в-один и все запросы, приходящие извне автоматически перенаправлялись на внутренний хост. Таким образом можно было бы выставить сервер наружу в Интернет.
Но если у вас нет такой возможности — вы ограничены в белых адресах, или не хотите выставлять всем пучком портов его наружу, что делать?
Вы можете указать, что все запросы, приходящие на конкретный белый адрес и конкретный порт маршрутизатора, должны быть перенаправлены на нужный порт нужного внутреннего адреса.

Применение данной команды означает, что TCP-запрос, пришедший из интернета на адрес 198.51.100.2 по порту 80, будет перенаправлен на внутренний адрес 172.16.0.2 на тот же 80-й порт. Разумеется, вы можете пробрасывать и UDP и делать перенаправление с одного порта на другой. Это, например, может оказаться полезным, если у вас есть два компьютера, к которым нужен доступ по RDP извне. RDP использует порт 3389. Один и тот же порт вы не можете пробросить на разные хосты (при использовании одного внешнего адреса). Поэтому вы можете сделать так:

Тогда, чтобы попасть на компьютер 172.16.6.61 вы запускаете RDP-сессию на порт 198.51.100.2:3389, а на 172.16.6.66 — 198.51.100.2:3398. Маршрутизатор сам раскидает всё, куда надо.
Кстати, эта команда — частный случай самой первой: ip nat inside source static 172.16.6.66 198.51.100.2. Только в этом случае речь идёт о пробросе всего трафика, а в наших примерах — конкретных портов протокола TCP.
Вот так в общих чертах фунциклирует NAT. Про его особенности, плюсы/минусы написано куча статей, но не отметить их нельзя.

Слабости и силости NAT
Плюсы
В первую очередь NAT позволяет сэкономить публичные IP-адреса. Собственно для этого он и был создан. Через один адрес, теоретически можно выпустить больше 65000 серых адресов (по количеству портов).
Во-вторых, PAT и динамический NAT является в какой-то степени файрволом, препятствуя внешним соединениям доходить до конечных компьютеров, на которых может не оказаться своего файрвола и антивируса. Дело в том, что если извне на натирующее устройство приходит пакет, который тут не ожидается или не разрешён, он просто отбрасывается.
Чтобы пакет был пропущен и обработан, должны выполниться следующие условия:
1) В NAT-таблице должна быть запись для этого внешнего адреса, указанного как адрес отправителя в пакете
И
2) Порт отправителя в пакете должен совпадать с портом для этого белого адреса в записи
И
3) Порт назначения в пакете, совпадает с портом в записи.
ИЛИ
Настроен проброс портов.
Но не нужно рассматривать NAT именно как файрвол — это не более, чем дополнительная его плюшка.
В-третьих, NAT скрывает от посторонних глаз внутреннюю структуру вашей сети — при трассировке маршрута извне вы не увидите ничего далее натирующего устройства.
Минусы
Есть у NAT’а и минусы. Самые ощутимые из них, пожалуй, следующие:
— Некоторые протоколы не могут работать через NAT без костылей. Например, FTP или протоколы туннелирования (несмотря на то, как просто я настроил FTP в лабораторке, в реальной жизни это может создать кучу проблем)
— Другая проблема кроется в том, с одного адреса идёт много запросов на один сервер. Многие были свидетелем этого, когда заходишь на какой-нибудь Rapidshare, а он говорит, что с вашего IP уже было соединение, вы думаете, что “врёт, собака”, а это ваш сосед уже сосет. По этой же причине бывали проблемы c ICQ, когда сервера отказывали в регистрации.
— Не очень актуальная сейчас проблема: нагрузка на процессор и оперативную память. Поскольку объём работы довольно велик по сравнению с простой маршрутизацией (это надо не просто глянуть заголовок IP, надо его снять, TCP-заголовок снять, в таблицу занести, новые заголовки прикрутить) в мелких конторах с этим бывают проблемы.
Я сталкивался с такой ситуацией.
Одно из возможных решений — вынести функцию NAT на отдельный ПК либо на специализированное устройство, например Cisco ASA.
Для больших игроков, у которых маршрутизаторы ворочают по 3-4 BGP full-view, сейчас это не составляет проблем.

Читать еще:  Ip адреса яндекса

Что ещё нужно знать?
— NAT применяется в основном для обеспечения доступа в Интернет хостам с приватными адресами. Но бывает и иное применение — связь между двумя частными сетями с пересекающимися адресными пространствами.
Например, ваша компания покупает себе филиал в Актюбинске. У вас адресация 10.0.0.0-10.1.255.255, а у них 10.1.1.0-10.1.10.255. Диапазоны явно пересекаются, настроить маршрутизацию никак не получится, потому что один и тот же адрес может оказаться и в Актюбинске и у вас в штаб-квартире.
В таком случае на месте стыка настраивается NAT. Поскольку серых адресов у нас не мерено, можно выделить, к примеру, диапазон 10.2.1.0-10.2.10.255 и делать трансляцию один-в-один:
10.1.1.1-10.2.1.1
10.1.1.2-10.2.1.2

10.1.10.255-10.2.10.255

— В больших игрушках для взрослых NAT может быть реализован на отдельной плате (и часто так и есть) и без неё не заработает. А на офисных железках, напротив, есть почти всегда.

— С повсеместным внедрением IPv6 необходимость в NAT’e будет сходить на нет. Уже сейчас большие заказчики начинают интересоваться функционалом NAT64 — это когда у вас выход в мир через IPv4, а внутренняя сеть уже на IPv6

— Разумеется, это лишь поверхностный взгляд на NAT и есть ещё море нюансов, не утонуть в котором вам поможет самообразование.

Технология преобразования сетевых адресов, механизмы PAT и NAT

Технология преобразования сетевых адресов (NAT)

Ещё одним механизмом, позволяющим поддерживать сетевую безопасность , является технология NAT .

NAT ( Network Address Translation – преобразование сетевых адресов) – это механизм в сетях TCP/IP , позволяющий преобразовывать IP-адреса транзитных пакетов. Механизм NAT описан в RFC 1631, RFC 3022.

Преобразование адресов методом NAT может производиться почти любым маршрутизирующим устройством – Интернет -маршрутизатором, сервером доступа, межсетевым экраном. Наиболее популярным является Source NAT (SNAT), суть механизма которого состоит в замене адреса источника (source) при прохождении пакета в одну сторону и обратной замене адреса назначения ( destination ) в ответном пакете. Наряду с адресами источника/назначения могут также заменяться номера портов источника и назначения.

Помимо SNAT, т.е. предоставления пользователям локальной сети с внутренними адресами доступа к сети Интернет , часто применяется также Destination NAT, когда обращения извне транслируются межсетевым экраном на сервер в локальной сети, имеющий внутренний адрес и потому недоступный из внешней сети непосредственно (без NAT ).

На рисунках ниже приведен пример действия механизма NAT .

Пользователь корпоративной сети отправляет запрос в Интернет , который поступает на внутренний интерфейс маршрутизатора, сервер доступа или межсетевого экрана (устройство NAT ).

Устройство NAT получает пакет и делает запись в таблице отслеживания соединений, которая управляет преобразованием адресов.

Затем подменяет адрес источника пакета собственным внешним общедоступным IP-адресом и посылает пакет по месту назначения в Интернет .

Узел назначения получает пакет и передает ответ обратно устройству NAT .

Устройство NAT , в свою очередь , получив этот пакет, отыскивает отправителя исходного пакета в таблице отслеживания соединений, заменяет IP- адрес назначения на соответствующий частный IP- адрес и передает пакет на исходный компьютер . Поскольку устройство NAT посылает пакеты от имени всех внутренних компьютеров, оно изменяет исходный сетевой порт и данная информация хранится в таблице отслеживания соединений.

Существует 3 базовых концепции трансляции адресов:

  • статическая (SAT, Static Network Address Translation),
  • динамическая (DAT, Dynamic Address Translation),
  • маскарадная (NAPT, NAT Overload, PAT).

Статический NAT отображает локальные IP-адреса на конкретные публичные адреса на основании один к одному. Применяется, когда локальный хост должен быть доступен извне с использованием фиксированных адресов.

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

Маскарадный NAT (NAPT, NAT Overload , PAT , маскарадинг) – форма динамического NAT , который отображает несколько частных адресов в единственный публичный IP- адрес , используя различные порты. Известен также как PAT ( Port Address Translation ).

Механизмов взаимодействия внутренней локальной сети с внешней общедоступной сетью может быть несколько – это зависит от конкретной задачи по обеспечению доступа во внешнюю сеть и обратно и прописывается определенными правилами. Определены 4 типа трансляции сетевых адресов:

  • Full Cone (Полный конус)
  • Restricted Cone (Ограниченный конус)
  • Port Restricted Cone (Порт ограниченного конуса)
  • Symmetric (Симметричный)

В первых трех типах NAT для взаимодействия разных IP-адресов внешней сети с адресами из локальной сети используется один и тот же внешний порт . Четвертый тип – симметричный – для каждого адреса и порта использует отдельный внешний порт .

При использовании NAT , работающему по типу Full Cone, внешний порт устройства (маршрутизатора, сервера доступа, межсетевого экрана) открыт для приходящих с любых адресов запросов. Если пользователю из Интернета нужно отправить пакет клиенту, расположенному за NAT ’ом, то ему необходимо знать только внешний порт устройства, через который установлено соединение. Например, компьютер за NAT ’ом с IP-адресом 192.168.0.4 посылает и получает пакеты через порт 8000, которые отображаются на внешний IP- адрес и порт , как 10.1.1.1:12345. Пакеты из внешней сети приходят на устройство с IP-адресом:портом 10.1.1.1:12345 и далее отправляются на клиентский компьютер 192.168.0.4:8000.

Во входящих пакетах проверяется только транспортный протокол; адрес и порт назначения, адрес и порт источника значения не имеют.

При использовании NAT , работающему по типу Restricted Cone, внешний порт устройства (маршрутизатора, сервера доступа, межсетевого экрана) открыт для любого пакета, посланного с клиентского компьютера, в нашем примере: 192.168.0.4:8000. А пакет, пришедший из внешней сети (например, от компьютера 172.16.0.5:4000) на устройство с адресом:портом 10.1.1.1:12345, будет отправлен на компьютер 192.168.0.4:8000 только в том случае, если 192.168.0.4:8000 предварительно посылал запрос на IP- адрес внешнего хоста ( в нашем случае – на компьютер 172.16.0.5:4000). То есть, маршрутизатор будет транслировать входящие пакеты только с определенного адреса источника (в нашем случае компьютер 172.16.0.5:4000), но номер порта источника при этом может быть любым. В противном случае, NAT блокирует пакеты, пришедшие с хостов, на которые 192.168.0.4:8000 не отправлял запроса.

Механизм NAT Port Restricted Cone почти аналогичен механизму NAT Restricted Cone. Только в данном случае NAT блокирует все пакеты, пришедшие с хостов, на которые клиентский компьютер 192.168.0.4:8000 не отправлял запроса по какому-либо IP-адресу и порту. Mаршрутизатор обращает внимание на соответствие номера порта источника и не обращает внимания на адрес источника. В нашем примере маршрутизатор будет транслировать входящие пакеты с любым адресом источника, но порт источника при этом должен быть 4000. Если клиент отправил запросы во внешнюю сеть к нескольким IP-адресам и портам, то они смогут посылать пакеты клиенту на IP- адрес : порт 10.1.1.1:12345.

Symmetric NAT существенно отличается от первых трех механизмов способом отображения внутреннего IP-адреса:порта на внешний адрес : порт . Это отображение зависит от IP-адреса:порта компьютера, которому предназначен посланный запрос . Например, если клиентский компьютер 192.168.0.4:8000 посылает запрос компьютеру №1 (172.16.0.5:4000), то он может быть отображен как 10.1.1.1:12345, в тоже время, если он посылает с того же самого порта (192.168.0.4:8000) на другой IP- адрес , он отображается по-другому (10.1.1.1:12346).

Компьютер №1 (172.16.0.5:4000) может отправить пакет только на 10.1.1.1:12345, а компьютер №2 (169.10.2.8:6000) – только на 10.1.1.1:12346. Если любой из них попытается отправить пакеты на порт , с которого он не получал запроса, NAT заблокирует данные пакеты.

Читать еще:  Глобальный список адресов exchange

Внешний IP- адрес : порт открыт только тогда, когда клиентский компьютер отправляет данные во внешнюю сеть по определенному адресу:порту.

NAT выполняет три важных функции.

  1. Позволяет сэкономить IP-адреса, транслируя несколько внутренних IP-адресов в один внешний публичный IP-адрес (или в несколько, но меньшим количеством, чем внутренних). По такому принципу построено большинство сетей в мире: на небольшой район домашней сети местного провайдера или на офис выделяется 1 публичный (внешний) IP-адрес, за которым работают и получают доступ интерфейсы с частными (внутренними) IP-адресами.
  2. Позволяет предотвратить или ограничить обращение снаружи к внутренним хостам, оставляя возможность обращения из внутренней сети во внешнюю. При инициации соединения изнутри сети создаётся трансляция. Ответные пакеты, поступающие снаружи, соответствуют созданной трансляции и поэтому пропускаются. Если для пакетов, поступающих из внешней сети, соответствующей трансляции не существует (а она может быть созданной при инициации соединения или статической), они не пропускаются.
  3. Позволяет скрыть определённые внутренние сервисы внутренних хостов/серверов. По сути, выполняется та же указанная выше трансляция на определённый порт, но возможно подменить внутренний порт официально зарегистрированной службы (например, 80-й порт TCP (HTTP-сервер) на внешний 54055-й). Тем самым, снаружи, на внешнем IP-адресе после трансляции адресов на сайт (или форум) для осведомлённых посетителей можно будет попасть по адресу http://dlink.ru:54055, но на внутреннем сервере, находящимся за NAT, он будет работать на обычном 80-м порту.

Однако следует упомянуть и о недостатках данной технологии:

NAT — настройка преобразования сетевых адресов

Содержание

Если вы читаете эту статью, то, вероятнее всего, подключены к Интернету и просматриваете страницы WEB сайта. Велика вероятность того, что именно сейчас вы пользуетесь преобразованием сетевых адресов (NAT).

Никто не мог предвидеть такого разрастания Интернета, какое мы наблюдаем сегодня. Хотя точные его размеры неизвестны, оценки показывают, что в Интернете имеется приблизительно 100 миллионов активных узлов и более 350 миллионов пользователей. Темпы роста Интернета таковы, что его размер ежегодно удваивается.

Какое же отношение имеет преобразование сетевых адресов к размерам Интернета? Самое непосредственное! Чтобы данный компьютер мог связываться с другими компьютерами и WEB серверами по Интернету, у него должен быть собственный IP адрес. IP адрес (IP значит протокол Интернета) представляет собой уникальное 32-битовое число, обозначающее место данного компьютера в сети. В принципе, он функционирует, как ваш домашний адрес — это способ точно найти местоположение вашего компьютера и доставить вам информацию.

IP адресация

Когда впервые появилась IP адресация, все считали, что адресов достаточно для того, чтобы удовлетворить любые потребности. Теоретически может быть в общей сложности 4 294 967 296 уникальных адресов (232). Фактическое количество доступных для использования адресов несколько меньше (приблизительно между 3.2 и 3.3 миллиардами), что объясняется особенностями разбиения адресов на классы и тем, что определенные адреса резервируются для многоадресной рассылки, тестирования и других специальных нужд.

В условиях взрывного разрастания Интернета, роста домашних и корпоративных сетей, имеющихся IP адресов попросту не хватает. Очевидное решение — изменить формат адреса, чтобы в наличии было больше адресов. Такая система развертывается (она называется IPv6), однако для ее внедрения потребуется несколько лет, потому что при этом нужно модернизировать всю структуру Интернета.

На выручку приходит система NAT (RFC 1631). Преобразование сетевых адресов позволяет одному устройству, например, маршрутизатору, выполнять функции посредника между Интернетом (или «публичной сетью») и локальной (или «частной») сетью. Это значит, что для представления целой группы компьютеров требуется только один уникальный IP адрес.

Однако недостаток IP адресов — лишь одна из причин, по которым используют NAT. Наша статья посвящена преимуществам и особенностям этой системы. Сначала рассмотрим более подробно, что такое NAT и как эта система работает…

Принцип работы системы NAT

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

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

Система преобразования сетевых адресов

Система преобразования сетевых адресов, разработанная компанией Cisco, используется устройством (брандмауэром, маршрутизатором или компьютером), соединяющим внутреннюю сеть с остальным миром. Преобразование сетевых адресов может иметь разные формы и может работать разными способами:

  • Статическое преобразование сетевых адресов — преобразование незарегистрированного IP адреса в зарегистрированный IP адрес по принципу «один к одному». Особенно полезно, когда требуется доступ к устройству из-за пределов локальной сети.
  • Динамическое преобразование сетевых адресов — преобразование незарегистрированного IP адреса в зарегистрированный IP адрес из группы зарегистрированных IP адресов.
  • Перегрузка — форма динамического преобразования, преобразующая много незарегистрированных IP адресов в один зарегистрированный адрес за счет использования различных портов. Эту процедуру еще называют PAT (Port Address Translation, преобразование портов и адресов), одноадресным NAT или мультиплексированным NAT на уровне портов.
  • Совпадение — когда используемые в вашей сети адреса являются зарегистрированными IP адресами, используемыми в другой сети, маршрутизатор должен вести таблицу преобразования таких адресов, перехватывать их и заменять зарегистрированными уникальными IP адресами. Важно отметить, что маршрутизатор NAT должен преобразовывать «внутренние» адреса в зарегистрированные уникальные адреса, а также «внешние» зарегистрированные адреса в адреса, которые являются уникальными в частной сети. Такая операция может осуществляться с использованием статического преобразования сетевых адресов, либо сервиса доменных имен (DNS) и внедрения динамического преобразования сетевых адресов.

Внутренняя сеть обычно представляет собой локальную сеть (LAN, Local Area Network), которую иногда называют тупиковым доменом (stub domain). Тупиковый домен — это локальная сеть, внутри которой используются IP адреса. Большинство сетевого трафика в тупиковом домене локальное и не выходит за пределы внутренней сети. Тупиковый домен может содержать как зарегистрированные, так и незарегистрированные IP адреса. Разумеется, все компьютеры, которым присвоены незарегистрированные IP адреса, для связи с остальным миром должны пользоваться преобразованием сетевых адресов.

Настройка преобразования сетевых адресов

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

  • Интернет-провайдер закрепляет за вашей компанией ряд IP адресов. Адреса из закрепленной группы являются зарегистрированными IP адресами и называются внутренними глобальными адресами. Незарегистрированные, частные IP адреса разделяются на две группы. Одна небольшая группа (внешние локальные адреса) используется маршрутизаторами NAT. Вторая, значительно большая группа, которую называют внутренними локальными адресами (inside local addresses), используется в тупиковом домене. Внешние локальные адреса используются для формирования уникальных IP адресов устройств, называемых внешними глобальными адресами, для выхода в публичную сеть.
  • Большинство компьютеров тупикового домена обменивается информацией друг с другом, используя внутренние локальные адреса.
  • Некоторые компьютеры тупикового домена часто связываются с устройствами за пределами локальной сети. Эти компьютеры имеют внутренние глобальные адреса, которые не требуют преобразования.
  • Когда компьютеру тупикового домена с внутренним локальным адресом нужно связаться с компьютером за пределами локальной сети, пакет направляется к одному из маршрутизаторов NAT.
  • Маршрутизатор NAT сверяется с таблицей маршрутизации для выяснения, есть ли запись для адреса назначения. Если такая запись имеется, маршрутизатор NAT преобразует пакет и создает для него запись в таблице трансляции адресов. Если адреса назначения в таблице маршрутизации нет, пакет игнорируется.
  • Используя внутренний глобальный адрес, маршрутизатор отправляет пакет к пункту назначения.
  • Компьютер в публичной сети отправляет пакет в частную сеть. Адресом отправителя пакета является внешний глобальный адрес. Адресом назначения является внутренний глобальный адрес.
  • Маршрутизатор NAT сверяется с таблицей трансляции адресов и определяет, что здесь имеется адрес назначения, соотносящийся с компьютером в тупиковом домене.
  • Маршрутизатор NAT преобразует внутренний глобальный адрес пакета во внутренний локальный адрес и отправляет пакет к соответствующему компьютеру.

Перегрузка NAT

Перегрузка NAT использует функцию пакета протоколов TCP/IP, мультиплексирование, позволяющую компьютеру создавать с одним или несколькими удаленными компьютерами несколько одновременных соединений с применением различных портов TCP или UDP. Пакет IP содержит заголовок, в котором имеется следующая информация:

  • Адрес источника — IP адрес компьютера-отправителя, например, 201.3.83.132
  • Порт отправителя — номер порта TCP или UDP, назначенный компьютером-отправителем для данного пакета, например, порт 1080
  • Адрес получателя — IP адрес компьютера-получателя, например, 145.51.18.223
  • Порт назначения — номер порта TCP или UDP, который компьютер-отправитель требует открыть у компьютера-получателя, например, порт 3021.

Адреса указывают две машины на каждом конце, а номера портов обеспечивают уникальный идентификатор для соединения между двумя компьютерами. Комбинацией этих четырех чисел определяется одно соединение TCP/IP. В каждом номере порта используется 16 бит, а это значит, что возможно 65 536 (216) значений. На практике, с учетом того, что разные производители сопоставляют порты немного по-разному, можно ожидать, что доступными будут приблизительно 4 000 портов.

Дополнительная информация по теме

NAT администрирование внутренней сети и динамическое преобразование IP адресов, которые не выделены в компании

Ссылка на основную публикацию
Adblock
detector