Переадресація портів (іноді називається тунелюванням) — це переадресація мережевого порту від одного вузла мережі на інший вузол. Цей метод дозволяє зовнішнім користувачам зовні досягати порту для частки IPv4-адрес (у локальній мережі), використовуючи маршрутизатор з підтримкою NAT.
Як правило, для роботи однорангових програм обміну файлами і виконання таких операцій, як веб-обслуговування і вихідний FTP, вимагається, щоб порти маршрутизатора були переадресовані або відкриті, як показано на рис. 1. Оскільки NAT приховує внутрішні адреси, однорангові застосування працюють тільки зсередини — в цьому випадку NAT може зіставити витікаючі запити і відповіді, що входять.

Проблема полягає в тому, що NAT не дозволяє ініціювати запити зовні. Цю ситуацію можна вирішити за допомогою змін, внесених вручну. Можна настроїти переадресацію портів, щоб визначити конкретні порти, які можуть бути переадресовані на внутрішні вузли.
Пам’ятайте, що інтернет-додатки працюють з призначеними для користувача портами, які мають бути відкриті або доступні цим застосуванням. Різні застосування використовують різні порти. Це дозволяє додаткам і маршрутизаторам визначати мережеві сервіси. Наприклад, HTTP працює через відомий порт 80. Коли хтось вводить адресу http://cisco.com, браузер відображає веб-сайт Cisco Systems, Inc. Зверніть увагу, що користувачеві не треба вказувати номер порту HTTP для запиту сторінки, оскільки додаток припускає, що використовуватиметься порт 80.
Якщо потрібно інший номер порту, його можна додати до URL -адресу, відокремивши двокрапкою (:). Наприклад, якщо веб-сервер прослуховує порт 8080, користувач повинен ввестиhttp://www.example.com: 8080.
Переадресація портів дозволяє користувачам досягати внутрішніх серверів з Інтернету, використовуючи адресу WAN-порта маршрутизатора і відповідний номер зовнішнього порту. Внутрішні сервери зазвичай настроюються з використанням приватних IPv4-адрес, відповідних RFC 1918. Коли запит вирушає по IPv4-адресі WAN-порту через інтернет, маршрутизатор переадресує запит відповідному серверу в локальній мережі. З міркувань безпеки широкосмугові маршрутизатори за замовчуванням не дозволяють переадресацію зовнішніх веб-запитів вузлам внутрішньої мережі.
На рис. 2 зображений власник невеликого підприємства, який використовує сервер PoS (пункт продажів) для відстежування продажів і запасів на складі. Сервер доступний усередині складу, але оскільки йому призначена приватна адреса IPv4, публічний доступ до цього сервера з Інтернету неможливий. Включення на локальному маршрутизаторі переадресації портів надає власникові доступ до сервера пункту продажів з Інтернету. Переадресація портів на маршрутизаторі настроюється за допомогою номера порту призначення і частки IPv4-адреси сервера пункту продажів. Для доступу до сервера клієнтське ПО повинно використати публічну IPv4-адресу маршрутизатора і порту призначення сервера.

Приклад переадресації портів для SOHO
На малюнку 38 показано вікно налаштування для переадресації на один порт (Single Port Forwarding) маршрутизатора Linksys EA6500 класу SOHO. За замовчуванням переадресація портів на маршрутизаторі не включена.
Переадресацію портів для додатків можна включити, задавши внутрішню локальну адресу, на яку повинні переадресовуватися запити. На малюнку запити до служби HTTP, що поступають на маршрутизатор Linksys, пересилаються на веб-сервер з внутрішньою локальною адресою 192.168.1.254. Якщо зовнішня IPv4-адреса WAN маршрутизатора SOHO рівна 209.165.200.225, то зовнішній користувач може ввести http://www.example.com, і маршрутизатор Linksys перенаправить запит HTTP внутрішньому веб-серверу за адресою 192.168.1.254 IPv4, використовуючи номер порту за замовчуванням — 80 (рис. 3).
Можна також задати номер порту, що відрізняється від номера порту за замовчуванням, рівного 80. Але зовнішній користувач повинен знати конкретний використовуваний номер порту. Щоб визначити інший порт, необхідно змінити значення зовнішнього порту (External Port) у вікні переадресації на один порт (Single Port Forwarding).
Методика налаштування переадресації портів залежить від виробника і моделі широкосмугового маршрутизатора в мережі. Проте деякі дії є загальними для усіх моделей. Якщо інструкції, що надані інтернет-провайдером або додаються до маршрутизатора, не надають необхідну інформацію, ви можете перейти на веб-сайт http://www.portforward.com, де представлене керівництво для деяких широкосмугових маршрутизаторів. Наслідуйте інструкції, щоб при необхідності додати або видалити порти відповідно до потреб будь-яких застосувань, які треба дозволити або відхилити.

Налаштування переадресації портів за допомогою IOS
Реалізація переадресації портів за допомогою команд IOS аналогічна застосуванню команд налаштування статичного NAT. Переадресація портів фактично є статичним перетворенням NAT із заданим номером порту TCP або UDP.
На рис. 4 показана команда статичного NAT, використовувана для налаштування переадресації портів за допомогою IOS.

На рис. 5 наведений приклад налаштування переадресації портів за допомогою команд IOS на маршрутизаторі R2. 192.168.10.254 — це внутрішня локальна IPv4-адреса веб-сервера, що прослуховує порт 80. Користувачі отримають доступ до цього внутрішнього веб-сервера за допомогою глобальної IP-адреси 209.165.200.225, яка є глобальною унікальною публічною IPv4-адресою. В даному випадку це адреса інтерфейсу Serial 0/1/0 маршрутизатора R2. Глобальний порт налагоджений як 8080. Він буде портом призначення, використовуваним разом з глобальною IPv4-адресою 209.165.200.225 для доступу до внутрішнього веб-сервера. У конфігурації NAT звернете увагу на наступні параметри команди :
local - ip = 192.168.10.254 local - port = 80 global - ip = 209.165.200.225 global - port = 8080

Якщо не використовується відомий номер порту, клієнт повинен вказати номер порту в додатку.
Як і для інших типів NAT, для переадресації портів необхідно настроїти як внутрішній, так і зовнішній інтерфейси NAT.
Аналогічно статичному NAT, для перевірки переадресації портів, можна використати команду show ip nat translations, як показано на рис. 6.

У даному прикладі, коли маршрутизатор отримує пакет з внутрішньою глобальною IPv4-адресою 209.165.200.225 і TCP-портом призначення 8080, він виконує пошук в таблиці NAT, використовуючи як ключ IPv4-адресу призначення і порт призначення. Потім маршрутизатор перетворить адресу у внутрішню локальну адресу вузла 192.168.10.254 і порт призначення 80. Потім R2 пересилає пакет веб-серверу. Для зворотних пакетів, що йдуть від веб-сервера до клієнта, цей процес інвертується.