Технологія NAT

Тема 7. Трансляція мережевих адрес

Література

1. Дэвид В. Чепмен, мл., Энди Фокс Брандмауэры Cisco Secure PIX = Cisco® Secure PIX® Firewalls. – М.: «Вильямс», 2003. – С. 384. – ISBN 1-58705-035-8


NAT (від англ. Network Address Translation – «перетворення мережевих адрес») - це механізм в мережах TCP/IP, що дозволяє перетворювати IP-адреси транзитних пакетів (див. рисунок 7.1). Також має назви IP Masquerading, Network Masquerading і Native Address Translation.

Рисунок 7.1 – Принцип роботи NAT

Перетворення адрес методом NAT може проводитися майже будь-яким маршрутизуючого пристроєм – маршрутизатором, сервером доступу, міжмережевим екраном. Найбільш популярним є SNAT, суть механізму якого полягає в заміні адреси джерела (англ. source) при проходженні пакета в один бік і зворотного заміні адреси призначення (англ. destination) у відповідному пакеті. Поряд з адресами джерело/призначення можуть також замінюватися номери портів джерела і призначення.

Приймаючи пакет від локального комп'ютера, роутер дивиться на IP-адресу призначення. Якщо це локальний адресу, то пакет пересилається іншому локальному комп'ютеру. Якщо ні, то пакет треба переслати назовні в Інтернет. Але ж зворотною адресою у пакеті вказано локальний адресу комп'ютера, який з Інтернету буде недоступний. Тому роутер «на льоту» виробляє трансляцію IP-адреси і порту і запам'ятовує цю трансляцію у себе в тимчасовій таблиці. Через деякий час після того, як клієнт і сервер закінчать обмінюватися пакетами, роутер зітре у себе в таблиці запис про n-ий порт за строком давності.

Крім source NAT (надання користувачам локальної мережі з внутрішніми адресами доступу до мережі Інтернет) часто застосовується також destination NAT, коли звернення ззовні транслюються міжмережевим екраном на комп'ютер користувача в локальній мережі, що має внутрішній адресу і тому недоступний ззовні мережі безпосередньо (без NAT).

Існує 3 базових концепції трансляції адрес: статична (Static Network Address Translation), динамічна (Dynamic Address Translation), маскарадний (NAPT, NAT Overload, PAT).

Статичний NAT – Відображення незареєстрованого IP-адреси на зареєстрований IP-адресу на підставі один до одного. Особливо корисно, коли пристрій повинен бути доступним зовні мережі.

Динамічний NAT – Відображає незареєстрований IP-адресу на зареєстровану адресу від групи зареєстрованих IP-адрес. Динамічний NAT також встановлює безпосереднє відображення між незареєстрованим та зареєстрованим адресою, але відображення може мінятися залежно від зареєстрованої адреси, доступного в пулі адрес, під час комунікації.

Перевантажений NAT (NAPT, NAT Overload, PAT, маськарадінг) – форма динамічного NAT, який відображає кілька незареєстрованих адрес в єдиний зареєстрований IP-адреса, використовуючи різні порти. Відомий також як PAT (Port Address Translation). При перевантаженні кожен комп'ютер у приватній мережі транслюється в той же самий адресу, але з різним номером порту.

Механізм NAT визначений в RFC 1631, RFC 3022.

NAT виконує три важливі функції:

- Дозволяє заощадити IP-адреси (тільки у випадку використання NAT в режимі PAT), транслюючи декілька внутрішніх IP-адрес в один зовнішній публічний IP-адресу (або в декілька, але меншою кількістю, ніж внутрішніх). За таким принципом побудована більшість мереж в світі: на невеликий район домашньої мережі місцевого провайдера або на офіс виділяється 1 публічний (зовнішній) IP-адресу, за яким працюють і отримують доступ інтерфейси з приватними (внутрішніми) IP-адресами.

- Дозволяє запобігти або обмежити обіг зовні до внутрішніх хостам, залишаючи можливість звернення зсередини назовні. При ініціації з'єднання зсередини мережі створюється трансляція. Відповідь пакети, вступники зовні, відповідають створеної трансляції і тому пропускаються. Якщо для пакетів, що надходять зовні, відповідної трансляції не існує (а вона може бути створеною при ініціації з'єднання або статичної), вони не пропускаються.

- Дозволяє приховати певні внутрішні сервіси внутрішніх хостів/серверів. По суті, виконується та ж зазначена вище трансляція на певний порт, але можливо підмінити внутрішній порт офіційно зареєстрованої служби (наприклад, 80-й порт TCP (HTTP-сервер) на зовнішній 54055-й). Тим самим, зовні, на зовнішньому IP-адресі після трансляції адрес на сайт (або форум) для обізнаних відвідувачів можна буде потрапити за адресою https://example.org:54055, але на внутрішньому сервері, що знаходиться за NAT, він працюватиме на звичайному 80-му порту. Підвищення безпеки і приховування «непублічних» ресурсів.

Як недоліки можна визначити таке:

- Старі протоколи. Протоколи, розроблені до масового впровадження NAT, не в змозі працювати, якщо на шляху між взаємодіючими хостами є трансляція адрес. Деякі міжмережеві екрани, які здійснюють трансляцію IP-адрес, можуть виправити цей недолік, відповідним чином замінюючи IP-адреси не тільки в заголовках IP, але і на більш високих рівнях (наприклад, в командах протоколу FTP). Див Application-level gateway.

- Ідентифікація користувачів. Через трансляції адрес «багато в один» з'являються додаткові складнощі з ідентифікацією користувачів і необхідність зберігати повні логи трансляцій.

- Ілюзія DoS-атаки. Якщо NAT використовується для підключення багатьох користувачів до одного і того ж сервісу, це може викликати ілюзію DoS-атаки на сервіс (безліч успішних і неуспішних спроб). Наприклад, надмірна кількість користувачів ICQ за NAT призводить до проблеми з підключенням до сервера деяких користувачів через перевищення допустимої швидкості підключень. Частковим вирішенням проблеми є використання пулу адрес (групи адрес), для яких здійснюється трансляція.

- Пірінгові мережі. У NAT-пристроях, що не підтримують технологію Universal Plug & Play, в деяких випадках, необхідна додаткова настройка (див. Трансляція порт-адреса) при роботі з пірінговимі мережами і деякими іншими програмами, в яких необхідно не тільки ініціювати вихідні з'єднання, але також брати вхідні.

NAT Traversal (проходження або автонастройка NAT) – це набір можливостей, що дозволяють мережевим додаткам визначати, що вони знаходяться за пристроєм, що забезпечує NAT, дізнаватися зовнішній IP-адресу цього пристрою і виконувати зіставлення портів для пересилання пакетів з зовнішнього порту NAT на внутрішній порт, використовуваний додатком; все це виконується автоматично, користувачеві немає необхідності вручну налаштовувати зіставлення портів або вносити зміни в якісь інші параметри. Однак існують запобіжні заходи у довірі до таких додатків – вони отримують обширний контроль над пристроєм, з'являються потенційні уразливості.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: