Принцип роботи динамічного NAT
Тоді як статичне перетворення NAT забезпечує постійну відповідність між внутрішньою локальною адресою і внутрішньою глобальною адресою, динамічне перетворення NAT підтримує автоматичне зіставлення внутрішніх локальних адрес внутрішнім глобальним адресам. Ці внутрішні глобальні адреси зазвичай являються публічними IPv4-адресами. Динамічний NAT використовує для перетворення групу або пул публічних IPv4-адрес.
Для динамічного NAT, як і для статичного NAT, потрібно налаштування внутрішнього і зовнішнього інтерфейсів, що беруть участь в перетворенні NAT. Проте, якщо статичне перетворення NAT створює постійне зіставлення з однією адресою, для динамічного NAT використовується пул адрес.
Перетворення між публічними і приватними IPv4-адресами є найпоширенішим застосуванням NAT. Проте, перетворення NAT можуть виникати між будь-якими парами адрес.
У довідковій топології, показаній на рисунку 1, внутрішня мережа використовує адреси з простору приватних адрес, визначеного в RFC 1918. До маршрутизатора R1 підключені дві локальні мережі — 192.168.10.0/24 і 192.168.11.0/24. Граничний маршрутизатор R2 налаштований на динамічне перетворення NAT з використанням пулу публічних IPv4-адрес від 209.165.200.226 до 209.165.200.240.
Пул публічних IPv4-адрес (пул внутрішніх глобальних адрес) доступний будь-якому пристрою у внутрішній мережі за принципом «першим прийшов — першим обслужили». При динамічному перетворенні NAT одна внутрішня адреса перетвориться в одну зовнішню адресу. Для цього типу перетворення в пулі має бути досить адрес, щоб охопити усі внутрішні пристрої, яким одночасно потрібно доступ до зовнішньої мережі. Якщо використані усі адреси пулу, пристрій повинен дочекатися доступної адреси, щоб отримати доступ до зовнішньої мережі.
![](https://the-purple.team/wp-content/uploads/2025/01/0-Dimanic-NAT-topology.jpg)
Налаштування динамічного NAT
На рис. 1 показані кроки і команди, використовувані для налаштування динамічного NAT.
Крок 1. За допомогою команди
ip nat pool
задайте пул адрес, які використовуватимуться для перетворення. Цей пул адрес зазвичай є групою публічних адрес. Ці адреси визначаються за допомогою вказівки початкової і кінцевої IP-адреси пулу. Ключове слово netmask
або prefix-length
вказує, які біти адреси відносяться до мережі, а які — до діапазону адрес вузлів.
Крок 2. Настройте стандартний ACL-список, щоб визначити (дозволити) тільки ті адреси, які мають бути перетворені. ACL-список із занадто великою кількістю дозволяючих команд може привести до непередбачуваних результатів. Пам’ятайте, що у кінці кожного ACL-списку знаходиться рядок deny all.
Крок 3. Виконайте прив’язку ACL-списку до пулу. Команда
ip nat insidesource list access - list - number pool name
використовується для прив’язки списку до пулу. Ця конфігурація використовується маршрутизатором, щоб визначити, які пристрої (list), які адреси отримують (pool).
Крок 4. Визначте інтерфейси, що є внутрішніми по відношенню до NAT, тобто будь-який інтерфейс, підключений до внутрішньої мережі.
Крок 5. Визначте інтерфейси, що є зовнішніми відносно NAT, тобто будь-який інтерфейс, підключений до зовнішньої мережі.
![](https://the-purple.team/wp-content/uploads/2025/01/1-Dimanic-NAT-configuration.jpg)
На рис. 3 наведений приклад топології і відповідна конфігурація. Ця конфігурація дозволяє перетворення для усіх вузлів мережі 192.168.0.0/16, що містить локальні мережі 192.168.10.0 і 192.168.11.0, коли вузли створюють трафік, що входить в S0/0/0 і виходить з S0/1/0. Адреси цих вузлів перетворяться в доступну адресу з пулу в діапазоні від 209.165.200.226 до 209.165.200.240.
![](https://the-purple.team/wp-content/uploads/2025/01/2-Dimanic-NAT-configuration-example.jpg)
Defines a pool of public IPv4 addresses undre the pool name NAT-POOL1.
R2(config)# ip nat pool NAT-POOL1 209.165.200.226 209.165.200.240 netmask 255.255.255.224
Defines which addresses are eligible to be translaated
На рис. 4 показана топологія, використовувана для конфігурації інструменту перевірки синтаксису.
![](https://the-purple.team/wp-content/uploads/2025/01/3-Dimanic-NAT-chema.jpg)
Аналіз динамічного NAT
Приведені малюнки ілюструють процес динамічного перетворення NAT між двома клієнтами і веб-сервером з використанням попередньої конфігурації. На рис. 5 показаний потік трафіку зсередини назовні.
![](https://the-purple.team/wp-content/uploads/2025/01/4-Dimanic-NAT-process.jpg)
- Вузли з IPv4-адресами джерела (192.168.10.10 (PC1) і 192.168.11.10 (PC2)) відправляють пакети, що просять підключення до сервера на публічну IPv4-адресу (209.165.200.254).
- Маршрутизатор R2 отримує перший пакет від вузла 192.168.10.10. Оскільки цей пакет був отриманий на інтерфейс, налагоджений як внутрішній інтерфейс NAT, R2 перевіряє конфігурацію NAT, щоб визначити, чи слід виконувати перетворення для цього пакету. ACL-список дозволяє цей пакет, тому R2 виконує його перетворення. Маршрутизатор R2 перевіряє свою таблицю NAT. Оскільки для цієї IP-адреси немає записів перетворення, R2 вирішує, що для адреси джерела 192.168.10.10 потрібно динамічне перетворення. Маршрутизатор R2 вибирає доступну глобальну адресу з пулу динамічних адрес і створює запис перетворення — 209.165.200.226. Первинна IPv4-адреса джерела (192.168.10.10) — це внутрішня локальна адреса, а використовувана для перетворення адреса — це внутрішня глобальна адреса (209.165.200.226) в таблиці NAT.
R2 повторює процедуру для другого вузла, 192.168.11.10, вибираючи наступну доступну глобальну адресу з пулу динамічних адрес і створюючи другий запис перетворення, 209.165.200.227. - R2 замінює внутрішню локальну адресу джерела PC1 (192.168.10.10) використовувану для перетворення, внутрішньою глобальною адресою (209.165.200.226) і пересилає пакет. Ті ж дії виконуються для пакету, відправленим PC2, з використанням перетворення адреси, відповідній PC2 (209.165.200.227).
Рис. 6 відображає зворотнє перетворення – й потік трафіку зовні усередину.
![](https://the-purple.team/wp-content/uploads/2025/01/5-Dimanic-NAT-back-process.jpg)
4. Сервер отримує пакет від PC1 і відповідає, використовуючи IPv4-адресу призначення 209.165.200.226. Отримавши другий пакет, сервер відповідає PC2, використовуючи IPv4-адресу призначення 209.165.200.227.
5а. Отримавши пакет з IPv4-адресою призначення 209.165.200.226, маршрутизатор R2 виконує пошук в таблиці NAT. За допомогою зіставлення з таблицею, маршрутизатор R2 виконує перетворення адреси назад у внутрішню локальну адресу (192.168.10.10) і пересилає пакет PC1.
5b. Отримавши пакет з IPv4-адресою призначення 209.165.200.227, маршрутизатор R2 виконує пошук в таблиці NAT. За допомогою зіставлення з таблицею, маршрутизатор R2 виконує перетворення адреси назад у внутрішню локальну адресу (192.168.11.10) і пересилає пакет PC2.
6. PC1 з адресою 192.168.10.10 і PC2 з адресою 192.168.11.10 отримують пакети і продовжують діалог. Маршрутизатор NAT виконує кроки 2-5b для кожного пакету (крок 6 не наводиться на малюнках).
Перевірка динамічного NAT
Результати команди show ip nat translations, показані на рис. 7, містять відомості про два попередні призначення NAT. Команда відображає усі налагоджені статичні перетворення адрес і усі динамічні перетворення, створені в результаті обробки трафіку.
![](https://the-purple.team/wp-content/uploads/2025/01/6-Dimanic-NAT-show.jpg)
Додавання ключового слова verboseвиводить додаткову інформацію про кожне перетворення, включаючи час, що пройшов після створення і використання запису.
За умовчанням термін дії записів перетворення збігає через 24 години, якщо налаштування таймерів не було змінене за допомогою команди ip nat translation timeout timeout – seconds в режимі глобальної конфігурації.
Для видалення динамічних записів до витікання їх часу дії використайте команду режиму глобальної конфігурації clear ip nat translation (рис. 8). При проведенні перевірки конфігурації NAT рекомендується видаляти динамічні записи. Як показано в таблиці, цю команду можна використати з ключовими словами і змінними, щоб визначити записи, що видаляються. Конкретні записи можна видалити, щоб уникнути збоїв активних сеансів. Щоб видалити з таблиці усі перетворення, використайте команду глобальної конфігурації clear ip nat translation*.
![](https://the-purple.team/wp-content/uploads/2025/01/7-Dimanic-NAT-removing.jpg)
З таблиці віддаляються тільки динамічні перетворення. Статичні перетворення неможливо видалити з таблиці перетворень.
Як показано на рис. 9, команда show ip nat statistics виводить зведення про сумарну кількість активних перетворень, параметри конфігурації NAT, число адрес в пулі і число виділених адрес.
![](https://the-purple.team/wp-content/uploads/2025/01/8-Dimanic-NAT-check.jpg)
В якості альтернативи, можна скористатися командою show running – config і знайти команди NAT, ACL, інтерфейсу або пулу з потрібними значеннями.