Разное

Nat router connection: Что такое NAT на роутере

Содержание

Что такое NAT на роутере

Компьютер подключается к глобальной сети несколькими способами. Это может быть прямое подключение, в этом случае имеется внешний IP адрес (динамический или статический), который виден из интернета. Или же подключение может осуществляться через маршрутизатор. При таком подключении внешний адрес имеет только роутер, а все подключенные к нему пользователи являются клиентами другой сети. Роутер берет на себя распределение входящего и исходящего трафика между клиентами и интернетом. Возникает ряд проблем при подключении через маршрутизатор:

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

Решить проблему помогает правильная настройка маршрутизатора, а именно сервиса NAT на нем. Для того, чтобы понять, как настроить NAT на роутере, необходимом узнать, что такое трансляция адресов и для чего это используется.

NAT: общие определения

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

Но NAT и Firewall это суть разные понятия. Firewall просто запрещает доступ к ресурсу по определенному TCP или UDP порту, может устанавливаться на локальной машине для ограничения доступа только к ней или же на сервере для фильтрации трафика по всей локальной сети. Перед NAT задача стоит более развернуто. Сервис запрещает или разрешает доступ внутри сети по конкретному IP адресу или диапазону адресов. Таким образом клиент, который обращается к ресурсу не видит действительного IP адреса ресурса. NAT переводит внутренний IP в адрес, который будет виден из интернета.

Чтобы проверить находится ли компьютер за NAT или транслирует в интернет реальный адрес можно следующим образом:

  • в Windows нужно нажать «Пуск — Выполнить — cmd» и прописать ipconfig и нажать «Ввод»;
  • в Linux и MacOS в терминале выполняется ifconfig.

Вывод команды показывает следующие данные:

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

Как теперь разобрать является ли адрес локальным или же напрямую «смотрит» в интернет. Согласно спецификации, существует четыре диапазона адресов, которые ни при каких обстоятельствах не используются в интернете, а являются исключительно локальными:

  1. 0.0.0 — 10.255.255.255
  2. Х.0.0 — 172.Х.255.255, где Х в диапазоне от 16 до 31.
  3. 168.0.0 — 192.168.255.255
  4. 254.0.0 — 169.254.255.255

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

Проблемы NAT и возможности решения

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

В качестве примера можно рассмотреть протокол передачи файлов (FTP), который был саммым распространенным к появлению NAT. Для файловых серверов (FTP) ключевым является реальный IP адрес компьютера, который посылает запрос на доступ. Здесь преобразование адресов не работает, потому что запрос на сервер отправляется с IP, невидимого из интернета. Нет возможности создать сессию клиент-сервер для загрузки файлов. Обойти проблему помогает использование FTP в пассивном режиме. В этом режиме используется другой набор команд, и работа ведется через специальный прокси-сервер, который дополнительно открывает другой порт для соединения и передает его программе клиенту. Проблемой такого решения является то, что необходимо использовать сторонние FTP клиенты.

Полностью избавиться от проблемы доступа получилось только с появлением SOCKS (Socket Secure) протокола. Этот протокол позволяет обмениваться данными через прокси-сервер в «прозрачном» режиме. То есть сервер не будет знать, что происходит подмена адресов с локальных на глобальные и наоборот. Изобретение SOCKS позволило избавиться от ряда проблем и упростить работу администрирования сети:

  • создает на сервере службу, слушающую входящие запросы, что позволяет обслуживать многосвязные протоколы наподобие FTP;
  • нет необходимости использовать и обслуживать службу DNS внутри локальной сети. Теперь такая задача возложена на кэширующие прокси;
  • дополнительные способы авторизации позволяют с большей эффективностью проводить отслеживание и фильтрацию пакетов. Средствами NAT можно фильтровать запросы только по адресам.

Использование NAT и SOCKS не всегда оправдано с точки зрения сетевого администрирования. Иногда более целесообразным является использование специализированных прокси, которых существуете множество для любого протокола передачи данных.

Настройка NAT на компьютере

Все современные операционные системы имеют уже встроенный NAT. В Windows эта функция реализована с 1999 года с появлением Windows XP. Управление NAT осуществляется непосредственно через свойства сетевого подключения. Чтобы настроить службу нужно сделать следующее:

  • Через меню «Пуск» запустить программу «Панель управления».
  • Найти иконку «Сетевые подключения» и запустить ее.
  • В новом окне кликнуть правой кнопкой мыши на активном сетевом подключении и выбрать в выпадающем списке «Свойства».
  • Перейти на вкладку «Дополнительно».
  • Установить галочки напротив «Разрешить другим пользователям сети использовать подключение к интернету данного компьютера».
  • Подтвердить изменение кнопкой «Ок».

Если при выведется сообщение что невозможно запустить службу общего доступа, нужно убедиться, что запущена служба DHCP-клиент. При необходимости можно установить запуск службы принудительно, а не по запросу автоматически.

Настройка NAT на маршрутизаторе

Что такое NAT в роутере, целесообразность его использования и проблемы, которые он может создать было описано выше, теперь можно перейти непосредственно к реализации задачи. Настройка службы на роутере зависит от его модели, используемой прошивки и других параметров. Но достаточно понять механизм, чтобы не возникало сложностей и вопросов по настройке отдельного устройства. Для настройки выполняются следующие действия (в качестве примера настройки выполняются на роутере Zyxel на прошивке v1):

  • В браузере зайти на страницу настроек роутера.
  • Перейти в меню «Network — Routing» на вкладку «Policy routing».

Открывшаяся страница и будет той, которая управляет политиками доступа и маршрутизацией. Здесь необходимо включить службу, активировав переключатель в положение «Enable». Сами настройки выполняются в группе «Criteria». Выбираются параметры NAT по нескольким категориям фильтров:

  • User — трансляция по определенному пользователю.
  • Incoming — по сетевому интерфейсу.
  • Source Address — подмена адреса по адресу источника.
  • Destination Address — по адресу конечного получателя
  • Service — по конкретному порту службы.

В качестве объекта перенаправления можно выбрать следующие варианты:

  • Auto — автоматический выбор объекта назначения. По умолчанию установлен Wan интерфейс.
  • Gateway — шлюз, указанный заранее в настройках.
  • VPN Tunel — соответственно через VPN туннель.
  • Trunk — диапазон интерфейсов, настроенных на совместную работу.
  • Interface — конкретный интерфейс по выбору.

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

что такое в роутере, как открыть и отключить функцию NAT

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

Что такое NAT в роутере

Кратко рассмотрим особенности NAT, и что это в роутере. Расшифровывается как Network Address Translation, а именно «трансляция сетевых адресов». С помощью процесса компьютер или другое оборудование получает доступ к Интернету.

Простыми словами, NAT в роутере — процесс перевода внутренних (приватных) адресов во внешние. Такая функция применяется всеми маршрутизаторами вне зависимости от установленных настроек и цены.

Многие путают NAT в роутере с фаерволом. Задача Firewall в запрете доступа к ресурсу по конкретному порту, к примеру, UDP или TCP. Он может устанавливаться на любом оборудовании для фильтрации трафика. Что касается NAT, он дает разрешение или запрещает доступ к определенному адресу или диапазону IP внутри сети.

NAT бывает трех видов:

  • Static — примеряется только компаниями, у которых много IP. Адреса доступа не меняются и должны быть открыты извне. К примеру, для входа на Интернет-ресурс необходимо знать его IP-адрес и порт. Благодаря автоматическому вводу последнего достаточно знать только DNS. При этом адресов Интернет-пользователя не видно в Сети.
  • Dynamic — роутер сам выбирает среди IP-адресов тот, который в дальнейшем вносится в таблицу NAT. Информация удаляется сразу после отключения от Интернета.
  • Overload — оптимальный вариант для физических лиц. Пользователи получают один адрес, а также два порта (задаются лично). Вход возможен только с помощью специальной программы.

Много вопросов касается еще одного термина — что такое NAT loopback в роутере. Здесь все просто. Если пакет поступает из внутренней сети на IP-адрес, он принимается в качестве внешнего. Это означает, что на него распространяются правила брандмауэра. После прохождения firewall в силу вступает NAT роутера, являющийся неким посредником. В результате удается следующее:

  1. Получить сведения о настройках сетевой службы.
  2. Войти на сервер по имени домена, находящегося в локальной сети.

Существует также NAT Traversal, позволяющий сетевым приложениям определить тот факт, что они находятся вне границ устройства. В таких ситуациях NAT применяется для определения IP адреса устройства и сопоставления портов.

Для чего он нужен

Выше мы кратко затронули функции NAT в роутере, что это, и как работает. Но назначение такой технологии заслуживает более глубокого изучения. При проектировании сети подразумевается применение локальных IP-адресов, которые используются внутри компании или площадки для локального взаимодействия. Иными словами, они не маршрутизируются во «всемирной паутине». Для обращения к устройствам вне локальной платформы приватный адрес необходимо перевести в публичный. Для этого и существует NAT.

Благодаря действию такой функции, устройство с персональным адресом IPv4 может подавать запросы вне частной интернет-сети. Дополнительное преимущество механизма состоит в обеспечении конфиденциальности и безопасности. На практике маршрутизаторы NAT могут настраиваться с одним или группой общедоступных адресов (пулом NAT). Как только оборудование вышло во внешнюю интернет-сеть, роутер с поддержкой технологии переводит внутренний адрес в общедоступный. При этом маршрутизатор NAT, как правило, функционирует на границе Stub (тупиковой) сети, имеющей одно соединение (вход/выход).

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

Подводя промежуточные итоги, можно выделить следующие особенности NAT в роутере:

  1. Преобразование локального адреса в общедоступный. После получения ответа происходит обратный процесс.
  2. Предотвращение и ограничение обращения извне к устройствам локальной сетки. Таким способом скрываются внутренние сервисы ПК и серверов от обращений из Интернет-сети.
  3. Настройка переадресации портов. Последние могут использоваться для открытия доступа из Интернета к сетевому NAS-хранилищу или к серверу «локалки».
  4. Подмена номера порта для обращения к иному порту. К примеру, для перевода управления роутером из Интернета на иной источник, если провайдером блокируется стандартный порт 80 и необходимо получить возможность применения порта 8080 для доступа к настройкам.

С помощью NAT частная сеть подключается к Интернету через общий публичный IP, которые выдается провайдером, а ресурс адресов тратится более экономично. Кроме того, применение опции важно с позиции безопасности. В частности, можно скрыть локалку от пользователей из вне, что исключает несанкционированный доступ.

Как пользоваться функцией NAT

С учетом сказанного возникает вопрос, как открыть NAT для своего роутера. В большинстве случаев опция включена по умолчанию. Если это не так, необходима ее активация и дополнительная настройка. Алгоритм действий следующий:

  1. Войдите в любой веб-проводник на ПК, после чего в поисковой строке введите адрес роутера (к примеру, 192.168.1.1.).
  2. Авторизуйтесь для входа в настройки путем ввода слов Admin и Admin.
  3. Войдите в Настройки, а там Сеть и Маршрутизация.
  4. Жмите на Новое правило. Таким способом удается задать условия маршрутизации. Здесь доступно пять направлений — с помощью имени DNS, через порт или трансляцию по пользователю, через подмену адреса или сетевой интерфейс.
  5. Задайте условия трафика путем выбора одного из вариантов. На выбор доступны следующие решения — Auto, Interface, Gateway, Trunk. На следующем этапе жмите Далее, а после Закрыть.

Для каждого роутера принципы включения NAT могут отличаться. К примеру, в Zyxel необходимо войти в настройки маршрутизатора, перейти в раздел Network — Routing, а там в Policy routing, Здесь будет тумблер, позволяющий включить службу. Далее задаются настройки в группе Criteria. Если необходимо отключить NAT в роутере, проделайте рассмотренные выше шаги и деактивируйте службу. В качестве альтернативы отключению можно перевести маршрутизатор в другой режим работы.

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

Плюсы и минусы использования

Перед тем как отключить NAT на роутере или до включения функции обратите внимание на ее плюсы и минусы.

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

  1. Экономия IP адресов. Актуально в случае, когда опция применяется в режиме PAT с передачей только нескольких IP-адресов в один публичный. По такой технологии работают почти все.
  2. Защита локальной сети от взлома извне с сохранением возможности выхода наружу. Иными словами, исходящие пакеты пропускаются, а ответные запросы должны соответствовать созданной трансляции. Если условие не выполняется, данные не пропускаются.
  3. Скрытие внутренних сервисов или хостов. При желании можно подменить внутренний порт на другой (официально зарегистрированный). Такая методика позволяет повысить безопасность и скрыть «непубличные» сайты.
  4. Повышение гибкости соединений с общедоступной Интернет-сетью.

Минусы:

  1. Из-за преобразования множества внутренних адресов в один появляются трудности с идентификацией участников. Во избежание проблем приходится хранить данные по логам трансляций.
  2. Применение NAT в роутере повышает задержку переключения, ведь перевод IPv4 требует временных затрат.
  3. Старые протоколы не могут работать при появлении между постами трансляции IP-адресов. Для исправления ситуации могут применяться межсетевые экраны.
  4. Риск нарушения служб или протоколов, нуждающихся в инициации соединений TCP из внешней сети.
  5. При попытке подключения нескольких пользователей к одному сайту возникает подозрение на DoS атаку. В результате могут возникнуть трудности с подключением.
  6. Если роутер не поддерживает Universal Plug & Play, процесс настройки усложняется (когда требуется взаимодействие с пиринговыми сетями).

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

Что такое nat в роутере? Настройка обратной петли

Многие пользователи, имея роутер, думают, что он нужен только для того, чтобы подключиться к интернету смогли только они сами. На самом же деле он выполняет ещё и функцию подключения к серверу других пользователей. В этой статье мы расскажем, что такое NAT в маршрутизаторе, для чего он нужен и как его настроить.

Содержание статьи

NAT в роутере — что это?

Network Address Translation с английского переводится как «трансляция сетевых адресов» — это процесс перевода внутренних адресов во внешние адреса. Если данная функция не будет настроена, то роутер заблокирует доступ к любым портам всем входящим соединениям из глобальной сети Интернет, при настроенных же параметрах – будет разрешать.

Настройка

Чтобы самостоятельно настроить nat в роутере, необходимо выполнить следующий ряд действий:

  • Запустить любой браузер на компьютере и в поисковой строке набрать адрес данного устройства 192.168.1.1 либо 192.168.0.1.
  • Затем ввести логин и пароль Admin/ Admin. После, можно будет заменить данный логин и пароль своими.
  • В открывшемся окне выбрать Настройки — Сеть – Маршрутизация (маршруты) и нажать на Новое правило, которое позволит задать условия маршрутизации любым способом. Бывает пять способов: через DNS имя, порт, трансляцию по определённому пользователю, сетевой интерфейс либо подмену адреса по адресу источника.
  • Далее необходимо задать условия трафика, одним из четырёх предложенных вариантов (Auto, Gateway, Trunk, Interface) и нажать «Далее» и «Закрыть».

После выполнения данного ряда действий, маршрутизатор готов к работе.

Бывают случаи, когда настроить nat нужно и на компьютере. Для этого через «Пуск» следует зайти в «Панель управления» и запустить «Сетевые подключения». Выбрать новое сетевое устройство и кликнуть по нему правой клавишей мышки, в «Свойствах» выбрать «Дополнительно». И установить галочки напротив «Разрешить др. пользователям сети использовать данное подключение» и нажать Ок.

Настройка обратной петли

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

Внимание! Без функции nat loopback нельзя было бы узнать о настройках сетевой службы либо зайти на сервер. Для каждого домена необходимо было бы настраивать файл hosts вручную.

Типы nat

Существует несколько типов Network Address Translation. Рассмотрим каждый из них детально:

  • Static NAT используют только компании, так как у них много IP адресов, которые не изменяются и должны быть всегда доступны извне. Например, для того, чтобы открыть какой-нибудь сайт, необходимо знать его IP адрес и порт, но так как порт всегда автоматически вводится специальной программой, знать нужно только DNS имя. Адреса пользователя в интернете не видны.
  • Dynamic NAT. Когда пользователь находится в интернете, то роутер сам выбирает среди полученных IP адресов только один, а затем заносит его в таблицу nat. Данная запись сразу же стирается, как только пользователь выходит из сети.
  • PAT либо NAT Overload. Данный тип подходит больше пользователям в виде физических лиц. Поскольку выдаётся единственный внешний адрес и два порта (внутренний и внешний), которые указывают сами пользователи. Зайти на данный сервис можно только с помощью определённой программы.

Важно! Зачастую порты нужно настраивать вручную.

Как изменить тип

Для того чтобы поменять тип NAT с одного на другой необходимо зайти на свой маршрутизатор, введя в поисковой строчке браузера комбинацию 192.168.1.1 либо 192.168.0.1., и ввести свой логин и пароль. Затем посмотреть свой IP адрес и настройки сети своего устройства. После чего необходимо обратиться к провайдеру интернет-подключения, для того чтобы он перенастроил ваш роутер на нужный вам тип. Для этого ему необходимо будет сообщить все данные.

Подпишитесь на наши Социальные сети

Руководство по NAT в MikroTik. Перевод официального WiKi





















































ХарактеристикаОписание

action 

(имя действия;

по умолчанию:accept)

Действие, которое необходимо предпринять, если пакет соответствует правилу:

  • accept — примите пакет. Пакет не передается следующему правилу NAT.
  • add-dst-to-address-list — добавить адрес назначения в список адресов, указанный address-list параметром
  • add-src-to-address-list — добавить исходный адрес в список адресов, указанный address-list параметром
  • dst-nat — заменяет адрес назначения и / или порт IP-пакета на значения, заданны в to-addresses и to-ports параметром 
  • jump — переход к пользовательской цепочке, заданной значением jump-target параметра
  • log — добавьте сообщение в системный журнал, содержащее следующие данные:in-interface, out-interface, src-mac, protocol, src-ip:port->dst-ip: порт и длина пакета. После того, как пакет сопоставлен, он передается следующему правилу в списке, аналогичному passthrough
  • masquerade — заменяет исходный порт IP-пакета на указанный to-ports параметром и заменяет исходный адрес IP-пакета на IP, определенный средством маршрутизации.
  • netmap — создает статическое отображение 1:1 одного набора IP-адресов на другой. Часто используется для распределения публичных IP адресов хостам в частных сетях
  • passthrough — если пакет соответствует правилу, передаст обработку к следующему правилу увеличив счётчик (полезно для статистики).
  • redirect — заменяет порт назначения IP-пакета на указанный to-ports параметром, а адрес назначения-на один из локальных адресов маршрутизатора
  • return — передает управление обратно в цепочку, откуда произошел прыжок
  • same — дает конкретному клиенту один и тот же IP-адрес источника/назначения из поставляемого диапазона для каждого соединения. Это наиболее часто используется для служб, которые ожидают один и тот же адрес клиента для нескольких подключений от одного и того же клиента
  • src-nat — заменяет исходный адрес IP-пакета на значения, заданные to-addressesto-ports параметром and

address-list 

(строка; по умолчанию: )

Имя используемого списка адресов. Применимо, если действие является add-dst-to-address-list или add-src-to-address-list

address-list-timeout

 (none-dynamic | none-static / time;

по умолчанию: none-dynamic)

Интервал времени, по истечении которого адрес будет удален из списка адресов, указанного address-list параметром. Используется в сочетании с add-dst-to-address-list add-src-to-address-list действиями.

  • Значение none-dynamic (00:00:00) оставит адрес в списке адресов до перезагрузки.
  • Значение none-static оставит адрес в списке адресов навсегда и даже будет включен в экспорт конфигурации / резервную копию
chain (имя; по умолчанию: )Указывает, к какому правилу цепочки будет добавлено правило. Если входные данные не совпадают с именем уже определенной цепочки, будет создана новая цепочка.
comment (строка; по умолчанию: )Описательный комментарий к правилу.

connection-bytes 

(integer-целое число; по умолчанию: )

Сопоставляет пакеты только в том случае, если заданное количество байтов было передано через конкретное соединение. 0 — означает бесконечность, например connection-bytes=2000000-0 означает, что правило совпадает, если через соответствующее соединение было передано более 2 МБ

connection-limit 

(целое число, netmaks;

по умолчанию: )

Сопоставляет соединения по адресу или блоку адресов после достижения заданного значения.

connection-mark 

(no-mark / string;

по умолчанию: )

Соответствует пакетам, помеченным через средство mangle, с определенной меткой соединения. Если параметр no-mark не установлен, правило будет соответствовать любому немаркированному соединению.

connection-rate 

(Целое число 0..4294967295;

по умолчанию: )

Скорость соединения — это сопоставитель брандмауэра, который позволяет захватывать трафик на основе текущей скорости соединения.

connection-type

 (ftp | h423 / irc | pptp / quake3 / sip | tftp; по умолчанию: )

Сопоставляет пакеты от связанных соединений на основе информации от их помощников по отслеживанию соединений. Соответствующий помощник подключения должен быть включен в разделе / ip firewall service-port
content (строка; по умолчанию: )Сопоставьте пакеты, содержащие указанный текст

dscp (целое число: 0..63;

по умолчанию: )

Соответствует полю заголовка IP-адреса DSCP.

dst-address

 (Диапазон IP / netmask / IP;

по умолчанию: )

Сопоставляет пакеты, назначение которых равно указанному IP-адресу или попадает в указанный диапазон IP-адресов.

dst-address-list 

(имя; по умолчанию: )

Сопоставляет адрес назначения пакета с определяемым пользователем списком адресов

dst-address-type

 (одноадресная /

локальная /

широковещательная /

многоадреснаяпередача ;

по умолчанию: )

Соответствует типу адреса назначения:

  • unicast — IP-адрес, используемый для передачи данных точка-точка
  • local — если dst-адрес назначен одному из интерфейсов маршрутизатора
  • broadcast — пакет отправляется на все устройства в подсети
  • multicast — пакет пересылается на определенную группу устройств

dst-limit 

(integer [/time],

integer,

dst-address | dst-port | src-address [/time];

по умолчанию: )

Сопоставляет пакеты до тех пор, пока не будет превышен заданный предел pps. В отличие от limitmatcher, каждый IP-адрес назначения / порт назначения имеет свой собственный предел. Параметры записываются в следующем формате: count [/time], burst, mode [/expire].

  • count — максимальная средняя скорость передачи пакетов, измеряемая в пакетах за time интервал
  • time — задает интервал времени, в течение которого измеряется скорость передачи пакетов (необязательно)
  • burst — количество пакетов, не учитываемых по пакетной скорости
  • mode — классификатор для ограничения скорости передачи пакетов
  • expire — указывает интервал, после которого записанный ip-адрес /порт будет удален (необязательно)

dst-port 

(целое число [- integer]: 0..65535;

по умолчанию: )

Список номеров портов назначения (через запятую) или диапазонов номеров портов

fragment

 (да / нет; по умолчанию: )

Соответствует фрагментированным пакетам. Первый (стартовый) фрагмент не считается. Если отслеживание соединений включено, то фрагментов не будет, так как система автоматически собирает каждый пакет

hotspot

 (auth | from-client / http / local-dst | to-client;

по умолчанию: )

Сопоставляет пакеты, полученные от клиентов HotSpot, с различными Сопоставителями HotSpot.

  • auth — соответствует аутентифицированным клиентским пакетам HotSpot
  • from-client — сопоставляет пакеты, поступающие от клиента HotSpot
  • http — соответствует HTTP-запросам, отправленным на сервер HotSpot
  • local-dst — сопоставляет пакеты, предназначенные для сервера HotSpot
  • to-client — сопоставляет пакеты, которые отправляются клиенту HotSpot

icmp-options

 (integer:целое число;

по умолчанию: )

Соответствует типу ICMP:кодовые файлы

in-bridge-port

 (name;

по умолчанию: )

Фактический интерфейс c которого пакет вошел в маршрутизатор, если входящий интерфейс является мостом

in-interface 

(name; по умолчанию: )

Интерфейс с которого пакет вошел в маршрутизатор

ingress-priority 

(целое число: 0..63;

по умолчанию: )

Соответствует входному приоритету пакета. Приоритет может быть получен из VLAN, WMM или MPLS EXP bit.

ipsec-policy 

(вход | выход, ipsec / нет;

по умолчанию: )

Соответствует политике, используемой IpSec. Значение записывается в следующем формате: direction, policy. Направление используется для выбора соответствия политике, используемой для декапсуляции, или политике, которая будет использоваться для инкапсуляции.

  • in — действителен в предварительной, входной и прямой цепочках
  • out — действителен в ПОСТПРОТЯЖНЫХ, выходных и прямых цепочках
  • ipsec — соответствует, если пакет подлежит обработке IpSec;
  • none — соответствует пакету, который не подлежит обработке IpSec (например, транспортный пакет IpSec).

Например, если маршрутизатор получает инкапсулированный Ipsec пакет GRE, то правило ipsec-policy=in, ipsec будет соответствовать пакету GRE, но правило ipsec-policy=in, none будет соответствовать пакету ESP.

ipv4-options 

(any / loose-source-routing |

no-record-route |

no-router-alert |

no-source-routing |

no-timestamp |

none / record-route / router-alert |

strict-source-routing |

timestamp; по умолчанию: )

Соответствует параметрам заголовка IPv4.

  • any — сопоставьте пакет хотя бы с одним из вариантов ipv4
  • loose-source-routing — сопоставьте пакеты с возможностью маршрутизации свободного источника. Этот параметр используется для маршрутизации интернет-дейтаграммы на основе информации, предоставленной источником
  • no-record-route — сопоставьте пакеты без опции маршрута записи. Этот параметр используется для маршрутизации интернет-дейтаграммы на основе информации, предоставленной источником
  • no-router-alert — сопоставление пакетов без опции изменения маршрутизатора
  • no-source-routing — сопоставление пакетов без опции маршрутизации источника
  • no-timestamp — совпадение пакетов без опции метки времени
  • record-route — сопоставьте пакеты с опцией маршрута записи
  • router-alert — сопоставьте пакеты с опцией изменения маршрутизатора
  • strict-source-routing — сопоставьте пакеты со строгим вариантом маршрутизации источника
  • timestamp — сопоставьте пакеты с меткой времени

jump-target 

(имя; по умолчанию: )

Имя целевой цепочки, к которой нужно перейти. Применимо только в том случае, если action=jump

layer7-protocol 

(имя; по умолчанию: )

Имя фильтра Layer7 определяется в меню протокола layer7.

limit

(integer,

time,

integer;

по умолчанию: )

Сопоставляет пакеты до тех пор, пока не будет превышен заданный предел pps. Параметры записываются в следующем формате: count [/time], burst.

  • count — максимальная средняя скорость передачи пакетов, измеряемая в пакетах за time интервал
  • time — задает интервал времени, в течение которого измеряется скорость передачи пакетов (необязательно, если не указано значение 1s).)
  • пакет-количество пакетов, не учитываемых по пакетной скорости

log-prefix 

(строка; по умолчанию: )

Добавляет указанный текст в начало каждого сообщения журнала. Применимо, если action=log

nth 

(целое число,

integer;

по умолчанию: )

Соответствует каждому N-му пакету.

out-bridge-port 

(имя; по умолчанию: )

Фактический интерфейс пакет покидает маршрутизатор, если исходящий интерфейс является мостом

out-interface

 (; По умолчанию: )

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

packet-mark

 (no-mark / string;

по умолчанию: )

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

packet-size 

(целое число [- integer]: 0..65535;

по умолчанию: )

Соответствует пакетам указанного размера или диапазона размеров в байтах.

per-connection-classifier 

(ValuesToHash:

Denominator/Remainder;

По Умолчанию: )

PCC matcher позволяет разделить трафик на равные потоки с возможностью сохранения пакетов с определенным набором опций в одном конкретном потоке.

port

 (целое число [- integer]: 0..65535;

по умолчанию: )

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

protocol

 (имя или идентификатор протокола;

по умолчанию: tcp)

Соответствует определенному IP-протоколу, определяемому именем или номером протокола

psd

 (integer,

time,

integer,

integer;

по умолчанию: )

Попытки обнаружить сканирование TCP и UDP. Параметры представлены в следующем формате WeightThreshold, DelayThreshold, LowPortWeight, HighPortWeight

  • WeightThreshold — общий вес последних пакетов TCP / UDP с различными портами назначения, поступающих с одного хоста и обрабатываемых как последовательность сканирования портов.
  • DelayThreshold-задержка для пакетов с разными портами назначения, поступающих с одного и того же хоста, которые будут обрабатываться как возможная подпоследовательность сканирования портов
  • LowPortWeight-вес пакетов с привилегиями (
  • HighPortWeight-вес пакета с непривилегированным портом назначения

random 

(целое число: 1..99;

по умолчанию: )

Сопоставляет пакеты случайным образом с заданной вероятностью.

routing-mark

 (строка; по умолчанию: )

Сопоставляет пакеты, помеченные средством mangle, с определенной меткой маршрутизации

same-not-by-dst

 (yes | no;

по умолчанию: )

Указывает, следует ли учитывать или не учитывать IP-адрес назначения при выборе нового исходного IP-адреса. Применимо, если action=same

src-address

 (Ip / Netmaks, диапазон Ip;

по умолчанию: )

Сопоставляет пакеты, источник которых равен указанному IP-адресу или попадает в указанный диапазон IP-адресов.

src-address-list 

(имя; по умолчанию: )

Сопоставляет исходный адрес пакета с определяемым пользователем списком адресов

src-address-type

 (одноадресная / локальная /

широковещательная /

многоадреснаяпередача

; по умолчанию: )

Соответствует типу адреса источника:

  • unicast — IP-адрес, используемый для передачи данных точка-точка
  • local — если адрес назначен одному из интерфейсов маршрутизатора
  • broadcast — пакет отправляется на все устройства в подсети
  • multicast — пакет пересылается на определенную группу устройств

src-port 

(целое число [- integer]: 0..65535;

по умолчанию: )

Список исходных портов и диапазоны исходных портов. Применимо только в том случае, если протокол TCP или UDP.

src-mac-address

 (MAC-адрес; по умолчанию: )

Соответствует исходному MAC-адресу пакета

tcp-mss

 (целое число [- integer]: 0..65535;

по умолчанию: )

Соответствует значению TCP MSS IP пакета

time

 (время-время, СБ / пт / чт |

СР | Вт | Пн / Вс; по умолчанию: )

Позволяет создать фильтр, основанный на времени и дате прибытия пакетов или, для локально генерируемых пакетов, времени и дате отправления

to-addresses

 (IP-адрес[-IP-адрес];

по умолчанию: 0.0.0.0)

Замените исходный адрес указанным. Применимо, если действие dst-nat, netmap, same, src-nat

to-ports 

(целое число [- integer]: 0..65535;

по умолчанию: )

Замените исходный порт на указанный. Применимо, если действие-dst-nat, redirect, masquerade, netmap, same, src-nat
ttl (целое число: 0..255; по умолчанию: )Соответствует значению TTL пакетов

Mikrotik NAT как настроить НАТ на маршрутизаторе Микротик

Для настройки NAT маршрутизатора  Микротик  сначала скачиваем утилиту winbox и подключаемся к роутеру, где скачать,  и инструкция  по подключению описано здесь. Настроить Мikrotik NAT на маршрутизаторе можно несколькими способами, рассмотрим их по порядку.

Нужно разобраться с MikroTik, но не определились с чего начать? В курсе «Настройка оборудования MikroTik» все по порядку. Подойдет и для начала работы с этим оборудованием, и для того, чтобы систематизировать знания. Это видеокурс из 162 уроков и 45 лабораторных работ, построен на официальной программе MTCNA. Проходить можно, когда удобно и пересматривать по необходимости – материалы курса выдаются бессрочно. Также есть 30 дней на личные консультации с автором. На пробу выдают 25 уроков бесплатно, заказать их можно на странице курса.

Простая настройка NAT

После подключения к роутеру открываем  вкладку NAT меню ip-firewall,  нажимаем кнопку добавить новое правило(красный крестик)

В открывшемся окне,  вкладка General заполняем минимально необходимые поля

Chain-канал приемник, нам нужно принимать из локальной сети, поэтому выбираем srcnat

Out.Interface – Внешний интерфейс маршрутизатора, тот которым он смотрит в интернет

Далее открываем вкладку Action

В поле Action выбираем masquerade(Маскарад).  Теперь будет происходить подмена локальных  ip, адресом предоставленный провайдером.  Минимальная настройка НАТ на Mikrotik закончена. Рассмотрим более сложную настройку NAT на Микротик.

Настройка NAT для нескольких внешних ip

Если провайдер выделяет несколько внешних ip, или у нас подключены несколько операторов, и мы хотим  сделать выход из разных подсетей или  локальных  ip  в интернет под разными адресами, то  есть несколько способов.

  1. Если внешние ip настроены на разных интерфейсах маршрутизатора. Здесь все просто, прописываем Src.Address нужный ip  или сеть, а исходящим интерфейсом выбираем  нужный интерфейс .

Указываем в source ip нужные подсети, или одиночные ip адреса. В указанном примере, все пакеты от компьютеров с ip 192.168.0.2-192.168.0.127 будут идти через интерфейс ether1-gareway, а пакеты с  192.168.0.128-192.168.0.255 будут идти с интерфейса ether2-gateway, соответственно в интернете они будут видны под ip address этих интерфейсов.

  1. Если от провайдера приходит один провод по которому нам дают несколько внешних ip, нам не хочется задействовать для каждого соединения свой порт, то все внешние ip  можно настроить на одном порту

К примеру у нас на одном порту настроены ip address 1.1.1.1, 2.2.2.2  и целая сеть 3.3.3.3/24 как показано на рисунке

Нам нужно настроить выход  для разных локальных компьютеров с внешних ip  1.1.1.1, 2.2.2.2 3.3.3.3 и 3.3.3.4.

Рассмотрим настройки на примере интерфейса с ip 3.3.3.4, все остальные будут идентичны

На вкладке General указываем только Src.Address, сеть или local  с которого будут идти пакеты. Далее на вкладке Action делаем следующие настройки

В поле Action выбираем dst-nat или netmap.  Отличие dst  nat от  netmap заключается в том, что netmap новый и улучшенный  вариант dst nat. Поэтому я использую его.

В поле To Address прописываем  адрес под котором нужно что бы наша сеть выходила в интернет.

Также в поле действия можно выбрать следующие операции.

Accept – принять будет принят и пройдет через маршрутизатор без изменений

add-dst-to-address-list — добавить address назначения в список адресов, заданный параметром address-list

add-src-to-address-list — добавить address источника в список адресов, указанный параметром address-list

dst-nat — заменяет address назначения и / или порт IP-пакета на значения, заданные параметрами-адресами и портами, этот параметр бвыше был рассмотрен

jump — переход к определяемой пользователем цепочке, заданной значением параметра target-jump

log — добавить сообщение в системный журнал, содержащий следующие данные: in-interface, out-interface, src-mac, protocol, src-ip: port-> dst-ip: порт и длина пакета. После согласования пакета он переходит к следующему правилу в списке, аналогично переходу

masquerade — Маскарад рассмотренный в начале статьи. Подмена внутреннего адреса машины из локальной сети на адрес роутера;

netmap — создает статическое отображение 1: 1 одного набора IP-адресов другому. Часто используется для распространения общедоступных IP-адресов на хосты в частных сетях

passthrough — если пакет соответствует правилу, увеличьте счетчик и перейдите к следующему правилу (полезно для статистики).

redirect — заменяет порт назначения IP-пакета на один, заданный параметром-портом-портом и адресом назначения на один из локальных адресов маршрутизатора

return — передает управление обратно в цепочку, откуда произошел прыжок

same — дает конкретному клиенту один и тот же IP-адрес источника / получателя из заданного диапазона для каждого соединения. Это чаще всего используется для служб, ожидающих одного и того же адреса клиента для нескольких подключений от одного и того же клиента

src-nat — заменяет исходный адрес IP-пакета на значения, заданные параметрами to-addresses и to-ports

Если нужно настроить проброс портов из интернета на ресурсы локальной сети, то как это сделать подробно описано здесь

Обучающий курс по настройке MikroTik

Нужно разобраться с MikroTik, но не определились с чего начать? В курсе «Настройка оборудования MikroTik» все по порядку. Подойдет и для начала работы с этим оборудованием, и для того, чтобы систематизировать знания. Это видеокурс из 162 уроков и 45 лабораторных работ, построен на официальной программе MTCNA. Проходить можно, когда удобно и пересматривать по необходимости – материалы курса выдаются бессрочно. Также есть 30 дней на личные консультации с автором. На пробу выдают 25 уроков бесплатно, заказать их можно на странице курса.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Урок 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.

 

 

Статический NAT

Необходимо назначить адреса по следующей схеме:

192.168.1.10 → 30.1.1.10

192.168.1.11 → 30.1.1.11

 

Введем следующие команды:


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

 

 

Динамический NAT

Воспользуемся тем же рисунком, однако вместо статического пула с сетью 30.1.1.0 мы будем следующий пул: 

43.1.1.10/24

43.1.1.11/24

43.1.1.12/24

 

Создадим 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

 

 

Перегруженный  PAT

В этом раз мы выделим всего лишь 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

 

 

 

А что такое 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: 

189.1.1.10:5000 → 192.168.1.20:80

 

Для этого достаточно сконфигурировать статический NAT для конкретного сервера:


Router(config)# ip nat inside source static tcp 192.168.1.20 80 189.1.1.10 5000 extendable

 

Теперь Web сервер будет доступен для внешней сети. 

Вот и вся наука.

 

Комментарии для сайта Cackle

NAT на Cisco. Часть 1 / Хабр

Добрый день, коллеги!

судя по многочисленным вопросам на форуме (ссылка в конце поста), от слушателей и коллег, работа NAT на маршрутизаторах Cisco (firewall’ы я опущу, Fedia достаточно подробно его работу расписал в своей серии статей про Cisco ASA) плохо описана, поэтому я попробую описать свой опыт и свое понимание данной технологии в большинстве ее ипостасей. Не претендую на всеобъемлющее описание и 100% точность, но кому интересно — велкам под кат.

Итак, для структурности описания разберемся с определением, что такое NAT.

Определение. NAT (Network Address Translation) — технология трансляции сетевых адресов, т.е. подмены адресов в заголовке IP-пакета (иногда может еще и порт менять в заголовках TCP/UDP, но об этом позже).

Другими словами, пакет, проходя через маршрутизатор, может поменять свой адрес источника и/или назначения.

Зачем это нужно?

1. Для обеспечения доступа из LAN, где чаще всего используются частные IP-адреса, в Internet, где маршрутизируются только глобальные IP-адреса.

2. (в меньшей степени) для сокрытия топологии сети и создания некоторого защитного барьера для проникновения внутрь сети (обсудим это позже на примере).

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

1. Static NAT — статический NAT задает однозначное соответствие одного адреса другому. Иными словами, при прохождении через маршрутизатор, адрес(а) меняются на строго заданный адрес, один-к-одному. (к примеру 10.1.1.1 всегда заменяется на 11.1.1.1 и обратно, но никогда на 12.1.1.1). Запись о такой трансляции хранится неограниченно долго, пока есть строчка в конфиге.

2. Dynamic NAT — при прохождении через маршрутизатор, новый адрес выбирается динамически из некоторого куска адресов, называемого пулом (англ. pool). Запись о трансляции хранится некоторое время, чтобы ответные пакеты могли быть доставлены адресату. Если в течение некоторого времени трафик по этой трансляции отсутствует, трансляция удаляется и адрес возвращается в пул. Если требуется создать трансляцию, а свободных адресов в пуле нет, то пакет отбрасывается. Иными словами, хорошо бы, чтобы число внутренних адресов было ненамного больше числа адресов в пуле, иначе высока вероятность проблем с доступом наружу.

3. Dynamic NAT with overload или PAT. Работает почти также, как dynamic NAT, но при этом происходит трансляция много-в-один, задействуя при этом возможности транспортного уровня. Об этом подробнее на примере дальше.

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

Давайте посмотрим, что у нас есть в этом случае.

1. inside source NAT

Самый распространенный и достаточно простой вариант. Допустим у нас есть такая топология:

Другими словами,

а) подсеть внутренних адресов — 10.0.0.0/8

б) подсеть внешних адресов — 11.0.0.0/8

и мы хотим транслировать каким-то образом внутренние адреса во внешние при прохождении трафика через маршрутизатор.

Что для этого нужно?

1. Мы явно указываем, что мы хотим транслировать. Т.е. какой трафик и от каких хостов.
2. Мы явно указываем, во что мы хотим траслировать, т.е. пул внешних адресов (или единственный адрес для статической трансляции).
3. Помечаем внутренний и внешний интерфейс.
4. Включаем трансляцию.

На п.3 я себе позволю остановиться подробнее, потому что именно здесь часто происходит непонимание.

Как это работает?

Итак, допустим мы решили, что будем транслировать всю 10ю сеть целиком в 11ю. Задали их соответствующим образом (настройки потом, сначала теория). И пометили наши интерфейсы как внутренний (inside) и внешний (outside).
Теперь, давайте разберемся, что делает именно inside source NAT. На самом деле, в названии зашита половина действия 🙂 а именно: у пакета, пришедшего на inside интерфейс меняется source :). Но помните, мы говорили о том, что ответные пакеты должны доходить до нашего внутреннего хоста? Отсюда вторая половина действия: у пакета, пришедшего на outside интерфейс меняется destination.

Рассмотрим прямую трансляцию.

1. Трафик, приходя на интерфейс, помеченный как inside, если он соответствует тому, что мы хотим транслировать, маркируется как возможно_транслируемый. Часто полагают, что в этот момент происходит трансляция, но это не так.

2. Следующим этапом, трафик подвеграется маршрутизации (PBR и обычной). И если при этом трафик направляется на интерфейс, помеченный как outside — только тогда происходит трансляция. Если трансляция динамическая, маршрутизатор проверяет ее наличие в таблице трансляций. Если ее там нет — создает, если уже есть — обнуляет счетчик неактивности. Если же пакет попадает на выход на интерфейс, не помеченный как outside — трансляция НЕ происходит.

Теперь обратная трансляция.

1. Трафик, попадая на outside интерфейс, в противовес прямой трансляции, сначала подвергается NAT. Если трансляция существует (неважно, динамическая или статическая), в случае с inside source NAT, у него меняется destination. И только после этого трафик подвергается маршрутизации и перенаправляется по назначению.

Поэтому маркировать интерфейсы как inside или outside нужно именно принимая во внимание механизм работы.

Замечания и следствия.

1. Для обратной трансляции не обязательно наличие метки inside на каком-либо интерфейсе. Все равно, если прямая трансляция существует, обратная трансляция сработает до маршрутизации. Но когда будет существовать такая трансляция, ведь мы обсуждали, что трафик должен пройти через inside интерфейс для создания прямой трансляции? Отсюда

2. Трафик самого роутера подвергается трансляции, если он попадает на интерфейс, помеченный как outside и удовлетворяет правилу NAT. И это сколь полезно, столь и опасно. С одной стороны, мы можем транслировать трафик роутера как и любой другой. С другой стороны, многие хотят описать трафик, подлежащий трансляции как permit any, но тогда и, например, пакеты протоколов маршрутизации будут транслироваться, что приведет к сбою.

3. Интерфейсы типа loopback маршрутизатора трактуются как и любые другие, мы можем метить их как inside или outside, заворачивать на них трафик и получать от этого профит 🙂

Теперь посмотрим общую конфигурацию, а потом еще несколько частных случаев.

Конфигурация inside source NAT

inside source dynamic NAT

1. Указываем, что транслировать. Для этого создаем access-list, перечисляющий трафик. Например, в нашем случае достаточно одной строчки:
(config)# access-list 100 permit ip 10.0.0.0 0.255.255.255 any
Замечание. В ACL могут встречаться строчки deny. Вопреки распространенному заблуждению, трафик удовлетворяющей данной строчке не дропается, а просто не подвеграется трансляции. Так же, ACL может быть стандартным и расширенным, нумерованным и именованным.
2. Создаем пул из адресов, указывая стартовый и конечный адрес. Например так:
(config)# ip nat pool NAME_OF_POOL 11.1.1.10 11.1.1.20 netmask 255.255.255.0
Замечания.
1. Стартовый и конечный адрес в пуле могут совпадать, тогда трансляция будет в 1 адрес.
2. Опция netmask, хотя и является обязательной, по моему мнению — рудимент. Она позволяет вырезать из диапазона адресов в пуле те адреса, которые являются адресами подсети или бродкастными при данной маске.
3. Маркируем интерфейсы. В нашем случае достаточно
(config)# interface fa 0/0

(config-if)# ip nat inside

и
(config)# interface fa 0/1

(config-if)# ip nat outside

4. создаем собственно трансляцию:
ip nat inside source list 100 pool NAME_OF_POOL

вуаля 🙂 Если мы теперь обратимся например с хоста 10.1.1.1 к хосту 11.1.1.2, то получим такую трансляцию:
Router#sh ip nat translations

Pro Inside global Inside local Outside local Outside global

tcp 11.1.1.10:55209 10.0.1.1:55209 11.1.1.2:23 11.1.1.2:23

Интересно, что хотя в таблице явно записаны source port и destination port, трансляция создается целиком для адреса. И на время ее жизни в таблице трансляция, пакеты снаружи могут проходить на внешний адрес (inside global)

Например, пинг с некоторого адреса во внешней сети на наш inside global будет успешным (на время жизни трансляции):
R4#ping 11.1.1.10

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 11.1.1.10, timeout is 2 seconds:

!!!!!


Иными словами, открывается трансляция единожды и к некоторому хосту, после этого некоторое время действует для любого адреса извне.

inside source dynamic NAT with overload

П. 1,2 и 3 — как в предыдущем разделе.
4. Создаем собственно трансляцию:
ip nat inside source list 100 pool NAME_OF_POOL overload
Видим, что добавилось всего одно слово: overload. Но оно существенно изменило схему работы трансляции.
Как было сказано, PAT — это трансляция много-в-мало или даже много-в-один. Но чтобы можно было отличить трафик одного соединения от другого, маршрутизатор будет менять не только IP-адреса, но еще и TCP/UDP порты.
Замечание. Схема работы с портами (когда меняется source, когда destination) — такая же, как и схема работы с IP-адресами.
Другими словами, при обращении изнутри наружу меняется source IP и source port, запись об этом вносится в таблицу трансляций. При обратной трансляции — все меняется наоборот.

Посмотрим, что изменилось:
R3#sh ip nat translations

Pro Inside global Inside local Outside local Outside global

tcp 11.1.1.11:21545 10.0.1.1:21545 11.1.1.2:23 11.1.1.2:23

tcp 11.1.1.11:49000 10.0.2.1:49000 11.1.1.2:23 11.1.1.2:23


Видим, что разные внутренние адреса (10.0.1.1 и 10.0.2.1) странслировались в один внешний (11.1.1.11).

Замечания.

1. Кажется, что source-port не был изменен, как обещали, непорядок :). На деле, маршрутизатор пытается сохранить source port всеми доступными средствами. В частности, если порт inside global адреса уже был занят, он возьмет следующий адрес в пуле и проверит его порт на занятость. И только не найдя адреса со свободным портом возьмет следующий свободный.

2. Поведение такой трансляции отличается от поведения обычного dynamic NAT еще и тем, что доступ снаружи на inside global адрес невозможен. Именно это я имел ввиду, когда говорил о некоторой повышенной безопасности при использовании PAT, т.к. фактически все соединения инициируются изнутри нашей сети, а снаружи нам могут приходить только ответы на них.

3. Если мы получили у провайдера не целый блок адресов, а один несчастный адрес, который тут же и назначили внешнему интерфейсу маршрутизатора, можно не городить огород с пулом в один адрес, а сразу писать например так:
(config)# ip nat inside source list 100 interface fa0/1 overload

inside source static NAT and PAT

Много упоминалось о статических трансляциях, давайте наконец их обсудим.

Зачем это нужно?

Мы обсудили, что если в случае dynamic NAT трансляция не создана и в случае PAT, доступ извне невозможен. Если даже в случае dynamic NAT трансляция создана, то inside global адрес может меняться. И обращаться к нашему внутреннему хосту по какому-то внешнему адресу невозможно.

Тем не менее, нередки ситуации, когда внутри корпоративной сети есть сервер, доступ которому извне по статическому внешнему адресу жизненно необходим. В таком случае, можно выставить его прямиком в Интернет, назначив глобальный адрес. Но часто это не очень удобно, например по соображениям безопасности. И в таких случаях нам на помощь приходит static NAT.

Он создает двустороннюю и постоянную трансляцию. Так что наш хост всегда будет доступен по одному внешнему адресу и эта трансляция никогда не вылетит из таблицы трансляций по таймауту.
собственно настройка.

Сразу создаем трансляцию:
(config)# ip nat inside source static 10.0.1.1 11.1.1.21

Маркируем интерфейсы и вуаля!
R3#sh ip nat translations

Pro Inside global Inside local Outside local Outside global

icmp 11.1.1.21:14 10.0.1.1:14 11.1.1.2:14 11.1.1.2:14

--- 11.1.1.21 10.0.1.1 --- ---


Как видим, появилось две записи — одна постоянная, другая (чисто информативная) — временная, вызванная трафиком изнутри наружу.
Замечание. Появление таких информативных записей можно отключить командой
(config)# no ip nat create flow-entries

Идем дальше. Часто бывает, что нужно выставить наружу не целый адрес, а только один порт (например 80й для www-сервера). Никаких проблем, можно создать и статическую PAT-трансляцию для некоторых портов:
(config)# ip nat inside source static tcp 10.0.1.1 80 11.1.1.21 80

(config)# ip nat inside source static udp 10.0.1.1 5060 11.1.1.21 7877


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

В заключение добавлю, что изменять различные таймауты для NAT можно командой
Router(config)#ip nat translation ?

arp-ping-timeout Specify timeout for WLAN-NAT ARP-Ping

dns-timeout Specify timeout for NAT DNS flows

finrst-timeout Specify timeout for NAT TCP flows after a FIN or RST

icmp-timeout Specify timeout for NAT ICMP flows

max-entries Specify maximum number of NAT entries

port-timeout Specify timeout for NAT TCP/UDP port specific flows

pptp-timeout Specify timeout for NAT PPTP flows

routemap-entry-timeout Specify timeout for routemap created half entry

syn-timeout Specify timeout for NAT TCP flows after a SYN and no

further data

tcp-timeout Specify timeout for NAT TCP flows

timeout Specify timeout for dynamic NAT translations

udp-timeout Specify timeout for NAT UDP flows

Объемистая статейка получилась, придется разбить на несколько частей. Конечно inside source NAT многократно обсужден и расписан, но надеюсь, что даже не совсем новичкам удастся найти в статье что-то полезное. Надо было начать с некоторой базы, пусть и общеизвестной.

В следующей статье мы обсудим inside destination NAT, если конечно статья найдет отклик и поддержку.

С уважением,

Подкопаев Илья

P.S. Я открыт для пожеланий по улучшению статьи и исправлению неточностей/ошибок.

P.P.S. Ссылки:

1. форум сайта anticisco.ru

2. Cisco NAT order of operations

Как настроить NAT на маршрутизаторе Cisco, шаг за шагом

Истощение общедоступного адресного пространства IPv4 заставило интернет-сообщество задуматься об альтернативных способах адресации сетевых узлов.

Трансляция сетевых адресов (NAT) была введена для преодоления этих проблем адресации, которые возникли с быстрым расширением Интернета.

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

В основном NAT позволяет одному сетевому устройству (например, маршрутизатору, межсетевому экрану и т. Д.) Действовать как агент между частной локальной сетью и общедоступной сетью, такой как Интернет.

Назначение этого устройства NAT — преобразовать исходные IP-адреса узлов внутренней сети в общедоступные маршрутизируемые IP-адреса для связи с Интернетом.

Некоторые из преимуществ использования NAT в IP-сетях следующие:

  • NAT помогает смягчить истощение глобального пространства общедоступных IP-адресов
  • Сети теперь могут использовать пространство частных адресов RFC 1918 внутри и по-прежнему иметь возможность для доступа в Интернет через NAT.
  • NAT повышает безопасность, скрывая топологию внутренней сети и схему адресации.

Маршрутизаторы Cisco IOS поддерживают различные типы NAT, как будет объяснено ниже. NAT имеет множество форм и может работать по-разному, но в этом посте я объясню наиболее важные типы NAT.

Для следующих двух сценариев мы будем использовать следующую простую сеть:

1. Перегрузка или преобразование адресов порта (PAT)

Это наиболее часто используемая форма NAT в IP-сетях.Он использует концепцию преобразования « многие-к-одному », где несколько соединений от разных внутренних хостов « мультиплексируются » в единый зарегистрированный (общедоступный) IP-адрес с использованием разных номеров портов источника.

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

Все IP-адреса локальной сети (192.168.1.0/24) будут преобразованы с использованием общедоступного IP-адреса маршрутизатора (20.20.20.1).

интерфейс FastEthernet0 / 0
ip-адрес 20.20.20.1 255.255.255.0
ip nat за пределами
! Интерфейс
FastEthernet0 / 1
ip-адрес 192.168.1.1 255.255.255.0
ip-адрес внутри
!
список доступа 1 разрешение 192.168.1.0 0.0.0.255
ip nat внутри списка источников 1 интерфейс FastEthernet0 / 0 перегрузка

2.Статическая трансляция адресов порта (перенаправление портов)

Предположим теперь, что у нас есть только один общедоступный IP-адрес, который настроен на внешнем интерфейсе нашего пограничного маршрутизатора. Мы хотим, чтобы трафик, попадающий на общедоступный IP-адрес нашего маршрутизатора 20.20.20.1 на порту 80, перенаправлялся на наш внутренний веб-сервер по IP 192.168.1.10

Интерфейс FastEthernet0 / 0
ip-адрес 20.20.20.1 255.255.255.0
ip nat за пределами
!
интерфейс FastEthernet0 / 1
ip-адрес 192.168.1.1 255.255.255.0
ip nat внутри
!
ip nat inside source static tcp 192.168.1.10 80 20.20.20.1 80

3. Настройка статического NAT

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

Маршрутизатор Cisco, выполняющий NAT, делит свой юниверс на внутри и за пределами .Обычно внутри находится частное предприятие, а снаружи — общедоступный Интернет. В дополнение к понятию внутреннего и внешнего, маршрутизатор Cisco NAT классифицирует адреса как локальный или глобальный .

Локальный адрес — это адрес, который видят устройства внутри, а глобальный адрес — это адрес, который видят устройства снаружи. С учетом этих четырех условий адрес может быть одного из четырех типов:

  1. Внутренние локальные адреса назначаются внутренним устройствам.Эти адреса не передаются извне.
  2. Внутренний глобальный — это адреса, по которым внутренние устройства известны снаружи.
  3. Внешние местные & nbsp

.

Проверка работы NAT и устранение основных неисправностей NAT

При возникновении проблем с подключением по IP в среде NAT часто бывает трудно определить причину проблемы. Часто по ошибке обвиняют NAT, хотя на самом деле существует основная проблема. В этом документе показано, как проверить работу NAT с помощью инструментов, доступных на маршрутизаторах Cisco. В этом документе также показано, как выполнить базовое устранение неполадок NAT и как избежать типичных ошибок при устранении неполадок NAT.

Требования

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

Используемые компоненты

Этот документ не ограничивается конкретными версиями программного и аппаратного обеспечения.

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

Условные обозначения

Дополнительные сведения об условных обозначениях в документах см. В разделе «Условные обозначения технических советов Cisco».

Когда вы пытаетесь определить причину проблемы с IP-подключением, это помогает исключить NAT. Выполните следующие действия, чтобы убедиться, что NAT работает должным образом:

  1. В зависимости от конфигурации четко определите, что должен обеспечивать NAT. На этом этапе вы можете определить, что есть проблема с конфигурацией.Для получения справки по настройке NAT см. Настройка преобразования сетевых адресов: начало работы.

  2. Убедитесь, что в таблице переводов есть правильные переводы.

  3. Используйте команды show и debug , чтобы убедиться, что перевод происходит.

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

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

На этой сетевой диаграмме маршрутизатор 4 может пинговать маршрутизатор 5 (172.16.6.5), но не маршрутизатор 7 (172.16.11.7):

Ни на одном из маршрутизаторов не работают протоколы маршрутизации, а маршрутизатор 4 имеет маршрутизатор 6 в качестве шлюза по умолчанию. Маршрутизатор 6 настроен с NAT следующим образом:

Маршрутизатор 6
 интерфейс Ethernet0
 IP-адрес 172.16.6.6 255.255.255.0
 IP-трансляция
 ip nat снаружи
 медиа-тип 10BaseT
 !
интерфейс Ethernet1
 IP-адрес 10.10.10.6 255.255.255.0
 ip nat внутри
 медиа-тип 10BaseT
 !
интерфейс Serial2.7 точка-точка
 IP-адрес 172.16.11.6 255.255.255.0
 ip nat снаружи
 Frame-Relay интерфейс DLCI 101
 !
ip nat pool test 172.16.11.70 172.16.11.71 длина префикса 24
ip nat внутри списка источников 7 пул тест
ip nat внутри исходного статического 10.10.10.4 172.16.6.14
 !
список доступа 7 разрешение 10.10.50.4
список доступа 7 разрешение 10.10,60,4
список доступа 7 разрешение 10.10.70.4 

Сначала определите, что NAT работает правильно. Из конфигурации вы знаете, что IP-адрес маршрутизатора 4 (10.10.10.4) должен быть статически преобразован в 172.16.6.14. Вы можете использовать команду show ip nat translation на маршрутизаторе 6, чтобы убедиться, что перевод действительно существует в таблице трансляции:

 router-6 #  показать перевод ip nat 
Pro Внутри глобально Внутри локально Вне локально За пределами глобального
--- 172.16.6.14 10.10.10.4 --- ---

 

Теперь убедитесь, что это преобразование происходит, когда маршрутизатор 4 отправляет IP-трафик. Это можно сделать двумя способами с маршрутизатора 6: запустив NAT debug или отслеживая статистику NAT с помощью команды show ip nat statistics . Поскольку команды debug всегда следует использовать в качестве последнего средства, начните с команды show .

Цель состоит в том, чтобы отслеживать счетчик обращений, чтобы увидеть, увеличивается ли он, когда мы отправляем трафик с маршрутизатора 4.Счетчик совпадений увеличивается каждый раз, когда перевод в таблице преобразования используется для преобразования адреса. Сначала очистите статистику, затем отобразите статистику, попробуйте выполнить эхо-запрос маршрутизатора 7 от маршрутизатора 4, а затем снова отобразите статистику.

 router-6 #  очистить ip нат статистика 
маршрутизатор-6 #
router-6 #  показать статистику ip nat 
 Всего активных переводов: 1 (1 статический, 0 динамический; 0 расширенный)
 Внешние интерфейсы:
 Ethernet0, последовательный порт 2.7
 Внутренние интерфейсы:
 Ethernet1
 Просмотров: 0 Промахов: 0
 Просроченные переводы: 0
 Динамические сопоставления:
 - Внутренний источник
 список доступа 7 проверка пула refcount 0
 тест пула: маска сети 255.255.255.0
 начало 172.16.11.70 конец 172.16.11.71
 тип универсальный, всего адресов 2, выделено 0 (0%), пропусков 0
роутер-6 # 

После использования команды ping 172.16.11.7 на маршрутизаторе 4 статистика NAT на маршрутизаторе 6 отображается как:

 router-6 #  показать статистику ip nat 
 Всего активных переводов: 1 (1 статический, 0 динамический; 0 расширенный)
 Внешние интерфейсы:
 Ethernet0, последовательный порт 2.7
 Внутренние интерфейсы:
 Ethernet1
 Просмотров: 5 Промахов: 0
 Просроченные переводы: 0
 Динамические сопоставления:
 - Внутренний источник
 список доступа 7 проверка пула refcount 0
 тест пула: маска сети 255.255.255.0
 начало 172.16.11.70 конец 172.16.11.71
 тип универсальный, всего адресов 2, выделено 0 (0%), пропусков 0

 

Из команды show видно, что количество совпадений увеличилось на пять. При успешном пинге от маршрутизатора Cisco количество совпадений должно увеличиться на десять. Пять эхо-сообщений протокола управляющих сообщений Интернета (ICMP), отправленных исходным маршрутизатором (маршрутизатор 4), должны быть преобразованы, а пять пакетов эхо-ответа от целевого маршрутизатора (маршрутизатор 7) также должны быть преобразованы, в общей сложности десять совпадений.Пять пропущенных совпадений, скорее всего, связаны с тем, что эхо-ответы не переводятся или не отправляются маршрутизатором 7.

Посмотрите, можете ли вы найти причину, по которой маршрутизатор 7 не отправляет пакеты эхо-ответа маршрутизатору 4. Сначала проверьте, что NAT делает с пакетом. Маршрутизатор 4 отправляет эхо-пакеты ICMP с адресом источника 10.10.10.4 и адресом назначения 172.16.11.7. После преобразования NAT пакет, полученный маршрутизатором 7, имеет адрес источника 172.16.6.14 и адрес назначения 172.16.11.7. Маршрутизатор 7 должен ответить на 172.16.6.14, а поскольку 172.16.6.14 напрямую не подключен к маршрутизатору 7, ему нужен маршрут для этой сети, чтобы ответить. Проверьте таблицу маршрутизации маршрутизатора 7, чтобы убедиться, что маршрут существует.

 router-7 #  показать IP-маршрут 
Коды: C - подключен, S - статический, I - IGRP, R - RIP, M - мобильный, B - BGP.
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - внутренняя область OSPF
       N1 - OSPF NSSA внешний тип 1, N2 - OSPF NSSA внешний тип 2
       E1 - OSPF внешний тип 1, E2 - OSPF внешний тип 2, E - EGP
       i - IS-IS, L1 - IS-IS уровень-1, L2 - IS-IS уровень-2, ia - IS-IS внутри области
       * - кандидат по умолчанию, U - статический маршрут для каждого пользователя, o - ODR
       P - периодически загружаемый статический маршрут

Шлюз последней инстанции не установлен

     172.16.0.0 / 24 подсети, 4 подсети
C 172.16.12.0 подключен напрямую, Serial0.8
C 172.16.9.0 подключен напрямую, Serial0.5
C 172.16.11.0 подключен напрямую, Serial0.6
C 172.16.5.0 подключен напрямую, Ethernet0 

Вы можете видеть, что в таблице маршрутизации маршрутизатора 7 нет маршрута для 172.16.6.14. После добавления этого маршрута ping работает нормально.

Краткое описание проблемы

Сначала вы определили, что должен выполнять NAT.Затем вы проверили, что статическая запись NAT существует в таблице преобразования и является точной. Вы убедились, что перевод действительно выполнялся, путем отслеживания статистики NAT. Здесь вы обнаружили проблему, которая заставила вас проверить информацию о маршрутизации на маршрутизаторе 7, где вы обнаружили, что маршрутизатору 7 нужен маршрут к внутреннему глобальному адресу маршрутизатора 4.

Обратите внимание, что в этой простой лабораторной среде полезно отслеживать статистику NAT с помощью команды show ip nat statistics .Однако в более сложной среде NAT с несколькими переводами эта команда show больше не полезна. В этом случае может потребоваться запустить отладку на маршрутизаторе. Следующий сценарий проблемы демонстрирует использование команды debug .

В этом сценарии маршрутизатор 4 может пинговать как маршрутизатор 5, так и маршрутизатор 7, но устройства в сети 10.10.50.0 не могут обмениваться данными с маршрутизатором 5 или маршрутизатором 7 (в тестовой лаборатории мы эмулируем это, получая эхо-запрос из обратной петли. интерфейс с IP-адресом 10.10.50.4). Посмотрите на схему сети:

Маршрутизатор 6
 интерфейс Ethernet0
 IP-адрес 172.16.6.6 255.255.255.0
 IP-трансляция
 ip nat снаружи
 медиа-тип 10BaseT
 !
интерфейс Ethernet1
 IP-адрес 10.10.10.6 255.255.255.0
 ip nat внутри
 медиа-тип 10BaseT
 !
интерфейс Serial2.7 точка-точка
 IP-адрес 172.16.11.6 255.255.255.0
 ip nat снаружи
 Frame-Relay интерфейс DLCI 101
 !
Тест на пул IP 172.16.11.70 172.16.11.71 длина префикса 24
ip nat внутри списка источников 7 пул тест
ip nat внутри исходного статического 10.10.10.4 172.16.6.14
 !
список доступа 7 разрешение 10.10.50.4
список доступа 7 разрешение 10.10.60.4
список доступа 7 разрешение 10.10.70.4

 

Во-первых, четко укажите ожидаемое поведение NAT. Из конфигурации маршрутизатора 6 вы знаете, что NAT должен динамически преобразовывать 10.10.50.4 в первый доступный адрес в «тесте» пула NAT. Пул состоит из адресов 172.16.11.70 и 172.16.11.71. Из того, что вы узнали из приведенной выше проблемы, вы можете сделать вывод, что пакеты, которые получают маршрутизаторы 5 и 7, имеют либо адрес источника 172.16.11.70, либо 172.16.11.71. Эти адреса находятся в той же подсети, что и маршрутизатор 7, поэтому маршрутизатор 7 должен иметь маршрут с прямым подключением, однако маршрутизатору 5 нужен маршрут к подсети, если он еще не существует.

Вы можете использовать команду show ip route , чтобы увидеть, что в таблице маршрутизации маршрутизатора 5 есть список 172.16.11,0:

 router-5 #  показать IP-маршрут 
Коды: C - подключен, S - статический, I - IGRP, R - RIP, M - мобильный, B - BGP.
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - внутренняя область OSPF
       N1 - OSPF NSSA внешний тип 1, N2 - OSPF NSSA внешний тип 2
       E1 - OSPF внешний тип 1, E2 - OSPF внешний тип 2, E - EGP
       i - IS-IS, L1 - IS-IS уровень-1, L2 - IS-IS уровень-2, ia - IS-IS внутри области
       * - кандидат по умолчанию, U - статический маршрут для каждого пользователя, o - ODR
       P - периодически загружаемый статический маршрут

Шлюз последней инстанции не установлен

172.16.0.0 / 24 подсети, 4 подсети
C 172.16.9.0 подключен напрямую, Serial1
  S 172.16.11.0 [1/0] через 172.16.6.6 
C 172.16.6.0 подключен напрямую, Ethernet0
C 172.16.2.0 подключен напрямую, Serial0 

Вы можете использовать команду show ip route , чтобы увидеть, что в таблице маршрутизации маршрутизатора 7 172.16.11.0 указан как подсеть с прямым подключением:

 router-7 #  показать IP-маршрут 
Коды: C - подключен, S - статический, I - IGRP, R - RIP, M - мобильный, B - BGP.
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - внутренняя область OSPF
       N1 - OSPF NSSA внешний тип 1, N2 - OSPF NSSA внешний тип 2
       E1 - OSPF внешний тип 1, E2 - OSPF внешний тип 2, E - EGP
       i - IS-IS, L1 - IS-IS уровень-1, L2 - IS-IS уровень-2, ia - IS-IS внутри области
       * - кандидат по умолчанию, U - статический маршрут для каждого пользователя, o - ODR
       P - периодически загружаемый статический маршрут

Шлюз последней инстанции не установлен

     172.16.0.0 / 24 подсети, 5 подсетей
C 172.16.12.0 подключен напрямую, Serial0.8
C 172.16.9.0 подключен напрямую, Serial0.5
  C 172.16.11.0 подключен напрямую, Serial0.6 
C 172.16.5.0 подключен напрямую, Ethernet0
S 172.16.6.0 [1/0] через 172.16.11.6

 

Теперь, когда вы четко указали, что должен делать NAT, вам нужно убедиться, что он работает правильно. Начните с проверки таблицы трансляции NAT и убедитесь, что ожидаемая трансляция существует.Поскольку интересующий вас перевод создается динамически, вы должны сначала отправить IP-трафик с соответствующего адреса. После отправки ping , полученного с 10.10.50.4 и предназначенного для 172.16.11.7, таблица трансляции в маршрутизаторе 6 показывает следующее:

 router-6 #  показать перевод ip nat 
Pro Внутри глобально Внутри локально Вне локально За пределами глобального
--- 172.16.6.14 10.10.10.4 --- ---
--- 172,16.11,70 10.10.50.4 --- --- 

Поскольку ожидаемая трансляция находится в таблице трансляции, вы знаете, что эхо-пакеты ICMP транслируются должным образом, но как насчет пакетов эхо-ответа? Как упоминалось выше, вы можете отслеживать статистику NAT, но это не очень полезно в сложной среде. Другой вариант — запустить отладку NAT на маршрутизаторе NAT (маршрутизатор 6). В этом случае вам следует включить debug ip nat на маршрутизаторе 6, пока вы отправляете пинг с источника 10.10.50.4 предназначен для 172.16.11.7. Результаты отладки приведены ниже.

Примечание: Когда вы используете любую команду debug на маршрутизаторе, вы можете перегрузить маршрутизатор, что приведет к его неработоспособности. Всегда проявляйте крайнюю осторожность и, если возможно, никогда не запускайте debug на критически важном производственном маршрутизаторе без наблюдения инженера службы технической поддержки Cisco.

 router-6 #  счетчик 
Ведение журнала системного журнала: включено (0 сообщений сброшено, 0 сброшено, 0 переполнено)
       Ведение журнала консоли: отладка на уровне, 39 сообщений в журнал
       Ведение журнала монитора: отладка на уровне, 0 сообщений в журнале
       Ведение журнала буфера: отладка на уровне, 39 сообщений в журнал
       Ведение журнала ловушек: информационный уровень, записано 33 строки сообщений

Буфер журнала (4096 байт):

05:32:23: NAT: s = 10.10.50.4-> 172.16.11.70, d = 172.16.11.7 [70]
05:32:23: NAT *: s = 172.16.11.7, d = 172.16.11.70-> 10.10.50.4 [70]
05:32:25: NAT *: s = 10.10.50.4-> 172.16.11.70, d = 172.16.11.7 [71]
05:32:25: NAT *: s = 172.16.11.7, d = 172.16.11.70-> 10.10.50.4 [71]
05:32:27: NAT *: s = 10.10.50.4-> 172.16.11.70, d = 172.16.11.7 [72]
05:32:27: NAT *: s = 172.16.11.7, d = 172.16.11.70-> 10.10.50.4 [72]
05:32:29: NAT *: s = 10.10.50.4-> 172.16.11.70, d = 172.16.11.7 [73]
05:32:29: NAT *: s = 172.16.11.7, d = 172.16.11.70-> 10.10.50.4 [73]
05:32:31: NAT *: s = 10.10.50.4-> 172.16.11.70, d = 172.16.11.7 [74]
05:32:31: NAT *: s = 172.16.11.7, d = 172.16.11.70-> 10.10.50.4 [74] 

Как видно из приведенных выше выходных данных отладки , в первой строке показан адрес источника 10.10.50.4, преобразованный в 172.16.11.70. Во второй строке показан адрес назначения 172.16.11.70, преобразованный обратно в 10.10.50.4. Этот шаблон повторяется в остальной части отладки . Это говорит о том, что маршрутизатор 6 транслирует пакеты в обоих направлениях.

Теперь рассмотрим подробнее, что именно должно происходить. Маршрутизатор 4 отправляет пакет, полученный от 10.10.50.4, предназначенный для 172.16.11.7. Маршрутизатор 6 выполняет NAT для пакета и пересылает пакет с источником 172.16.11.70 и получателем 172.16.11.7. Маршрутизатор 7 отправляет ответ с источником 172.16.11.7 и получателем 172.16.11.70. Маршрутизатор 6 выполняет NAT для пакета, в результате чего получается пакет с адресом источника 172.16.11.7 и адресом назначения 10.10.50.4. На этом этапе маршрутизатор 6 должен направить пакет на 10.10.50.4 на основе информации, содержащейся в таблице маршрутизации. Вам необходимо использовать команду show ip route , чтобы подтвердить, что маршрутизатор 6 имеет необходимый маршрут в его таблице маршрутизации.

 router-6 #  показать IP-маршрут 
Коды: C - подключен, S - статический, I - IGRP, R - RIP, M - мобильный, B - BGP.
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - внутренняя область OSPF
       N1 - OSPF NSSA внешний тип 1, N2 - OSPF NSSA внешний тип 2
       E1 - OSPF внешний тип 1, E2 - OSPF внешний тип 2, E - EGP
       i - IS-IS, L1 - IS-IS уровень-1, L2 - IS-IS уровень-2, ia - IS-IS внутри области
       * - кандидат по умолчанию, U - статический маршрут для каждого пользователя, o - ODR
       P - периодически загружаемый статический маршрут

Шлюз последней инстанции не установлен

172.16.0.0 / 24 подсети, 5 подсетей
C 172.16.8.0 подключен напрямую, Serial1
C 172.16.10.0 подключен напрямую, Serial2.8
C 172.16.11.0 подключен напрямую, Serial2.7
C 172.16.6.0 подключен напрямую, Ethernet0
C 172.16.7.0 подключен напрямую, Serial0
10.0.0.0/24 разделен на подсети, 1 подсеть
C 10.10.10.0 подключен напрямую, Ethernet1 

Краткое описание проблемы

Сначала вы четко определили, что должен делать NAT. Во-вторых, вы проверили наличие необходимых переводов в таблице переводов.В-третьих, вы использовали команды debug или show , чтобы убедиться, что перевод действительно выполняется. Наконец, вы более подробно рассмотрели, что происходило с пакетом и что нужно маршрутизаторам для пересылки пакета или ответа на него.

Теперь, когда у вас есть базовая процедура для поиска причины проблем с подключением, вот несколько контрольных списков для устранения распространенных проблем.

Перевод не установлен в таблице переводов

Если вы обнаружите, что соответствующий перевод не устанавливается в таблице переводов, убедитесь, что:

  • Конфигурация правильная.Заставить NAT выполнить то, что вы хотите, иногда бывает непросто. Для получения справки по настройке см. Настройка преобразования сетевых адресов: начало работы.

  • Нет списков входящего доступа, запрещающих пакетам входить в маршрутизатор NAT.

  • Маршрутизатор NAT имеет соответствующий маршрут в таблице маршрутизации, если пакет идет изнутри наружу. Для получения дополнительной информации см. Порядок работы NAT.

  • Список доступа, на который ссылается команда NAT, разрешает все необходимые сети.

  • В пуле NAT достаточно адресов. Это должно быть проблемой, только если NAT не настроен на перегрузку.

  • Что интерфейсы маршрутизатора правильно определены как NAT внутри или NAT снаружи.

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

Запись правильного перевода не используется

Если правильная запись перевода установлена ​​в таблице перевода, но не используется, проверьте следующее:

  • Убедитесь, что нет списков входящего доступа, запрещающих пакетам входить в маршрутизатор NAT.

  • Для пакетов, идущих изнутри наружу, убедитесь, что существует маршрут к месту назначения, поскольку он проверяется перед преобразованием. Для получения дополнительной информации см. Порядок работы NAT.

NAT работает правильно, но проблемы с подключением все еще остаются

Если NAT работает правильно, начните устранение проблемы с подключением следующим образом:

  • Проверьте подключение уровня 2.

  • Проверить информацию о маршрутизации уровня 3.

  • Найдите фильтры пакетов, которые могут быть причиной проблемы.

Трансляция NAT для порта 80 не работает

Трансляция NAT для порта 80 не работает, но трансляция для других портов работает нормально.

Для решения этой проблемы выполните следующие действия:

  1. Выполните команды debug ip nat translations, и debug ip packet , чтобы увидеть, правильны ли переводы и установлена ​​ли правильная запись перевода в таблице трансляции.

  2. Убедитесь, что сервер отвечает.

  3. Отключить HTTP-сервер.

  4. Очистите таблицы NAT и ARP.

% NAT: система занята. Попробовать позже

% NAT: система занята. Сообщение об ошибке «Попробуйте позже» появляется, когда выполняется команда show , относящаяся к NAT, или команда show running-config или write memory . Эта проблема связана с увеличением размера таблицы NAT. Когда размер таблицы NAT увеличивается, маршрутизатору не хватает памяти.

Перезагрузите маршрутизатор, чтобы решить эту проблему. Если сообщение об ошибке появляется при настройке HSRP SNAT, настройте эти команды для решения проблемы:

 Router (config) # standby delay минимум 20 перезагрузка 20
Маршрутизатор (config) # standby 2 задержка вытеснения минимум 20 перезагрузка 20 синхронизация 10
 

Большая таблица трансляции увеличивает процессор

Хост может отправлять сотни переводов, что, в свою очередь, приводит к высокой загрузке ЦП.Другими словами, он может сделать таблицу настолько большой, что заставит ЦП работать на 100 процентов. Команда ip nat translation max-entries 300 устанавливает лимит 300 на хост или совокупный лимит количества трансляций на маршрутизаторе. Обходной путь — использовать команду ip nat translation max-entries all-hosts 300 .

% Публичный IP-адрес уже назначен (Внутренний IP-адрес -> Публичный IP-адрес)

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

% X.X.X.X уже сопоставлен (172.30.62.101 -> X.X.X.X)
 

Чтобы преобразовать общедоступный IP-адрес в два внутренних IP-адреса, используйте два общедоступных IP-адреса в DNS.

Нет записей в таблице ARP

Это результат параметра без псевдонима , который используется в записях NAT. Параметр no-alias означает, что маршрутизатор не отвечает за адреса и не устанавливает запись ARP. Если другой маршрутизатор использует пул NAT в качестве внутреннего глобального пула, который состоит из адресов в присоединенной подсети, для этого адреса создается псевдоним, чтобы маршрутизатор мог отвечать на запросы протокола разрешения адресов (ARP) для этих адресов.Это заставляет маршрутизатор иметь записи ARP для поддельных адресов.

Заключение

Приведенные выше проблемы продемонстрировали, что NAT не всегда является причиной проблем с подключением по IP. Во многих случаях причина кроется не в NAT и требует дальнейшего расследования. В этом документе объясняются основные шаги, которые необходимо предпринять при устранении неполадок и проверке работы NAT. Эти шаги включают:

  • Четко определите, что должен обеспечивать NAT.

  • Убедитесь, что в таблице переводов есть правильные переводы.

  • Используйте команды show и debug , чтобы проверить, происходит ли преобразование.

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

Неверный токен 0, требуется TOK_NUMBER | TOK_PUNCT

Это сообщение об ошибке является просто информационным и не влияет на нормальное поведение устройства.

 Неверный токен 0, требуется TOK_NUMBER | TOK_PUNCT 

Ошибка означает, что NAT пытается исправить 4-й уровень адреса в открытом FTP-сервере и не может найти IP-адреса, которые необходимо преобразовать в пакете.

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

Когда сеанс FTP инициируется, он согласовывает два канала, канал команд и канал данных.Это оба IP-адреса с разными номерами портов. Клиент и сервер FTP согласовывают второй канал данных для передачи файлов. Пакет, которым обмениваются через канал управления, имеет формат «ПОРТ, i, i, i, i, p, p», где i, i, i, i — четыре байта IP-адреса, а p, p определяют порт. NAT пытается соответствовать этому шаблону и при необходимости транслировать адрес / порт. NAT должен транслировать схемы адресации обоих каналов. NAT сканирует номера в потоке команд до тех пор, пока не решит, что нашел команду порта, требующую перевода.Он пытается разобрать перевод, который вычисляется по шаблону, как описано ранее.

Если пакет поврежден или FTP-сервер или клиент имеет неверные команды, NAT не может правильно рассчитать преобразование и генерирует эту ошибку. Предлагается установить FTP-клиент в «пассивный», чтобы он инициировал оба канала. Иногда это помогает с FTP через NAT.

.Маршрутизатор

против коммутатора против шлюза и почему NAT влияет на это решение

Следующее подразумевается как сводка новостей

Коммутатор

против маршрутизатора против шлюза

Сетевые устройства могут работать в 3-х различных режимах:

OpenWrt как клиентское устройство — подключение устройства к существующей сети
Если вы хотите подключить свое устройство к существующей сети для предоставления дополнительных функций (например, вы просто хотите использовать предоставляемую им сеть Wi-Fi, дополнительный Ethernet порты, или устройство представляет собой NAS, обслуживающий файлы по сети, или мини-сервер, предлагающий другую услугу).

OpenWrt в качестве маршрутизатора
Если вы хотите запустить OpenWrt в конфигурации маршрутизатора по умолчанию, где устройство маршрутизирует трафик между несколькими устройствами LAN , подключенными к портам LAN , и другой сетью на порту WAN (обычно к «Ethernet-модем», фактически действующий как шлюз).

OpenWrt как устройство шлюза
Ваше устройство также работает как маршрутизатор. Но в отличие от режима «как устройство маршрутизатора», в этом режиме ваше устройство либо использует встроенный модем для подключения к Интернету, либо имеет внешний модем, подключенный к порту WAN , которому для правильной работы требуется один из следующих протоколов: Протоколы интерфейса WAN .

Проблема маршрутизатора / шлюза и двойного NAT с IPv4 или смешанным IPv4 / IPv6

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

Двойной NAT — это проблема, которая существует только для IPv4 . Через несколько десятилетий, когда весь мир будет полностью поддерживать IPv6 и устройств, это больше не будет проблемой, поскольку IPv6 строго запрещает NAT . А пока для IPv4 и действуйте согласно этому руководству.

Проблема IPv4 заключается в том, что если вы просто добавите дополнительный маршрутизатор IPv4 к существующему маршрутизатору вашего ISP (интернет-провайдера), вы столкнетесь с проблемой под названием double NAT — оба недавно добавленных Маршрутизатор и существующий маршрутизатор ISP, поставляемый с , выполняют NAT , в результате чего ваш клиентский трафик данных дважды «преобразуется через NAT», прежде чем попадет в Интернет.

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

Чтобы справиться с этой проблемой двойного NAT и использовать IPv4 как можно более безупречно, вам нужно выбрать способ подключения OpenWrt на своей восходящей стороне из нескольких вариантов.Обратите внимание, что во всех этих примерах предполагается, что устройство OpenWrt находится «внутри» сети, то есть клиенты ↔ устройство OpenWrt ↔ устройство ISP ↔ Интернет. Поскольку устройство OpenWrt является нашей основной задачей, мы будем ссылаться на восходящие соединения и нисходящие соединения относительно него:

Существует ряд вариантов подключения восходящей стороны OpenWrt к существующей домашней сети. Каждый вариант пытается обойти проблему двойного NAT с помощью различных технических приемов или конфигурации:

Обратите внимание, что для всех этих вариантов восходящего подключения применяется следующее:

OpenWrt как каскадный маршрутизатор за другим маршрутизатором (двойной NAT)

Это вариант по умолчанию (и самый простой) для вашего устройства OpenWrt.В этом сценарии вы просто подключаете порт WAN OpenWrt к неиспользуемому порту LAN существующего маршрутизатора ISP .

  • обычно маршрутизатор ISP имеет брандмауэр и NAT и предоставляет DHCP на нисходящей стороне (которая является восходящей стороной вашего OpenWrt)
  • У

  • OpenWrt также есть брандмауэр и NAT , и он также предоставляет DHCP в нисходящем направлении (который является восходящей стороной ваших подключающихся клиентов)

Так в чем проблема? Некоторые сценарии трафика не работают через двойной NAT , например, хостинг-серверы или онлайн-игры.

Проблема не столько в IPv4 NAT , сколько в комбинации:

  1. , как межсетевые экраны в потребительских маршрутизаторах обрабатывают трафик UDP . \\ Межсетевой экран обрабатывает трафик UDP как с отслеживанием состояния . Это означает, что если пакет sourceIP: sourcePort → targetIP: targetPort выходит из строя, он на короткое время понижает брандмауэр в обратном направлении, так что цель может ответить той же комбинацией адреса и портов (sourceIP: sourcePort ← targetIP : targetPort).
  2. Во многих онлайн-играх используются уловки для передачи однорангового трафика данных других игроков через ваш брандмауэр (-ы) на игровой клиент

К сожалению, детали брандмауэра не являются полностью стандартизованным поведением. И поведение NAT , которое происходит параллельно, также непредсказуемо — у каждого маршрутизатора есть немного другой метод принятия решения о том, как сопоставить адреса с портами для исходящего трафика. Большинство игр и игровых консолей сообщают об этом как о «статусе NAT » вашего маршрутизатора, используя четыре широкие категории: открытый , средний , строгий и заблокированный , которые также не стандартизированы — каждая игра поставщик может использовать их для немного иных технических деталей.

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

В большинстве онлайн-игр используются странные приемы UDP для временного обхода брандмауэра маршрутизатора (без открытия брандмауэра для всего мира), чтобы передавать менее задерживающие пакеты UDP вашему игровому клиенту.Обычно эти уловки позволяют обойти только один домашний маршрутизатор с NAT, а не два, как в двойном NAT . Вы узнаете, если вы либо вообще не можете подключиться к онлайн-сессиям, либо если игра заметно больше, чем обычно (задержка больше, потому что большинство игр сначала попытаются вернуться с UDP на TCP , прежде чем отказаться, если так называемое «пробивание отверстий UDP » через ваши 2 брандмауэра / NAT не сработает — этот откат TCP иногда будет заметен).Большинство онлайн-игр сообщают об этом как « NAT status» в настройках игры. Обычно ваша цель будет иметь статус «открытый» или «умеренный». Если ваш игровой движок сообщает что-то еще, это обычно дает сбой на ваших двух брандмауэрах и двойном NAT , а затем он откатится к более медленному TCP и может даже полностью не подключиться к игровому сеансу (и вы должны иметь возможность чтобы заметить это, если вы остались одни в сеансе сетевой игры).

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

Устройство как маршрутизатор, устройство интернет-провайдера как модем-мост

В основном для кабельного Интернета вы часто можете перенастроить свой кабельный маршрутизатор ISP в режим маршрутизатора или режим моста . Иногда вам необходимо настроить это во вложенных меню онлайн-портала вашего ISP (а не на вашем маршрутизаторе ISP web GUI ).

Когда установлен режим моста, маршрутизатор ISP начинает вести себя как проходное устройство: он будет внешне действовать как модем и будет аутентифицировать вас как законного клиента, но в противном случае он просто будет передавать трафик IPv4 без изменений на ваш OpenWrt. роутер.Брандмауэр и NAT и DHCP и все обычные службы «маршрутизатора» устройства ISP будут просто отключены при установке в режим моста.

Если вам нужен маршрутизатор ISP с мостовым подключением, узнайте, как правильно его настроить здесь.

Устройство как маршрутизатор с двойным NAT с Dual-Stack Lite

Часто у вас нет выбора, дает ли ваш ISP реальный IPv4-адрес или дискредитированный dual-stack lite IPv4 -адрес.Если вы хотите понять Dual-Stack Lite в отличие от обычного двойного стека, пожалуйста, изучите полную историю в Википедии или RFC 6333.

Очень часто Dual-Stack Lite предлагается в качестве пакета по умолчанию провайдерами кабельного телевидения или оптоволокна. Ключевой особенностью DS-Lite является то, что он имеет так называемый операторского класса NAT , происходящий в некотором сетевом оборудовании в нескольких кварталах от вашего дома на сайте вашего ISP , а не в вашем маршрутизаторе ISP дома. .

Важно отметить, что Dual-Stack Lite и этот операторский NAT на самом деле не реализованы стандартизированным образом.Его реализация может немного отличаться в зависимости от фактического оборудования, приобретенного ISP , и того, как это оборудование настроено.

К сожалению, этот метод не поможет вам открыть в Интернете какие-либо домашние сервисы через IPv4 — в любом случае это невозможно с DS-Lite. Но если вас беспокоит только онлайн-игра через DS-Lite, вы можете проверить, не является ли ваш двойной NAT на IPv4 проблемой в ваших любимых онлайн-играх.В настоящее время часто операторский класс NAT DS-Lite настроен таким образом, чтобы он очень удобен для онлайн-игр, что приводит к «умеренному» рейтингу NAT в игровом движке даже при наличии дополнительного OpenWrt NAT , подключенного каскадом перед ним и даже при работе с правилами брандмауэра по умолчанию.

Итак, если игры (и связанная с игрой обработка однорангового трафика UDP ) является вашей единственной проблемой в отношении проблемы двойного NAT , вы можете просто сначала проверить свои онлайн-игры и их сообщенный статус NAT , прежде чем потратить много времени на решение проблемы с двойным NAT , которая может даже не вызвать проблемы при повседневном использовании.

Устройство как маршрутизатор с отключенным NAT, дополнительные правила маршрутизации

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

Идея этого решения

  • , чтобы отключить NAT на маршрутизаторе OpenWrt, но оставить его маршрутизацию (и брандмауэр) включенной
  • Маршрутизация

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

Устройство как маршрутизатор как «открытый хост» в маршрутизаторе ISP

Только некоторые маршрутизаторы ISP имеют эту функцию, иногда называемую DMZ (демилитаризованная зона), DMZ для одиночного сервера , открытого хоста , IP сквозной передачи или режим моста для бедных (стандартизованного названия нет).Эта функция позволяет вашему маршрутизатору ISP определить одного из своих нисходящих клиентов в качестве так называемого «открытого хоста». Затем маршрутизатор ISP и будет перенаправлять весь входящий интернет-трафик со своей восходящей стороны на этот «открытый хост».

Это эффективно отключает NAT на маршрутизаторе ISP только для одного подключенного устройства на нисходящей стороне маршрутизатора ISP : по очевидным причинам мы будем подключать наш маршрутизатор OpenWrt в качестве этого открытого хоста.Итак, в итоге мы достигли единственного NAT исключительно в сетевой цепочке к маршрутизатору OpenWrt.

Помните, что вам все равно необходимо определить обычные правила переадресации портов в вашем маршрутизаторе OpenWrt, если вы хотите предоставить доступ к серверам, подключенным к OpenWrt, в Интернет, поскольку мы не настроили открытый хост во внутренней сети.

Недостатками этого метода являются:
— эта функция может не поддерживаться вашим маршрутизатором ISP , вам необходимо выяснить, поддерживает ли он
— восходящий порт OpenWrt открыт для доступа в Интернет, поэтому убедитесь, что вы не добавили никаких небрежных или посторонних правил в набор правил
— один из портов маршрутизатора ISP теперь не защищен брандмауэром, поэтому будьте осторожны с этим нисходящим портом маршрутизатора ISP на случай, если вы когда-нибудь подключите к нему что-то еще

Узнайте, как построить «мост для бедняков» здесь.

Устройство как маршрутизатор в идеальной конфигурации только для IPv6

Очевидно, что этого идеального мира еще не существует, это всего лишь перспектива гораздо позже. Как только это произойдет, предыдущие главы этой страницы можно будет игнорировать. Тогда это будет вариант маршрутизатора по умолчанию и единственный необходимый для вашего устройства IPv6 и OpenWrt, так как он будет работать из коробки для всех бизнес-случаев. Не будет проблем с NAT и , больше не будет обсуждений, следует ли переключить маршрутизатор ISP на мостовой или маршрутизированный, и не будет больше обсуждений, нужна ли конфигурация «открытого хоста».Вы сможете выбрать три способа запуска OpenWrt:

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

  • вместо шлюза (см. Ниже), если вам необходимо подключиться к Интернету через специальный протокол модема

Устройство как шлюз, с настоящим модемом между ним и Интернетом

Если ваше устройство OpenWrt вообще не имеет порта WAN из коробки и имеет встроенный модем с чем-то вроде порта VDSL-phone, или если у него есть порт WAN и у вас есть внешний модем, который может быть включите «режим моста» (полный мост или полумост), это для вас.

См. Этот учебник.

OpenWrt в качестве беспроводного повторителя (Wi-Fi↔ коммутатор Wi-Fi)

Если ваше устройство OpenWrt не имеет портов LAN или если вы не хотите подключать какие-либо другие устройства с помощью кабелей RJ45 LAN , то, скорее всего, вы захотите использовать устройство OpenWrt в качестве повторителя WiFi в существующей сети.

OpenWrt в качестве беспроводного ретранслятора (также называемого расширителем диапазона беспроводной связи) принимает существующий сигнал от беспроводного маршрутизатора или точки беспроводного доступа и ретранслирует его для создания второй сети.

  • другая сеть Wi-Fi обеспечивает доступ в Интернет

  • Сторона восходящего потока OpenWrts (другая сеть Wi-Fi, к которой он будет подключаться) будет беспроводным подключением к другой точке доступа. OpenWrt действует как клиент этой существующей другой сети.

  • Нисходящая сторона OpenWrts (сеть Wi-Fi, которую предоставит OpenWrt) будет точкой доступа для ваших беспроводных клиентов.

  • существующая сеть на восходящей стороне беспроводной сети предоставляет службу DHCP (собственный DHCP OpenWrt будет отключен)
  • обычно какое-то другое сетевое устройство подключенного Wi-Fi имеет брандмауэр и NAT и обеспечивает DHCP
  • брандмауэр OpenWrts и NAT будут отключены (поскольку OpenWrt будет работать в режиме переключения, который не может использовать NAT )
  • до тех пор, пока вы намеренно не отключите нисходящие порты LAN , OpenWrt также будет действовать как коммутатор провод-Wi-Fi
  • Подводя итог, OpenWrt действует как переключатель Wi-Fi

  • Обратите внимание, что OpenWrt больше не будет прослушивать типичный адрес маршрутизатора по умолчанию вашей подсети (например,г. ip-адрес 192.168.1.1), но получит настраиваемый адрес (либо по DHCP с вашего другого маршрутизатора, либо вы вручную установили статический адрес подсети другого Wi-Fi)

Для получения дополнительной информации см. Конфигурация Wi-Fi-удлинителя, повторителя или моста.

Примечание. Если вы заинтересованы в создании так называемой «беспроводной сети» вместо беспроводного ретранслятора, вам придется обратиться к другим проектам, например http://libremesh.org или https: // open-mesh.org в это время.

OpenWrt как точка беспроводного доступа (проводной коммутатор Wi-Fi)

В качестве беспроводной точки доступа OpenWrt подключается к существующей сети по проводам. Затем OpenWrt действует как сетевое устройство, которое позволяет вашим устройствам Wi-Fi подключаться к проводной сети через OpenWrt.

  • проводная сеть обеспечивает доступ в Интернет

  • Сторона восходящего потока OpenWrts (другая проводная сеть, к которой он будет подключаться) будет проводным подключением к существующему маршрутизатору.Итак, OpenWrt действует как клиент этой существующей другой сети.

  • Нисходящая сторона OpenWrts (сеть Wi-Fi, которую предоставит OpenWrt) будет точкой доступа для ваших беспроводных клиентов

  • существующий маршрутизатор на проводной стороне восходящего потока предоставляет службу DHCP (собственный DHCP OpenWrt будет отключен)
  • какое-то другое сетевое устройство в вашей сети будет иметь брандмауэр и NAT и обеспечивает DHCP
  • брандмауэр OpenWrts и NAT будут отключены (поскольку OpenWrt будет работать в режиме переключения, который не может использовать NAT )
  • Подводя итог, OpenWrt действует как коммутатор Wi-Fi-to-Wired

  • до тех пор, пока вы намеренно не отключите нисходящие порты LAN , OpenWrt также будет действовать как переключатель между проводными линиями.
  • Обратите внимание, что OpenWrt больше не будет прослушивать типичный адрес маршрутизатора по умолчанию вашей подсети (например,г. ip-адрес 192.168.1.1), но получит настраиваемый адрес (либо по DHCP с вашего другого маршрутизатора, либо вы вручную установили статический адрес подсети другого Wi-Fi)

Точка доступа Wi-Fi

OpenWrt как проводной коммутатор

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

  • , так что просто следуйте описанию беспроводной точки доступа — только с той разницей: если вам нужен только переключатель между проводами, то просто не включайте нисходящий Wi-Fi

  • OpenWrt затем будет действовать как коммутатор между различными подключенными к OpenWrt нисходящими устройствами и между нисходящими ↔ восходящими портами

  • в режиме переключения, OpenWrt не может использовать NAT
  • Обратите внимание, что OpenWrt больше не будет прослушивать типичный адрес маршрутизатора по умолчанию вашей подсети (например,г. ip-адрес 192.168.1.1), но получит настраиваемый адрес (либо по DHCP с вашего другого маршрутизатора, либо вы вручную установили статический адрес подсети другого Wi-Fi)

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

документы / руководство-пользователь / сеть / switch_router_gateway_and_nat.txt · Последнее изменение: 2020/04/03 19:57 автор: steve-newcomb

.IP-адресация

: Руководство по настройке NAT — Настройка NAT для сохранения IP-адресов [Маршрутизаторы служб агрегации Cisco ASR серии 1000]

NAT позволяет организациям решить проблему истощения IP-адресов, когда у них есть существующие сети и они должны получить доступ к
Интернет. Сайты, которые еще не обладают IP-адресами, зарегистрированными в Сетевом информационном центре (NIC), должны получить их. Если больше
чем 254 клиента присутствуют или планируются, нехватка адресов класса B становится серьезной проблемой.Cisco IOS XE NAT-адреса
эти проблемы путем сопоставления тысяч скрытых внутренних адресов с диапазоном легко доступных адресов класса C.

Сайты, которые уже имеют зарегистрированные IP-адреса для клиентов во внутренней сети, могут захотеть скрыть эти адреса от
Интернет. Это действие запрещает хакеру напрямую атаковать клиентов. Когда адреса клиентов скрыты, степень безопасности
Установлено.Cisco IOS XE NAT дает администраторам LAN полную свободу расширять адресацию класса A. Адресация класса А
расширение извлекается из резервного пула Управления по присвоению номеров Интернета (RFC 1597). Это расширение происходит внутри
организация, не заботящаяся о внесении изменений в интерфейс LAN / Internet.

Программное обеспечение Cisco IOS XE может выборочно или динамически выполнять NAT.Такая гибкость позволяет сетевому администратору
используйте сочетание адресов RFC 1597 и RFC 1918 или зарегистрированных адресов. NAT предназначен для использования на различных устройствах по IP-адресу
упрощение и сохранение. Кроме того, Cisco IOS XE NAT позволяет выбирать внутренние хосты, доступные для
NAT.

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

В выпуске Cisco IOS XE Denali 16.3 была представлена ​​поддержка Multi-Tenant для функции NAT. При поддержке мультитенантности конфигурация
изменения экземпляра виртуальной маршрутизации и пересылки (VRF) не прерывают поток трафика других VRF в сети.

NAT — это функция, которая позволяет показывать, что IP-сеть организации извне использует другой IP-адрес.
пространство, чем то, которое он фактически использует.Таким образом, NAT позволяет организации с неглобально маршрутизируемыми адресами подключаться
в Интернет путем преобразования этих адресов в глобально маршрутизируемое адресное пространство. NAT также позволяет плавно перенумеровать
стратегия для организаций, которые меняют поставщиков услуг или добровольно переходят на бесклассовую междоменную маршрутизацию
(CIDR) блоки. NAT описан в RFC 1631.

.

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

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