ShareIT — поделись знаниями!
Содержание
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- Настройка Site-To-Site IPSec VPN на Cisco
- Настройка Router-on-a-Stick на Cisco
- Обновляем Cisco IOS
- Поднимаем SNMP на L2/L3 устройствах Cisco
- Настройка NAT на Cisco
Полезно
Узнать IP — адрес компьютера в интернете
Онлайн генератор устойчивых паролей
Онлайн калькулятор подсетей
Калькулятор инсталляции IP — АТС Asterisk
Руководство администратора FreePBX на русском языке
Руководство администратора Cisco UCM/CME на русском языке
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Популярное и похожее
Настройка Site-To-Site IPSec VPN на Cisco
Настройка Router-on-a-Stick на Cisco
Обновляем Cisco IOS
Поднимаем SNMP на L2/L3 устройствах Cisco
Настройка NAT на Cisco
Угол обзора 360: NAT
15 минут чтения
Мы рассказали про принципы работы протокола NAT (Network Address Translation) и теперь настало время рассмотреть его настройку на оборудовании Cisco.
Настройка статического NAT (Static NAT)
Напомним, что статический NAT представляет собой сопоставление внутреннего и внешнего адреса один к одному. Он позволяет внешним устройствам инициировать подключения к внутренним с использованием статически назначенного общего адреса.
Например, внутренний веб-сервер может быть сопоставлен с определенным внутренним глобальным адресом, чтобы он был доступен из внешних сетей.
На схеме показана внутренняя сеть, содержащая веб-сервер с частным адресом IPv4. Маршрутизатор сконфигурирован со статическим NAT, чтобы позволить устройствам из внешней сети обращаться к веб-серверу. Клиент из внешней сети обращается к веб-серверу с использованием общедоступного IPv4-адреса. Статический NAT переводит общедоступный IPv4-адрес в частный.
При настройке статических трансляций NAT выполняются две основные задачи:
- Создание сопоставления между внутренним локальным (inside local) адресом и внутренними глобальными (inside global) адресами. Например, внутренний локальный адрес 192.168.1.5 и внутренний глобальный адрес 208.165.100.5 на схеме настроены как статическая NAT трансляция.
- После того как сопоставление настроено, интерфейсы, участвующие в трансляции должны быть настроены как внутренние (inside) и наружные (outside) относительно NAT. На схеме интерфейс маршрутизатора Serial 0/0/0 является внутренним, а Serial 0/1/0 – внешним.
Пакеты, поступающие на внутренний интерфейс маршрутизатора Serial 0/0/0 из настроенного внутреннего локального адреса IPv4 (192.168.1.5), транслируются и затем перенаправляются во внешнюю сеть. Пакеты, поступающие на внешний интерфейс Serial 0/1/0, адресованные настроенному внутреннему глобальному адресу IPv4 (208.165.100.5), переводятся на внутренний локальный адрес (192.168.1.5) и затем перенаправляются внутрь сети.
Настройка проходит в несколько шагов:
- Создать статическую трансляцию между внутренним локальным и внешним глобальным адресами. Для этого используем команду ip nat inside source static [локальный _IP глобальный_IP]. Чтобы удалить трансляцию нужно ввести команду no ip nat inside source static. Если нам нужно сделать трансляцию не адреса в адрес, а адреса в адрес интерфейса, то используется команда ip nat inside source static [локальный _IP тип_интерфейса номер_интерфейса].
- Определим внутренний интерфейс. Сначала зайти в режим конфигурации интерфейса, используя команду interface[тип номер] и ввести команду ip nat inside
- Таким же образом определить внешний интерфейс, используя команду ip nat outside
В результате трансляции будут проходить так:
- Клиент хочет открыть соединение с веб-сервером. Клиент отправляет пакет на веб-сервер, используя общедоступный IPv4-адрес назначения 208.165.100.5. Это внутренний глобальный адрес веб-сервера.
- Первый пакет, который роутер получает от клиента на внешнем интерфейсе NAT, заставляет его проверять свою таблицу NAT. Адрес IPv4 адресата находится в таблице NAT он транслируется.
- Роутер заменяет внутренний глобальный адрес назначения 208.165.100.5 внутренним локальным 192.168.1.5 и пересылает пакет к веб-серверу.
- Веб-сервер получает пакет и отвечает клиенту, используя внутренний локальный адрес источника 192.168.1.5.
- Роутер получает пакет с веб-сервера на свой внутренний интерфейс NAT с адресом источника внутреннего локального адреса веб-сервера, 192.168.1.5. Он проверяет NAT таблицу для перевода внутреннего локального адреса во внутренний глобальный, меняет адрес источника с 192.168.1.5 на 208.165.100.5 и отправляет его из интерфейса Serial 0/1/0 в сторону клиента
- Клиент получает пакет, и обмен пакетами продолжается. Роутер выполняет предыдущие шаги для каждого пакета.
Проверка статического NAT
Полезной командой для проверки работы NAT является команда show ip nat translations. Эта команда показывает активные трансляции NAT. Статические переводы, в отличие от динамических переводов, всегда находятся в таблице NAT.
Другой полезной командой является команда show ip nat statistics. Она отображает информацию об общем количестве активных переводов, параметрах конфигурации NAT, количестве адресов в пуле и количестве адресов, которые были выделены.
Чтобы убедиться, что трансляция NAT работает, лучше всего очистить статистику из любых прошлых переводов, используя команду clear ip nat statistics перед тестированием.
Настройка динамического NAT (Dynamic NAT)
В то время пока статический NAT постоянное сопоставление между внутренним локальным и внутренним глобальным адресом, динамический NAT позволяет автоматически сопоставлять внутренние локальные и глобальные адреса (которые обычно являются публичными IP-адресами). Динамический NAT использует группу или пул публичных адресов IPv4 для перевода. Динамический NAT, как и статический NAT, требует настройки внутреннего и внешнего интерфейсов, участвующих в NAT.
Рассмотрим на примере этой схемы. Мы тут имеем внутреннюю сеть с двумя подсетями 192.168.1.0/24 и 192.168.2.0/24 и пограничным маршрутизатором, на котором настроен динамический NAT с пулом публичных адресов 208.165.100.5 — 208.165.100.15.
Пул публичных адресов (inside global address pool) доступен для любого устройства во внутренней сети по принципу «первым пришел – первым обслужили». С динамическим NAT один внутренний адрес преобразуется в один внешний адрес. При таком типе перевода должно быть достаточно адресов в пуле для одновременного предоставления для всех внутренних устройств, которым необходим доступ к внешней сети. Если все адреса в пуле были использованы, то устройство должно ждать доступного адреса, прежде чем оно сможет получить доступ к внешней сети.
Рассмотрим настойку по шагам:
- Определить пул которые будут использоваться для перевода, используя команду ip nat pool [имя начальный_ip конечный_ip]. Этот пул адресов обычно представляет собой группу публичных общедоступных адресов. Адреса определяются указанием начального IP-адреса и конечного IP-адреса пула. Ключевые слова netmask или prefix-length указывают маску.
- Нужно настроить стандартный access-list (ACL), чтобы определить только те адреса, которые будут транслироваться. Введем команду access-list [номер_ACL] permit source [wildcard_маска]. Про стандартные access-list’ы можно прочитать в этой статье (а про расширенные в этой). ACL который разрешает очень много адресов может привести к непредсказуемым результатам, поэтому в конце листа есть команда deny all.
- Необходимо привязать ACL к пулу, и для этого используется команду ip nat inside source list [номер_ACL] number pool [название_пула]. Эта конфигурация используется маршрутизатором для определения того, какие устройства (список) получают адреса (пул).
- Определить, какие интерфейсы находятся внутри, по отношению к NAT, то есть любой интерфейс, который подключен к внутренней сети.
- Определить, какие интерфейсы находятся снаружи, по отношению к NAT, то есть любой интерфейс, который подключен к внешней сети.
Как это будет работать на нашей схеме:
- Компьютеры с адресами 192.168.1.10 и 192.168.2.10 отправляют пакеты в сторону сервера по публичному адресу 208.165.100.70
- Маршрутизатор принимает первый пакет от хоста 192.168.1.10. Поскольку этот пакет был получен на интерфейсе, сконфигурированном как внутренний интерфейс NAT, маршрутизатор проверяет конфигурацию NAT, чтобы определить, должен ли этот пакет быть транслирован. ACL разрешает этот пакет, и роутер проверяет свою таблицу NAT. Поскольку для этого IP-адреса нет записи трансляции, роутер определяет, что исходный адрес 192.168.1.10 должен быть переведен динамически. R2 выбирает доступный глобальный адрес из пула динамических адресов и создает запись перевода, 208.165.200.5. Исходный IPv4-адрес источника (192.168.1.10) является внутренним локальным адресом, а переведенный адрес является внутренним глобальным адресом (208.165.200.5) в таблице NAT. Для второго хоста 192.168.2.10 маршрутизатор повторяет эту процедуру, выбирая следующий доступный глобальный адрес из пула динамических адресов, создает вторую запись перевода — 208.165.200.6.
- После замены внутреннего локального адреса источника в пакетах маршрутизатор перенаправляет пакет.
- Сервер получает пакет от первого ПК и отвечает, используя адрес назначения 208.165.200.5. Когда сервер получает пакет от второго ПК, то в ответе в адресе назначения будет стоять 208.165.200.6.
- Когда роутер получает с адресом назначения 208.165.200.5, то он выполняет поиск в таблице NAT и переводит адрес назначения во внутренний локальный адрес 192.168.1.10 и направляет в сторону ПК. То же самое происходит с пакетом, направленным ко второму ПК.
- Оба ПК получают пакеты, и обмен пакетами продолжается. Для каждого следующего пакета выполняются предыдущие шаги.
Проверка динамического NAT
Для проверки также используется команда show ip nat отображает все статические переводы, которые были настроены, и любые динамические переводы, которые были созданы трафиком. Добавление ключевого слова verbose отображает дополнительную информацию о каждом переводе, включая то, как давно запись была создана и использовалась. По умолчанию данные о переводах истекают через 24 часа, если таймеры не были переконфигурированы с помощью команды ip nat translation timeout [время_в_секундах] в режиме глобальной конфигурации.
Чтобы очистить динамические записи до истечения времени ожидания, можно использовать команду clear ip nat translation. Полезно очищать динамические записи при тестировании конфигурации NAT. Эту команду можно использовать с ключевыми словами и переменными, чтобы контролировать, какие записи очищаются. Конкретные записи можно очистить, чтобы не прерывать активные сеансы. Только динамические переводы удаляются из таблицы. Статические переводы не могут быть удалены из таблицы.
Также можно использовать команду show ip nat statistics которая отображает информацию об общем количестве активных переводов, параметрах конфигурации NAT, количестве адресов в пуле и количестве переведенных адресов.
Поскольку у нас здесь используются листы контроля доступа ACL, то для их проверки можно использовать команду show access-lists.
Настройка Port Address Translation (PAT)
PAT (также называемый NAT overload) сохраняет адреса во внутреннем глобальном пуле адресов, позволяя маршрутизатору использовать один внутренний глобальный адрес для многих внутренних локальных адресов. Другими словами, один открытый IPv4-адрес может использоваться для сотен и даже тысяч внутренних частных IPv4-адресов. Когда несколько внутренних локальных адресов сопоставляются с одним внутренним глобальным адресом, номера портов TCP или UDP каждого внутреннего узла различают локальные адреса.
Общее количество внутренних адресов, которые могут быть переведены на один внешний адрес, теоретически может составлять 65 536 на каждый IP-адрес. Однако на практике число внутренних адресов, которым может быть назначен один IP-адрес, составляет около 4000.
Существует два способа настройки PAT, в зависимости от того, как провайдер выделяет общедоступные IPv4-адреса. В первом случае интернет-провайдер выделяет более одного публичного IPv4-адреса организации, а в другом он выделяет один общедоступный IPv4-адрес, который требуется для организации для подключения к интернет-провайдеру.
Настройка PAT для пула публичных IP-адресов
Если нам доступно более одного общедоступного IPv4-адреса, то эти адреса могут быть частью пула, который используется PAT. Это похоже на динамический NAT, за исключением того, что в этом случае недостаточно общих адресов для взаимного сопоставления внутренних адресов. Небольшой пул адресов распределяется между большим количеством устройств.
Основное различие между этой конфигурацией и конфигурацией для динамического NAT, заключается в том, что используется ключевое слово overload, которое включает PAT.
Рассмотрим настойку PAT для пула адресов по шагам:
- Определить пул адресов глобальных адресов, которые будут использоваться для PAT трансляции, используя команду ip nat pool [имя начальный_ip конечный_ip] netmask [маска] | prefix-length [длина_префикса].
- Создать стандартный access-list, разрешающий адреса, которые должны быть переведены. Используется команда access-list [номер_ACL] permit source [wildcard_маска].
- Включим PAT, используя волшебное слово Overload. Вводим команду ip nat inside source list [номер_ACL] number pool [название_пула] overload.
- Определяем, какие интерфейсы находятся внутри, по отношению к NAT, а какие снаружи. Используем команду ip nat inside и ip nat outside
Пример настройки для схемы, что использовалась ранее, только теперь мы будем использовать PAT:
Настройка PAT для одного публичного IPv4-адреса
На схеме показана топология реализации PAT для трансляции одного IP публичного адреса. В этом примере все хосты из сети 192.168.0.0/16 (соответствующие ACL), которые отправляют трафик через маршрутизатор, будут переведены на адрес IPv4 208.165.99.225 (адрес IPv4 интерфейса S0 /1/0). Трафик будет идентифицироваться по номерам портов в таблице NAT.
- Создать лист access-list разрешающий адреса, которые нужно транслировать – access-list [номер_ACL] permit source [wildcard_маска].
- Настроить преобразование адреса источника в адрес интерфейса, через команду ip nat inside source list [номер_ACL] interface [тип номер] overload
- Определить внешние и внутренние интерфейсы через команды ip nat inside и ip nat outside.
Конфигурация похожа на динамический NAT, за исключением того, что вместо пула адресов мы используем адрес интерфейса с вешним IP адресом. NAT пул не определяется.
Процесс PAT не изменятся при использовании одного адреса, или пула адресов.
Рассмотрим процесс PAT по шагам:
- На схеме два разных ПК связываются с двумя разными веб-серверами. Первый ПК имеет адрес источника 192.168.1.10 и использует TCP порт 1444, а второй ПК имеет адрес источника 192.168.2.10 и по совпадению использует то же TCP порт 1444
- Пакет с первого ПК сначала достигает роутера и он, используя PAT, изменяет исходный IPv4-адрес на 208.165.99.225 (inside global address). В таблице NAT нет других устройств с портом 1444, поэтому PAT использует тот же номер порта и пакет отправляется в направлении сервера по 208.165.101.20.
- Далее пакет со второго компьютера поступает в маршрутизатор, где PAT настроен на использование одного глобального IPv4-адреса для всех переводов — 208.165.99.225. Подобно процессу перевода для первого ПК, PAT изменяет исходящий адрес второго ПК на внутренний глобальный адрес 208.165.99.225. Однако второй ПК имеет тот же номер порта источника, что и текущая запись PAT первого ПК, поэтому PAT увеличивает номер порта источника до тех пор, пока он не станет уникальным в своей таблице. В этом случае запись исходного порта в таблице NAT и пакет для второго ПК получает 1445 порт. Хотя оба ПК используют один и тот же внутренний глобальный адрес 208.165.99.225 и тот же номер порта источника – 1444, измененный номер порта для второго ПК (1445) делает каждую запись в таблице NAT уникальной. Это станет очевидным при отправке пакетов с серверов обратно клиентам.
- Сервера отвечают на запросы от компьютеров, и используют исходный порт из принятого пакета в качестве порта назначения и исходный адрес как адрес назначения. Может казаться, что они общаются одним и тем же хостом по адресу 208.165.99.225, однако, это не так – они имеют разные порты.
- Когда пакеты возвращаются на роутер, он находит уникальную запись в своей таблице NAT с использованием адреса назначения и порта назначения каждого пакета. В случае пакета от первого сервера адрес назначения 208.165.99.255 имеет несколько записей, но только одну с портом назначения 1444. Используя эту запись в своей таблице, роутер изменяет адрес IPv4 адресата пакета на 192.168.1.10, не меняя порт назначения. Затем пакет перенаправляется на первый ПК
- Когда пакет от второго сервера прилетает на маршрутизатор, он выполняет аналогичный перевод. Адрес IPv4 назначения 208.165.99.225 имеет несколько записей, однако используя порт назначения 1445, роутер может однозначно идентифицировать запись трансляции. Адрес IPv4 назначения будет изменен на 192.168.2.10 и в этом случае порт назначения также должен быть изменен до исходного значения 1444, которое хранится в таблице NAT. После этого пакет высылается на второй ПК
Проверка Port Address Translation (PAT)
Для проверки PAT используются такие же команды, что и для обычного NAT. Команда show ip nat translations отображает переводы IP адресов вместе с портами и команда show ip nat statistics показывает информацию о количестве и типе активных переводов, параметрах конфигурации NAT, количестве адресов в пуле и количестве выделенных адресов.
Также для поиска проблем можно использовать дебаг, который запускается командой debug ip nat, который отображает информацию о каждом пакете, который транслируется маршрутизатором. Также можно использовать команду debug ip nat detailed, которая генерирует описание каждого пакета. Эта команда также предоставляет информацию о различных ошибках, например, таких как неспособность выделить глобальный адрес. Однако эта команда более требовательна к ресурсам устройства.
В выводе используются следующие символы и значения:
- * (звездочка) – звездочка с NAT указывает, что перевод происходит по пути с быстрым переключением (fast-switched path). Первый пакет в разговоре всегда медленнее, остальные пакеты проходят путь с быстрым переключением.
- s= — IP адрес источника
- a.b.c.d ? w.x.y.z — это значение указывает, что адрес источника a.b.c.d переводится на w.x.y.z.
- d= — IP адрес назначения
- [xxxx] — значение в скобках — это идентификационный номер IP.
- NAT (Network Address Translation)
- Настройка НАТ на Циско
- Трансляция на Cisco
- 74
- 1
Пожалуйста, расскажите почему?
Нам жаль, что статья не была полезна для вас 🙁 Пожалуйста, если не затруднит, укажите по какой причине? Мы будем очень благодарны за подробный ответ. Спасибо, что помогаете нам стать лучше!
Подпишитесь на нашу еженедельную рассылку, и мы будем присылать самые интересные публикации 🙂 Просто оставьте свои данные в форме ниже.
С развитием интернета и компьютерных технологий количество сетевых устройств стало стремительно расти. Как ты уже знаешь, количество уникальных IP адресов ограничено.
Для экономии и эффективного распределения адресного пространства были реализованы следующие технологии:
- Публичные и частные IP адреса
- CIDR/VLSM
Следующей технологией стала NAT (Network Address Translation) — преобразование сетевых адресов.
Представь себе компанию с локальной сетью с 100 компьютеров. Чтобы обеспечить каждому компьютеру выход в интернет придется выделить 100 адресов. А таких компаний могут быть десятки тысяч с последующим расширением. Идея NAT состоит в том, чтобы выделить ограниченное количество адресов для целой компании и динамически их назначать хостам, выходящим в интернет. К примеру, для вышеописанной компании можно выделить 10 публичных адресов. Когда один из компьютеров попытается установить соединение с интернет, то маршрутизатор сети назначит ему один из выделенных адресов. Как только компьютер закончит сеанс связи, то назначенный адрес освободится и может быть использован другим компьютером.
Получается, что некоторым компьютерам может не хватить адресов?
Да, такое возможно. Однако это легко можно решить либо с помощью увеличения количества выделенного пула адресов (что не всегда выгодно) либо с помощью технологии PAT (об этом подробнее ниже).
Существуют 3 типа NAT:
- Статический
- Динамический
- Перегруженный
Статический: определенным хостам на постоянной основе выделяется адрес для связи с внешним миром.
Динамический: IP адреса назначаются всем хостам на равной основе по запросу.
Перегруженный: данный тип NAT также называется PAT (Port Address Translation) — преобразование порт-адрес. Является расширением динамического типа, однако отличие в том, что доступ в интернет предоставляется всем желающим. То есть один и тот же публичный адрес используется одновременно несколькими хостами.
А как же работает связь, когда один и тот же IP адрес используется сразу несколькими компьютерами?
Дело в том, что маршрутизатор для каждого соединения использует различные TCP/UDP порты источника. Как ты уже знаешь любое IP соединение характеризуется парой IP адресов(источника и назначения) и парой TCP/UDP портов (источника и назначения). Так вот маршрутизатор и использует порт источника для идентификации каждой сессии. Маршрутизатор запоминает каждую сессию и при поступлении входящих (ответных) пакетов может определить кому из внутренних хостов направить данный пакет.
Теперь попробуем настроить простую сеть с использованием всех типов NAT.

Необходимо назначить адреса по следующей схеме:
Введем следующие команды:
Router(config)# ip nat inside source static 192.168.1.10 30.1.1.10
Router(config)# ip nat inside source static 192.168.1.11 30.1.1.11
Теперь нужно указать какой интерфейс является локальным (внутренним):
Router(config)# interface fastehternet 0/0
Router(config-if)# ip nat inside
Указываем внешний интерфейс, то есть тот, который используется для выхода в интернет:
Router(config)# interface serial1/0
Router(config-if)# ip nat outside
Воспользуемся тем же рисунком, однако вместо статического пула с сетью 30.1.1.0 мы будем следующий пул:
Создадим NAT пул с указанием начального и конечного адресов, а также маски либо префикса сети:
Router(config)# ip nat pool имя_пула 43.1.1.10 43.1.1.12 netmask 255.255.255.0
Router(config)# ip nat pool имя_пула 43.1.1.10 43.1.1.12 prefix 24
Создаем стандартный список доступа. Данный список указывает какие локальный IP адреса могут быть преобразованы в публичные адреса, а какие не могут. То есть мы явно указываем кому разрешить доступ в интернет, а кому наоборот запретить:
Router(config)# access-list 1 permit 192.168.1.0 0.0.0.255
Пока запомни эту команду. В уроке Списки доступа мы рассмотрим ее подробнее.
Теперь нам необходимо преобразовывать адреса в соответствии с пулом адресов и списком доступа:
Router(config)# ip nat inside source list 1 pool имя пула
Также как и со статическим NAT необходимо указать внутренний и внешний интерфейсы:
Router(config)# interface fastethernet 0/0
Router(config-if)# ip nat inside
Router(config) interface serial1/0
Router(config-if)# ip nat outside
В этом раз мы выделим всего лишь 1 адрес 189.1.1.10.
Сначала создаем такой же список доступа, затем пул адресов, но в данном случаем указывается только один адрес. После этого выполним команду:
Router(config)# ip nat inside source list 1 pool имя пула overload
Если используется только 1 внешний IP адрес, то нет необходимости создавать пул. Для этого достаточно создать список доступа (access-list), а затем выполнить команду ниже:
Router(config)# ip nat inside source list 1 interface название_интерфейса overload
Ключевое слово overload . Именно оно и указывает, что будет задействован PAT.
Далее настраиваем внутренний и внешний интерфейсы.
NAT у нас настроен, осталось настроить маршрутизацию. Предлагаю самостоятельно настроить статическую маршрутизацию.
Чтобы убедиться, что NAT работает, попробуем выполнить команду PING на каждом компьютере.
Для проверки правильности настроек, а также всего процесса преобразования, выполним следующие команды:
Router# show ip nat translations

Router# show ip nat statistics

Router# debug ip nat

А что такое inside local, outside global? Что означают эти параметры?
Inside local — преобразуемый локальный адрес (адрес источника)
Inside global — преобразованный публичный адрес (адрес источника)
Outside local и outside global — публичный адрес назначения
Для удаления записей о преобразований можно выполнить:
Router# clear ip nat translation
Port forwarding (Проброс портов)
Кроме экономии адресного пространства технология предоставляет определенную степень безопасности, так как позволяет скрывать сетевые устройства локальной сети от внешней сети (интернет).
Например, у меня Web сервер в сети. Как быть, если мне нужно предоставить доступ к моему серверу из внешней сети?
Все очень просто. В данном случае мы настроим статический NAT с указанием портов.
Вернемся к нашей сети, где настроен PAT. Добавим в нее Web сервер, который будет доступен по адресу 189.1.1.10:5000. 5000 означает порт назначения

Задача маршрутизатора преобразовать этот адрес в локальный адрес с портом 80:
Для этого достаточно сконфигурировать статический NAT для конкретного сервера:
Router(config)# ip nat inside source static tcp 192.168.1.20 80 189.1.1.10 5000 extendable
Теперь Web сервер будет доступен для внешней сети.
NAT (Network Address Translation) — трансляция сетевых адресов, технология, которая позволяет преобразовывать (изменять) IP адреса и порты в сетевых пакетах.
NAT используется чаще всего для осуществления доступа устройств из сети предприятия(дома) в Интернет, либо наоборот для доступа из Интернет на какой-либо ресурс внутри сети.
Сеть предприятия обычно строится на частных IP адресах. Согласно RFC 1918 под частные адреса выделено три блока:
10.0.0.0 — 10.255.255.255 (10.0.0.0/255.0.0.0 (/8))
172.16.0.0 — 172.31.255.255 (172.16.0.0/255.240.0.0 (/12))
192.168.0.0 — 192.168.255.255 (192.168.0.0/255.255.0.0 (/16))
Эти адреса не маршрутизируются в Интернете, и провайдеры должны отбрасывать пакеты с такими IP адресами отправителей или получателей.
Для преобразования частных адресов в Глобальные (маршрутизируемые в Интернете) применяют NAT.
Помимо возможности доступа во внешнюю сеть (Интернет), NAT имеет ещё несколько положительных сторон. Так, например, трансляция сетевых адресов позволяет скрыть внутреннюю структуру сети и ограничить к ней доступ, что повышает безопасность. А ещё эта технология позволяет экономить Глобальные IP адреса, так как под одним глобальным адресом в Интернет может выходить множество хостов.
Настройка NAT на маршрутизаторах Cisco под управлением IOS включает в себя следующие шаги
1. Назначить внутренний (Inside) и внешний (Outside) интерфейсы
2. Определить для кого (каких ip адресов) стоит делать трансляцию.
3. Выбрать какой вид трансляции использовать
4. Осуществить проверку трансляций
Пусть, для примера, у нас будет роутер R1 с двумя интерфейсами.

FastEthernet0/0 — подключен к локальной сети 192.168.56.0/24 и имеет IP адрес: 192.168.56.254/24
FastEthernet0/1 — подключен к внешней сети (Провайдеру) и имеет IP адрес: 10.0.0.253/30 (В данном примере во внешней сети используется тоже частный адрес, так как это только пример, в реальной же ситуации у Вас скорее всего будет использоваться Глобальный адрес)
1. Внутренним интерфейсом обычно выступает тот, к которому подключена локальная сеть. Внешним — к которому подключена внешняя сеть, например сеть Интернет провайдера.
Таким образом FastEthernet0/0 — это Inside интерфейс, а FastEthernet0/1 — Outside
R1(config)#interface fastEthernet 0/0
R1(config-if)#ip nat inside
R1(config-if)#exit
R1(config)#
R1(config)#interface fastEthernet 0/1
R1(config-if)#ip nat outside
R1(config-if)#exit
R1(config)#
2. Трансляцию будем делать для всей локальной сети 192.168.56.0/24
Для этого создаём ACL:
R1(config)#access-list 1 permit 192.168.56.0 0.0.0.255
R1(config)#
3. Существует три вида трансляции Static NAT, Dynamic NAT, Overloading.
Static NAT — Статический NAT, преобразование IP адреса один к одному, то есть сопоставляется один адрес из внутренней сети с одним адресом из внешней сети.
Предположим, что провайдер на нас маршрутизирует сеть 10.11.11.0/24, таким образом предоставив не один, а 255 IP адресов. И мы хотим, что бы из внешней сети по адресу 10.11.11.10 был доступен наш внутренний сервер 192.168.56.10, тогда следует ввести следующую команду:
R1(config)#ip nat inside source static 192.168.56.10 10.11.11.10
R1(config)#
Таким образом происходит подмена внутреннего адреса источника 192.168.56.10 на внешний адрес 10.11.11.10 при прохождении пакета из внутренней сети во внешнюю. При обратном следовании пакета произойдёт подмена внешнего IP адреса назначения 10.11.11.10 на внутренний 192.168.56.10. Все сервисы, которые запущены на внутреннем сервере 192.168.56.10 доступны из внешней сети при обращении на адрес 10.11.11.10
Если нет необходимости открывать наружу все порты (сервисы), то можно ограничиться и определёнными, например:
R1(config)#ip nat inside source static tcp 192.168.56.10 22 10.11.11.10 2222
R1(config)#
В этом случае при обращении из внешней сети на адрес 10.11.11.10 и tcp порт 2222 произойдет соединение с 22-м tcp портом внутреннего сервера 192.168.56.10
Dynamic NAT — Динамический NAT, преобразование внутреннего адреса/ов в один из группы внешних адресов. Перед использованием динамической трансляции, нужно задать nat-пул внешних адресов
R1(config)#
R1(config)#ip nat pool GLOBALPOOL 10.11.11.20 10.11.11.100 netmask 255.255.255.0
R1(config)#ip nat inside source list 1 pool GLOBALPOOL
R1(config)#
В этом случае адреса из сети 192.168.56.0/24, при обращении к внешней сети, будут преобразовываться в адреса из пула GLOBALPOOL, пока он не закончится. Если не останется в пуле свободных адресов — то трансляции выполняться не будут. То есть в нашем примере одновременно во внешнюю сеть выйдут только 80 адресов из сети 192.168.56.0/24, остальным придётся ждать пока не закончится какая-нибудь трансляция.
Overloading — позволяет преобразовывать несколько внутренних адресов в один внешний. Для осуществления такой трансляции используются порты, поэтому иногда такой NAT называют PAT (Port Address Translation). С помощью PAT можно преобразовывать внутренние адреса во внешний адрес, заданный через пул или через адрес на внешнем интерфейсе.
R1(config)#
R1(config)#ip nat pool GLOBALPOOL 10.11.11.3 10.11.11.3 netmask 255.255.255.0
R1(config)#ip nat inside source list 1 pool GLOBALPOOL overload
R1(config)#
Здесь все внутренние адреса из сети 192.168.56.0/24 (описанные в access-list 1 выше) будут преобразованы во внешний адрес 10.11.11.3
через внешний интерфейс:
R1(config)#
R1(config)#ip nat inside source list 1 interface fastEthernet 0/1 overload
R1(config)#
Все внутренние адреса 192.168.56.0/24 будут преобразованы в адрес на интерфейсе fastEthernet0/1 (напомню, что он в нашем примере 10.0.0.253/30)
4. Посмотреть существующие трансляции можно командой «show ip nat translations». Отладка запускается командой «debug ip nat»
R1#
R1#show ip nat translations
Pro Inside global Inside local Outside local Outside global
udp 10.0.0.253:60672 192.168.56.10:60672 8.8.8.8:53 8.8.8.8:53
tcp 10.0.0.253:59235 192.168.56.10:59235 74.125.143.94:80 74.125.143.94:80
R1#
Пример конфигурации роутера с настроенным NAT overloading:
R1#sh run
Building configuration. Current configuration : 1163 bytes
!
! Last configuration change at 01:03:44 YST Sun Mar 31 2013 by cisco
! NVRAM config last updated at 01:03:46 YST Sun Mar 31 2013 by cisco
!
version 12.3
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R1
!
boot-start-marker
boot-end-marker
!
enable secret 5 $1$FOp2$9G9FvXT/lRo1HqKkgwVWv/
!
clock timezone YST 10
aaa new-model
!
!
aaa authentication login default local
aaa session-id common
ip subnet-zero
ip cef
!
!
!
ip domain name test.ru
ip audit po max-events 100
!
!
!
!
!
!
!
!
!
!
!
!
username cisco secret 5 $1$jOx6$M96EAbwK4qcWtGlxHLt3J/
!
!
!
!
!
!
interface FastEthernet0/0
ip address 192.168.56.254 255.255.255.0
ip nat inside
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 10.0.0.253 255.255.255.252
ip nat outside
duplex auto
speed auto
!
ip nat inside source list 1 interface FastEthernet0/1 overload
ip classless
ip route 0.0.0.0 0.0.0.0 10.0.0.254
!
no ip http server
no ip http secure-server
!
access-list 1 permit 192.168.56.0 0.0.0.255
!
!
!
!
!
!
!
!
!
!
line con 0
line aux 0
line vty 0 4
exec-timeout 60 0
transport input telnet ssh
!
end
R1#
9 комментариев: Cisco NAT — настройка трансляции сетевых адресов
Спасибо, доступный и информативный материал — очень помог.
Подскажите пожалуйста, а если на маршрутизаторе используются внутренние сабинтерфейсы (например Fa0/0.10 — для VLAN 10 ), то на них тоже надо назначать ip nat inside ? И если да, то надо ли в таком случае назначать ip nat inside на сам Fa0/0 и сам Fa0/0 должен быть включен или выключен (при включенном Fa0/0.10 ) ?
Да, назначать ip nat inside надо на подинтерфейсе (Fa0/0.10), там же прописывать и IP адрес (Если при выходе из этой сети VLAN10 необходимо проводить трансляцию адресов).
На основном интерфейсе (Fa0/0) в этом случае, ничего не нужно прописывать, если не используется 1-й влан или нативный влан.
При включенном Fa0/0.10, так же должен быть включен и основной интерфейс Fa0/0
можно ли на один порт прописать два маршрута?
Здравствуйте, помогитенайти ошибку в конфиге
Current configuration : 844 bytes
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname Router
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
!
resource policy
!
ip subnet-zero
!
!
ip cef
!
!
ip name-server 95.167.167.96
!
!
!
!
interface GigabitEthernet0/0
ip address 192.168.10.1 255.255.255.0
ip nat inside
duplex auto
speed auto
!
interface GigabitEthernet0/1
ip address ***.***.***.190 255.255.255.252
ip nat outside
duplex auto
speed auto
!
ip classless
ip dns server
!
ip http server
ip nat pool FSB ***.***.***. 190 ***.***.***.190 netmask 255.255.255.252
ip nat inside source list 100 interface GigabitEthernet0/1 overload
!
access-list 100 permit ip 192.168.10.0 0.0.0.255 any
!
control-plane
!
!
line con 0
line aux 0
line vty 0 4
login
!
scheduler allocate 20000 1000
!
end
Суть в следующем: имеется локалка на 6 компов в 2 разных зданиях компы подключать планирую на свичах cisco 2960, у все права равные. Из этого добра кабель идет в роултер cisco 2851 на котором необходимо настроить NAT, на втором конце висит 1 ip адрес от ростелекома со статическим адресом.
как я понимаю требуется настроить ACL, в нем я указываю полный доступ для всех абонентов сети, далее указываю что с 0/0 внутренняя 0/1 внешнят и на этом месте у меня както нечего не работает, при этом пинг с роултера на шлюз ростелекомовский, а на компьютер сети не идет, хотя в другую сторону все нормально.




