Перетворення мережевих адрес (NAT). Що таке NAT, як його налаштувати та використовувати - NAT, PAT, Static NAT, Dynamic NAT

Це абсолютно різні технології. Не плутайте їх.

Що таке NAT

NAT - збірний термін, що позначає технологію трансляції мережевих адрес та/або протоколів. NAT пристрої виробляють над проходять пакетами перетворення із заміною адрес, портів, протоколів та ін.

Існують вужчі поняття SNAT, DNAT, маскарадинг, PAT, NAT-PT і т.д.

навіщо потрібний NAT, як його використовують

Для виведення в Інтернет внутрішньої мережі

  • через пул зовнішніх адрес
  • через одну зовнішню адресу

Для заміни зовнішньої IP адреси іншим (перенаправлення трафіку)

Для балансування навантаження між однаковими серверами з різними адресами ip.

Для об'єднання двох локальних мереж з внутрішньою адресацією, що перетинається.

як влаштований NAT

s+d NAT (branch merging - evil!)

port-mapping, прокидання портів

Переваги і недоліки

Несумісний із деякими протоколами. Конкретна реалізація NAT має підтримувати інспекцію необхідного протоколу.

NAT має властивість "екранувати" внутрішню мережу від зовнішнього світу, але його не можна використовувати замість міжмережевого екрану.

Налаштування на Cisco IOS

Маршрутизатори та міжмережні екрани Cisco підтримують різні типи NAT залежно від набору опцій програмного забезпечення. Найбільш використовується метод NAT з прив'язкою внутрішніх локальних адрес в різні порти однієї зовнішньої адреси (PAT в термінології Cisco).

Для налаштування NAT на маршрутизаторі потрібно: o Визначити трафік, який необхідно транслювати (за допомогою access-list або route-map);

IP access-list extended LOCAL permit ip 10.0.0.0 0.255.255.255 any

Route-map INT1 match ip address LOCAL match interface FastEthernet0/1.1

Аксес-лист LOCAL вибирає весь трафік із 10 мережі.

Роут-мап INT1 вибирає трафік аксес-листа LOCAL, що виходить через сабінтерфейс Fa 0/1.1

o Визначити які зовнішні адреси проводити трансляцію. Вибрати пул зовнішніх адрес. Для PAT достатньо однієї адреси.

Ip nat pool GLOBAL 212.192.64.74 212.192.64.74 netmask 255.255.255.0

Завдання пулу зовнішніх адрес з ім'ям GLOBAL. У пулі лише одна адреса.

o Включити NAT для вибраних внутрішніх та зовнішніх адрес.

Ip nat inside source route-map INT1 pool GLOBAL overload

Увімкнення NAT для трансляції адрес джерела на внутрішньому інтерфейсі. Транслюватиметься тільки трафік, що потрапляє під умови роут-мапа INT1. Зовнішню адресу братиметься з пулу GLOBAL.

Ip nat inside source static tcp 10.0.0.1 23 212.192.64.74 23 extend

Статичне прокидання порту або публікація сервісу. У трафіку, що йде на адресу 212.192.64.74 на порт tcp 23 буде замінено адресат на адресу 10.0.0.1 і порт 23.

o Призначити внутрішні та зовнішні інтерфейси.

Interface FastEthernet0/0 ip nat inside interface FastEthernet0/1.1 ip nat outside

Інтерфейс Fa 0/0 призначений внутрішнім NAT.

Сабінтерфейс Fa 0/1.1 призначено зовнішнім для NAT.

O Налагодження та діагностика:

Sh ip nat translations – перегляд таблиці поточних трансляцій; clear ip nat translations – видалити всі поточні трансляції; debug ip nat - включення налагоджувальних повідомлень (undebug all - вимкнення налагодження).

Приклади

Наведемо кілька прикладів для емулятора cisco Packet Tracer.

Проста схема виведення невеликої мережі в інтернет через пул зовнішніх адрес

Проста схема виведення мережі в інтернет через одну зовнішню адресу

Схема об'єднання мереж з адресою, що перетинається.

Порядок роботи NAT

Порядок застосування правил NAT відрізняється у різних виробників та на різному устаткуванні. Наведемо порядок застосування політик NAT для маршрутизаторів на cisco IOS:

Inside-to-Outside

Якщо IPSec буде схвалювати вхід access list decryption - для CET (Cisco Encryption Technology) or IPSec check input access list check input rate limits input account redirect to web cache policy routing routing NAT inside to outside (local to global translation) mark for encryption) check output access list inspect (Context-based Access Control (CBAC)) TCP intercept encryption Queueing

Outside-to-Inside

Якщо IPSec буде схвалювати вхід access list decryption - для CET або IPSec схвалення введення access list check input rate limits input account redirect to web cache NAT outside to inside (global to local translation) output access list inspect CBAC TCP intercept encryption Queueing

Інтернет-канал від одного провайдера через NAT

Проста схема реалізації NAT з одним провайдером

Резервування інтернет-каналу від двох провайдерів за допомогою NAT, ip sla

Дано: ми отримуємо для кількох комп'ютерів інтернету від провайдера ISP1. Він виділив нам адресу 212.192.88.150. Вихід в інтернет організований з цієї IP-адреси через NAT.

Завдання: підключити резервного провайдера – ISP2. Він виділить нам адресу 21219290150. Організувати балансування трафіку: web-трафік пускати через ISP1, інший трафік – через ISP2. У разі відмови одного з провайдерів – пускати весь трафік живим каналом.

У чому складність завдання? clear ip nat translations?

Схема

Конфіг

1 clear ip nat translations *

Знайдено, відтестовано такий шматок EEM. Не на всіх версіях IOS генерується подія. Потрібно уточнити.

! event manager applet NAT-TRACK event syslog pattern "TRACKING-5-STATE" action 0.1 cli command "enable" action 0.2 wait 3 action 0.3 cli command "clear ip nat translation *" action 0.4 syslog msg "NAT translation "!"

2 При падінні інтерфейсу на провайдера, великі шанси, що його шлюз пінгуватиметься через другого

! username Ім'я password 0 ПАРОЛЬ enable secret 0 ПАРОЛЬКОНФІГА! ! контроль входу на маршрутизатор line vty 0 4 login local! ! ДХЦП ip dhcp pool LAN network Внутрішня мережа Маска default-router Шлюз dns-server 10.11.12.13 ! DNS - фіктивний вигадали - НЕ з нашої локальної мережі! ! ! Монітор пінгу на адресу шлюзу провайдера-1! Чекати на відповідь 100 мс! Пінгувати з частотою 1 секунда ip sla monitor 1 тип echo protocol ipIcmpEcho ШлюзПров1 source-interface ІнтерфейсНаПров1 timeout 100 frequency 1 ! ! Монітор пінгу на провайдера-2 ip sla monitor 2 type echo protocol ipIcmpEcho ШлюзПров2 source-interface ІнтерфейсНаПров2 timeout 50 frequency 1 ! ! Запуск пінговалок 1 і 2, зараз і назавжди ip sla monitor schedule 1 life forever start-time now ip sla monitor schedule 2 life forever start-time now ! ! Треки 10 та 20 - відстеження стану пінговалок! Реагує на стан Down або Up із затримкою 1 сек. track 10 rtr 1 reachability delay down 1 up 1 ! track 20 rtr 2 reachability delay down 1 up 1 ! ! ! Маршрути на всі зовнішні мережі обох провайдерів! Маршрути прив'язані до треків! і будуть активуватися тільки якщо трек може Up ! тобто. якщо шлюз на відповідного провайдера доступний ip route 0.0.0.0 0.0.0.0 ШлюзПров1 track 10 ip route 0.0.0.0 0.0.0.0 ШлюзПров2 track 20 ! ! ! int fa 0/0 no shut! ! Саб-інтерфейси у бік зовнішніх провайдерів! позначаються як outside для NAT interface FastEthernet0/0.1 description ISP1 encaps dot1q НомерВланПров1 ip address ipНаПров1 Маска ip nat outside ! interface FastEthernet0/0.2 description ISP2 encapsulation dot1Q НомерВланПров2 ip address ipНаПров2 Маска ip nat outside ! ! Інтерфейс на внутр мережу! позначається як inside для NAT! Прив'язується політика маршрутизації PBR interface FastEthernet0/1 ip address ipНаВнутрішніймережі маска ip nat inside ip policy route-map PBR no shut ! ! Аксесс-листи з всередину мережі назовні! На веб-трафік і все інше ip access-list extended LOCAL permit ip внутр Мережа any ! ip access-list extended WEB permit tcp внутр Мережа any eq www permit tcp внутр Мережа any eq 443 ! ip access-list extended ALL permit ip any any ! ! ! хитрий рут-мап PBR! Якщо трафік із локалки на Веб! то призначити йому шлюз першого провайдера! Інакше іншому трафіку з локалки! призначити шлюз другого провайдера. ! При призначенні шлюзу перевіряються Треки route-map PBR permit 10 match ip address WEB set ip next-hop verify-availability ШлюзПров1 1 track 10! route-map PBR permet 20 match ip address ALL set ip next-hop verify-availability ШлюзПров2 1 track 20 ! ! ! хитрий рут-мап ISP1! спрацьовує якщо трафік із локалки! намагається вийти через інтерфейс Fa0/0.1 route-map ISP1 permit 10 match ip address LOCAL match interface FastEthernet0/0.1 ! ! хитрий рут-мап ISP2! спрацьовує якщо трафік із локалки! намагається вийти через інтерфейс Fa0/0.2 route-map ISP2 permit 10 match ip address LOCAL match interface FastEthernet0/0.2 ! ! ! Нарешті, NAT ;-)! ! Трафік з локалки першого провайдера Натиснути через перший інтерфейс ip nat inside source route-map ISP1 interface FastEthernet0/0.1 overload ! ! Трафік з локалки другого провайдера Натиснути через другий інтерфейс ip nat inside source route-map ISP2 interface FastEthernet0/0.2 overload ! ! Трафік на фіктивний ДНЗ переНатиснути на Гугл-ДНЗ ip nat outside source static 8.8.8.8 10.11.12.13 no-alias ! ! прокидання внутрішнього порту 3389 на зовнішній порт 1111 ip nat inside source static tcp внутрХост 3389 внешip 1111 extendable ip nat inside source static tcp внутрХост 3389 внешip 1111 extendable ! !

Різне

CGN (carrier grade nat) з особливим пулом приватних адрес

NAT як ALG (application layer gateway), (plain text protocols e.g. SIP)

І переглядаєте сторінки WEB сайту. Велика ймовірність того, що саме зараз ви використовуєте перетворення мережевих адрес (NAT).

Ніхто не міг передбачити таке розростання Інтернету, яке ми спостерігаємо сьогодні. Хоча точні розміри невідомі, оцінки показують, що в Інтернеті є приблизно 100 мільйонів активних вузлів і більше 350 мільйонів користувачів. Темпи зростання Інтернету такі, що його розмір щороку подвоюється.

Який же стосунок має перетворення мережевих адрес до розмірів Інтернету? Саме безпосереднє! Щоб цей комп'ютер міг зв'язуватися з іншими комп'ютерами та WEB серверами по Інтернету, він повинен мати власну IP адресу. IP адреса (IP означає протокол Інтернету) є унікальним 32-бітовим числом, що позначає місце даного комп'ютера в мережі. В принципі, він функціонує, як ваша домашня адреса - це спосіб точно знайти місцезнаходження вашого комп'ютера і доставити вам інформацію.

IP адресація

Коли вперше з'явилася IP адресація, всі вважали, що адрес достатньо для того, щоб задовольнити будь-які потреби. Теоретично може бути загалом 4294967296 унікальних адрес (232). Фактична кількість доступних для використання адрес трохи менша (приблизно між 3.2 і 3.3 мільярдами), що пояснюється особливостями розбиття адрес на класи і тим, що певні адреси резервуються для багатоадресної розсилки, тестування та інших спеціальних потреб.

В умовах вибухового розростання Інтернету, зростання домашніх та корпоративних мереж, наявних IP адрес просто не вистачає. Очевидне рішення - змінити формат адреси, щоб було більше адрес. Така система розгортається (вона називається IPv6), проте для її впровадження буде потрібно кілька років, тому що при цьому потрібно модернізувати всю структуру Інтернету.

На допомогу приходить система NAT (RFC 1631). Перетворення мережних адрес дозволяє одному пристрої, наприклад, маршрутизатору, виконувати функції посередника між Інтернетом (або «публічною мережею») і локальною (або «приватною») мережею. Це означає, що для представлення цілої групи комп'ютерів потрібна лише одна унікальна IP-адреса.

Однак недолік IP адрес - лише одна з причин, з яких використовують NAT. Наша стаття присвячена перевагам та особливостям цієї системи. Спочатку розглянемо докладніше, що таке NAT і як ця система працює.

Принцип роботи системи NAT

Система NAT схожа на секретаря у великому офісі. Припустимо, ви дали йому інструкцію не з'єднувати вас ні з ким, хто б не дзвонив, поки ви не дасте дозвіл на такі дії. Пізніше ви телефонуєте потенційному клієнту і залишаєте йому повідомлення про те, щоб він вам передзвонив. Ви повідомляєте секретареві, що чекаєте на дзвінок від клієнта і наказуєте забезпечити з'єднання, коли той зателефонує.

Клієнт набирає головний номер телефону офісу, тому що йому відомий тільки цей номер. Клієнт повідомляє секретареві, що він хоче зв'язатися з вами, секретар звіряється за довідковою таблицею, де вказано ваше ім'я та ваш додатковий телефонний номер. Секретар знає, що ви дозволили скомутувати цього клієнта, тому комутує сторону, що викликає, на ваш додатковий номер.

Система перетворення мережевих адрес

Система перетворення мережевих адрес, розроблена компанією Cisco, використовується пристроєм ( , маршрутизатором або комп'ютером), що з'єднує внутрішню мережу з рештою світу. Перетворення мережевих адрес може мати різні форми і може працювати різними способами:

  • Статичне перетворення мережевих адрес - перетворення незареєстрованої IP адреси в зареєстровану IP адресу за принципом «один до одного». Особливо корисно, коли потрібний доступ до пристрою з-за меж локальної мережі.
  • Динамічне перетворення мережевих адрес - перетворення незареєстрованої IP адреси в зареєстровану IP адресу з групи зареєстрованих IP адрес.
  • Перевантаження - форма динамічного перетворення, що перетворює багато незареєстрованих IP-адрес в одну зареєстровану адресу за рахунок використання різних портів. Цю процедуру ще називають PAT (Port Address Translation, перетворення портів та адрес), одноадресним NAT або мультиплексованим NAT на рівні портів.
  • Збіг - коли адреси, що використовуються у вашій мережі, є зареєстрованими IP адресами, що використовуються в іншій мережі, маршрутизатор повинен вести таблицю перетворення таких адрес, перехоплювати їх і замінювати зареєстрованими унікальними IP адресами. Важливо, що маршрутизатор NAT повинен перетворювати «внутрішні» адреси на зареєстровані унікальні адреси, а також «зовнішні» зареєстровані адреси на адреси, які є унікальними в приватній мережі. Така операція може здійснюватися з використанням статичного перетворення мережевих адрес або сервісу доменних імен (DNS) і впровадження динамічного перетворення мережевих адрес.

Внутрішня мережа зазвичай є локальною мережею (LAN, Local Area Network), яку іноді називають тупиковим доменом (stub domain). Тупиковий домен - це локальна мережа, всередині якої використовуються адреси IP. Більшість мережевого трафіку в тупиковому домені локальна і не виходить за межі внутрішньої мережі. Тупиковий домен може містити як зареєстровані, так і незареєстровані IP-адреси. Зрозуміло, всі комп'ютери, яким присвоєно незареєстровані IP-адреси, для зв'язку з рештою світу повинні користуватися перетворенням мережевих адрес.

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

  • Інтернет-провайдер закріплює за вашою компанією низку IP-адрес. Адреси із закріпленої групи є зареєстрованими IP адресами та називаються внутрішніми глобальними адресами. Незареєстровані, приватні адреси IP поділяються на дві групи. Одна маленька група (зовнішні локальні адреси) використовується маршрутизаторами NAT. Друга значно більша група, яку називають внутрішніми локальними адресами (inside local addresses), використовується в тупиковому домені. Зовнішні локальні адреси використовуються для формування унікальних IP адрес пристроїв, які називають зовнішніми глобальними адресами, для виходу в публічну мережу.
  • Більшість комп'ютерів тупикового домену обмінюються інформацією один з одним за допомогою внутрішніх локальних адрес.
  • Деякі комп'ютери тупикового домену часто зв'язуються з пристроями за межами локальної мережі. Ці комп'ютери мають внутрішні глобальні адреси, які не потребують перетворення.
  • Коли комп'ютеру тупикового домену з внутрішньою локальною адресою потрібно зв'язатися з комп'ютером за межами локальної мережі, пакет надсилається до одного з маршрутизаторів NAT.
  • Маршрутизатор NAT звіряється з таблицею маршрутизації для з'ясування, чи є запис адреси призначення. Якщо такий запис є, маршрутизатор NAT перетворює пакет і створює запис у таблиці трансляції адрес. Якщо адреси призначення у таблиці маршрутизації немає, пакет ігнорується.
  • За допомогою внутрішньої глобальної адреси маршрутизатор відправляє пакет до пункту призначення.
  • Комп'ютер у громадській мережі відправляє пакет у приватну мережу. Адресою відправника пакета є зовнішня глобальна адреса. Адресою призначення є внутрішня глобальна адреса.
  • Маршрутизатор NAT звіряється з таблицею трансляції адрес та визначає, що тут є адреса призначення, що співвідноситься з комп'ютером у тупиковому домені.
  • Маршрутизатор NAT перетворює внутрішній глобальний адресу пакета на внутрішній локальний адресу і відправляє пакет до відповідного комп'ютера.

Навантаження NAT

Перевантаження NAT використовує функцію пакета протоколів TCP/IP, мультиплексування, що дозволяє комп'ютеру створювати з одним або кількома віддаленими комп'ютерами кілька одночасних з'єднань із застосуванням різних портів TCP або UDP. Пакет IP містить заголовок, в якому є така інформація:

  • Адреса джерела - IP адреса комп'ютера-відправника, наприклад, 201.3.83.132
  • Порт відправника - номер порту TCP або UDP, призначений комп'ютером-відправником для цього пакета, наприклад, порт 1080
  • Адреса отримувача - IP адреса комп'ютера-отримувача, наприклад, 145.51.18.223
  • Порт призначення – це номер порту TCP або UDP, який комп'ютер-відправник вимагає відкрити у комп'ютера-отримувача, наприклад, порт 3021.

Адреси вказують дві машини кожному кінці, а номери портів забезпечують унікальний ідентифікатор для з'єднання між двома комп'ютерами. Комбінацією цих чотирьох чисел визначається одна сполука TCP/IP. У кожному номері порту використовується 16 біт, а це означає, що можливо 65536 (216) значень. На практиці, з урахуванням того, що різні виробники зіставляють порти трохи по-різному, можна очікувати, що доступними будуть приблизно 4000 портів.

2 32 або 4 294 967 296 IPv4адрес це багато? Здається, що так. Однак з поширенням персональних обчислень, мобільних пристроїв і швидким зростанням інтернету незабаром стало очевидним, що 4,3 мільярда адрес IPv4 буде недостатньо. Довгостроковим рішенням було IPv6, але були потрібні швидше рішення для усунення нестачі адрес. І цим рішенням став NAT (Network Address Translation).

Що таке NAT

Мережі зазвичай проектуються з використанням приватних IP-адрес. Це адреси 10.0.0.0/8, 172.16.0.0/12 і 192.168.0.0/16 . Ці приватні адреси використовуються всередині організації або майданчики, щоб дозволити пристроям спілкуватися локально, і вони не маршрутизуються в Інтернеті. Щоб дозволити пристрою з приватною IPv4-адресою звертатися до пристроїв і ресурсів за межами локальної мережі, приватна адреса спочатку має бути переведена на загальнодоступну публічну адресу.

І ось саме NAT переводить приватні адреси, у загальнодоступні. Це дозволяє пристрою з приватною IPv4 адресою звертатися до ресурсів за межами його приватної мережі. NAT у поєднанні з приватними адресами IPv4 виявився корисним способом збереження загальнодоступних IPv4-адрес. Одна загальнодоступна IPv4-адреса може бути використана сотнями, навіть тисячами пристроїв, кожен з яких має приватну IPv4-адресу. NAT має додаткову перевагу, яка полягає в додаванні ступеня конфіденційності та безпеки в мережу, оскільки він приховує внутрішні IPv4-адреси із зовнішніх мереж.

Маршрутизатори з підтримкою NAT можуть бути налаштовані з однією або декількома дійсними загальнодоступними IPv4-адресами. Ці загальнодоступні адреси називають пулом NAT. Коли пристрій із внутрішньої мережі надсилає трафік із мережі назовні, маршрутизатор з підтримкою NAT переводить внутрішній IPv4-адресу пристрою на загальнодоступну адресу з пулу NAT. Для зовнішніх пристроїв весь трафік, що входить і виходить з мережі, має загальнодоступну IPv4 адресу.

Маршрутизатор NAT зазвичай працює на кордоні Stub-Мережі. Stub-мережа – це тупикова мережа, яка має одне з'єднання із сусідньою мережею, один вхід та вихід із мережі.

Коли пристрій всередині Stub-мережі хоче зв'язуватися з пристроєм за межами своєї мережі, пакет пересилається прикордонному маршрутизатору, і він виконує NAT-процес, переводячи внутрішню приватну адресу пристрою на публічну, зовнішню адресу, що маршрутизується.

Термінологія NAT

У термінології NAT внутрішня мережа є набір мереж, що підлягають перекладу. Зовнішня мережа відноситься до всіх інших мереж.

При використанні NAT адреси IPv4 мають різні позначення, засновані на тому, чи знаходяться вони в приватній мережі або в загальнодоступній мережі (в інтернеті), і чи є трафік вхідним або вихідним.

NAT включає чотири типи адрес:

  • Внутрішня локальна адреса (Inside local address);
  • Внутрішня глобальна адреса (Inside global address);
  • Зовнішня місцева адреса (Outside local address);
  • Зовнішня глобальна адреса (Outside global address);

При визначенні того, який тип адреси використовується, важливо пам'ятати, що термінологія NAT завжди застосовується з точки зору пристрою з адресою трансльованої:

  • Внутрішня адреса (Inside address)- адресу пристрою, що транслюється NAT;
  • Зовнішня адреса (Outside address)- адресу пристрою призначення;
  • Локальна адреса (Local address)- це будь-яка адреса, яка відображається у внутрішній частині мережі;
  • Глобальна адреса (Global address)- це будь-яка адреса, яка відображається у зовнішній частині мережі;

Розглянемо це з прикладу схеми.


На малюнку ПК має внутрішній локальний ( Inside local) адресу 192.168.1.5 та з його точки зору веб-сервер має зовнішній ( outside) адресу 208.141.17.4. Коли з ПК відправляються пакети на глобальну адресу веб-сервера, внутрішній локальний ( Inside local) адреса ПК транслюється у 208.141.16.5 ( inside global). Адреса зовнішнього пристрою зазвичай не перекладається, оскільки вона є загальнодоступною адресою IPv4.

Варто зауважити, що ПК має різні локальні та глобальні адреси, тоді як веб-сервер має однакову публічну IP-адресу. На його думку трафік, що виходить з ПК надходить з внутрішньої глобальної адреси 208.141.16.5. Маршрутизатор з NAT є точкою демаркації між внутрішньою та зовнішньою мережами та між локальними та глобальними адресами.

Терміни, insideі outside, поєднані з термінами localі global, щоб посилатися на конкретні адреси. На малюнку маршрутизатор налаштований на надання NAT і має пул загальнодоступних адрес для призначення внутрішнім хостам.

На малюнку показано як трафік відправляється з внутрішнього ПК на зовнішній веб-сервер, через маршрутизатор з підтримкою NAT, і надсилається і перетворюється на зворотний бік.


Внутрішня локальна адреса ( Inside local address) - адреса джерела, видимий із внутрішньої мережі. На малюнку адресу 192.168.1.5 присвоєно ПК – це і є його внутрішня локальна адреса.

Внутрішня глобальна адреса ( Inside global address) - адреса джерела, видимий із зовнішньої мережі. На малюнку, коли трафік з ПК відправляється на веб-сервер за адресою 208.141.17.4, маршрутизатор переводить внутрішню локальну адресу ( Inside local address) на внутрішню глобальну адресу ( Inside global address). У цьому випадку роутер змінює адресу IPv4 з 192.168.1.5 на 208.141.16.5.

Зовнішня глобальна адреса ( Outside Global address) - адреса адресата, видима із зовнішньої мережі. Це IPv4-адреса, що глобально маршрутизується, призначена хосту в Інтернеті. На схемі веб-сервер доступний за адресою: 208.141.17.4. Найчастіше зовнішні локальні та зовнішні глобальні адреси однакові.

Зовнішня локальна адреса ( Outside local address) - адреса одержувача, видима з внутрішньої мережі. У цьому прикладі ПК надсилає трафік на веб-сервер за адресою 208.141.17.4

Розглянемо весь шлях проходження пакета. ПК із адресою 192.168.1.5 намагається встановити зв'язок із веб-сервером 208.141.17.4. Коли пакет прибуває в маршрутизатор з підтримкою NAT, він зчитує IPv4 адресу призначення пакета, щоб визначити, чи пакет відповідає критеріям, зазначеним для перекладу. У цьому прикладі вихідна адреса відповідає критеріям і перекладається з 192.168.1.5 ( Inside local address) на 208.141.16.5. ( Inside global address). Роутер додає це зіставлення локального в глобальну адресу таблицю NAT і відправляє пакет з переведеним адресою джерела до пункту призначення. Веб-сервер відповідає пакетом, адресованим внутрішній глобальній адресі ПК (208.141.16.5). Роутер отримує пакет з адресою призначення 208.141.16.5 і перевіряє таблицю NAT, у якій знаходить запис цього зіставлення. Він використовує цю інформацію і переводить назад внутрішню глобальну адресу (208.141.16.5) на внутрішню локальну адресу (192.168.1.5), і пакет перенаправляється у бік ПК.

Типи NAT

Існує три типи трансляції NAT:

  • Статична адресна трансляція (Static NAT)- зіставлення адрес один до одного між локальними та глобальними адресами;
  • Динамічна адресна трансляція (Dynamic NAT)- зіставлення адрес “багато до багатьох” між локальними та глобальними адресами;
  • Port Address Translation (NAT)- багатоадресне зіставлення адрес між локальними та глобальними адресами з використанням портів. Також цей метод відомий як NAT Overload;

Статичний NAT використовує зіставлення локальних та глобальних адрес один до одного. Ці зіставлення налаштовуються адміністратором мережі та залишаються незмінними. Коли пристрої надсилають трафік до Інтернету, їх внутрішні локальні адреси перетворюються на налаштовані внутрішні глобальні адреси. Для зовнішніх мереж ці пристрої мають загальнодоступні IPv4-адреси. Статичний NAT особливо корисний для веб-серверів або пристроїв, які повинні мати узгоджену адресу, доступну з Інтернету, наприклад веб-сервер компанії. Статичний NAT вимагає наявності достатньої кількості загальнодоступних адрес для задоволення загальної кількості одночасних сеансів користувача.

Статична NAT таблиця виглядає так:


Динамічний NAT використовує пул публічних адрес та призначає їх за принципом «першим прийшов, першим обслужений». Коли внутрішній пристрій вимагає доступу до зовнішньої мережі, динамічний NAT призначає доступну загальнодоступну IPv4-адресу з пулу. Подібно до статичного NAT, динамічний NAT вимагає наявності достатньої кількості загальнодоступних адрес для задоволення загальної кількості одночасних сеансів користувача.

Динамічна NAT таблиця виглядає так:


Port Address Translation (PAT)

PATтранслює кілька приватних адрес на одну або кілька загальнодоступних адрес. Це те, що роблять більшість домашніх маршрутизаторів. Інтернет-провайдер призначає одну адресу маршрутизатору, але кілька членів сім'ї можуть одночасно отримувати доступ до Інтернету. Це найпоширеніша форма NAT.

За допомогою PAT кілька адрес можуть бути зіставлені з однією або декількома адресами, оскільки кожна приватна адреса також відстежується номером порту. Коли пристрій ініціює сеанс TCP/IP, воно генерує значення порту джерела TCPабо UDPдля унікальної ідентифікації сеансу Коли NAT-маршрутизатор отримує пакет від клієнта, він використовує номер свого порту, щоб однозначно ідентифікувати конкретний переклад NAT. PAT гарантує, що пристрої використовують різні номери порту TCP для кожного сеансу. Коли відповідь повертається з сервера, номер порту джерела, який стає номером порту призначення назад, визначає, який пристрій маршрутизатор перенаправляє пакети.

Зображення ілюструє процес PAT. PAT додає унікальні номери портів джерела у внутрішню глобальну адресу, щоб розрізняти переклади.


Оскільки маршрутизатор обробляє кожен пакет, він використовує номер порту (1331 і 1555, у цьому прикладі), щоб ідентифікувати пристрій, з якого пакет відправлений.

Адреса джерела ( Source Address) - це внутрішній локальний адресу з доданим номером порту, призначеним TCP/IP. Адреса призначення ( Destination Address) - це зовнішня локальна адреса з доданим номером службового порту. У цьому прикладі порт служби 80: HTTP.

Для вихідної адреси маршрутизатор переводить внутрішню локальну адресу у внутрішню глобальну адресу з доданим номером порту. Адреса призначення не змінюється, але тепер вона називається зовнішньою глобальною IP-адресою. Коли веб-сервер відповідає, зворотний шлях.

У цьому прикладі номери портів клієнта 1331 та 1555 не змінювалися на маршрутизаторі з NAT. Це не дуже ймовірний сценарій, тому що є хороша ймовірність того, що ці номери портів вже були прикріплені до інших активних сеансів. PAT намагається зберегти вихідний джерело порту. Однак, якщо вихідний порт джерела вже використовується, PAT призначає перший доступний номер порту, починаючи з початку відповідної групи портів 0-511, 512-1023 або 1024-65535 . Коли портів більше немає, і в пулі адрес є більше однієї зовнішньої адреси, PAT переходить на наступну адресу, щоб спробувати виділити вихідний порт джерела. Цей процес триває, доки не буде доступних портів або зовнішніх IP-адрес.

Тобто, якщо інший хост може вибрати той же номер порту 1444. Це прийнятно для внутрішньої адреси, тому що хости мають унікальні приватні IP-адреси. Однак на маршрутизаторі NAT номери портів мають бути змінені - інакше пакети з двох різних хостів вийдуть з нього з тією ж адресою джерела. Тому PAT призначає наступний доступний порт (1445) на другу адресу хоста.

Підіб'ємо підсумки в порівнянні NAT і PAT. Як видно з таблиць, NAT перекладає IPv4-адреси на основі 1:1 між приватними IPv4 адресами і загальнодоступними IPv4-адресами. Однак PAT змінює як саму адресу, так і номер порту. NAT перенаправляє вхідні пакети на їх внутрішній адресу, орієнтуючись на вхідну IP адресу джерела, заданий хостом у загальнодоступній мережі, а з PAT зазвичай є тільки один або дуже мало публічно відкритих IPv4-адрес, і вхідні пакети перенаправляються, орієнтуючись на таблицю NAT маршрутизатора.

А щодо пакетів IPv4, які містять дані, відмінні від TCP чи UDP? Ці пакети не містять номер порту рівня 4. PAT перекладає найпоширеніші протоколи, що переносяться IPv4, які використовують TCP чи UDP як протокол транспортного рівня. Найбільш поширеними є ICMPv4. Кожен із цих типів протоколів по-різному обробляється PAT. Наприклад, повідомлення запиту ICMPv4, відлуння запитів та відповіді включають ідентифікатор запиту Query ID. ICMPv4 використовує ID Query. для ідентифікації луна-запиту з відповідною відповіддю. Ідентифікатор запиту збільшується з кожним надісланим відлунням. PAT використовує ідентифікатор запиту замість порту рівня 4.

Переваги та недоліки NAT

NAT надає безліч переваг, у тому числі:

  • NAT зберігає зареєстровану схему адресації, дозволяючи приватизацію інтрамереж. При PAT внутрішні хости можуть спільно використовувати одну загальнодоступну IPv4-адресу для всіх зовнішніх комунікацій. У цьому типі конфігурації потрібно дуже мало зовнішніх адрес для підтримки багатьох внутрішніх хостів;
  • NAT підвищує гнучкість з'єднань із загальнодоступною мережею. Численні пули, пули резервного копіювання та пули балансування навантаження можуть бути реалізовані для забезпечення надійних загальнодоступних мережевих підключень;
  • NAT забезпечує узгодженість внутрішніх схем адресації мережі. У мережі, яка не використовує приватні IPv4-адреси та NAT, зміна загальної схеми адрес IPv4 вимагає переадресації всіх хостів у існуючій мережі. Вартість переадресації хостів може бути значною. NAT дозволяє існуючій приватній схемі IPv4 залишатися, дозволяючи легко змінювати нову схему загальнодоступної адресації. Це означає, що організація може змінювати провайдерів і не потрібно міняти жодного зі своїх внутрішніх клієнтів;

  • NAT забезпечує безпеку мережі. Оскільки приватні мережі не рекламують свої адреси або внутрішню топологію, вони залишаються досить надійними під час використання разом із NAT щоб одержати контрольованого зовнішнього доступу. Однак слід розуміти, що NAT не замінює фаєрволи;

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

  • Один із недоліків використання NAT пов'язаний із продуктивністю мережі, особливо для протоколів реального часу, таких як VoIP. NAT збільшує затримки перемикання, тому що переклад кожної IPv4 адреси в заголовках пакетів вимагає часу;
  • Іншим недоліком використання NAT є те, що наскрізна адресація втрачається. Багато інтернет-протоколів та програм залежать від наскрізної адресації від джерела до місця призначення. Деякі програми не працюють із NAT. Програми, які використовують фізичні адреси, а не кваліфіковане доменне ім'я, не доходять до адресатів, які транслюються через маршрутизатор NAT. Іноді цієї проблеми можна уникнути, реалізуючи статичні зіставлення NAT;
  • Також втрачається наскрізне трасування IPv4. Складніше трасувати пакети, які зазнають численних змін адрес пакетів протягом декількох NAT-переходів, що ускладнює пошук та усунення несправностей;
  • Використання NAT також ускладнює протоколи тунелювання, такі як IPsec, оскільки NAT змінює значення в заголовках, які заважають перевіркам цілісності, що виконуються IPsec та іншими протоколами тунелювання;
  • Служби, що вимагають ініціювання TCP-з'єднань із зовнішньої мережі, або stateless протоколи, наприклад, що використовують UDP, можуть бути порушені. Якщо маршрутизатор NAT не налаштований для підтримки таких протоколів, вхідні пакети не можуть досягти свого адресата;

Чи корисна вам ця стаття?

Будь ласка, розкажіть чому?

Нам шкода, що стаття не була корисною для вас: (Будь ласка, якщо не утруднить, вкажіть з якої причини? Ми будемо дуже вдячні за докладну відповідь. Дякую, що допомагаєте нам стати кращими!

Подивилося: 38705

1 Якщо Ви читаєте цей документ, то, швидше за все, ви під'єднані до Інтернету, і використовуєте трансляцію мережевих адрес ( Network Address Translation, NAT) прямо зараз! Інтернет став настільки величезним, ніж будь-хто міг собі уявити. Хоча точний розмір невідомий, поточна оцінка це приблизно 100 мільйонів хостів та більш ніж 350 мільйонів користувачів, які активно працюють в Інтернеті. Фактично норма зростання така, що Інтернет ефективно подвоюється в розмірі щороку.

Вступ

Для комп'ютера, щоб спілкуватися з іншими комп'ютерами та Web-серверами в Інтернеті, він повинен мати IP-адресу. IP-адреса (IP означає Інтернет Протокол) - це унікальне 32-бітове число, яке ідентифікує розташування вашого комп'ютера на мережі. В основному це працює так само, як ваша вулична адреса: спосіб точно з'ясувати, де ви знаходитесь і доставити вам інформацію. Теоретично можна мати 4,294,967,296 унікальних адрес (2^32). Фактична кількість доступних адрес є меншою (десь між 3.2 та 3.3 мільярдами) через спосіб, яким адреси поділені на класи та потреби відвести деякі з адрес для мультимовлення, тестування або інших певних потреб. Зі збільшенням домашніх мереж і ділових мереж, кількість доступних IP-адрес вже недостатньо. Очевидне рішення полягає в тому, щоб перепроектувати формат адреси, щоб врахувати більше можливих адрес. Таким чином, розвивається протокол IPv6, але цей розвиток займе кілька років, тому що вимагає модифікації всієї інфраструктури Інтернету.

Ось де приходить NAT нам на спасіння. В основному, Мережева Трансляція Адреса дозволяє єдиному пристрою, типу маршрутизатора, діяти як агент між Інтернетом (або "публічною мережею") і локальною (або "приватною") мережею. Це означає, що потрібна тільки єдина унікальна IP-адреса, щоб представляти всю групу комп'ютерів чомусь поза їхньою мережею. Нестача IP адрес - лише одна причина використовувати NAT. Дві інші серйозні підстави це безпека та адміністрування

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

Маскування

NAT нагадує секретаря великого офісу. Скажімо, ви залишили інструкції секретареві, щоб не перенаправляти вам жодні дзвінки, доки ви не попросите про це. Пізніше ви телефонуєте потенційному клієнту і залишаєте повідомлення для нього, щоб він передзвонив вам. Ви кажете секретареві, що очікуєте дзвінок від цього клієнта і дзвінок потрібно перекласти. Клієнт дзвонить на основний номер вашого офісу, який є єдиним номером, який він знає. Коли клієнт говорить секретареві, кого він шукає, секретар перевіряє свій список співробітників, щоб знайти відповідність імені та його номера розширення. Секретар знає, що ви запитували цей дзвінок, тому він переводить того, хто дзвонив на ваш телефон.

Розроблена технологія Cisco, Трансляція мережевих адрес використовується пристроєм (міжмережевим екраном, маршрутизатором або комп'ютером), який знаходиться між внутрішньою мережею та іншою частиною світу. NAT має багато форм і може працювати кількома способами:

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

У статичному NAT, комп'ютер з адресою 192.168.32.10 завжди транслюватиметься на адресу 213.18.123.110:

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

У динамічному NAT комп'ютер з адресою 192.168.32.10 транслюється в першу доступну адресу в діапазоні від 213.18.123.100 до 213.18.123.150

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

При перевантаженні кожен комп'ютер у приватній мережі транслюється в ту саму адресу (213.18.123.100), але з різним номером порту

Перекриття- Коли IP адреси, що використовуються у вашій внутрішній мережі, також використовуються в іншій мережі, маршрутизатор повинен тримати таблицю пошуку цих адрес так, щоб він міг перехопити і замінити їх зареєстрованими унікальними IP адресами. Важливо відзначити, що маршрутизатор NAT повинен транслювати "внутрішні" адреси в зареєстровані унікальні адреси, а також повинен транслювати "зовнішні" зареєстровані адреси в адреси, які є унікальними для приватної мережі. Це може бути зроблено через статичний NAT, або ви можете використовувати DNS і реалізувати динамічний NAT.

Приклад:
Внутрішній діапазон IP (237.16.32.xx) є також зареєстрованим діапазоном, який використовується іншою мережею. Тому маршрутизатор транслює адреси, щоб уникнути потенційного конфлікту. Він також транслюватиме зареєстровані глобальні IP адреси назад до незареєстрованих локальних адрес, коли пакети надсилаються у внутрішню мережу

Внутрішня мережа – це зазвичай LAN (Локальна мережа), найчастіше звана, тупиковим доменом. Тупиковий домен є LAN, яка використовує внутрішні IP-адреси. Більшість мережного трафіку в такому домені є локальним, він не залишає межі внутрішньої мережі. Домен може включати як зареєстровані, так і незареєстровані IP адреси. Звичайно, будь-які комп'ютери, які використовують незареєстровані IP-адреси, повинні використовувати NAT, щоб спілкуватися з рештою світу.

NAT може бути налаштований різними способами. У прикладі нижче NAT-маршрутизатор налаштований так, щоб транслювати незареєстровані IP-адреси (локальні внутрішні адреси), які постійно знаходяться в приватній (внутрішній) мережі в зареєстровані IP-адреси. Це відбувається щоразу, коли пристрій на внутрішній частині з незареєстрованою адресою має спілкуватися із зовнішньою мережею.

ISP призначає діапазон IP-адрес вашої компанії. Призначений блок адрес - це унікальні зареєстровані IP адреси і називаються внутрішніми глобальними адресами (inside global). Незареєстровані приватні IP-адреси розбиті на дві групи, маленька група, зовнішні локальні адреси (outside local), буде використовуватися маршрутизаторами NAT і основна, яка буде використовуватися в домені, відома як внутрішні локальні адреси (inside local). Зовнішні локальні адреси використовуються, щоб транслювати унікальні IP-адреси, відомі як зовнішні глобальні адреси (outside global), пристрої на громадській мережі.
NAT транслює лише той трафік, який проходить між внутрішньою та зовнішньою мережею та визначений для трансляції. Будь-який трафік, що не відповідає критеріям трансляції або той, що проходить між іншими інтерфейсами на маршрутизаторі, ніколи не транслюється і пересилається як є.

IP адреси мають різні позначення, засновані на тому, чи вони знаходяться на приватній мережі (домен) або на громадській мережі (Інтернет) і чи є трафік вхідним або вихідним:

  • Більшість комп'ютерів у домені спілкуються один з одним за допомогою внутрішніх локальних адрес.
  • Деякі комп'ютери в домені взаємодіють із зовнішньою мережею. Ці комп'ютери мають внутрішні глобальні адреси, що означає, що вони не потребують трансляції.
  • Коли комп'ютер у домені, який має внутрішню локальну адресу, хоче взаємодіяти із зовнішньою мережею, пакет йде в один із NAT-маршрутизаторів за допомогою звичайної маршрутизації.
  • NAT-маршрутизатор перевіряє таблицю маршрутизації, щоб подивитися, чи є у нього запис для кінцевої адреси. Якщо адреса приймача не знаходиться у таблиці маршрутизації, пакет відкидається. Якщо запис доступний, роутер перевіряє, чи йде пакет із внутрішньої мережі до зовнішньої, а також, чи пакет відповідає критеріям, визначеним для трансляції. Потім маршрутизатор перевіряє таблицю трансляції адрес, щоб з'ясувати, чи існує запис для внутрішньої локальної адреси та відповідної внутрішньої глобальної адреси. Якщо запис знайдено, він транслює пакет, використовуючи внутрішню глобальну адресу. Якщо налаштовано лише статичний NAT, і жодного запису не знайдено, то роутер посилає пакет без трансляції.
  • Використовуючи внутрішню глобальну адресу, маршрутизатор пересилає пакет адресату.
  • комп'ютер на громадській мережі посилає пакет у приватну мережу. Адреса джерела в пакеті – це зовнішня глобальна адреса. Адреса приймача – внутрішня глобальна адреса.
  • Коли пакет прибуває у зовнішню мережу, NAT-маршрутизатор дивиться у таблицю трансляцій і визначає адресу приймача, відображений комп'ютер у домені.
  • NAT-маршрутизатор транслює внутрішню глобальну адресу пакета на внутрішню локальну адресу і потім перевіряє таблицю маршрутизації перш ніж надішле пакет кінцевому комп'ютеру. Щоразу, коли запис не знайдено для адреси в таблиці трансляцій, пакет не транслюється і роутер продовжує перевірку таблиці маршрутизації на пошук адреси приймача.

NAT-перевантаження (overloading) використовує особливість стека протоколу TCP/IP, таку як мультиплексування, що дозволяє комп'ютеру підтримувати кілька паралельних підключень з віддаленим комп'ютером, використовуючи різні TCP чи UDP порти. Пакет IP має заголовок, який містить таку інформацію:

  • Вихідна адреса – IP-адреса комп'ютера джерела, наприклад, 201.3.83.132.
  • Вихідний порт – це номер TCP або UDP порту, призначений комп'ютером джерелом для цього пакета, наприклад, Порт 1080.
  • Адреса призначення – IP-адреса комп'ютера приймача. Наприклад, 145.51.18.223.
  • Порт призначення – номер TCP або UDP порту, який просить відкрити комп'ютер джерело на приймачі, наприклад порт 3021.

IP-адреси визначають дві машини з кожної сторони, в той час як номери портів гарантують, що з'єднання між цими двома комп'ютерами має унікальний ідентифікатор. Комбінація цих чотирьох чисел визначає єдине з'єднання TCP/IP. Кожен номер порту використовує 16 бітів, що означає, що існує 65536 (2^16) можливих значення. Насправді, оскільки різні виробники відображають порти трохи різними способами, ви можете очікувати приблизно 4000 доступних портів.

Приклади динамічного NAT та NAT з навантаженням

Нижче на малюнку показано, як працює динамічний NAT.

Клацніть на одну із зелених кнопок, щоб надіслати успішний пакет або в або з внутрішньої мережі. Натисніть одну з червоних кнопок, щоб надіслати пакет, який відкине маршрутизатор через неприпустиму адресу.

  • внутрішня мережа була встановлена ​​з IP-адресами, які не були спеціально відведені для цієї компанії IANA (Органом з нагляду за присвоєнням адрес в Інтернеті), глобальне бюро, яке роздає IP адреси. Такі адреси слід вважати немаршрутизованими, оскільки вони не унікальні. Це внутрішні локальні адреси.
  • компанія встановлює маршрутизатор із NAT. Маршрутизатор має діапазон унікальних IP-адрес, виданих компанії. Це – внутрішні глобальні адреси.
  • комп'ютер на LAN намагається з'єднатися з комп'ютером поза мережею типу Web-сервера.
  • маршрутизатор отримує пакет від комп'ютера до LAN.
  • Після перевірки таблиці маршрутизації та процесу перевірки для трансляції, маршрутизатор зберігає немаршрутизовану адресу комп'ютера в таблиці трансляції адрес. Маршрутизатор замінює немаршрутизовану адресу комп'ютера відправника першою доступною IP-адресою з діапазону унікальних адрес. Таблиця трансляцій тепер має відображення немаршрутизованого IP адреси комп'ютера, якому відповідає одна з унікальних IP адрес.
  • Коли пакет повертається від комп'ютера, маршрутизатор перевіряє адресу приймача в пакеті. Потім він дивиться в таблицю трансляції адрес, щоб знайти, якому комп'ютера в домені належить цей пакет. Він змінює адресу приймача на те, що був збережений раніше в таблиці трансляції і посилає пакет потрібному комп'ютеру. Якщо роутер не знаходить відповідність таблиці, він знищує пакет.
  • Комп'ютер отримує пакет від маршрутизатора і весь процес повторюється, поки комп'ютер спілкується із зовнішньою системою.
  • Внутрішня мережа була встановлена ​​з немаршрутизованими IP адресами, які не були спеціально відведені для компанії
  • компанія встановлює маршрутизатор із NAT. Маршрутизатор має унікальну IP адресу, яку видала IANA
  • комп'ютер у домені намагається з'єднатися з комп'ютером поза мережею, типу Web-сервера.
  • маршрутизатор отримує пакет від комп'ютера домену.
  • Після маршрутизації та перевірки пакета для виконання трансляції, маршрутизатор зберігає немаршрутизовану IP адресу комп'ютера та номер порту в таблиці трансляції. Маршрутизатор замінює немаршрутизовану IP адресу комп'ютера відправника IP адресою маршрутизатора. Маршрутизатор замінює вихідний порт комп'ютера відправника на якийсь випадковий номер порту і зберігає його в таблиці трансляції адрес для цього відправника. Таблиця трансляцій має відображення IP адреси комп'ютера, що не маршрутизується, і номери порту поряд з IP адресою маршрутизатора.
  • Коли пакет повертається з адресата, маршрутизатор перевіряє порт приміника в пакеті. Він потім дивиться в таблицю трансляцій, щоб знайти, до якого комп'ютера в домені належить пакет. Далі роутер змінює адресу приймача та порт приймача в ті значення, які були збережені раніше в таблиці трансляцій і посилає пакет кінцевому вузлу.
  • комп'ютер отримує пакет від маршрутизатора та процес повторюється
  • Оскільки маршрутизатор NAT тепер має вихідну адресу комп'ютера і вихідний порт, збережений до таблиці трансляцій, він продовжить використовувати той же номер порту для наступних підключень. Щоразу, коли маршрутизатор звертається до запису в таблиці трансляцій скидається таймер життя цього запису. Якщо до запису не звертаються, перш ніж таймер закінчується, він видаляється з таблиці

Число одночасних трансляцій, які маршрутизатор буде підтримувати, визначається переважно кількістю DRAM (Динамічна Пам'ять Довільного доступу). Так як типовий запис в таблиці трансляцій займає приблизно 160 байт, маршрутизатор з 4 Мбайт RAM може теоретично обробити 26214 одночасних з'єднань, що є більш ніж достатньо більшості додатків.

Безпека та Адміністрація

Реалізація динамічного NAT автоматично створює міжмережевий захист між вашою внутрішньою мережею та зовнішніми мережами або Інтернет. Динамічний NAT дозволяє лише підключення, що породжуються у локальній мережі. По суті, це означає, що комп'ютер на зовнішній мережі не може з'єднатися з вашим комп'ютером, якщо комп'ютер не почав з'єднання. Таким чином, ви можете працювати в Інтернеті та з'єднатися з сайтом, і навіть вивантажити файл. Але більше ніхто не може просто покуситися на вашу IP адресу і використовувати його, щоб з'єднатися з портом на вашому комп'ютері.

Статичний NAT, також званий вхідним мапінгом (inbound mapping), дозволяє підключення, ініційовані зовнішніми пристроями до комп'ютерів у LAN за певних обставин. Наприклад, ви можете відобразити внутрішню глобальну адресу на певну внутрішню локальну адресу, яка призначена на ваш Web-сервер.

Статичний NAT дозволяє комп'ютеру в LAN підтримувати певну адресу, спілкуючись із пристроями поза мережею:

Деякі NAT маршрутизатори передбачають велику фільтрацію та логування трафіку. Фільтрування дозволяє вашій компанії контролювати, які сайти на Мережі відвідують працівники, перешкоджаючи їм переглядати сумнівний матеріал. Ви можете використовувати реєстрацію трафіку, щоб створити журнал, які сайти відвідуються та на підставі цього генерувати різні звіти.

Іноді Мережеву Трансляцію Адреса плутають із проксі-серверами, де є певні відмінності. NAT прозорий для комп'ютерів джерела та приймача. Ніхто з них не знає, що це має справу з третім пристроєм. Але проксі сервер не прозорий. Вихідний комп'ютер знає, що робить запит на проксі. Комп'ютер адресата вважає, що проксі сервер - це вихідний комп'ютер і має справу безпосередньо з ним. Крім того, проксі-сервери зазвичай працюють на рівні 4 (Transport) моделі OSI або вище, тоді як NAT – це протокол рівня 3 (Network). Робота на більш високих рівнях робить проксі-сервери повільнішими, ніж NAT пристрої в більшості випадків.

Реальна вигода NAT очевидна у мережевому адмініструванні. Наприклад, Ви можете перемістити ваш Web-сервер або сервер FTP до іншого комп'ютера, не хвилюючись про розірвані з'єднання. Просто змініть вхідний мапінг на нову внутрішній локальну адресу в маршрутизаторі, щоб відобразити новий хост. Ви можете також робити зміни у вашій внутрішній мережі так як будь-яка ваша зовнішня IP адреса або належить маршрутизатору або пулу глобальних адрес.

Гаразд, забудемо на якийсь час цю лірику.
Взагалі, списки доступу бувають різними:

Стандартні
- Розширені
- Динамічні
- рефлексивні
- Погодинні

Ми свою увагу зупинимо сьогодні на перших двох, а детальніше про всі ви можете прочитати у циски.

Вхідний та вихідний трафік

Для почину давайте розберемося з однією річчю. Що розуміти під вхідним та вихідним трафіком? Це нам у майбутньому знадобиться. Вхідний трафік – це той, що приходить на інтерфейс ззовні.

Вихідний - той, що вирушає з інтерфейсу зовні.

Список доступу ви можете застосувати або на вхідний трафік, тоді неугодні пакети навіть не потраплятимуть на маршрутизатор і відповідно, далі в мережу, або на вихідний, тоді пакети приходять на маршрутизатор, обробляються ним, доходять до цільового інтерфейсу і тільки на ньому дряпаються.

Стандартний список доступу перевіряє лише адресу відправника. Розширений - адреса відправника, адреса одержувача, і навіть порт. Стандартні ACL рекомендується ставити якомога ближче до одержувача (щоб не порізати більше, ніж потрібно), а розширені-ближчі до відправника (щоб якомога раніше дропнути небажаний трафік).

Практика

Давайте одразу до практики. Що б нам такого обмежувати в нашій маленькій мережі Ліфт мі Ап?

а) WEB-сервер. Дозволити доступ всім порту TCP 80 (протокол HTTP). Для того пристрою, з якого буде здійснюватися управління (у нас є адмін) потрібно відкрити telnet і ftp, але йому ми дамо повний доступ. Всім іншим відбій.

Б) Файловий сервер. На нього у нас повинні потрапляти резиденти Ліфт мі Ап по портах для спільних папок, а решта по FTP.

У) Поштовий сервер. Тут у нас запущені SMTP і POP3, тобто порти TCP 25 і 110. Також для адміна відкриваємо доступ на керування. Інших блокуємо.

Г) Для майбутнього DNS-сервера потрібно відкрити порт UDP 53

Д) У мережу серверів дозволити ICMP-повідомлення

Е) Оскільки мережа Other у нас для всіх безпартійних, хто не увійшов до ФЕО, ПТО та Бухгалтерії, то ми їх усіх обмежимо, а деяким лише дамо доступ (у тому числі ми і адмін)

е) У мережу управління потрібно пускати знову ж таки тільки адміна, і себе улюбленого.

Ж) Не будуватимемо перепони спілкуванню між собою співробітників відділів.

а) Доступ на WEB-сервер

Тут у нас працює політика – заборонено все, що не дозволено. Тому нам зараз треба дещо відкрити, а решту закрити.
Оскільки ми захищаємо мережу серверів, то і лист будемо вішати на інтерфейс, що йде в бік них, тобто на FE0/0.3. inабо на outнам це потрібно робити? Якщо ми не хочемо пускати пакети у бік серверів, які вже опинилися на маршрутизаторі, це буде вихідний трафік. Тобто адреси призначення (destination) у нас будуть у мережі серверів (з них ми вибиратимемо на який саме сервер йде трафік), а адреси джерел (source) можуть бути будь-якими – як з нашої корпоративної мережі, так і з інтернету.
Ще одне зауваження: оскільки фільтрувати ми будемо в тому числі на адресу призначення (на WEB-сервер одні правила, на поштовий - інші), то список контролю доступу нам знадобиться розширений (extended), тільки він дозволяє це робити.

Правила списку доступу перевіряються по порядку зверху вниз до першого збігу. Як тільки одне з правил спрацювало, незалежно від того permit це або deny, перевірка припиняється і обробка трафіку відбувається на основі правила, що спрацювало.
Тобто якщо ми хочемо захистити WEB-сервер, то в першу чергу нам потрібно дати дозвіл, тому що якщо ми в першому рядку налаштуємо deny ip any any- то воно завжди спрацьовуватиме і трафік не ходитиме взагалі. Any- це спеціальне слово, яке означає адресу мережі та зворотну маску 0.0.0.0 0.0.0.0 та означає, що під правило підпадають абсолютно всі вузли з будь-яких мереж. Інше спеціальне слово - host- воно означає маску 255.255.255.255 - тобто саме одну єдину вказану адресу.
Отже, перше правило: дозволити доступ всім по порту 80


msk-arbat-gw1(config-ext-nacl)# remark WEB
any host 172.16.0.2 eq 80

Дозволяємо ( permit) TCP-трафік від будь-якого вузла ( any) на хост ( host- саме одна адреса) 172.16.0.2, адресована на 80-й порт.
Спробуємо повісити цей перелік доступу на інтерфейс FE0/0.3:

msk-arbat-gw1(config-subif)# ip access-group Servers-out out

Перевіряємо з будь-якого з наших підключених комп'ютерів:

Як бачите сторінка відкривається, але що там у нас із пінгом?

І так із будь-якого іншого вузла?

Справа в тому, що після всіх правил у цисковських ACL наприкінці дописується неявне deny ip any any(Іmplicit deny). Що це для нас означає? Будь-який пакет, що виходить з інтерфейсу і не відповідає жодному правилу ACL, підпадає під implicit deny і відкидається. Тобто хоч пінг, хоч фтп, хоч що завгодно тут уже не пройде.

Ідемо далі: треба дати повний доступ комп'ютеру, з якого буде керуватися. Це буде комп'ютер нашого адміністратора з адресою 172.16.6.66 із мережі Other.
Кожне нове правило додається автоматично до кінця списку, якщо він вже існує:

msk-arbat-gw1(config)#
msk-arbat-gw1(config-ext-nacl)# permit tcp host 172.16.6.66 host 172.16.0.2 range 20 ftp
msk-arbat-gw1(config-ext-nacl)# permit tcp host 172.16.6.66 host 172.16.0.2 eq telnet

От і все. Перевіряємо з потрібного вузла (оскільки серверами в РТ не підтримується телнет, перевіряємо на FTP):

Тобто FTP-повідомлення надійшло на маршрутизатор і має піти з інтерфейсу FE0/0.3. Маршрутизатор перевіряє та бачить, що пакет підходить під додане нами правило та пропускає його.

А зі стороннього вузла

Пакет FTP не підпадає під жодне з правил, крім неявного deny ip any any і відкидається.

б) Доступ на файловий сервер

Тут треба в першу чергу визначитися з тим, хто буде “резидентом”, кому потрібно дати доступ. Звичайно, це ті, хто має адресу з мережі 172.16.0.0/16 – лише їм і дамо доступ.
Тепер із загальними папками. У більшості сучасних систем вже використовується для цього протокол SMB, якому потрібен порт TCP 445. На більш старих версіях використовувався NetBios, який харчувався аж через три порти: UDP 137 і 138 і TCP 139. Домовившись з нашим адміністратором, налаштуємо 445 порт у рамках РТ, звичайно, не вийде). Але крім цього нам знадобляться порти для FTP - 20, 21, причому не тільки для внутрішніх хостів, але і для з'єднань з інтернету:
msk-arbat-gw1(config)# ip access-list extended Servers-out
msk-arbat-gw1(config-ext-nacl)# permit tcp 172.16.0.0 0.0.255.255 host 172.16.0.3 eq 445
msk-arbat-gw1(config-ext-nacl)# permit tcp any host 172.16.0.3 range 20 21

Тут ми повторно застосували конструкцію range 20 21- Для того, щоб в одному рядку задати кілька портів. Для FTP, взагалі кажучи, недостатньо лише 21-го порту. Справа в тому, що якщо ви відкриєте тільки його, то авторизація у вас проходитиме, а передача файлів немає.

0.0.255.255 – зворотна маска (wildcard mask). Про те, що це таке, поговоримо трохи пізніше

в) Доступ до поштового сервера

Продовжуємо напрацьовувати практику – тепер із поштовим сервером. В рамках того списку доступу додаємо нові потрібні нам записи.
Замість номерів портів для широкорозповсюджених протоколів можна вказувати їх імена:
msk-arbat-gw1(config)# ip access-list extended Servers-out
msk-arbat-gw1(config-ext-nacl)#permit tcp any host 172.16.0.4 eq pop3
msk-arbat-gw1(config-ext-nacl)#permit tcp any host 172.16.0.4 eq smtp

г) DNS-сервер

msk-arbat-gw1(config)# ip access-list extended Servers-out
msk-arbat-gw1(config-ext-nacl)# permit udp 172.16.0.0 0.0.255.255 host 172.16.0.5 eq 53

д) ICMP

Залишилося виправити ситуацію із пінгом. Нічого страшного немає в тому, щоб додати правила до кінця списку, але якось естетично приємніше побачити їх спочатку.
Використовуємо нескладний чит для цього. Для цього можна скористатися текстовим редактором, наприклад. Скопіюйте туди з show run шматок про ACL і додайте наступні рядки:
no ip access-list extended Servers-out
ip access-list extended Servers-out
permit icmp any any
remark WEB



remark FILE


remark MAIL


remark DNS

Першим рядком ми видаляємо існуючий список, далі створюємо його заново і перераховуємо нові правила в потрібному нам порядку. Командою у третьому рядку ми дозволили прохід усіх ICMP-пакетів від будь-яких хостів на будь-які хости.

Далі просто копіюємо все скопом і вставляємо в консоль. Інтерфейс інтерпретує кожен рядок як окрему команду та виконує її. Таким чином, ми замінили старий список на новий.
Перевіряємо, що пінг є:

Прекрасно.

Цей "чит" хороший для початкової конфігурації або якщо ви точно знаєте, що робите. На робочій мережі, коли ви налаштовуєте віддалено ACL, ви ризикуєте залишитися без доступу на залізку, що настроюється.

Щоб вставити правило на початок або будь-яке інше потрібне місце, ви можете вдатися до такого прийому:
ip access-list extended Servers-out
1 permit icmp any any

Кожне правило у списку пронумеровано з певним кроком і якщо перед словом permit/deny ви поставите число, правило буде додано не в кінець, а в потрібне вам місце. На жаль, така фіча не працює у РТ.
Якщо буде раптом необхідно (зайняті всі ряди, що йдуть поспіль, між правилами) ви завжди можете перенумерувати правила (у цьому прикладі призначається номер першого правила 10 (перше число) і інкремент 10):
ip access-list resequence Servers-out 10 10

У результаті Access List на серверну мережу виглядатиме так:
ip access-list extended Servers-out
permit icmp any any
remark WEB
permit tcp any host 172.16.0.2 eq www
permit tcp host 172.16.6.66 host 172.16.0.2 range 20 ftp
permit tcp host 172.16.6.66 host 172.16.0.2 eq telnet
remark FILE
permit tcp 172.16.0.0 0.0.255.255 host 172.16.0.3 eq 445
permit tcp any host 172.16.0.3 range 20 21
remark MAIL
permit tcp any host 172.16.0.4 eq pop3
permit tcp any host 172.16.0.4 eq smtp
remark DNS
permit udp 172.16.0.0 0.0.255.255 host 172.16.0.5 eq 53

Наразі наш адмін має доступ лише на WEB-сервер. Відкрийте повний доступ на всю мережу. Це перше домашнє завдання.

е) Права користувачів з мережі Other

Досі нам потрібно було не впускатикогось кудись, тому ми звертали увагу на адресу призначення і список доступу вішали на трафік, що виходить з інтерфейсу.

Тепер нам потрібно не випускати: ніякі запити від комп'ютерів із мережі Other не повинні виходити за межі. Ну, звісно, ​​окрім тих, які ми спеціально дозволимо.

msk-arbat-gw1(config)# ip access-list extended Other-in

msk-arbat-gw1(config-ext-nacl)# permit ip host 172.16.6.61 any



Тут ми не могли спочатку заборонити всім, а потім дозволити вибраним, тому що абсолютно всі пакети потрапляли б під правило deny ip any anyі permitне спрацьовував би взагалі.
Використовуємо на інтерфейс. На цей раз на вхід:
msk-arbat-gw1(config)#int fa0/0.104
msk-arbat-gw1(config-subif)#ip access-group Other-in in

тобто всі IP-пакети від хоста з адресою 172.16.6.61 або 172.16.6.66 дозволено передавати куди б вони не були призначені. Чому ми тут використовуємо також розширений список доступу? Адже, здавалося б, ми перевіряємо лише адресу відправника. Тому що адміну ми дали повний доступ, а ось гостеві компанії "Ліфт мі Ап", наприклад, який потрапить у цю ж мережу зовсім ні до чого доступ кудись, крім як в Інтернет.

е) Мережа управління

Нічого складного. Правило виглядатиме так:
msk-arbat-gw1(config)# ip access-list extended Management-out
msk-arbat-gw1(config-ext-nacl)# remark IAM
msk-arbat-gw1(config-ext-nacl)# permit ip host 172.16.6.61 172.16.1.0 0.0.0.255
msk-arbat-gw1(config-ext-nacl)# remark ADMIN
msk-arbat-gw1(config-ext-nacl)# permit ip host 172.16.6.66 172.16.1.0 0.0.0.255

Цей ACL застосовуємо на out на інтерфейс FE 0/0.2:
msk-arbat-gw1(config)# int fa0/0.2
msk-arbat-gw1(config-subif)#ip access-group Management-out out

ж) Більше ніяких обмежень

Готово

Маска та зворотна маска

Досі ми без пояснення давали дивний параметр виду 0.0.255.255, що підозріло нагадує маску підмережі.
Дещо складна для розуміння, але саме вона – зворотна маска – використовується для визначення хостів, які підпадуть під правило.
Щоб зрозуміти, що таке зворотна маска, ви повинні знати, що таке звичайна.

Почнемо з найпростішого прикладу.

Звичайна мережа на 256 адрес: 172.16.5.0/24, наприклад. Що означає цей запис?
А значить вона рівно наступне

IP-адреса. Десятковий запис 172 16 5 0
IP-адреса. Двійковий запис 10101100 00010000 00000101 00000000
11111111 11111111 11111111 00000000
255 255 255 0

IP-адреса - це параметр довжиною 32 біти, поділений на 4 частини, який ви звикли бачити в десятковій формі.
Маска підмережі також має довжину 32 біта - вона фактично шаблон, трафарет, яким визначається належність адреси підмережі. Там, де в масці стоять одиниці, значення змінюватися не може, тобто частина 172.16.5 абсолютно незмінна і вона буде однаковою для всіх хостів цієї підмережі, а ось та, де нулі - варіюється.
Тобто у взятому нами прикладі 172.16.5.0/24 - це адреса мережі, а хости будуть 172.16.5.1-172.16.5.254 (останній 255 - широкомовний), тому що 00000001 - це 1, а 1111111 ). /24 означає, що довжина маски 24 біта, тобто ми йде 24 одиниці - незмінна частина і 8 нулів.
Інший випадок коли маска у нас, наприклад, 30 біт, а не 24.
Наприклад 172.16.2.4/30. Розпишемо це так:

IP-адреса. Десятковий запис 172 16 2 4
IP-адреса. Двійковий запис 10101100 00010000 00000010 00000100
Маска підмережі. Двійковий запис 11111111 11111111 11111111 11111100
Маска підмережі. Десятковий запис 255 255 255 252

Як бачите, для цієї підмережі можуть змінюватися лише останні два біти. Останній октет може приймати наступні 4 значення:
00000100 - адреса підмережі (4 у десятковій системі)
00000101 - адреса вузла (5)
00000110 - адреса вузла (6)
00000111 - широкомовний (7)
Все, що за межами цього – вже інша підмережа

Тобто тепер вам має бути трохи зрозуміло, що маска підмережі - це послідовність 32-х біт, де спочатку йдуть одиниці, що означають адресу підмережі, потім йдуть нулі, що означають адресу хоста. При цьому чергуватись нулі та одиниці в масці не можуть чергуватись. Тобто маска 11111111.11100000.11110111.00000000 неможлива

А що таке зворотна маска (wildcard)?
Для переважної більшості адмінів та деяких інженерів – це не більше, ніж інверсія звичайної маски. Тобто нулі спочатку задають адресу частини, яка має збігатися обов'язково, а одиниці навпаки – вільну частину.
Тобто на взятому нами першому прикладі, якщо ви хочете відфільтрувати всі хости з підмережі 172.16.5.0/24, то ви поставите правило в Access-листі:
…. 172.16.5.0 0.0.0.255
Тому що зворотна маска виглядатиме так:

00000000.00000000.00000000.11111111

У другому прикладі з мережею 172.16.2.4/30 зворотна маска виглядатиме так: 30 нулів і дві одиниці:

Зворотній маски. Двійковий запис 00000000 00000000 00000000 00000011
Зворотній маски. Десятковий запис 0 0 0 3

Відповідно параметр в access-листі буде виглядати так:
…. 172.16.2.4 0.0.0.3
Пізніше, коли ви з'їсте собаку на прорахунках масок і зворотних масок, ви запам'ятаєте найуживаніші цифри, кількість хостів у тій чи іншій масці, зрозумійте, що в описаних ситуаціях останній октет зворотної маски виходить відніманням з 255 цифри останнього октету звичайної маски2 (2 =3) і т.д. А поки що потрібно багато трудитися і рахувати)

Але насправді зворотна маска - це трохи багатший інструмент, тут ви можете поєднувати адреси всередині однієї підмережі або навіть об'єднувати підмережі, але найголовніша відмінність, ви можете чергувати нулі та одиниці. Це дозволяє вам, наприклад, відфільтрувати певний вузол (або групу) у кількох підмережах одним рядком.

Приклад 1

Дано:мережа 172.16.16.0/24
Треба:відфільтрувати перші 64 адреси (172.16.16.0-172.16.16.63)
Рішення: 172.16.16.0 0.0.0.63

Приклад 2

Дано:мережі 172.16.16.0/24 та 172.16.17.0/24
Треба:відфільтрувати адреси з обох мереж
Рішення: 172.16.16.0 0.0.1.255

Приклад 3

Дано:Мережі 172.16.0.0-172.16.255.0
Треба:відфільтрувати хост з адресою 4 з усіх підмереж
Рішення: 172.16.16.0 0.0.255.4

Робота ACL в картинках

Гіпотетична мережа:

1) На маршрутизаторі RT1 на інтерфейсі FE0/1 на вхід ми дозволено все, крім ICMP.

2) На маршрутизаторі RT2 на інтерфейсі FE0/1 на вихід заборонені SSH та TELNET

Тести
клікабельні
1) Пінг із комп'ютера ПК1 на Сервер1

2) TELNET з комп'ютера ПК1 на Сервер1

3) SSH з комп'ютера ПК1 на Сервер2

4) Пінг із Сервера2 на ПК1

Доповнення

1) Правила, що діють на вихідний трафік (out), не фільтруватимуть трафік самого пристрою. Тобто, якщо потрібно заборонити самому циску доступ кудись, то вам доведеться на цьому інтерфейсі фільтрувати вхідний трафік (звідти звідти, куди треба заборонити доступ).

2) C ACL треба бути обережнішим. При невеликій помилці у правилі, неправильному порядку налаштування або взагалі погано продуманому списку ви можете залишитися без доступу до пристрою.
Наприклад, ви хочете закрити доступ куди завгодно для мережі 172.16.6.0/24, крім своєї адреси 172.16.6.61 і задає правила так:

deny ip 172.16.6.0 0.0.0.255 any
permit ip host 172.16.6.61 any

Як тільки ви застосуєте ACL на інтерфейс, ви одразу втратите доступ до маршрутизатора, тому що ви потрапляєте під перше правило і друге навіть не перевіряється.
Друга неприємна ситуація, яка може з вами трапитися: під ACL потрапить трафік, який не мав потрапити.
Уявіть таку ситуацію: у нас на серверній є FTP-сервер у пасивному режимі. Для доступу до нього ви відкрили 21-й порт ACL Servers-out. Після первинного встановлення з'єднання FTP-сервер повідомляє клієнту порт, яким він готовий передавати/приймати файли, наприклад, 1523-й. Клієнт намагається встановити TCP-з'єднання на цей порт, але натикається на ACL Servers-out, де такого дозволу немає - так і закінчується казка про успішний трансфер. У нашому прикладі вище, де ми налаштовували доступ на файловий сервер, ми відкрили доступ тільки по 20 і 21, тому що для прикладу цього достатньо. У реальному житті доведеться повозитися. Небагато прикладів конфігурації ACL для найпоширеніших випадків.

3) З 2-го пункту випливає дуже схожа та цікава проблема.
Надумалося вам, наприклад повісити на інтерфейс в інтернет такі ось ACL:

access-list out permit tcp host 1.1.1.1 host 2.2.2.2 eq 80
access-list in permit tcp host 2.2.2.2 any eq 80

Здавалося б: хосту з адресою 1.1.1.1 дозволено доступ по 80-му порту на сервер 2.2.2.2 (перше правило). І назад від сервера 2.2.2.2 дозволено з'єднання всередину.
Але нюанс тут у тому, що комп'ютер 1.1.1.1 встановлює з'єднання НА 80-й порт, але З якогось іншого, наприклад, 1054, тобто пакет у відповідь від сервера приходить на сокет 1.1.1.1:1054, не підпадає під правило в ACL на IN і відкидається через неявний deny ip any any.
Щоб уникнути такої ситуації, і не відкривати всім пучком порти, можна вдатися до такої хитрості в ACL in:
permit tcp host 2.2.2.2 any established.

Подробиці такого рішення в одній із наступних статей.

4) Говорячи про сучасний світ, не можна оминути такий інструмент, як об'єктні групи (Object-group).

Припустимо, треба скласти ACL, що випускає три певні адреси в інтернет за трьома однаковими портами з перспективою розширення кількості адрес і портів. Як це виглядає без знання об'єктних груп:

ip access-list extended TO-INTERNET
permit tcp host 172.16.6.66 any eq 80
permit tcp host 172.16.6.66 any eq 8080
permit tcp host 172.16.6.66 any eq 443

Permit tcp host 172.16.6.67 any eq 80
permit tcp host 172.16.6.67 any eq 8080
permit tcp host 172.16.6.67 any eq 443

Permit tcp host 172.16.6.68 any eq 80
permit tcp host 172.16.6.68 any eq 8080
permit tcp host 172.16.6.68 any eq 443


При збільшенні кількості параметрів супроводжувати таку ACL стає все важче і важче, легко помилитися при налаштуванні.
Натомість, якщо звернутися до об'єктних груп, то це набуває наступного вигляду:
object-group service INET-PORTS
опис Ports allowed for some hosts
tcp eq www
tcp eq 8080
tcp eq 443

Object-group network HOSTS-TO-INET
description Hosts allowed to browse the net
host 172.16.6.66
host 172.16.6.67
host 172.16.6.68

Ip access-list extended INET-OUT
permit object-group INET-PORTS object-group HOSTS-TO-INET any


на перший погляд дещо загрозливо виглядає, але якщо розібратися, це дуже зручно.

4) Дуже корисну для траблшутинга інформацію можна отримати з висновку команди show ip access-lists %ім'я ACL%. Крім списку правил зазначеного ACL, ця команда показує кількість збігів за кожним правилом.

msk-arbat-gw1#sh ip access-lists nat-inet
Extended IP access list nat-inet





(4 match(es))



А дописавши наприкінці будь-якого правила log, ми зможемо отримувати повідомлення про кожен збіг консоль. (останнє не працює у PT)

NAT

Network Address Translation - механізм у господарстві необхідний вже з 1994-го року. Багато сесій про нього зламано та пакетів втрачено.
Потрібен він найчастіше для підключення вашої локальної мережі до Інтернету. Справа в тому, що теоретично існує 255 * 255 * 255 * 255 = 4228250625. 4 мільярди адрес. Навіть якби у кожного жителя планети був лише один комп'ютер, адрес уже не вистачало. А тут хіба що праски до Інтернету не підключаються. Розумні люди зрозуміли це ще на початку 90-х і як тимчасове рішення запропонували розділити простір адрес на публічні (білі) та приватні (приватні, сірі).
До останніх належать три діапазони:

10.0.0.0/8
172.16.0.0/12
192.168.0.0/16

Їх ви можете вільно використовувати у своїй приватній мережі, і тому, зрозуміло, вони будуть повторюватися. Як бути з унікальністю? Кому відповідатиме WEB-сервер, якому надійшов запит із зворотною адресою 192.168.1.1? Ростелекому? Підприємства Татнафта? Або вашому кімнатному Длінку? У великому інтернеті ніхто нічого не знає про приватні мережі - вони не маршрутизуються.
Ось і виходить на сцену NAT. За великим рахунком це обман, підстава. На пристрої, що натирує, ваша приватна адреса, грубо кажучи, просто замінюється на білу адресу, яка і фігуруватиме далі в пакеті, поки він подорожує до WEB-сервера. А ось білі адреси дуже добре маршрутизуються, і пакет точно повернеться назад на пристрій, що натирає.
Але як воно своєю чергою зрозуміє, що з ним робити далі? Ось із цим і розберемося.

Типи NAT

Статичний

У цьому випадку одна внутрішня адреса перетворюється на одну зовнішню. І при цьому всі запити, що надходять на зовнішню адресу, будуть транслюватися на внутрішню. Наче цей хост і є власником цієї білої IP-адреси.

Налаштовується наступною командою:

Router (config)# ip nat inside source static 172.16.6.5 198.51.100.2

Що відбувається:
1) Вузол 172.16.6.5 звертається до WEB-сервера. Він відправляє IP-пакет, де адресою одержувача стоїть 192.0.2.2, а відправника 172.16.6.5.

2) За корпоративною мережею пакет доставляється до шлюзу 172.16.6.1, де і налаштовано NAT

3) Згідно з налаштованою командою, маршрутизатор знімає поточний заголовок IP і змінює його на новий, де як адреса відправника вже фігурує біла адреса 198.51.100.2.


4) По великому Інтернету оновлений пакет досягає сервера 192.0.2.2.

5) Той бачить, що відповідь треба надсилати на 198.51.100.2 І готує IP-пакет у відповідь. Як адреса відправника власне адреса сервера 192.0.2.2, адреса призначення – 198.51.100.2


6) Пакет назад летить через Інтернет, причому не факт, що тим самим шляхом.

7) На пристрої, що натирає, зазначено, що всі запити на адресу 198.51.100.2 потрібно перенаправляти на 172.16.6.5. Маршрутизатор знову роздягає захований усередині TCP-сегмент і задає новий IP-заголовок (адреса відправника не змінюється, адреса призначення 172.16.6.5).


8) По внутрішній мережі пакет повертається ініціатору, якому навіть невтямки, які дива з ним творилися на кордоні.
І так буде з кожним.
При цьому якщо з'єднання ініціюється з Інтернету, пакети автоматично, проходячи через пристрій, що натирають, потрапляють на внутрішній хост.

Такий підхід є корисним, коли у вас є сервер усередині вашої мережі, до якого необхідний повний доступ ззовні. Зрозуміло, що цей варіант ви не можете використовувати, якщо хочете триста хостів випустити в Інтернет через одну адресу. Такий варіант NAT'а ніяк не допоможе зберегти білі IP-адреси, проте він буває корисним.

Динамічний

У вас є пул білих адрес, наприклад, провайдер виділив вам мережу 198.51.100.0/28 з 16 адресами. Два з них (перша та остання) - адреса мережі та широкомовна, ще дві адреси призначаються на обладнання для забезпечення маршрутизації. 12 адрес, що залишилися, ви можете використовувати для NAT'а і випускати через них своїх користувачів.
Ситуація схожа на статичний NAT - одна приватна адреса транслюється на одну зовнішню, - але тепер зовнішню не чітко зафіксовано, а буде вибиратися динамічно із заданого діапазону.
Налаштовується він так:
Router(config)#ip nat pool lol_pool 198.51.100.3 198.51.103.14

Задали пул (діапазон) публічних адрес, з якого вибиратиметься адреса для натування
Router(config)#access-list 100 permit ip 172.16.6.0 0.0.0.255 any

Задаємо список доступу, який пропускає всі пакети з адресою джерела 172.16.6.х, де хваріюється 0-255.
Router(config)#ip nat в source source list 100 pool lol_pool

Цією командою ми стикуємо створений ACL та пул.

Цей варіант теж не універсальний, своїх 300 користувачів ви також не зможете випустити всіх в Інтернет, якщо у вас немає 300 зовнішніх адрес. Як тільки білі адреси вичерпаються, ніхто новий вже не зможе отримати доступ до Інтернету. При цьому користувачі, що вже встигли відхопити собі зовнішню адресу, працюватимуть. Скинути всі поточні трансляції та звільнити зовнішні адреси вам допоможе команда clear ip nat translation *
Крім динамічного виділення зовнішніх адрес, цей динамічно NAT відрізняється від статичного тим, що без окремого настроювання прокидання портів вже неможливе зовнішнє з'єднання на одну з адрес пула.

Many-to-One

Наступний тип має кілька назв: NAT Overload, Port Address Translation (PAT), IP Masquerading, Many-to-One NAT.
Остання назва говорить сама за себе – через одну зовнішню адресу виходить у світ багато приватних. Це дозволяє вирішити проблему з нестачею зовнішніх адрес та випустити у світ усіх бажаючих.
Тут треба було б дати пояснення, як це працює. Як дві приватні адреси транслюються в одну можна, але як маршрутизатор розуміє кому потрібно переслати пакет, який повернувся з Інтернету на цю адресу?
Все дуже просто:
Припустимо, що від двох хостів з внутрішньої мережі приходять пакети на пристрій, що натирає. Обидва із запитом до WEB-сервера 192.0.2.2.
Дані від хостів виглядають так:

Маршрутизатор розчехляє IP-пакет від першого хоста, витягує з нього TCP-сегмент, роздруковує і дізнається, з якого порту встановлюється з'єднання. Він має зовнішню адресу 198.51.100.2, на яку змінюватиметься адреса з внутрішньої мережі.
Далі він обирає вільний порт, наприклад, 11874 року. І що він робить далі? Всі дані рівня додатків він упаковує в новий TCP сегмент, де як порт призначення залишається 80 (саме на нього чекає коннектів WEB-сервер), а порт відправника змінюється з 23761 на 11874. Цей TCP-сегмент інкапсулюється в новий IP- пакет, де змінюється IP-адреса відправника з 172.16.6.5 на 198.51.100.2.
Те саме відбувається для пакета від другого хоста, тільки вибирається наступний вільний порт, наприклад 11875. "Вільний" означає, що він ще не зайнятий іншими такими з'єднаннями.
Дані, які відправляються в інтернет, тепер виглядатиму так.

У свою NAT-таблицю він заносить дані відправників та одержувачів

Для WEB-сервера - це два абсолютно різні запити, які він повинен обробити кожен індивідуально. Після цього він відсилає відповідь, яка виглядає так:

Коли один з цих пакетів доходить до нашого маршрутизатора, той зіставляє дані в цьому пакеті зі своїми записами NAT-таблиці. Якщо збіг знайдено, відбувається зворотна процедура - пакету та TCP сегменту повертаються його початкові параметри лише як призначення:

І тепер пакети доставляється по внутрішній мережі комп'ютерам-ініціаторам, яким і невтямки навіть, що десь з їхніми даними так жорстко обійшлися на кордоні.

Кожне ваше звернення – це окреме з'єднання. Тобто спробували відкрити WEB-сторінку - це протокол HTTP, що використовує порт 80. Для цього ваш комп'ютер повинен встановити TCP-сесію з віддаленим сервером. Така сесія (TCP або UDP) визначається двома сокетами: локальна IP-адреса: локальний порт і віддалена IP-адреса: віддалений порт. У звичайній ситуації у вас встановлюється одне з'єднання комп'ютер-сервер, у випадку ж NATа з'єднання буде як би два: маршрутизатор-сервер і комп'ютер думає, що у нього є сесія комп'ютер-сервер.

Налаштування відрізняється зовсім незначно: додаткове слово overload:

Router(config)#access-list 101 permit 172.16.4.0 0.0.0.255
Router (config) # ip nat inside source list 101 interface fa0/1 overload

При цьому, очевидно, зберігається можливість налаштувати пул адрес:
Router(config)#ip nat pool lol_pool 198.51.100.2 198.51.103.14
Router(config)#access-list 100 permit 172.16.6.0 0.0.0.255
Router(config)#ip nat в source source list 100 pool lol_pool overload

Перенаправлення портів

Інакше говорять ще прокидання портів або mapping.
Коли ми тільки почали говорити про NAT, трансляція у нас була один-на-один і всі запити, що надходять ззовні автоматично перенаправлялися на внутрішній хост. Таким чином, можна було б виставити сервер назовні в Інтернет.
Але якщо у вас немає такої можливості – ви обмежені у білих адресах, чи не хочете виставляти всім пучком портів його назовні, що робити?
Ви можете вказати, що всі запити, що надходять на конкретну білу адресу та конкретний порт маршрутизатора, повинні бути перенаправлені на потрібний порт потрібної внутрішньої адреси.
Router(config)#ip nat inside source static tcp 172.16.0.2 80 198.51.100.2 80 extendable

Застосування цієї команди означає, що TCP-запит, який прийшов з інтернету на адресу 198.51.100.2 порту 80, буде перенаправлений на внутрішню адресу 172.16.0.2 на той самий 80-й порт. Зрозуміло, ви можете прокидати UDP і робити перенаправлення з одного порту на інший. Це, наприклад, може бути корисним, якщо у вас є два комп'ютери, до яких потрібен доступ з RDP ззовні. RDP використовує порт 3389. Один і той самий порт ви не можете прокинути на різні хости (при використанні однієї зовнішньої адреси). Тому ви можете зробити так:
Router(config)# ip nat inside source static tcp 172.16.6.61 3389 198.51.100.2 3389
Router(config)# ip nat inside source static tcp 172.16.6.66 3389 198.51.100.2 3398

Тоді, щоб потрапити на комп'ютер 172.16.6.61, ви запускаєте RDP-сесію на порт 198.51.100.2:3389, а на 172.16.6.66 - 198.51.100.2:3398. Маршрутизатор сам розкидає все, куди треба.

До речі, ця команда - окремий випадок найпершої: ip nat inside source static 172.16.6.66 198.51.100.2. Тільки в цьому випадку йдеться про прокидання всього трафіку, а в наших прикладах - конкретних портів протоколу TCP.

Ось так загалом функціонує NAT. Про його особливості, плюси/мінуси написано купа статей, але не відзначити їх не можна.

Слабкості та сили NAT

+

- В першу чергу NAT дозволяє заощадити публічні IP-адреси. Власне, для цього він і був створений. Через одну адресу теоретично можна випустити більше 65000 сірих адрес (за кількістю портів).
- По-друге, PAT та динамічний NAT є певною мірою файрволом, перешкоджаючи зовнішнім з'єднанням доходити до кінцевих комп'ютерів, на яких може не виявитися свого файрвола та антивіруса. Справа в тому, що якщо ззовні на пристрій, що натирає, приходить пакет, який тут не очікується або не дозволений, він просто відкидається.
Щоб пакет було пропущено та оброблено, повинні виконатися такі умови:
1) У NAT-таблиці має бути запис для цієї зовнішньої адреси, вказаної як адреса відправника в пакеті
І
2) Порт відправника в пакеті повинен збігатися з портом для цієї білої адреси в записі
І
3) Порт призначення у пакеті, збігається з портом у записі.
АБО
Налаштовано прокидання портів.
Але не потрібно розглядати NAT саме як файрвол - це не більше ніж додаткова його плюшка.

- По-третє, NAT приховує від сторонніх очей внутрішню структуру вашої мережі - при трасуванні маршруту ззовні ви не побачите нічого натируючого пристрою.

-

Є у NAT'а та мінуси. Найвідчутніші з них, мабуть, такі:
- Деякі протоколи не можуть працювати через NAT без милиць. Наприклад, FTP або протоколи тунелювання (попри те, як просто я налаштував FTP у лабораторці, у реальному житті це може створити купу проблем)
- Інша проблема полягає в тому, що з однієї адреси йде багато запитів на один сервер. Багато хто був свідком цього, коли заходиш на якийсь Rapidshare, а він каже, що з вашого IP вже було з'єднання, ви думаєте, що "бреше, собака", а це ваш сусід уже смокче. З цієї причини були проблеми з ICQ, коли сервера відмовляли у реєстрації.
- Не дуже актуальна зараз проблема: навантаження на процесор та оперативну пам'ять. Оскільки обсяг роботи досить великий у порівнянні з простою маршрутизацією (це треба не просто глянути заголовок IP, треба його зняти, TCP-заголовок зняти, до таблиці занести, нові заголовки прикрутити) у дрібних конторах із цим бувають проблеми.
Я із такою ситуацією.
Одне з можливих рішень - винести функцію NAT на окремий ПК або спеціалізоване пристрій, наприклад Cisco ASA.
Для великих гравців, у яких маршрутизатори повертають по 3-4 BGP full-view, зараз це не становить проблем.

Що ще потрібно знати?
- NAT застосовується переважно для забезпечення доступу до Інтернету хостам з приватними адресами. Але буває й інше застосування - зв'язок між двома приватними мережами з адресними просторами, що перетинаються.
Наприклад, ваша компанія купує собі філію в Актюбінську. У вас адресація 10.0.0.0-10.1.255.255, а вони мають 10.1.1.0-10.1.10.255. Діапазони явно перетинаються, налаштувати маршрутизацію ніяк не вийде, бо одна й та сама адреса може опинитися і в Актюбинську і у вас у штаб-квартирі.
У такому разі на місці стику налаштовується NAT. Оскільки сірих адрес у нас не мірно, можна виділити, наприклад, діапазон 10.2.1.0-10.2.10.255 і робити трансляцію один-на-один:
10.1.1.1-10.2.1.1
10.1.1.2-10.2.1.2

10.1.10.255-10.2.10.255

У великих іграшках для дорослих NAT може бути реалізований на окремій платі (і часто так і є) без неї не запрацює. А на офісних залізцях, навпаки, є майже завжди.

З повсюдним впровадженням IPv6 необхідність у NAT'e сходитиме нанівець. Вже зараз великі замовники починають цікавитись функціоналом NAT64 – це коли у вас вихід у світ через IPv4, а внутрішня мережа вже на IPv6

Зрозуміло, це лише поверховий погляд на NAT і є ще море нюансів, не потонути в якому допоможе самоосвіта.

Практика NAT

Чого від нас потребує реальність?
1) Мережа управління не має доступу до інтернету взагалі
2) Хости з мережі ПТО мають доступ тільки до профільних сайтів, наприклад Linkmeup.ru
3) Дорогим жінкам з бухгалтерії необхідно вирубати вікно у світ клієнт-банків.
4) ФЕО не випускати нікуди, за винятком фінансового директора
5) У мережі Other наш комп'ютер та комп'ютер адміна – їм дамо повний доступ до інтернету. Всім іншим можна відкривати за письмовим запитом.
6) Не забудемо про філії в Пітері та в Кемерово. Для простоти налаштуємо повний доступ для енікіїв із цих підмереж.
7) Із серверами окрема пісня. Для них ми налаштуємо перенаправлення портів. Все, що нам потрібне:
а) WEB-сервер має бути доступний по 80-му порту
б) Поштовий сервер по 25-му та 110-му
в) Файловий сервер доступний зі світу FTP.
8) Комп'ютери адміна і наші повинні бути доступні з Інтернету по RDP. Взагалі це неправильний шлях - для віддаленого підключення потрібно використовувати VPN-підключення і вже будучи в локальній мережі використовувати RDP, але це тема окремої зовсім іншої статті.

Спочатку підготуємо тестовий майданчик:

Підключення до Інтернету буде організовано через лінк, який надає провайдер.
Він іде в мережу провайдера. Нагадуємо, що все в цій хмарі - це абстрактна мережа, яка може складатися з десятків маршрутизаторів і сотень комутаторів. Але нам потрібне щось кероване і передбачуване, тому поставляємо сюди ще маршрутизатор. З одного боку, у нього лінк з комутатора, з іншого сервера в Інтернеті.

Сервера нам знадобляться такі:
1. Два клієнт-банки для бухгалтерів (sperbank.ru, mmm-bank.ru)
2. Linkmeup.ru для ПТОшників
3. яндекс (yandex.ru)

Для такого підключення ми піднімемо ще одну влан на msk-arbat-gw1. Його номер, зрозуміло, узгоджується із провайдером. Нехай це буде VLAN 6
Припустимо, провайдер надає нам підсіти 198.51.100.0/28. Перші дві адреси використовуються для організації лінку (198.51.100.1 і 198.51.100.2), а ми використовуємо як пул для NAT'a. Втім, ніхто зовсім нам не заважає використовувати й адресу 198.51.100.2 для пулу. Так і зробимо: пул: 198.51.100.2-198.51.100.14
Для простоти припустимо, що публічні сервери у нас знаходяться в одній підмережі:
192.0.2.0/24 .
Як налаштувати лінк та адреси ви цілком уже в курсі.
Оскільки у нас тільки один маршрутизатор у мережі провайдера, і всі мережі підключені безпосередньо до нього, то потреби налаштовувати маршрутизацію немає.
А ось наш msk-arbat-gw1 повинен знати, куди відправляти пакети в Інтернет, тому нам потрібен маршрут за замовчуванням:

msk-arbat-gw1(config)# ip route 0.0.0.0 0.0.0.0 198.51.100.1

Тепер по порядку

У перших налаштуємо пул адрес

msk-arbat-gw1(config)# ip nat pool main_pool 198.51.100.2 198.51.100.14 netmask 255.255.255.240

Тепер збираємо ACL:
msk-arbat-gw1(config)# ip access-list extended nat-inet

1) Мережа управління

не має доступу до інтернету взагалі
Готово

2) Хости з мережі ПТО

Мають доступ тільки до профільних сайтів, наприклад Linkmeup.ru
msk-arbat-gw1(config-ext-nacl)# permit tcp 172.16.3.0 0.0.0.255 host 192.0.2.2 eq 80

3) Бухгалтерія

Даємо доступ всім хостам на обидва сервери
msk-arbat-gw1(config-ext-nacl)# permit ip 172.16.5.0 0.0.0.255 host 192.0.2.3
msk-arbat-gw1(config-ext-nacl)# permit ip 172.16.5.0 0.0.0.255 host 192.0.2.4

4) ФЕО

Даємо дозвіл лише фінансовому директору – це лише один хост.
msk-arbat-gw1(config-ext-nacl)# permit ip host 172.16.4.123 any

5) Інші

Наші комп'ютери з повним доступом
msk-arbat-gw1(config-ext-nacl)# permit ip host 172.16.6.61 any
msk-arbat-gw1(config-ext-nacl)# permit ip host 172.16.6.66 any

6) Філії у Санкт-Петербурзі та Кемерово

Нехай адреси енікіїв будуть однаковими: 172.16.х.222
msk-arbat-gw1(config-ext-nacl)# permit ip host 172.16.16.222 any
msk-arbat-gw1(config-ext-nacl)# permit ip host 172.16.17.222 any
msk-arbat-gw1(config-ext-nacl)# permit ip host 172.16.24.222 any

Ось так виглядає зараз ACL повністю:
ip access-list extended nat-inet
remark PTO
permit tcp 172.16.3.0 0.0.0.255 host 192.0.2.2 eq www
remark ACCOUNTING
permit ip 172.16.5.0 0.0.0.255 host 192.0.2.3
permit ip 172.16.5.0 0.0.0.255 host 192.0.2.4
remark FEO
permit ip host 172.16.4.123 any
remark IAM
permit ip host 172.16.6.61 any
remark ADMIN
permit ip host 172.16.6.66 any
remark SPB_VSL_ISLAND
permit ip host 172.16.16.222 any
remark SPB_OZERKI
permit ip host 172.16.17.222 any
remark KMR
permit ip host 172.16.24.222 any

Запускаємо:

msk-arbat-gw1(config)# ip nat всередині source list nat-inet pool main_pool overload

Але щастя не буде повним без налаштування інтерфейсів:
На зовнішньому інтерфейсі потрібно дати команду ip nat outside
На внутрішньому: ip nat inside
msk-arbat-gw1(config)# int fa0/0.101
msk-arbat-gw1(config)# int fa0/0.102
msk-arbat-gw1(config-subif)# ip nat inside
msk-arbat-gw1(config)# int fa0/0.103
msk-arbat-gw1(config-subif)# ip nat inside
msk-arbat-gw1(config)# int fa0/0.104
msk-arbat-gw1(config-subif)# ip nat inside

Msk-arbat-gw1(config)# int fa0/1.6
msk-arbat-gw1(config-subif)# ip nat outside

Це дозволить маршрутизатору зрозуміти, звідки чекати пакети, які потрібно буде обробити і куди їх потім надсилати.

Щоб сервери в інтернеті були доступні по домену, нам би непогано було обзавестися DNS-сервером в нашій мережі:


Природно його потрібно прописати на тих пристроях, з яких перевірятимемо доступ:

Show must go on!

З комп'ютера адміну доступне все:

З мережі ПТО є доступ тільки на сайт linkmeup.ru по 80-му порту (HTTP):



У мережі ФЕО у світ виходить лише 4.123 (фіндиректор)



У бухгалтерії працюють лише сайти клієнт-банків. Але оскільки дозвіл дано повністю на протокол IP, то їх можна й пінгувати:


7) Сервера

Тут нам потрібно налаштувати прокидання портів, щоб до них можна було звертатися з Інтернету:

a) Веб-сервер

msk-arbat-gw1(config)# ip nat inside source static tcp 172.16.0.2 80 198.51.100.2 80

Відразу перевіряємо, наприклад, ми можемо це робити з тестового ПК з аресом 192.0.2.7.
Зараз нічого не запрацює, тому що для мережі серверів у нас не налаштовано інтерфейс на msk-arbat-gw1:
msk-arbat-gw1(config)# int fa0/0.3
msk-arbat-gw1(config-subif)# ip nat inside

А зараз:

б) Файловий сервер

msk-arbat-gw1(config)# ip nat inside source static tcp 172.16.0.3 20 198.51.100.3 20
msk-arbat-gw1(config)# ip nat inside source static tcp 172.16.0.3 21 198.51.100.3 21

Ось для цього в ACL Servers-out ми відкривали також і 20-21 порти для всіх

в) Поштовий сервер

msk-arbat-gw1(config)# ip nat inside source static tcp 172.16.0.4 25 198.51.100.4 25
msk-arbat-gw1(config)# ip nat inside source static tcp 172.16.0.4 110 198.51.100.4 110

Перевірити також не складно. Дотримуйтесь інструкцій:
Спочатку налаштовуємо поштовий сервер. Вказуємо домен та створюємо двох користувачів.

Налаштовуємо комп'ютер із нашої мережі:

Із зовнішньої:

Готуємо лист:

На локальному хості натискаємо Receive:

8) Доступ по RDP до комп'ютерів адміну та нашого

msk-arbat-gw1(config)# ip nat inside source static tcp 172.16.6.61 3389 198.51.100.10 3389
msk-arbat-gw1(config)# ip nat inside source static tcp 172.16.6.66 3389 198.51.100.10 3398

Безпека

Наостанок одне зауваження. Швидше за все, що натирає пристрій, у вас дивиться своїм ip nat outside інтерфейсом назовні - в Інтернет. Тому на цей інтерфейс не завадило б повішати ACL, де ви забороните, дозвольте, що вам потрібно. На цьому питанні не зупинятимемося вже в цій статті.

На цьому перше знайомство з технологією NAT вважатимуться закінченим.
Як ще один ДЗ дайте відповідь на питання, чому немає доступу в Інтернет з комп'ютерів енікіїв у Пітері та в Кемерово. Адже ми їх додали вже до списку доступу.

Поділіться з друзями або збережіть для себе:

Завантаження...