Що означають ці три варіанти в NAT-конфігурації Cisco Router NAT?


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 всередині вихідного статичного tcp {IP} {Порт} {IP} {Порт}
  • ip nat усередині статичного tcp {IP} {Порт} {IP} {Порт}
  • ip nat external source static tcp {IP} {Порт} {IP} {Порт}

Чим ці варіанти відрізняються, і коли можна використовувати кожен із трьох варіантів? Будь ласка, використовуйте терміни миряни, як я робив вище, щоб описати, як кожен маніпулює пакетами, що надходять через пристрій.

Також хтось може мені сказати, чому немає зовнішнього варіанту призначення ?


2
@Eddie, замість того, щоб усі ми поправляли посібники користувача, погляньте на цю cisco.com/c/en/us/support/docs/ip/… або цю групуstudy.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, звичайно, не створює нових фізичних хостів - але створює нові види віртуальних сутностей - у цьому прикладі хости LAN бачать себе як, скажімо, 192.168.1.x, але Інтернет-сервери бачать їх як 203.0.113.x - один набір фізичних хостів, але два набори IP-адрес. Два різних набори (логічних) хостів. Оптична іллюзія. А термінологія така:

  • всередині локальних - "справжніх" IP-адрес внутрішніх хостів як призначених їх інтерфейсам і так, як вони бачать один одного
  • всередині глобальних - "міраж" IP-адреси, які бачать зовнішній світ
  • за межами глобальних - "справжні" IP-адреси зовнішніх хостів, як вони бачили самі та (майже) весь Інтернет
  • за межами локальних - "mirage" IP-адреси, коли ми бачимо зовнішніх хостів (якщо ми попросили NAT перекласти відповідним чином)

І як ви бачите, ми зобов’язані розрізняти нашу мережу та Інтернет чи іншу зовнішню мережу. Ми робимо це, позначаючи IP-інтерфейси нашого маршрутизатора як ip nat всередині, або ip nat зовні , погодьтеся?

Тепер згадаймо, як зазвичай реалізується NAT: він підтримує спеціальні таблиці, що містять записи про переклади. І важливим моментом є те, що ці записи можна створювати або статично, або динамічно . Для динамічно створених записів важливий напрямок руху - чи трафік починається зсередини назовні чи навпаки? Для статичних записів це не так - вони симетричні . Заяви конфігурації NAT, які містять статичне ключове слово, створюють статичні записи відразу після введення їх у запущений конфігурацію; ті, хто має динамічне ключове слово, стежать за цікавим трафіком і динамічно створюють записи перекладу, які згодом вичерпаються.

Ми можемо вже розмірковувати над вашим останнім питанням: чому немає зовнішнього варіанту призначення ? ip nat inside source static створює статичний запис NAT, який перекладається точно так, як ви описали, але це включає не тільки трафік, ініційований з однієї конкретної сторони - статичні записи NAT є симетричними. Таким чином, IP - нац статики поза призначення створить статичну запис для перекладу призначення IP - адреси трафіку , що входить в вашу мережу від зовнішніх і вихідних IP - адрес для трафіку , що йде від внутрішнього - але це саме те , що внутрибрюшинно фіза джерела всередині статичногокоманда робить! Отже, мати цю команду просто зайве. Єдина відмінність полягає в тому, що ви будете обмінювати джерело з пунктом призначення ip при використанні тієї чи іншої форми в основному тієї ж команди.

Що стосується вашого першого твердження, "можна налаштувати три можливі комбінації внутрішнє / зовнішнє / джерело / призначення", - це не зовсім так. Справа в тому, що, загалом кажучи, заяви конфігурації NAT не є "математичними формулами" і повинні розглядатися повністю, а не як побудовані логічно з незалежних ключових слів. Отже, кожна "комбінація" представляє рішення для певної задачі, наприклад, ip nat всередині пункту призначення використовується для налаштування балансування навантаження на сервері TCP, який використовує певний алгоритм і не працює з UDP. Крім того, (у сучасних IOS) немає статичної команди ip nat усередині статики - ви насправді випробували її зі статичним варіантом?

Ви можете побачити деякі конкретні сценарії використання 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-address-from-local-network-hairpin-nat / 733532 # 733532

PS Чи варто детальніше описуватись?

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.