В стандартной конфигурации статического 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}
Чем эти параметры отличаются и когда каждый из них будет использовать каждый из трех вариантов? Пожалуйста, используйте термины непрофессионала, как я делал выше, чтобы описать, как каждый будет манипулировать пакетами, проходящими через устройство.
Кроме того, кто-нибудь может сказать мне, почему нет выбора внешнего назначения ?
Ответы:
Подумай об этом очень внимательно.
Внутренний источник означает, что вы хотите преобразовать адрес источника из трафика, исходящего из вашей сети. Это типичная схема «домашней сети», которая позволяет использовать частные адреса в общедоступном Интернете. Конечно, это не единственное использование для этой версии.
Внутренний пункт назначения означает, что вы хотите, чтобы трафик, исходящий от внешнего адреса к определенному транспортному протоколу и порту назначения, направлялся на определенный внутренний адрес. Это то, что делают домашние пользователи, чтобы разрешить доступ к общему Интернету к чему-то вроде веб-сервера с частным адресом. Конечно, это не единственное использование для этой версии.
Внешний источник переводит трафик, исходящий извне, в внешний вид, будто он исходит из внутреннего адреса. Это может быть полезно в тех случаях, когда компании с перекрывающимися диапазонами IP-адресов объединяются, и им необходимо начать подключение сетей. Вы можете преобразовать адреса источника трафика, исходящего извне, который обычно имеет внешние адреса источника, которые конфликтуют с внутренними адресами, в адреса адресов источника в доступном внутреннем диапазоне адресов.
Внешний пункт назначения на самом деле не имеет большого смысла, поскольку это обратная переадресация портов. Это ограничит любой трафик, исходящий изнутри, предназначенный для конкретного внешнего транспортного протокола и порта, одним внешним адресом.
источник
inside destination
Кажется, твое описание соответствует моему «объяснению непрофессионала»inside source
. Кроме того, мой пример изменил номер порта назначения для входящего трафика с80
на8080
. Ваше описание, кажется, подразумевает, что порт # не изменяется? В любом случае, это не может быть единственной разницей между,inside destination
иinside source
не так ли?inside source
поток происходит внутри, аinside destination
транспортный поток - снаружи. Если трафику, исходящему из,inside source
требуется ответ,inside destination
для ответа происходит процесс временного типа. Номер порта может быть изменен, поскольку трафик перемещается с одной стороны на другую, но не все маршрутизаторы (особенно домашние маршрутизаторы) поддерживают это.Мы должны начать с основ, поэтому давайте пересмотрим терминологию NAT. NAT переводит IP-адреса в IP-пакеты, верно? Что это обозначает? То, что это, в основном, создает миражи - да, оптические иллюзии, вы знаете. Например, в типичной конфигурации NAT, когда узлы локальной сети с частной адресацией получают доступ к Интернету с помощью общедоступного IP-адреса интерфейса внешнего маршрутизатора, эти узлы отображаются для интернет-серверов как имеющие этот общедоступный IP-адрес (или IP-адреса из пула общедоступных IP-адресов). Конечно, NAT не создает новых физических хостов - но создает новые виртуальные объекты - в этом примере хосты локальной сети видят себя, скажем, 192.168.1.x, но интернет-серверы видят их как 203.0.113.x - один набор физических хостов, но два набора IP-адресов. Два разных набора (логических) хостов. Оптическая иллюзия. И терминология такая:
И, как вы видите, мы обязаны проводить различие между нашей сетью и Интернетом или другой внешней сетью. Мы делаем это, помечая 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 Стоит ли мне вдаваться в подробности?
источник