Nat в роутере и на сервере – что это такое и где используется

У этого термина существуют и другие значения, см. NAT (значения).

NAT (от англ. Network Address Translation — «преобразование сетевых адресов») — это механизм в сетях TCP/IP, позволяющий преобразовывать IP-адреса транзитных пакетов. Также имеет названия IP Masquerading, Network Masquerading и Native Address Translation.

Блок: 1/11 | Кол-во символов: 325
Источник: https://ru.wikipedia.org/wiki/NAT

Общее определение

NAT (Network Address Translation) — это такой механизм, который позволяет роутеру определять какие сервисы находятся за роутером и должны быть доступны из интернета, чтобы пользователи оттуда могли этими сервисами пользоваться (определение из вики я брать не стал, т.к. оно заумное и не всем понятное).

NAT присутствует во всех роутерах и серверных операционках в том или ином виде. В роутерах это обычно называется port forwarding, в линуксах iptables, на виндовых серверах  — в специальной оснастке. А теперь давайте поговорим о различных типах NAT.

Блок: 2/12 | Кол-во символов: 570
Источник: https://sonikelf.ru/vse-chto-vy-xoteli-znat-o-nat-no-boyalis-sprosit-nat-pat-snat-dnat/

Что такое NAT


NAT — Network Address Translation, трансляция сетевых адресов. Оригинал RFC 1631, RFC 3022. Перевод RFC 3022.


Ваш компьютер может быть подключен к Интернету:

  • Напрямую — обычно при подключении непосредственно к модему (DSL, кабельному или обычному аналоговому).
  • Через NAT — тогда ваш компьютер имеет локальный  IP-адрес, из Интернета недоступный.

Здесь NAT — это процесс трансляции локальных адресов во внешние. Благодаря этому процессу ваш компьютер получает доступ в Интернет.

NAT автоматически делает порты вашей машины недоступными из Интернета для прямого входящего соединения.

Блок: 2/5 | Кол-во символов: 602
Источник: https://ru.wikibooks.org/wiki/%D0%A1%D0%B5%D1%82%D0%B5%D0%B2%D0%BE%D0%B9_%D0%BF%D0%BE%D1%80%D1%82/%D0%A7%D1%82%D0%BE_%D1%82%D0%B0%D0%BA%D0%BE%D0%B5_NAT_%D0%B8_%D0%BA%D0%B0%D0%BA_%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B8%D1%82%D1%8C,_%D0%BD%D0%B0%D1%85%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D1%81%D1%8C_%D0%BB%D0%B8_%D0%B2%D1%8B_%D0%B7%D0%B0_NAT

Тип первый, Static NAT

Static NAT не требуется для дома, а нужен в том случае, если провайдер выделил несколько IP адресов (внешние или «белые» адреса) вашей компании, и вам нужно, чтобы некоторые серверы всегда были видны из интернета, при этом их адреса бы не менялись.

Т.е. происходит преобразование адресов 1-1 (один внешний IP назначается одному внутреннему серверу). При такой настройке ваши серверы всегда будут доступны из интернета на любом порту.

Кстати говоря о портах, попробую несколько углубиться в эту тему, но не слишком сильно. Дело в том, что любой сервис, любая программа обращается к компьютеру, серверу, роутеру или сервису (будь то почта, веб-страничка или любой другой сервис) не только по IP адресу, но и по порту. Например, чтобы вам открыть страничку google.com со своего компьютера, вам надо ввести две вещи: IP адрес (DNS имя) и.. порт.

Но постойте, возмутитесь вы, ведь никакого порта вы не вводите и все отлично открывается!

Блок: 3/12 | Кол-во символов: 955
Источник: https://sonikelf.ru/vse-chto-vy-xoteli-znat-o-nat-no-boyalis-sprosit-nat-pat-snat-dnat/

Так в чем же дело в статике?

Дело в том, что, нет, в DNS записи порт не прячется, как некоторые могли бы подумать, этот самый порт ваш браузер сам подставляет в адресную строку вместо вас. Вы можете легко это проверить. Введите в адресной строке google.com:80 и увидите, что страничка гугла открылась, но волшебные «:80» внезапно исчезли.

Хотите знать и уметь, больше и сами?

Мы предлагаем Вам обучение по направлениям: компьютеры, программы, администрирование, сервера, сети, сайтостроение, SEO и другое. Узнайте подробности сейчас!

Записаться

Так вот, чтобы пользователям из интернета вас видеть и иметь возможность к вам подключаться, они должны знать две вещи: ваш IP адрес и ваш порт, на котором расположен ваш сервис.

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

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

Блок: 4/12 | Кол-во символов: 1158
Источник: https://sonikelf.ru/vse-chto-vy-xoteli-znat-o-nat-no-boyalis-sprosit-nat-pat-snat-dnat/

Чей это NAT


Если вы за NAT, то следующим шагом надо определить, где именно находится NAT-устройство.

Провайдеры

Такую ситуацию описывают разными словами:

  • провайдер предоставляет вам доступ в Интернет через NAT
  • у вас внутренний («серый») IP-адрес
  • провайдер не даёт вам внешний IP-адрес
  • вы подключены через локальную сеть провайдера

Проще всего позвонить провайдеру и узнать. Или спросить у соседей с таким же подключением. Обычно такой провайдер предоставляет дополнительную услугу — внешний («белый») IP-адрес за отдельную плату.

Без внешнего IP-адреса сделать себе доступный порт нельзя.

то в принципе ситуация UPnP, вдруг  маршрутизатор оставил его разрешённым 

Блок: 4/5 | Кол-во символов: 666
Источник: https://ru.wikibooks.org/wiki/%D0%A1%D0%B5%D1%82%D0%B5%D0%B2%D0%BE%D0%B9_%D0%BF%D0%BE%D1%80%D1%82/%D0%A7%D1%82%D0%BE_%D1%82%D0%B0%D0%BA%D0%BE%D0%B5_NAT_%D0%B8_%D0%BA%D0%B0%D0%BA_%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B8%D1%82%D1%8C,_%D0%BD%D0%B0%D1%85%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D1%81%D1%8C_%D0%BB%D0%B8_%D0%B2%D1%8B_%D0%B7%D0%B0_NAT

Схема работы статического NAT

Попробую рассказать о схеме работы статического NAT.

Например, провайдер выдал вам четыре IP адреса .11, .12, .13, .14, а у вас есть три сервера и роутер. Вы назначаете роутеру, например, первый адрес из этого диапазона (.11), а остальные делите между серверами (сервер 1 — .12, сервер 2 — .13, сервер 3 — .14).

Чтобы пользователи из интернета могли подключаться на эти серверы, им достаточно будет ввести внешние IP адреса серверов. Например, когда пользователь подключается на адрес .12, то роутер перенаправляет его на сервер 1 и пользователь уже общается с сервером, хотя не знает что реальный адрес сервера на самом деле другой (192.168.1.2). Такая запись в NAT таблице роутера будет храниться всегда.

Преимущества данного способа:

  • реальные адреса серверов будут скрыты;
  • Ваши серверы всегда будут видны в интернете.

Недостатки:

  • Злоумышленники могут на них попытаться пробиться или осуществлять какие-нибудь атаки;
  • Требуется несколько внешних адресов, что может быть затратно.

Блок: 5/12 | Кол-во символов: 1012
Источник: https://sonikelf.ru/vse-chto-vy-xoteli-znat-o-nat-no-boyalis-sprosit-nat-pat-snat-dnat/

Дополнительно

Ваш NAT

В этом случае ваш внешний IP-адрес «принадлежит» вам лично, и вы практически всегда можете ваше NAT-устройство настроить и получить доступный порт.

В качестве NAT может выступать компьютер, подключённый к Интернету напрямую; тогда ваш второй компьютер (для которого вам нужно открыть порт) получает доступ к Интернет через него с помощью встроенного в Windows ICS или сторонней программы, например, WinRoute. Про настройку порта в ICS смотрите тут или тут (обе ссылки на английском).

Но чаще это обычный домашний маршрутизатор, на настройке которого и фокусируется далее это руководство:

Маршрутизатор и доступ к его настройкам

Двойной NAT

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

Блок: 5/5 | Кол-во символов: 1048
Источник: https://ru.wikibooks.org/wiki/%D0%A1%D0%B5%D1%82%D0%B5%D0%B2%D0%BE%D0%B9_%D0%BF%D0%BE%D1%80%D1%82/%D0%A7%D1%82%D0%BE_%D1%82%D0%B0%D0%BA%D0%BE%D0%B5_NAT_%D0%B8_%D0%BA%D0%B0%D0%BA_%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B8%D1%82%D1%8C,_%D0%BD%D0%B0%D1%85%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D1%81%D1%8C_%D0%BB%D0%B8_%D0%B2%D1%8B_%D0%B7%D0%B0_NAT

Тип второй, Dynamic NAT


Динамический NAT отличается от статического немногим. Он используется почти также, но с тем лишь исключением, что ваши сервера не видны из интернета, но самим серверам этот интернет нужен. Суть его в том, что вам также выдаются несколько внешних IP адресов от провайдера, после чего роутер сам распределяет адреса между «нуждающимися».

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

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

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

Блок: 6/12 | Кол-во символов: 988
Источник: https://sonikelf.ru/vse-chto-vy-xoteli-znat-o-nat-no-boyalis-sprosit-nat-pat-snat-dnat/

Применение:IP сеть через единственный IP-адрес

• Экономическая выгода вследствие приобретения единственного IP-подключения, а не IP-сети.

• Сокрытие от внешнего наблюдателя структуры внутренней IP-сети.

• Организация системы с распределенной нагрузкой.

• При общем доступе через NAT прозрачно открывается доступ к внутренней структуре с защитой без использования межсетевого экрана и т. п.

• Через NAT корректно работают многие сетевые протоколы. Конструктивные реализации (общий доступ — это и есть подключение NAT) есть аппаратная реализация NAT (интегрированы межсетевые экраны).

Блок: 6/11 | Кол-во символов: 584
Источник: https://ru.wikipedia.org/wiki/NAT

Тип третий, Port Address Translation (PAT), также известный как NAT Overload или NAT Masquerading

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

Например, нам нужно, чтобы пользователи из интернета могли подключаться к торрент-клиенту на ПК 1 и 2, к серверу Teamspeak на сервере 1, серверу FTP на сервере 2, веб-сайту на сервере 3 (по протоколу http и https), плюс ко всему на ПК 1 и 2 нужен будет удаленный доступ. Теперь затронем немного тему внутренних и внешних портов (да, такое тоже есть).

Внутренний порт — это порт, который использует программа на том компьютере или сервере, на котором находится. Внешний порт — это порт, который вы хотите открыть на роутере, чтобы на него подключались пользователи. Часто внутренний и внешний порты совпадают, но далеко не всегда.

Блок: 8/12 | Кол-во символов: 960
Источник: https://sonikelf.ru/vse-chto-vy-xoteli-znat-o-nat-no-boyalis-sprosit-nat-pat-snat-dnat/

DHCP-сервер


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

Блок: 8/10 | Кол-во символов: 440
Источник: https://compress.ru/article.aspx?id=12186

Программная реализация NAT

При наличии уже существующего сервера под управлением серверной ОС возможно организовать трансляцию адресов без необходимости закупки дополнительных, аппаратных устройств. Как правило для программной реализации NAT требуется наличие по крайней мере двух сетевых адаптеров в сервере (возможны варианты с одним, но при наличии trunk-VLAN).

Все существующие и использующиеся серверные ОС поддерживают простейшую трансляцию адресов.

С точки зрения отказоустойчивости, гибкости и производительности, используются операционные системы семейства UNIX (большинство GNU/Linux, *BSD-системы, а также OpenSolaris и др.). Во многих из них NAT доступен «из коробки», в других возможна реализация за счёт добавления модулей в сочетании с межсетевыми экранами с функциями трансляции адресов (IPFW, IPtables и др.). Также, NAT работает «из коробки» в семействе операционных систем Windows Server.

Блок: 9/11 | Кол-во символов: 909
Источник: https://ru.wikipedia.org/wiki/NAT

Виртуальные сети VPN

ольшинство маршрутизаторов в той или иной степени поддерживают возможность создания виртуальных частных сетей (Virtual Private Networking, VPN), что позволяет организовывать защищенное соединение с локальной (внутренней) сетью извне.

Для создания VPN-сетей, как правило, используются три протокола: сквозной туннельный протокол (Point-to-Point Tunneling Protocol, PPTP), протокол IPsec и туннельный протокол второго уровня (Layer 2 Tunneling Protocol, L2TP).

PPTP

Сквозной туннельный протокол, созданный корпорацией Microsoft, никак не меняет протокол PPP, но предоставляет для него новое транспортное средство.

PPTP определяет протокол управления вызовами, который позволяет серверу управлять удаленным коммутируемым доступом через телефонные сети общего пользования (PSTN) или цифровые каналы (ISDN) либо инициализировать исходящие коммутируемые соединения. PPTP использует механизм общей маршрутной инкапсуляции (GRE) для передачи пакетов PPP, обеспечивая при этом контроль потоков и сетевых заторов. Безопасность данных в PPTP может обеспечиваться при помощи протокола IPsec.

L2TP

Туннельный протокол второго уровня — это своего рода объединение протокола PPTP и протокола эстафетной передачи на втором уровне (Layer 2 Forwarding, L2F), разработанного компанией Cisco. Протокол L2F обеспечивает туннелирование протоколов канального уровня с использованием протоколов более высокого уровня, например IP.

Протоколы L2F и PPTP имеют сходную функциональность, поэтому компании Cisco и Microsoft решили совместно разработать единый стандартный протокол, который и получил название туннельного протокола второго уровня.

IPsec

IPsec — это протокол защиты сетевого трафика путем использования алгоритмов шифрования на IP-уровне. Данный протокол предусматривает два режима функционирования: транспортный и туннельный. В транспортном режиме протокол IPsec применяется к содержимому IP-пакетов, при этом их исходные заголовки остаются видимыми. Туннельный режим инкапсулирует исходные IP-пакеты в IPsec-пакеты с новыми заголовками IP и позволяет эффективно скрывать исходные IP-пакеты.

Режимы функционирования VPN

Существует два режима функционирования VPN: сквозной (Pass Through) и активный. В первом случае маршрутизатор без вмешательства передает входящий и исходящий VPN-трафики, пропуская через себя инкапсулированные пакеты данных без просмотра их содержимого. Если маршрутизатор поддерживает режим VPN Pass Through, то необходимо только настроить соединение на VPN-клиентах (компьютеры во внутренней сети) таким образом, чтобы клиенты из внутренней сети могли свободно подключаться к серверу VPN снаружи. Однако при совместном использовании NAT- и VPN-туннелей могут возникать проблемы.

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

Блок: 9/10 | Кол-во символов: 3021
Источник: https://compress.ru/article.aspx?id=12186

Немного деталей про порты

Суть:

  1. Для сервера Teamspeak (TS) я порт не менял, т.к. такой сервер у нас один и пользователям не придется вообще вводить его порт. Они просто вбивают у себя адрес .12 и попадают на наш сервер TS, удобно и практично;
  2. Для FTP сервера я порт поменял, т.к., строго говоря, FTP-сервер не должен быть доступен по стандартному порту, на него могут лазить недобросовестные люди. А так вы говорите тем, кому надо, чтобы подключались на .12:21000 и они попадут на ваш FTP-сервер;
  3. Для Веб-сервера я http порт не менял опять же из-за удобства, чтобы пользователям не надо было вводить адрес вместе с портом в адресной строке. Они просто вводят .12 и подключаются на ваш Веб-сервер. Порт HTTPS же я поменял для наглядности. Пользователям, чтобы попасть на ваш Веб-сервер по защищенному каналу, придется вводить в адресной строке адрес .12:444;
  4. С торрентами в общем-то все просто, какой порт настроен в самой программе, такой и настраивается на роутере;
  5. Порт игрового сервера, где в качестве примера я взял обычный стимовский игровой сервер (Dedicated Server), я также не менял, а оставил стандартный;
  6. А вот с RDP ситуация интересная. Дело в том, что на каждом компьютере служба RDP работает по порту 3389 и это никак не поменять без своего RDP сервера (такие тоже бывают). Поэтому, чтобы иметь возможность подключаться на ПК 1 и 2 я задал на роутере порты 33891 и соотв. 33892, ибо так проще помнить где какой используется. Таким образом, введя в RDP клиенте адрес .12:33891 мы попадем на ПК 1, а введя .12:33892 мы соотв. попадем на ПК 2.

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

Блок: 10/12 | Кол-во символов: 1796
Источник: https://sonikelf.ru/vse-chto-vy-xoteli-znat-o-nat-no-boyalis-sprosit-nat-pat-snat-dnat/

Заключение

данной статье мы рассмотрели только самые распространенные функции современных маршрутизаторов класса SOHO. Многие модели маршрутизаторов поддерживают и другие функции, которые, несмотря на различные названия, имеют одни и те же назначения. К примеру, это могут быть возможность блокирования определенных URL, запрет отклика на сканирование командой Рing, перевод маршрутизатора в режим Stealth, при котором он становится невидимым из внешней сети, и многое другое.

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

КомпьютерПресс 10’2004


Блок: 10/10 | Кол-во символов: 822
Источник: https://compress.ru/article.aspx?id=12186

Преимущества и недостатки третьего варианта

Теоретически, вы можете назначить одному IP адресу до 131072 (2 * 2^16) приложений. Почему я говорю «приложений», а не компьютеров/серверов?

Потому что один комп или сервер, как вы уже заметили выше,  может использовать несколько различных приложений (при этом одно приложение может использовать несколько портов), при этом каждый порт может быть двух типов: TCP и UDP.

Углубляться в это в рамках этой статьи я не буду, в этом нет необходимости.

Для любой программы есть хелп, в котором написано какие порты ей нужны для работы, если их нельзя сменить. Многие приложения позволяют вам самим назначить какие порты какого типа использовать, таким образом упрощая вашу задачу. Для остальных же есть такой замечательный ресурс, как portforward.com.

  • Преимущество такого метода в том, что вы открываете доступ из интернета именно для определенной программы на определенном компьютере/сервере, все остальные порты компьютера/сервера остаются закрытыми;
  • Недостаток в том, что требуется все порты открывать вручную (иногда программы делают это за вас при помощи технологии UPnP, но такое бывает не всегда).

Блок: 11/12 | Кол-во символов: 1142
Источник: https://sonikelf.ru/vse-chto-vy-xoteli-znat-o-nat-no-boyalis-sprosit-nat-pat-snat-dnat/

Послесловие

Получилось несколько сумбурно, да и тема довольно непростая, но надеюсь теперь при слове NAT вас не будет бросать в дрожь 🙂

Как и всегда, если есть какие-то вопросы, мысли, дополнения и всё такое прочее, то добро пожаловать в к этой записи.

PS: За существование статьи отдельное спасибо другу проекта и члену нашей команды под ником “barn4k“

Блок: 12/12 | Кол-во символов: 407
Источник: https://sonikelf.ru/vse-chto-vy-xoteli-znat-o-nat-no-boyalis-sprosit-nat-pat-snat-dnat/

Кол-во блоков: 27 | Общее кол-во символов: 20236
Количество использованных доноров: 4
Информация по каждому донору:

  1. https://sonikelf.ru/vse-chto-vy-xoteli-znat-o-nat-no-boyalis-sprosit-nat-pat-snat-dnat/: использовано 9 блоков из 12, кол-во символов 8988 (44%)
  2. https://ru.wikipedia.org/wiki/NAT: использовано 6 блоков из 11, кол-во символов 4251 (21%)
  3. https://compress.ru/article.aspx?id=12186: использовано 4 блоков из 10, кол-во символов 7750 (38%)
  4. https://ru.wikibooks.org/wiki/%D0%A1%D0%B5%D1%82%D0%B5%D0%B2%D0%BE%D0%B9_%D0%BF%D0%BE%D1%80%D1%82/%D0%A7%D1%82%D0%BE_%D1%82%D0%B0%D0%BA%D0%BE%D0%B5_NAT_%D0%B8_%D0%BA%D0%B0%D0%BA_%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B8%D1%82%D1%8C,_%D0%BD%D0%B0%D1%85%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D1%81%D1%8C_%D0%BB%D0%B8_%D0%B2%D1%8B_%D0%B7%D0%B0_NAT: использовано 3 блоков из 5, кол-во символов 2316 (11%)


Поделитесь в соц.сетях:

Оцените статью:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Добавить комментарий

Ваш e-mail не будет опубликован.