Стремительный рост сети Интернет, в скором времени после ее появления, принес проблема нехватки адресов. Сейчас это частично решается внедрением нового протокола IPv6, который обеспечит в разы больше доступных адресов для сетевых узлов. Но одним обновлением протокола не обойтись. Была придумана технология NAT, которая позволяла узлам из частной сети, подключаться к Интернет, используя всего один внешний ip адрес. Таким образом масштабирование частных локальных сетей стало намного проще, при попытке подключения их к Интернет. Сейчас мы подробно разберем технологию NAT.
Оглавление:
- Как работает NAT
- Терминология
- Статическая трансляция NAT
- Динамическая NAT
- PAT - трансляция на основе портов
- Заключение
- Наши рекомендации
- Стоит почитать
Как работает NAT
Давайте для примера представим, что у нас есть локальная сеть, включающая в себя 3 рабочих станции. Мы решили подключить Интернет. Провайдер выделил нам 1 внешний IP адрес, который мы должны прописать в настройках нашего маршрутизатора. В итоге мы получим следующую картинку.
Наши три компьютера будут объединены в локальную сеть с адресацией "192.168.."
Вот так это будет выглядеть:
- Маршрутизатор - 192.168.1.1
- Компьютер 1 - 192.168.1.2
- Компьютер 2 - 192.168.1.3
- Компьютер 3 - 192.168.1.4
Если вы уже знакомы с основами локальных сетей, то должны знать, что в настройках сетевых карт, в поле "Шлюз по умолчанию", для наших компьютеров должно стоять значение 192.168.1.1. Таким образом, все запросы, которые не принадлежат нашей локальной сети, мы должны отправлять на наш маршрутизатор. Проще говоря, все запросы в Интернет, будут перенаправлены на него.
Как мы уже отметили, внешний ip у нас всего один. Вот здесь и начинается самое интересное. Как три компьютера с разными ip-адресами, смогут выходить в интернет, при наличии одного внешнего адреса?
Тут на помощь и придет технология NAT.
Как вы видите, внутри сети все узлы имеют адреса в одной подсети. Это позволяет им реализовать передачу данных. В том случае, если запрос будет направлен в интернет, он будет передан на внутренний интерфейс маршрутизатора. Затем используя технологию NAT, данные будут слегка изменены. Им будет назначен внешний IP адрес. И после этого пакеты уйдут в сеть.
Вам пригодится:
Наверняка вы уже понимаете принцип работы технологии трансляции сетевых адресов. С ее помощью, всем внутренним адресам сети назначается единый внешний адрес. Это позволяет при наличии единственного внешнего адреса, выходить в сеть нескольким компьютерам одновременно.
На что здесь следует обратить внимание. Во первых, не обязательно должен быть всего один внешний адрес. Их может быть несколько.
Во вторых, использование технологии NAT накладывает некоторые ограничения, связанные с блокировкой по IP. Это проявляется при попытке доступа к ресурсу, на котором подключаться можно только одному хосту с одного ip. В том случае, если кто-то из вашей сети уже подключен к нему, вам не удастся установить соединение.
Терминология
Чтобы понимать принцип трансляции сетевых адресов, давайте разберемся с основными терминами.
Статическая трансляция NAT
Это первый тип реализации данной технологии.
При этом, каждый внутренний адрес маршрутизатор переделывает во внешний, ориентируясь на записях в таблице маршрутизации. Соответствия должны быть настроены заранее, во время конфигурирования маршрутизатора.
Настройка на маршрутизаторах Cisco
- Заходим в настройки интерфейса, который будет находиться во внутренней части сети, и применяем команду ip nat inside
- Далее для внешнего интерфейса команда ip nat outside
- Далее в режиме глобальной конфигурации нам нужно вручную задать соответствие для адресов. Используем команду ip nat inside source static inside-local inside-global. Где "inside-local" - внутренний локальный адрес, "inside-global" - внутренний глобальный
Динамическая NAT
Данная реализация схожа со статической трансляцией. Разница в том, что процесс преобразования адресов происходит в динамическом режиме, на основе настроенных ранее параметров. Теперь нет статической таблицы маршрутизации. В таблицу заносятся соответствия, которые активируются в момент передачи пакетов. В том случае, если все настроенные параметры соответствуют.
Для настройки вам нужно задать пул внешних адресов, которые будут использовать для транслирования. А также задать пул внутренних адресов, создав для них новый список контроля доступа ACL.
Настройка
- Задаем ip nat inside для внутренних интерфейсов
- Ip nat outside для внешних
- Создаем ACL со списком внутренних адресов, которые должны участвовать в трансляции
- Создаем пул внешних адресов. В режиме глобального конфигурирования применяем команду ip nat pool name first-address last-address mask subnet mask. Где "name" - имя для пула, "first-address" начальный адрес, "last-address" - последний адрес, "subnet mask" - маска подсети
- Включаем динамическую трансляцию адресов NAT. ip nat source list acl-number pool pool-name. Где "acl-number" - созданный ранее список контроля доступа, "pool-name" - пул адресов.
PAT - трансляция на основе портов
В любом случае, количество доступных внешних адресов ограничено. Как же еще более масштабировать большую локальную сеть, чтобы получить возможность выхода в интернет всех ее узлов? Уже ясно, что и статическая и динамическая NAT, потребует для этого большое количество внешних адресов. Но этот вариант нам не подходит.
Здесь на помощь приходит третья реализация NAT - трансляция на основе портов PAT. Суть ее в том, что в дополнение к связке "адрес - адрес", добавляется связка "адрес - порт". Таким образом, маршрутизатор может активировать соединение не только с использованием IP-адреса, но и с использованием уникального номера порта.
С учетом того, что для нумерации портов используется 16-бит, то одновременно может быть активно более 65 тысяч соединений.
Настройка
Весь процесс настройки аналогичен конфигурированию динамической маршрутизации. В том случае, если мы хотим включить PAT, нам нужно добавить ключевое слово overload в команду настройки. В итоге она будет выглядеть вот так:
ip nat source list acl-number interface interface name/ number overload
Видео к статье:
Заключение
Использование технологии NAT позволяет реализовать доступ в Интернет, для любой локальной сети. При этот вам понадобится только один внешний IP-адрес. Это наиболее часто используемый вариант - зачастую провайдеры предлагают именно такие тарифы для домашних пользователей, или небольших офисов.
Наши рекомендации
Ошибка при скачивании файлов может возникать из-за неверной настройки маршрутизатора.
Раздача интернет через Bluetooth возможна с домашнего ПК.
Для соединения на канальном уровне используется mac адрес.
Стоит почитать
Зачем искать информацию на других сайтах, если все собрано у нас?