Что означают эти три параметра в конфигурации NAT маршрутизатора Cisco?

10

В стандартной конфигурации статического PAT, где одна комбинация IP: порт всегда отображается на другую комбинацию IP: порт, существует три возможных комбинации внутренней / внешней / источника / назначения, которые можно настроить.

Например, это пример конфигурации:

ip nat inside source static tcp 10.0.20.13 8080 2.2.2.33 80
       ^^^^^^^^^^^^^

С точки зрения непрофессионала, эта конфигурация позволяет любому внешнему хосту инициировать TCP-соединение с IP 2.2.2.33 через порт 80. Когда этот пакет попадает в маршрутизатор, IP-адрес назначения и порт ( 2.2.2.33:80) преобразуются в 10.0.20.13:8080.

Обратное также произойдет, если внутренний хост 10.0.20.13 отправит пакет TCP с портом источника 8080, поскольку этот пакет пересекает маршрутизатор, IP-адрес источника и Port ( 10.0.20.13:8080) преобразуются в 2.2.2.33:80. (обычно это ответный пакет , а не инициированный с внутреннего узла)


Вот все три варианта конфигурации для отмеченной части выше:

Router(config)#ip nat inside ?
  destination  Destination address translation
  source       Source address translation

Router(config)#ip nat outside ?
  source  Source address translation

По сути, вы можете настроить:

  • ip nat inside source static tcp {IP} {Port} {IP} {Port}
  • ip nat внутри целевого статического tcp {IP} {Port} {IP} {Port}
  • ip nat external source static tcp {IP} {Port} {IP} {Port}

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

Кроме того, кто-нибудь может сказать мне, почему нет выбора внешнего назначения ?

Эдди
источник
2
@Eddie, а не все мы, извергающие руководства пользователя, взгляните на этот cisco.com/c/en/us/support/docs/ip/… или этот groupstudy.com/archives/ccielab/200702/msg01284.html и посмотрим, поможет ли это вам. После этого, если у вас остались конкретные вопросы, мы будем рады помочь.
Рон Сундук
Вам помог какой-нибудь ответ? если это так, вы должны принять ответ, чтобы вопрос не появлялся вечно, ища ответ. Кроме того, вы можете предоставить и принять свой собственный ответ.
Рон Мопин

Ответы:

7

Подумай об этом очень внимательно.

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

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

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

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

Рон Мопин
источник
inside destinationКажется, твое описание соответствует моему «объяснению непрофессионала» inside source. Кроме того, мой пример изменил номер порта назначения для входящего трафика с 80на 8080. Ваше описание, кажется, подразумевает, что порт # не изменяется? В любом случае, это не может быть единственной разницей между, inside destinationи inside sourceне так ли?
Эдди
Разница в источнике трафика. Транспортный inside sourceпоток происходит внутри, а inside destinationтранспортный поток - снаружи. Если трафику, исходящему из, inside sourceтребуется ответ, inside destinationдля ответа происходит процесс временного типа. Номер порта может быть изменен, поскольку трафик перемещается с одной стороны на другую, но не все маршрутизаторы (особенно домашние маршрутизаторы) поддерживают это.
Рон Маупин
4

Мы должны начать с основ, поэтому давайте пересмотрим терминологию NAT. NAT переводит IP-адреса в IP-пакеты, верно? Что это обозначает? То, что это, в основном, создает миражи - да, оптические иллюзии, вы знаете. Например, в типичной конфигурации NAT, когда узлы локальной сети с частной адресацией получают доступ к Интернету с помощью общедоступного IP-адреса интерфейса внешнего маршрутизатора, эти узлы отображаются для интернет-серверов как имеющие этот общедоступный IP-адрес (или IP-адреса из пула общедоступных IP-адресов). Конечно, NAT не создает новых физических хостов - но создает новые виртуальные объекты - в этом примере хосты локальной сети видят себя, скажем, 192.168.1.x, но интернет-серверы видят их как 203.0.113.x - один набор физических хостов, но два набора IP-адресов. Два разных набора (логических) хостов. Оптическая иллюзия. И терминология такая:

  • inside local - «реальные» IP-адреса внутренних хостов, назначенные их интерфейсам и видимые друг другом
  • inside global - «миражные» IP-адреса, видимые внешним миром
  • outside global - «реальные» IP-адреса внешних хостов, которые они видят сами по себе и (почти) во всем Интернете
  • outside local - IP-адреса "mirage", поскольку мы видим внешние хосты (если мы попросили NAT перевести соответственно)

И, как вы видите, мы обязаны проводить различие между нашей сетью и Интернетом или другой внешней сетью. Мы делаем это, помечая IP-интерфейсы нашего маршрутизатора как ip nat inside или ip nat outside , согласны?

Теперь давайте вспомним, как обычно реализуется NAT: он поддерживает специальные таблицы, содержащие записи о переводах. И важным моментом является то, что эти записи могут быть созданы статически или динамически . Для динамически создаваемых записей важно направление трафика - инициируется ли трафик изнутри наружу или наоборот? Для статических записей это не так - они симметричны . Операторы конфигурации NAT, содержащие ключевое слово static, создают статические записи сразу после помещения их в работающую конфигурацию; Те, у кого динамическое ключевое слово, следят за интересным трафиком и динамически создают записи перевода, которые затем со временем заканчиваются.

Мы уже можем порассуждать о вашем последнем вопросе: почему не существует варианта внешнего назначения ? ip nat inside source static создает статическую запись NAT, которая преобразуется точно так, как вы описали, но это включает не только трафик, инициируемый с одной конкретной стороны - статические записи NAT симметричны. Итак, ip nat outside target static создаст статическую запись для трансляции IP-адресов назначения трафика, поступающего в вашу сеть извне И IP-адресов источника для трафика, идущего изнутри - но это именно то, что ip nat inside source staticкоманда делает! Так что иметь эту команду просто избыточно. Единственное отличие состоит в том, что вы будете обмениваться источником с целевым ip при использовании той или иной формы в основном одной и той же команды.

Что касается вашего первого утверждения, «есть три возможные комбинации внутри / снаружи / источника / назначения, которые можно настроить» - это не совсем так. Дело в том, что, вообще говоря, операторы конфигурации NAT не являются «математическими формулами» и должны рассматриваться полностью, а не логически построенными из независимых ключевых слов. Таким образом, каждая «комбинация» представляет решение для конкретной задачи, например, ip nat внутри списка назначения используется для настройки балансировки нагрузки TCP сервера, которая использует определенный алгоритм и не работает с UDP. Кроме того, (в современных IOS-системах) внутри статической команды назначения нет ip nat - вы пробовали ее с помощью опции static ?

Вы можете увидеть некоторые конкретные сценарии использования NAT, включая примеры конфигурации, в этом документе Cisco: http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipaddr_nat/configuration/12-2sx /nat-12-2sx-book/iadnat-addr-consv.html

Наконец, я хотел бы отметить, что иногда NAT - это не то, что вам нужно, например, посмотрите на мой ответ на этот «канонический вопрос»: /server/55611/loopback-to-forwarded-public- IP-адреса из-локальной-сети-шпильке-физ / 733532 # 733532

PS Стоит ли мне вдаваться в подробности?

Sergio
источник