Функция nat в роутере

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

Суть:

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

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

Функциональность

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

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

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

Преимущества

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

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

Установление соединения из локальной сети к серверу в Интернет

  • Как правило, роутер пользователя не подключен напрямую к Интернет, а находится во внутренней сети интернет-провайдера. То есть клиент находится за двумя NAT.
    Например так:

    То есть выполняется двойное преобразование сетевых адресов.

  • Существуют разные типы NAT:
    • Полный конус (Full cone NAT).
      • После того как в таблице преобразования адресов создана запись (внутренний адрес: внутренний порт) (внешний адрес: внешний порт), все пакеты от отправителя (внутренний адрес: внутренний порт) передаются через (внешний адрес: внешний порт) на любой адрес получателя.
      • Любой внешний сервер может послать пакеты на (внутренний адрес: внутренний порт), отправляя пакеты на (внешний адрес: внешний порт).

      Например, клиент C отправляет пакеты серверам A и D используя один и тот же внешний адрес 203.0.113.5:52050. Если сервер E отправит пакет на этот адрес 203.0.113.5:52050, то роутер передаст его клиенту C.

    • Address-restricted cone NAT.
      • После того как в таблице преобразования адресов создана запись (внутренний адрес: внутренний порт) (внешний адрес: внешний порт), все пакеты от отправителя (внутренний адрес: внутренний порт) передаются через (внешний адрес: внешний порт) на любой адрес получателя.
      • Внешний сервер (адрес сервера: порт сервера) может послать пакеты на (внутренний адрес: внутренний порт), отправляя пакеты на (внешний адрес: внешний порт), только если (внутренний адрес: внутренний порт) ранее посылал пакеты на (адрес сервера: любой порт).

      Например, клиент C отправляет пакеты серверам A и D используя один и тот же внешний адрес 203.0.113.5:52050. Сервер D может послать пакет клиенту C через адрес роутера 203.0.113.5:52050 с любого своего порта. Но роутер не пропустит пакеты от сервера E.

    • Port-restricted cone NAT.
      • После того как в таблице преобразования адресов создана запись (внутренний адрес: внутренний порт) (внешний адрес: внешний порт), все пакеты от отправителя (внутренний адрес: внутренний порт) передаются через (внешний адрес: внешний порт) на любой адрес получателя.
      • Внешний сервер (адрес сервера: порт сервера) может послать пакеты на (внутренний адрес: внутренний порт), отправляя пакеты на (внешний адрес: внешний порт), только если (внутренний адрес: внутренний порт) ранее посылал пакеты на (адрес сервера: порт сервера).

      Например, клиент C отправляет пакеты серверам A и D используя один и тот же внешний адрес 203.0.113.5:52050. Роутер не пропустит пакеты ни от сервера E ни с другого порта сервера D.

    • Симметричный NAT (Symmetric NAT).
      • Если один и тот же внутренний отправитель (внутренний адрес: внутренний порт) отправляет пакеты к разным получателям (адрес сервера: порт сервера), то для каждого адреса получателя будет выделен отдельный внешний порт, и будет использоваться отдельная запись в таблице преобразования адресов.
      • Только внешний сервер (адрес сервера: порт сервера), который получил пакет от внутреннего отправителя (внутренний адрес: внутренний порт), может послать пакет обратно.

      Например, клиент C отправляет пакеты серверу A используя внешний адрес 203.0.113.5:52050, а серверу D используя другой внешний адрес 203.0.113.5:52051. Роутер не пропустит пакеты ни от сервера E ни с другого порта сервера D.

  • Если к игровому серверу подключилось несколько клиентов, то для игры типа «равный к равному» (peer-to-peer) нужно установить соединение напрямую между каждой парой клиентов минуя сервер.
    Например, к серверу A подключились два клиента C и E:

    • Клиент C имеет внутренний адрес 192.168.1.5:50150 и внешний адрес 203.0.113.5:52050.
    • Клиент E имеет внутренний адрес 192.168.2.5:50250 и внешний адрес 203.0.113.6:52060.
    • Сервер должен сообщить каждому клиенту внешний адрес другого клиента.
    • Обычно в роутерах используется NAT типа «Port-restricted cone NAT». Роутер пропускает клиенту пакеты только от того отправителя (IP-адрес и порт), которому клиент посылал пакеты ранее. И если клиент C пошлёт пакет клиенту E, то роутер D не пропустит этот пакет.
    • Но если на роутере используется «Симметричный NAT» (Symmetric NAT), то для каждого получателя будет выделен новый внешний порт. И, как правило, нет возможности узнать какой именно порт выделил роутер. Поэтому если хотя бы у одного из роутеров используется «Симметричный NAT» (Symmetric NAT), то установить соединение между клиентами будет невозможно.
  • Клиенты могут находится в разных локальных сетях, но иметь доступ к Интернет через общего интернет-провайдера.

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

Как определить, находится ли компьютер за NAT

Проверить, скрыт ли компьютер с помощью режима NAT или транслирует в сеть свой реальный IP, можно с помощью простого способа.

Выполняется он аналогично в любой версии Виндовс – запустить командную строку (нажать кнопку «Пуск» и в строке «Выполнить» ввести команду cmd). В открывшемся интерфейсе следует вручную ввести команду ipconfig. На экран выведутся такие данные:

  • IP – реальный адрес, присвоенный компьютеру;
  • Subnet mask – маска подсети;
  • Gateway – адрес шлюза.

Согласно принятой спецификации, исключительно внутри локалки всегда используются следующие диапазоны:

  • 1.0.0.0 – 10.255.255.255;
  • 2.Х.0.0 – 172.Х.255.255 (Х в диапазоне от 16 до 32);
  • 168.0.0.0 – 192.168.255.255;
  • 254.0.0. – 169.254.255.255.

Если адрес компьютера попадает в один из этих диапазонов, то это означает, что устройство находится в локальной сети за НАТом. Самый распространенный пример – адрес 192.168.1.Х – именно такой диапазон используется для роутера и подсети большинством производителей.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector