Приклад 1. inside source dynamic NAT
ЗАГАЛЬНІ ВІДОМОСТІ
Трансляція мережевих адрес ( NAT ) використовується багатьма сервіс провайдерами та приватними користувачами для вирішення проблеми нестачі реальних IP- адрес і забезпечення безпеки локальних мереж, підключених до Інтернету . Наприклад, підприємство може мати виділений діапазон реальних IP- адрес , але набагато більша кількість комп'ютерів мають локальні IP- адреси, яким необхідний доступ в Інтернет. Для вирішення цієї проблеми використовується технологія трансляції адрес, яка дозволяє комп'ютерам локальної мережі взаємодіяти з мережею Інтернет , використовуючи лише одну зовнішню реальну IP - адресу. NAT вирішує цю проблему за допомогою підміни локальної IP- адреси на зовнішню загальнодоступну адресу. Замінюючи внутрішню IP - адресу і порт на зовнішню IP - адресу і порт , NAT зберігає таблицю відповідності , потім при отриманні відповідного пакету проводиться зворотне перетворення.
До локальних IP- адрес належать такі діапазони адрес : 10.ххх.ххх.ххх , 192.168.ххх.ххх , 172.16.ххх.ххх - 172.32.ххх.ххх .
Рис.1 Трансляція мережевих адрес
Типи трансляторів
Транслятори адрес поділяються на 4 типи :
1 . Повний конус ( Full Cone )
2 . Обмежений конус ( Restricted Cone )
3 . Порт обмеженого конуса ( Port Restricted Cone )
4 . Симетричний ( Symmetric )
У перших трьох типах NATа різні IP- адреси зовнішньої мережі можуть взаємодіяти з адресою з локальної мережі використовуючи один і той же зовнішній порт. Четвертий тип для кожної адреси і порту використовує окремий зовнішній порт.
NATи не мають статичної таблиці відповідності адрес і портів. Відображення відкривається , коли перший пакет посилається з локальної мережі назовні через NAT і діє певний проміжок часу (як правило , 1-3 хвилини) , якщо пакети через цей порт не проходять , то порт видаляється з таблиці відповідності. Зазвичай NAT розподіляють зовнішні порти динамічно , використовується діапазон вище 1024 .
Повний конус
Внутрішня адреса (192.168.0.2:2210) проектується на зовнішню адресу (1.1.1.2:8801). Будь-який пакет надісланий з 192.168.0.2:2210 буде відправлений через 1.1.1.2:8801. Будь-який пакет з зовнішнього хоста, надісланий на адресу 1.1.1.2:8801 буде відправлений на 192.168.0.2:2210
Рис.2. Трансляція адрес по схемі «повний конус»
Обмежений конус
Внутрішня адреса (192.168.0.2:2210) проектується на зовнішню адресу (1.1.1.2:8801). Будь-який пакет надісланий з 192.168.0.2:2210 буде відправлений через 1.1.1.2:8801. Пакет з будь-якого порту зовнішнього хоста, надісланий на адресу 1.1.1.2:8801 буде відправлений на 192.168.0.2:2210 тільки у випадку, якщо 192.168.0.2:2210 попередньо посилав пакет на цей зовнішній хост.
Рис.3. Трансляція адрес по схемі «обмежений конус»
Порт обмеженого конусу
Внутрішня адреса (192.168.0.2:2210) проектується на зовнішню адресу (1.1.1.2:8801). Будь-який пакет надісланий з 192.168.0.2:2210 буде відправлений через 1.1.1.2:8801. Зовнішній хост (1.1.1.30:1234) може відправити пакет на 192.168.0.2:2210 через 1.1.1.2:8801 тільки у випадку якщо раніше 192.168.0.2:2210 надсилав пакет на 1.1.1.30:1234
Рис.4. Трансляція адрес по схемі «порт обмеженого конусу»
Симетричний NAT
Кожен пакет з певної внутрішньої IP адреси: порту на певну зовнішню IP адресу: порт буде мати після трансляції унікальну зовнішню адресу:порт. Відповідно, пакет з однієї і тієї ж внутрішньої адреси: порту, але відісланий на інший зовнішній хост або порт після трансляції буде мати іншу зовнішню адресу-порт. Зовнішні хости можуть відправити зворотний пакет тільки на ті хости: порти, звідки вони отримали пакети.
Рис.5 Трансляція по схемі «Симетричний NAT»
Маркування інтерфейси як inside або outside потрібно робити зважаючи на режим роботи мережі, який необхідно забезпечити.
Пряма трансляція.
Трафік, приходячи на інтерфейс, позначений як inside , якщо він відповідає тому, що ми хочемо транслювати , маркується як можливо трансльований. На наступниму етапі трафік підлягає маршрутизації . І якщо при цьому трафік прямує на інтерфейс , позначений як outside - тільки тоді відбувається трансляція. Якщо трансляція динамічна, маршрутизатор перевіряє її наявність в таблиці трансляцій . Якщо її там немає - створює , якщо вже є - занулює лічильник неактивності . Якщо ж пакет потрапляє на вихід на інтерфейс, що не позначений як outside - трансляція не відбувається .
Зворотна трансляція
Трафік , потрапляючи на outside інтерфейс , на противагу прямій трансляції , спочатку піддається NAT . Якщо трансляція існує (неважливо , динамічна або статична) , у випадку з inside source NAT , у трафіка змінюється destination . І тільки після цього трафік піддається маршрутизації і перенаправляється за призначенням.
Для зворотної трансляції не обов'язкова наявність мітки inside на якому-небудь інтерфейсі. Все одно, якщо пряма трансляція існує , зворотна трансляція спрацює до маршрутизації. Трафік самого роутера піддається трансляції, якщо він потрапляє на інтерфейс, позначений як outside і задовольняє правило NAT . Це може бути як корисно, так і небезпечно. З одного боку , ми можемо транслювати трафік роутера як і будь-який інший. З іншого боку , у випадку опису трафіку , який підлягає трансляції як permit any, пакети протоколів маршрутизації транслюватимуться , що призведе до збою .
Інтерфейси типу loopback маршрутизатора трактуються як і будь-які інші , ми можемо мітити їх як inside або outside ,
ПРИКЛАДИ НАЛАШТУВАННЯ
Приклад 1. inside source dynamic NAT
Наприклад, є наступна топологія ( рис. 6). Необхідно транслювати внутрішні адреси в зовнішні при проходженні трафіку через маршрутизатор.
Рис.6. мережа з двох частин-внутрішньої і зовнішньої
Етапи виконання завдання:
1 . Вказуємо , що транслювати . Для цього створюємо access - list (ACL), що перераховує трафік.
( config ) # access - list 100 permit ip 10.0.0.0 0.255.255.255 any
У ACL можуть зустрічатися строчки deny . Зазначений в даному рядку трафік не відкидається, а просто не підлягає трансляції. ACL може бути стандартним і розширеним , нумерованим і іменованим .
2 . Створюємо пул з адрес , вказуючи стартову і кінцеву адресу. Наприклад так :
( config ) # ip nat pool NAME_OF_POOL 11.1.1.10 11.1.1.20 netmask 255.255.255.0
Стартова і кінцева адреса в пулі можуть збігатися , тоді трансляція буде в одну адресу.
3 . Маркуємо інтерфейси.
( config ) # interface fa 0 / 0
( config - if ) # ip nat inside
і
( config ) # interface fa 0 / 1
( config - if ) # ip nat outside
4 . Створюємо власне трансляцію :
ip nat inside source list 100 pool NAME_OF_POOL
У результаті звернення хоста 10.1.1.1 до хосту 11.1.1.2 отримаємо таку трансляцію:
Router#sh ip nat translations
Pro Inside global Inside local Outside local Outside global
tcp 11.1.1.10:55209 10.0.1.1:55209 11.1.1.2:23 11.1.1.2:23
Приклад 2inside source dynamic NAT with overload
Overloading - дозволяє перетворювати декілька внутрішніх адрес в одну зовнішню. Для здійснення такої трансляції використовуються порти, тому іноді такий NAT називають PAT (Port Address Translation). За допомогою PAT можна перетворювати внутрішні адреси в зовнішню адресу, задану через пул або через адресу на зовнішньому інтерфейсі.
Для налаштування такоїNAT для топології з попереднього прикладу необхідно здійснити наступне:
1. Виконати пункти 1-3 попереднього прикладу.
2. Створити трансляцію
ip nat inside source list 100 pool NAME_OF_POOL overload
Результат такого налаштування:
Router #sh ip nat translations
Pro Inside global Inside local Outside local Outside global
tcp 11.1.1.11:21545 10.0.1.1:21545 11.1.1.2:23 11.1.1.2:23
tcp 11.1.1.11:49000 10.0.2.1:49000 11.1.1.2:23 11.1.1.2:23
Приклад 3 Static NAT
Static NAT - Статичний NAT, перетворення IP адреси один до одного, тобто співставляється одна адреса з внутрішньої мережі з однією адресою із зовнішньої мережі.
Наприклад, є наступна топологія
Рис. 7. Топологія з внутрішнім сервером
Необхідно, щоб із зовнішньої мережі за адресою 10.11.11.10 був доступний внутрішній сервер 192.168.56.10.
Етапи виконання:
1.Конфігуруємо інтерфейси
(config)#interface fastEthernet 0/0
R1(config-if)#ip nat inside
R1(config-if)#exit
R1(config)#
R1(config)#interface fastEthernet 0/1
R1(config-if)#ip nat outside
R1(config-if)#exit
R1(config)#
2. Створення access - list
R1(config)#access-list 1 permit 192.168.56.0 0.0.0.255
3. Створення трансляції
R1(config)#ip nat inside source static 192.168.56.10 10.11.11.10
Якщо немає необхідності відкривати назовні всі порти (сервіси), то можна обмежитися і певними, наприклад:
R1 (config) # ip nat inside source static tcp 192.168.56.10 22 10.11.11.10 2222
У цьому випадку при зверненні із зовнішньої мережі на адресу 10.11.11.10 і tcp порт 2222 відбудеться з'єднання з 22-м tcp портом внутрішнього сервера 192.168.56.10
Приклад 4 Трансляція з внутрішньої мережі в зовнішню.
Це використовується в таких ситуаціях як накладення мереж, коли адреси внутрішньої мережі перекривають адреси зовнішньої мережі, як це зображено на рис.8.
Рис. 8. Мережа з перекриттям адрес
Етапи виконання:
1.Конфігуруємо маршрутизатор 2514
(config)#interface fastEthernet 0/0
(config-if ) #ip address 172.16.88.1 255.255.255.0
(config)# interface Serial0
(config-if ) #ip address 172.16.191.254 255.255.255.252
(config) # ip route 0.0.0.0 0.0.0.0 172.16.191.253 !-- Маршрут за замовчуванням для пересилання пакетів на 2514X.
2. Конфігуруємо маршрутизатор 2514Х
(config)#interface Serial0
(config-if )#ip address 171.68.192.202 255.255.255.0
(config-if )#ip nat inside
(config )#interface Serial1
(config-if )#ip address 172.16.191.253 255.255.255.252
(config-if ) #ip nat outside
(config)#ip nat pool Net171 171.68.16.10 171.68.16.254 netmask 255.255.255.0
(config)# ip nat outside source list 1 pool Net171
(config)# ip route 172.16.88.0 255.255.255.0 172.16.191.254
(config)# ip route 171.68.1.0 255.255.255.0 171.68.192.201
(config)# ip route 171.68.16.0 255.255.255.0 172.16.191.254
access-list 1 permit 172.16.88.0 0.0.0.255
3.Конфігуруємо маршрутизатор
(config)#interface fastEthernet 0/0
(config-if ) #ip address 171.68.1.1 255.255.255.0
(config)# interface Serial0
(config-if ) #ip address 171.68.192.201 255.255.255.0
(config) # ip route 0.0.0.0 0.0.0.0 171.68.192.202 !-- Маршрут за замовчуванням для пересилання пакетів на 2514X.
3.ЗАВДАННЯ ДО ЛАБОРАТОРНОЇ РОБОТИ
1.Задана мережа з топологією, проказаною на рисунку нижче.
Дозволити певним внутрішнім пристроям (першим 31 з кожної підмережі) створити зв'язок з пристроями ззовні, перетворюючи їх недопустиму адресу в допустиму адресу або пул адрес. Пул заданий як діапазон адрес від 172.16.10.1 до 172.16.10.63.
2. Забезпечити інформаційний обмін між пристроями внутрішньої мережі і пристроями в Інтернеті, при якому з'єднання ініціюється зовнішнім пристроєм, наприклад обмін повідомленнями електронної пошти.
3.Задана мережа з топологією, показаною на рисунку, наведеному нижче.
Виконати налаштування пристроїв, що використовують старі адреси, для трансляції їх пакетів для зв’язку з новим сервером..
4. ВИМОГИ ДО ОФОРМЛЕННЯ ЗВІТУ.
Звіт з лабораторної роботи повинен містити:
1. Топологію мережі у кожному завданні
2.Покрокове налаштування пристроїв у кожному завданні з відповідними поясненнями.
3. Миттєві знімки екрану, що свідчать про правильність виконання поставленого завдання.
Література:
1. Джо Хабракен. Как работать с маршрутизаторами Cisco, - 2005, 317 с.
2. Аллан Леинванд, Брюс Пински. Конфигурирование маршрутизаторов Cisco, - 298
Навчальне видання
«Налаштування трансляції мережних адрес на обладнанні Сisco»
Методичні вказівки
до виконання лабораторних робіт
з курсу «Технології організації та адміністрування корпоративних мереж»
для студентів спеціальності
7(8).05090201 Радіоелектронні апарати та засоби ”
Укладачі Є.І.Яковенко, канд. техн. наук, доц.
Л.К. Гліненко, канд. техн. наук, доц.