- Настройка трансляции сетевых адресов: Начало работы
- Параметры загрузки
- Содержание
- Введение
- Предварительные условия
- Требования
- Используемые компоненты
- Условные обозначения
- Краткое описание работ по конфигурации и развертыванию NAT
- Определение трансляции сетевых адресов внутри и вне интерфейсов
- Пример: Разрешение доступа в Интернет внутренним пользователям
- Настройка NAT для разрешения доступа в Интернет внутренним пользователям
- Настройка NAT для разрешения доступа в Интернет внутренним пользователям с помощью функции перегрузки
- Пример: Разрешение доступа к внутренним устройствам из Интернета
- Настройка NAT, разрешающая доступ из Интернета к внутренним устройствам
- Пример: Переадресация трафика TCP на другой TCP-порт или адрес
- Настройка NAT для того, чтобы перенаправить трафик TCP на другой порт или адрес TCP
- Пример: Использование NAT во время сетевых переходов
- Настройка NAT для использования при сетевых переходах
- Пример: Использование NAT в перекрывающихся сетях
- Проверка работы NAT
- Заключение
- Урок 37. Настройка NAT (Network Address Translation) на Cisco роутере
Настройка трансляции сетевых адресов: Начало работы
Параметры загрузки
Содержание
Введение
В данном документе описывается настройка трансляции сетевых адресов (NAT) в маршрутизаторах Cisco для использования в стандартных сетевых сценариях. Целевая группа данного документа – это пользователи, только начавшие работу с NAT.
Примечание. В данном документе под Интернет-устройством понимается устройство в любой внешней сети.
Предварительные условия
Требования
Чтобы использовать данный документ, необходимо знание терминов, использующихся в связи с NAT. Некоторые определения можно найти в документе NAT: Локальные и глобальные определения.
Используемые компоненты
Сведения, содержащиеся в данном документе, относятся к следующим версиям программного и аппаратного обеспечения:
Маршрутизаторы Cisco серии 2500
ПО Cisco IOS ® версия 12.2 (10b)
Сведения, представленные в данном документе, были получены на тестовом оборудовании в специально созданных лабораторных условиях. При написании данного документа использовались только данные, полученные от устройств с конфигурацией по умолчанию. При работе с реально функционирующей сетью необходимо полностью осознавать возможные последствия выполнения команд до их применения.
Условные обозначения
Дополнительные сведения об условных обозначениях см. в разделе Технические советы Cisco. Условные обозначения.
Краткое описание работ по конфигурации и развертыванию NAT
При настройке NAT иногда сложно определить, с чего начать, особенно если пользователь только начал работу с NAT. Данное руководство поможет определить, чего ждать от NAT и каким образом провести его настройку.
Доступны ли пользователи на нескольких интерфейсах?
Имеют ли несколько интерфейсов выход в Интернет?
Определите, чего вы пытаетесь достичь с помощью NAT.
Вы пытаетесь разрешить доступ из Интернета к внутренним устройствам (например почтовому серверу или веб-серверу)?
Вы используете NAT во время сетевых переходов (к примеру, после изменения IP-адреса сервера и до обновления всех клиентов необходимо, чтобы все необновленные клиенты могли получать доступ к серверу через исходный IP-адрес, а обновленные клиенты получали доступ к серверу через новый адрес)?
Чтобы выполнить описанные выше действия, настройте NAT. На основании изменений на этапе 2 необходимо определить, какие функции использовать из представленных далее:
Любая комбинация данных функций
Проверка работы NAT.
В каждом из следующих примеров настройки NAT выполняются этапы 1-3 данного краткого руководства. В этих примерах описаны некоторые стандартные сценарии, по которым Cisco рекомендует развертывание NAT.
Определение трансляции сетевых адресов внутри и вне интерфейсов
Первый этап развертывания NAT — определение внутренних и внешних интерфейсов NAT. Самым простым способом будет определить внутреннюю сеть как «inside», а внешнюю – как «outside». В то же время термины «внутренний» и «внешний» также являются условными. На следующем рисунке показан пример.
Пример: Разрешение доступа в Интернет внутренним пользователям
Возможно, вы хотите предоставить доступ в Интернет внутренним пользователям, но у вас нет достаточного количества допустимых адресов. Если все взаимодействия с Интернет-устройствами возникают из внутренних устройств, то нужен один допустимый адрес или пул допустимых адресов.
На следующем рисунке показана схема простой сети с внутренним и внешним интерфейсами маршрутизатора:
В этом примере NAT нужен затем, чтобы разрешить определенным внутренним устройствам (первым 31 из каждой подсети) создать связь с устройствами снаружи, преобразуя их недопустимый адрес в допустимый адрес или пул адресов. Пул задан как диапазон адресов от 172.16.10.1 до 172.16.10.63.
Теперь можно приступить к настройке NAT. Для выполнение описанных выше действий используйте функцию динамического NAT. При динамической трансляции сетевых адресов таблица трансляции в маршрутизаторе исходно является пустой и начинает заполняться после того, как трафик для трансляции проходит через маршрутизатор. (В отличие от функции статического NAT, где трансляция настраивается статически и помещается в таблицу трансляции без присутствия трафика).
В этом примере можно настроить NAT для трансляции каждого внутреннего устройства на уникальный допустимый адрес или для трансляции всех внутренних устройств на один допустимый адрес. Второй метод известен как перегрузка. Пример настройки каждого метода приведен ниже.
Настройка NAT для разрешения доступа в Интернет внутренним пользователям
Примечание. Cisco настоятельно рекомендует не настраивать списки доступа, упоминаемые в командах NAT, с помощью команды permit any. Использование команды permit any может привести к тому, что NAT будет потреблять слишком большое количество ресурсов маршрутизатора, что вызовет проблемы с сетью.
В приведенной выше конфигурации следует отметить, что только первые 32 адреса из подсети 10.10.10.0 и первые 32 адреса из подсети 10.10.20.0 разрешены списком доступа 7 Таким образом, выполняется преобразование только этих исходных адресов. Внутренняя сеть может содержать другие устройства с другими адресами, которые не транслируются.
Настройка NAT для разрешения доступа в Интернет внутренним пользователям с помощью функции перегрузки
Заметьте, что выше во второй конфигурации пул NAT «ovrld» имеет диапазон только из одного адреса. Ключевое слово overload, используемое в команде ip nat inside source list 7 pool ovrld overload, позволяет NAT транслировать несколько внутренних устройств на один адрес в пуле.
Еще одной формой данной команды является команда ip nat inside source list 7 interface serial 0 overload, которая настраивает NAT для перегрузки по адресу, присвоенному последовательному интерфейсу 0.
После настройки перегрузки в маршрутизаторе накапливается достаточное количество данных протоколов высокого уровня (к примеру, номера портов TCP или UDP) для обратной трансляции глобального адреса на правильный локальный адрес. Определения глобального и локального адреса см. в NAT: Локальные и глобальные определения.
Пример: Разрешение доступа к внутренним устройствам из Интернета
Может понадобиться обеспечить информационный обмен между устройствами внутренней сети и устройствами в Интернете, при котором соединение инициируется внешним устройством, например обмен сообщениями электронной почты. Для устройств в Интернете типично отправлять почту на почтовый сервер, находящийся во внутренней сети.
Настройка NAT, разрешающая доступ из Интернета к внутренним устройствам
В этом примере в первую очередь происходит определение внутренних и внешних интерфейсов NAT, как показано на сетевой диаграмме выше.
Во-вторых, определяется, что внутренние пользователи могут создавать связь с внешними устройствами. Необходимо, чтобы внешние устройства могли устанавливать связь только с внутренним почтовым сервером.
Третий этап — настройка NAT. Чтобы завершить начатый процесс, можно настроить статический и динамический NAT вместе. Дополнительная информация о настройке, описанной в данном примере, содержится в документе Одновременная настройка статического и динамического NAT.
Пример: Переадресация трафика TCP на другой TCP-порт или адрес
Наличие веб-сервера во внутренней сети – это еще один пример, когда для устройств в Интернете может оказаться необходимым инициировать взаимодействие с внутренними устройствами. В некоторых случаях внутренний веб-сервер может быть настроен для взаимодействия с веб-трафиком через порт TCP, а не порт 80. К примеру, внутренний веб-сервер может устанавливать соединение через порт TCP 8080; в этом случае можно использовать NAT для перенаправления трафика, предназначенного для порта TCP 80 к порту TCP 8080.
После определения интерфейсов, как показано на схеме сети выше, NAT может перенаправлять внешние пакеты, предназначенные для адресов от 172.16.10.8:80 до 172.16.10.8:8080. Для этого можно транслировать номер порта TCP с помощью команды «static nat». Пример конфигурации приведен ниже.
Настройка NAT для того, чтобы перенаправить трафик TCP на другой порт или адрес TCP
Учтите, что описание настройки статической команды NAT указывает, что все пакеты, полученные внутренним интерфейсом с адресом источника 172.16.10.8:8080, будут преобразованы в 172.16.10.8:80. Это также подразумевает, что все пакеты, полученные внешним интерфейсом с адресом назначения 172.16.10.8:80, будут преобразованы в 172.16.10.8:8080.
Пример: Использование NAT во время сетевых переходов
Развертывание NAT может потребоваться для переадресования устройств сети или при замене одного устройства другим. Например, если все устройства в сети используют определенный сервер и этот сервер необходимо заменить новым сервером с новым IP-адресом, то перенастройка всех сетевых устройств, использующих новый адрес сервера, займет определенное время. Однако можно использовать NAT для настройки устройств, использующих старые адреса, чтобы транслировать их пакеты для связи с новым сервером.
После определения интерфейсов NAT, как показано выше, NAT может транслировать внешние пакеты, направленные на адреса старого сервера (172.16.10.8), и направлять их на новый адрес сервера. Обратите внимание, что новый сервер относится к другой сети LAN и устройства, находящиеся в этой сети или достижимые через нее (устройства из внутренней части сети), следует настроить на (по возможности) IP-адрес нового сервера.
Для этого можно использовать статическое преобразование сетевых адресов (NAT). Пример конфигурации приведен ниже.
Настройка NAT для использования при сетевых переходах
Обратите внимание на то, что команда внутреннего источника NAT в данном примере также подразумевает, что адрес назначения пакетов, полученных на внешнем интерфейсе, 172.16.10.8, будет преобразован в адрес 172.16.50.8.
Пример: Использование NAT в перекрывающихся сетях
Перекрытие сетей возникает, когда внутренним устройствам присваиваются IP-адреса, уже используемые другими устройствами в Интернете. Также перекрытие происходит, когда сливаются две компании, использующие в своих сетях IP-адреса RFC 1918
Проверка работы NAT
После настройки NAT убедитесь, что он работает, как нужно. Это можно сделать несколькими способами: с помощью сетевого анализатора, команд show или debug. Подробный пример проверки NAT содержится в документе Проверка работы и устранение основных неисправностей NAT.
Заключение
В примерах в данном документе содержится краткое руководство, которое поможет настроить и развернуть NAT. К действиям, описанным в руководстве, относится следующее:
Определение NAT внутри интерфейсов и за их пределами.
Определение, чего вы пытаетесь достичь с помощью NAT.
Настройка NAT для выполнения задачи, сформулированной на этапе 2.
Проверка работы NAT.
В каждом из вышеуказанных примеров были использованы различные формы команды ip nat inside. Для этого также можно использовать команду ip nat outside, не забывая о порядке работы NAT. Примеры настройки с помощью команд ip nat outside содержатся в документе Пример настройки с использованием команды ip nat outside source list и ip nat outside source static.
Также в примерах выше представлено следующее:
Преобразует источник IP-пакетов, перемещающихся изнутри наружу.
Транслирует конечную точку IP-пакетов, проходящих снаружи внутрь.
Транслирует источник IP-пакетов, перемещающихся снаружи внутрь.
Преобразует назначения IP-пакетов, перемещающихся изнутри наружу.
Источник
Урок 37. Настройка NAT (Network Address Translation) на Cisco роутере
С развитием интернета и компьютерных технологий количество сетевых устройств стало стремительно расти. Как ты уже знаешь, количество уникальных 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 сервер будет доступен для внешней сети.
Источник