NAT (від англ. Network Address Translation — «перетворення мережевих адрес») — це механізм у мережах (TCP/IP), котрий дозволяє змінювати IP-адресу у заголовку пакету, що проходить через пристрій маршрутизації трафіку. Також має назви IP Masquerading, Network Masquerading і Native Address Translation.
Функціонування
Перетворення адреси методом NAT може виконувати майже будь-який маршрутизаційний пристрій — маршрутизатор, сервер доступу, міжмережевий екран (фаєрвол). Найпопулярнішим є SNAT, суть механізму котрого полягає в заміні адреси джерела (англ. source) при проходженні пакета в один бік і зворотній заміні адреси призначення (англ. destination) у зворотному пакеті. Поряд з адресами джерела/призначення можуть також замінюватися номери портів джерела і призначення.
Приймаючи пакет від локального комп'ютера, роутер переглядає IP-адресу призначення. Якщо це локальна адреса, то пакет пересилається іншому локальному комп'ютерові. Якщо ні, то пакет слід переслати назовні до інтернету. Але зворотною адресою в пакеті вказано локальну адресу комп'ютера, котра з інтернету буде недоступна. Тому роутер «на льоту» транслює (підміняє) зворотну 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
Класифікація NAT, часто зустрічається у зв'язку з VoIP. Термін «з'єднання» використаний у значенні «послідовний обмін пакунками UDP».
Симетричний NAT (Symmetric NAT) — трансляція, при якій кожне з'єднання, ініційоване парою «внутрішня адреса: внутрішній порт» перетворюється у вільну унікальну, випадково вибрану пару «публічна адреса: публічний порт». При цьому, ініціація з'єднання з публічної мережі неможлива.
Cone NAT, Full Cone NAT — однозначна (взаємна) трансляція між парами «внутрішня адреса: внутрішній порт» і «публічна адреса: публічний порт». Кожен зовнішній хост може ініціювати з'єднання з внутрішнім хостом (якщо це дозволене у правилах міжмережевого екрана (брандмауера).
Address-Restricted cone NAT, Restricted cone NAT — постійна трансляція між парою «внутрішня адреса: внутрішній порт» і «публічна адреса: публічний порт». Кожне з'єднання, ініційоване з внутрішньої адреси, дозволяє надалі отримувати йому пакети з будь-якого порту того публічного хоста, до якого він відправляв пакет(ти) раніше.
Port-Restricted cone NAT — трансляція між парою «внутрішня адреса: внутрішній порт» і «публічна адреса: публічний порт», при якій пакети що надходять до внутрішнього хосту тільки з одного порту публічного хоста — того, на котрий внутрішній хост вже відправляв пакет.
Переваги
NAT виконує три важливі функції.
- Дозволяє заощаджувати IP-адреси (тільки у разі використання NAT у режимі PAT), транслюючи декілька внутрішніх IP-адрес в одну зовнішню публічну IP-адресу (або у декілька, але все ж в меншу кількість, ніж внутрішніх). За таким принципом побудована більшість мереж у світі: на невеликий район домашньої мережі місцевого провайдера або на офіс виділяється одна публічна (зовнішня) IP-адреса, за котрою працюють і отримують доступ інтерфейси з приватними (внутрішніми) IP-адресами.
- Дозволяє запобігти або обмежити обіг ззовні до внутрішніх хостів, залишаючи можливість обігу зсередини назовні. При ініціації з'єднання зсередини мережі створюється трансляція. Відповідні пакети, які надходять зовні, відповідають створеній трансляції і тому пропускаються. Якщо для пакетів, які надходять ззовні, відповідної трансляції не існує (а вона може бути створеною при ініціації з'єднання або статичною), вони не пропускаються.
- Дозволяє приховати визначені внутрішні сервіси внутрішніх хостів/серверів. По суті, виконується та ж, вказана вище, трансляція на визначений порт, але можна підмінити внутрішній порт офіційно зареєстрованої служби (наприклад, 80-й порт TCP (HTTP-сервер) на зовнішній 54055-й). Тим самим, зовні, на зовнішній IP-адресі після трансляції адрес на сайт (або форум) для обізнаних відвідувачів можна буде потрапити за адресою http://example.org:54055, але на внутрішньому сервері, який знаходиться за NAT, він буде працювати на звичайному 80-му порту. Підвищення безпеки і приховування «непублічних» ресурсів.
Недоліки
- Старі протоколи. Протоколи, розроблені до масового впровадження NAT, не в змозі працювати, якщо на шляху між взаємодіючими хостами є трансляція адрес. Деякі міжмережеві екрани, які здійснюють трансляцію IP-адрес, можуть виправити цей недолік, відповідним чином замінюючи IP-адреси не тільки в заголовках IP, але і на більш високих рівнях (наприклад, в командах протоколу FTP). Див. [en].
- Ідентифікація користувачів. Через трансляції адрес «багато в один» з'являються додаткові складнощі з ідентифікацією користувачів і необхідність зберігати повні логи трансляцій.
- Ілюзія DoS-атаки. Якщо NAT використовується для підключення багатьох користувачів до одного і того ж сервісу, це може викликати ілюзію на сервіс (безліч успішних і неуспішних спроб). Наприклад, надмірна кількість користувачів ICQ за NAT приводить до проблеми з підключенням до сервера деяких користувачів через перевищення допустимої швидкості підключень. Частковим вирішенням проблеми є використання пулу адрес (групи адрес), для яких здійснюється трансляція.
- Пірингові мережі. У NAT-пристроях, які не підтримують Universal Plug & Play, в деяких випадках, необхідна додаткова настройка (див. Трансляція порт-адреси) при роботі з піринговими мережами і деякими іншими програмами, в яких необхідно не тільки ініціювати вихідні з'єднання, але також приймати вхідні...
Приклад
Трансляція локальної мережі з діапазоном адрес 172.16.14.0/24 у глобальну мережу буде здійснюватися через одну зовнішню IP-адресу (адресу маршрутизатора, котра виконує трансляцію).
NAT loopback
Сенс технології NAT loopback (або NAT hairpinning) простий: якщо пакет надходить з внутрішньої мережі на зовнішню IP-адресу маршрутизатора, він вважається надійшовшим ззовні — а значить, працюють правила брандмауера, що відносяться до зовнішніх з'єднань. І якщо пакет успішно пройде крізь брандмауер, спрацює NAT, взявши на себе посередництво між двома внутрішньомережевими машинами. Це дає дві речі
- Прямо зсередини локальної мережі можна перевірити, як налаштовані мережеві служби.
- Доступ до сервера, що знаходиться в локальній мережі, по доменному імені. Без NAT loopback довелося б правити файл hosts на кожній машині для кожного задіяного домену та піддомену.
Недоліком NAT loopback можна вважати підвищене навантаження на хаб і маршрутизатор (в порівнянні з прямим доступом до серверу).
NAT Traversal
NAT Traversal (проходження або автоналаштування NAT) — це набір можливостей, що дозволяє мережевим додаткам визначати, що вони перебувають за пристроєм, забезпеченим NAT, дізнаватися зовнішню IP-адресу цього пристрою і виконувати зіставлення портів для пересилання пакунків з зовнішнього порту NAT на внутрішній порт, використовуваний додатком; все це виконується автоматично, користувачу немає необхідності вручну налаштовувати співставлення портів або вносити зміни у будь-які інші параметри. Однак існують запобіжні заходи у довірі до таких додатків — вони отримують широкий контроль над пристроєм, з'являються потенційні вразливості.
Програмна реалізація NAT
При наявності вже існуючого сервера під управлінням серверної ОС можливо організовувати трансляцію адрес без необхідності закупівлі додаткових, апаратних пристроїв.
З точки зору відмовостійкості, гнучкості і продуктивності, використовують операційні системи сімейства UNIX (більшість GNU/Linux, BSD-системи, а також OpenSolaris і т. ін.). У багатьох з них NAT доступний «з коробки», в інших можлива реалізація за рахунок додавання модулів у поєднанні з міжмережевими екранами з функціями трансляції адрес (IPFW, IPtables #і т. ін.). Також, NAT працює «з коробки» у сімействі операційних систем Windows Server.
Див. також
Примітки
- Network Protocols Handbook. — 2. — Javvin Technologies Inc. — С. 27. — .
- Андрей Жуков. Типы Network Address Translation (NAT) [ 8 травня 2020 у Wayback Machine.]
Ця стаття потребує додаткових для поліпшення її . |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
NAT vid angl Network Address Translation peretvorennya merezhevih adres ce mehanizm u merezhah TCP IP kotrij dozvolyaye zminyuvati IP adresu u zagolovku paketu sho prohodit cherez pristrij marshrutizaciyi trafiku Takozh maye nazvi IP Masquerading Network Masquerading i Native Address Translation FunkcionuvannyaPeretvorennya adresi metodom NAT mozhe vikonuvati majzhe bud yakij marshrutizacijnij pristrij marshrutizator server dostupu mizhmerezhevij ekran fayervol Najpopulyarnishim ye SNAT sut mehanizmu kotrogo polyagaye v zamini adresi dzherela angl source pri prohodzhenni paketa v odin bik i zvorotnij zamini adresi priznachennya angl destination u zvorotnomu paketi Poryad z adresami dzherela priznachennya mozhut takozh zaminyuvatisya nomeri portiv dzherela i priznachennya Prijmayuchi paket vid lokalnogo komp yutera router pereglyadaye IP adresu priznachennya Yaksho ce lokalna adresa to paket peresilayetsya inshomu lokalnomu komp yuterovi Yaksho ni to paket slid pereslati nazovni do internetu Ale zvorotnoyu adresoyu v paketi vkazano lokalnu adresu komp yutera kotra z internetu bude nedostupna Tomu router na lotu translyuye pidminyaye zvorotnu IP adresu paketa na svoyu zovnishnyu vidimu z internetu IP adresu a takozh minyaye nomer portu shob rozriznyati zvorotni paketi adresovani riznim lokalnim komp yuteram Kombinaciyu potribnu dlya zvorotnoyi pidstanovki router zberigaye v sebe u timchasovij tablici Cherez deyakij chas pislya togo yak kliyent i server zakinchat obminyuvatisya paketami router zitre zi svoyeyi tablici zastarilij zapis pro n m port Okrim source NAT nadannya koristuvacham lokalnoyi merezhi z vnutrishnimi adresami dostupu do merezhi Internet chasto zastosovuyetsya takozh destination NAT koli trafik zzovni translyuyetsya mizhmerezhevim ekranom na komp yuter koristuvacha u lokalnij merezhi kotrij maye vnutrishnyu adresu i tomu nedostupnij zzovni merezhi bezposeredno bez NAT Isnuye 3 bazovih koncepciyi translyaciyi adres statichna Static Network Address Translation dinamichna Dynamic Address Translation perevantazhena NAPT NAT Overload PAT Statichnij NAT vidobrazhennya nezareyestrovanoyi IP adresi na zareyestrovanu IP adresu na osnovi odin do odnogo Osoblivo korisno koli pristrij povinen buti dostupnim zovni merezhi Dinamichnij NAT vidobrazhuye nezareyestrovanu IP adresu na zareyestrovanu adresu z grupi zareyestrovanih IP adres Dinamichnij NAT takozh vstanovlyuye bezposerednye vidobrazhennya mizh nezareyestrovanimi i zareyestrovanimi adresami ale vidobrazhennya mozhe minyatis v zalezhnosti vid zareyestrovanoyi adresi dostupnoyi u kupi adres pid chas komunikaciyi Perevantazhenij NAT NAPT NAT Overload PAT maskarading forma dinamichnogo NAT kotrij peretvoryuye dekilka nezareyestrovanih adres u yedinu zareyestrovanu IP adresu vikoristovuyuchi riznomanitni porti Vidomij takozh yak PAT Port Address Translation Pri perevantazhenni kozhen komp yuter u privatnij merezhi translyuyetsya u tu zh samu adresu ale z riznim nomerom portu Mehanizm NAT viznachenij u RFC 1631 RFC 3022 Tipi NAT Klasifikaciya NAT chasto zustrichayetsya u zv yazku z VoIP Termin z yednannya vikoristanij u znachenni poslidovnij obmin pakunkami UDP Simetrichnij NAT Symmetric NAT translyaciya pri yakij kozhne z yednannya inicijovane paroyu vnutrishnya adresa vnutrishnij port peretvoryuyetsya u vilnu unikalnu vipadkovo vibranu paru publichna adresa publichnij port Pri comu iniciaciya z yednannya z publichnoyi merezhi nemozhliva Cone NAT Full Cone NAT odnoznachna vzayemna translyaciya mizh parami vnutrishnya adresa vnutrishnij port i publichna adresa publichnij port Kozhen zovnishnij host mozhe iniciyuvati z yednannya z vnutrishnim hostom yaksho ce dozvolene u pravilah mizhmerezhevogo ekrana brandmauera Address Restricted cone NAT Restricted cone NAT postijna translyaciya mizh paroyu vnutrishnya adresa vnutrishnij port i publichna adresa publichnij port Kozhne z yednannya inicijovane z vnutrishnoyi adresi dozvolyaye nadali otrimuvati jomu paketi z bud yakogo portu togo publichnogo hosta do yakogo vin vidpravlyav paket ti ranishe Port Restricted cone NAT translyaciya mizh paroyu vnutrishnya adresa vnutrishnij port i publichna adresa publichnij port pri yakij paketi sho nadhodyat do vnutrishnogo hostu tilki z odnogo portu publichnogo hosta togo na kotrij vnutrishnij host vzhe vidpravlyav paket PerevagiNAT vikonuye tri vazhlivi funkciyi Dozvolyaye zaoshadzhuvati IP adresi tilki u razi vikoristannya NAT u rezhimi PAT translyuyuchi dekilka vnutrishnih IP adres v odnu zovnishnyu publichnu IP adresu abo u dekilka ale vse zh v menshu kilkist nizh vnutrishnih Za takim principom pobudovana bilshist merezh u sviti na nevelikij rajon domashnoyi merezhi miscevogo provajdera abo na ofis vidilyayetsya odna publichna zovnishnya IP adresa za kotroyu pracyuyut i otrimuyut dostup interfejsi z privatnimi vnutrishnimi IP adresami Dozvolyaye zapobigti abo obmezhiti obig zzovni do vnutrishnih hostiv zalishayuchi mozhlivist obigu zseredini nazovni Pri iniciaciyi z yednannya zseredini merezhi stvoryuyetsya translyaciya Vidpovidni paketi yaki nadhodyat zovni vidpovidayut stvorenij translyaciyi i tomu propuskayutsya Yaksho dlya paketiv yaki nadhodyat zzovni vidpovidnoyi translyaciyi ne isnuye a vona mozhe buti stvorenoyu pri iniciaciyi z yednannya abo statichnoyu voni ne propuskayutsya Dozvolyaye prihovati viznacheni vnutrishni servisi vnutrishnih hostiv serveriv Po suti vikonuyetsya ta zh vkazana vishe translyaciya na viznachenij port ale mozhna pidminiti vnutrishnij port oficijno zareyestrovanoyi sluzhbi napriklad 80 j port TCP HTTP server na zovnishnij 54055 j Tim samim zovni na zovnishnij IP adresi pislya translyaciyi adres na sajt abo forum dlya obiznanih vidviduvachiv mozhna bude potrapiti za adresoyu http example org 54055 ale na vnutrishnomu serveri yakij znahoditsya za NAT vin bude pracyuvati na zvichajnomu 80 mu portu Pidvishennya bezpeki i prihovuvannya nepublichnih resursiv NedolikiStari protokoli Protokoli rozrobleni do masovogo vprovadzhennya NAT ne v zmozi pracyuvati yaksho na shlyahu mizh vzayemodiyuchimi hostami ye translyaciya adres Deyaki mizhmerezhevi ekrani yaki zdijsnyuyut translyaciyu IP adres mozhut vipraviti cej nedolik vidpovidnim chinom zaminyuyuchi IP adresi ne tilki v zagolovkah IP ale i na bilsh visokih rivnyah napriklad v komandah protokolu FTP Div en Identifikaciya koristuvachiv Cherez translyaciyi adres bagato v odin z yavlyayutsya dodatkovi skladnoshi z identifikaciyeyu koristuvachiv i neobhidnist zberigati povni logi translyacij Ilyuziya DoS ataki Yaksho NAT vikoristovuyetsya dlya pidklyuchennya bagatoh koristuvachiv do odnogo i togo zh servisu ce mozhe viklikati ilyuziyu na servis bezlich uspishnih i neuspishnih sprob Napriklad nadmirna kilkist koristuvachiv ICQ za NAT privodit do problemi z pidklyuchennyam do servera deyakih koristuvachiv cherez perevishennya dopustimoyi shvidkosti pidklyuchen Chastkovim virishennyam problemi ye vikoristannya pulu adres grupi adres dlya yakih zdijsnyuyetsya translyaciya Piringovi merezhi U NAT pristroyah yaki ne pidtrimuyut Universal Plug amp Play v deyakih vipadkah neobhidna dodatkova nastrojka div Translyaciya port adresi pri roboti z piringovimi merezhami i deyakimi inshimi programami v yakih neobhidno ne tilki iniciyuvati vihidni z yednannya ale takozh prijmati vhidni PrikladTranslyaciya lokalnoyi merezhi z diapazonom adres 172 16 14 0 24 u globalnu merezhu bude zdijsnyuvatisya cherez odnu zovnishnyu IP adresu adresu marshrutizatora kotra vikonuye translyaciyu NAT loopbackSens tehnologiyi NAT loopback abo NAT hairpinning prostij yaksho paket nadhodit z vnutrishnoyi merezhi na zovnishnyu IP adresu marshrutizatora vin vvazhayetsya nadijshovshim zzovni a znachit pracyuyut pravila brandmauera sho vidnosyatsya do zovnishnih z yednan I yaksho paket uspishno projde kriz brandmauer spracyuye NAT vzyavshi na sebe poserednictvo mizh dvoma vnutrishnomerezhevimi mashinami Ce daye dvi rechi Pryamo zseredini lokalnoyi merezhi mozhna pereviriti yak nalashtovani merezhevi sluzhbi Dostup do servera sho znahoditsya v lokalnij merezhi po domennomu imeni Bez NAT loopback dovelosya b praviti fajl hosts na kozhnij mashini dlya kozhnogo zadiyanogo domenu ta piddomenu Nedolikom NAT loopback mozhna vvazhati pidvishene navantazhennya na hab i marshrutizator v porivnyanni z pryamim dostupom do serveru NAT TraversalNAT Traversal prohodzhennya abo avtonalashtuvannya NAT ce nabir mozhlivostej sho dozvolyaye merezhevim dodatkam viznachati sho voni perebuvayut za pristroyem zabezpechenim NAT diznavatisya zovnishnyu IP adresu cogo pristroyu i vikonuvati zistavlennya portiv dlya peresilannya pakunkiv z zovnishnogo portu NAT na vnutrishnij port vikoristovuvanij dodatkom vse ce vikonuyetsya avtomatichno koristuvachu nemaye neobhidnosti vruchnu nalashtovuvati spivstavlennya portiv abo vnositi zmini u bud yaki inshi parametri Odnak isnuyut zapobizhni zahodi u doviri do takih dodatkiv voni otrimuyut shirokij kontrol nad pristroyem z yavlyayutsya potencijni vrazlivosti Programna realizaciya NATPri nayavnosti vzhe isnuyuchogo servera pid upravlinnyam servernoyi OS mozhlivo organizovuvati translyaciyu adres bez neobhidnosti zakupivli dodatkovih aparatnih pristroyiv Z tochki zoru vidmovostijkosti gnuchkosti i produktivnosti vikoristovuyut operacijni sistemi simejstva UNIX bilshist GNU Linux BSD sistemi a takozh OpenSolaris i t in U bagatoh z nih NAT dostupnij z korobki v inshih mozhliva realizaciya za rahunok dodavannya moduliv u poyednanni z mizhmerezhevimi ekranami z funkciyami translyaciyi adres IPFW IPtables i t in Takozh NAT pracyuye z korobki u simejstvi operacijnih sistem Windows Server Div takozhProksi server Port Address Translation PAT en STUNPrimitkiNetwork Protocols Handbook 2 Javvin Technologies Inc S 27 ISBN 9780974094526 Andrej Zhukov Tipy Network Address Translation NAT 8 travnya 2020 u Wayback Machine Cya stattya potrebuye dodatkovih posilan na dzherela dlya polipshennya yiyi perevirnosti Bud laska dopomozhit udoskonaliti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Zvernitsya na storinku obgovorennya za poyasnennyami ta dopomozhit vipraviti nedoliki Material bez dzherel mozhe buti piddano sumnivu ta vilucheno