Перекидання портів на маршрутизаторах MikroTik

Дуже часто виникає потреба в налаштуванні прокидання портів, так званого Port Forwarding, на маршрутизаторах виробництва MikroTik. Нерідко і досвідчений адміністратор стикається зі складнощами у конфігуруванні роутерів МікроТік, не кажучи про звичайних користувачів. Хоча за рахунок наявності великої кількості функцій роутери цього виробника цінуються всіма і, звичайно ж, за стабільність і надійність.

У цій статті ми допоможемо і продемонструємо інструкцію щодо того, як проводити прокидання портів. Прикладом стане роутер MikroTik RB951-2n   або новий   Mikrotik hAP (RB951Ui-2ND)

З якою метою роблять прокидання портів?

Якщо Ви запитаєте, навіщо потрібен Port Forwarding, то кілька відповідей. Адже ця процедура потрібна для:

  • створення ігрових серверів на домашніх ПК;
  • розгортання пірингових, тобто однорангових мереж;
  • щоб отримати доступ до IP-камери з Internet;
  • нормального функціонування торентів;
  • функціонування WEB та FTP-серверів.

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


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


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

Налаштування прокидання портів у MikroTik

У роутері налаштування прокидання портів знаходиться за вкладкою IP => Firewall => NAT.

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

Налаштування вкладки меню General

Клацаємо на плюс і у вікні, що відкриється, необхідно заповнити ряд полів:

● Chain – це напрямок потоку інформації. Серед вибору srcnat (зсередини назовні), означає з локальної мережі у зовнішню, а dstnat означає із зовнішньої у внутрішню. Необхідно вибрати dstnat, адже потрібно приймати саме вхідні підключення.

● Src. Address Dst. Address – це зовнішня адреса. З нього буде ініційовано підключення. Адреса призначення (адреса маршрутизатора). Нічого не заповнюємо.

● Protocol. Тут обов'язково потрібно вказати вид протоколу для існуючого з'єднання – udp чи tcp.

● Src. Port – це вихідний порт. Тобто порт віддаленого комп'ютера. З нього будуть надсилатися дані. Поле, якщо не має значення, залишаємо порожнім.

● Dst. Port – це порт призначення. Необхідно проставити номер зовнішнього порту маршрутизатора, куди надходити дані від віддаленого комп'ютера і перенаправлятися на потрібний комп'ютер нашої внутрішньої мережі.

● Any. Port – це будь-який порт. У разі проставлення в цьому полі номера порту ми вказуємо маршрутизатору, що цей порт буде використаний як вихідний і вхідний. Об'єднає обидва попередні поля в одне.

● In. Interface – це вхідний інтерфейс. Тут вказуємо інтерфейс маршрутизатора Мікротик, у якому використовується даний порт. У нашій ситуації, адже ми робимо прокидок для отримання інформації ззовні, це інтерфейс, за допомогою якого роутер приєднаний до Internet. І за замовчуванням ether1-gateway. Цей параметр обов'язково заповнюється. Адже порт не буде доступний із локальної мережі. У випадках підключення до провайдера через звичний pppoe, можливо, буде необхідно вказати його на відміну від WAN-інтерфейсу.

● Out. Interface – це вихідний інтерфейс. Тобто, той інтерфейс приєднання комп'ютера для якого ми й робимо прокидання портів.

Налаштовуємо вкладку Action

У полі з назвою Action необхідно прописати дію, яка виконуватиметься роутером. Доступні такі варіанти:

● accept – зазвичай приймаються дані;

● add-dst-to-address-list – адреса, що призначається, для додавання до списку присутніх адрес;

● add-src-to-address-list – це вихідна адреса, що дописується до відповідного списку адрес;

● dst-nat – перенаправить інформацію із зовнішньої мережі у Вашу локальну, тобто у внутрішню;

● jump – дозволяє дозволити правило з іншого каналу. Наприклад, при вписаному у полі Chain значенні srcnat, щоб застосувати потрібне правило для dstnat;

● log для записування інформації про дані в лог;

● masquerade – це маскарадинг. Підміняє внутрішню адресу комп'ютера або іншого пристрою з внутрішньої локальної мережі на головну адресу роутера;

● netmap. Створить переадресацію одного набору адрес на іншу. Більше функцій, ніж у dst-nat;

● passthrough. Цей пункт налаштування правил буде пропущений і відбудеться перехід одразу до наступного. Потрібен статистики;

● redirect. Інформація перенаправляється на інший порт нашого ж маршрутизатора;

● return. При попаданні до цього каналу відповідно до правила jump відбудеться наше повернення назад;

● same. Налаштування одних і тих же правил для потрібної групи адрес;

● src-nat. Здійснює переадресацію пакетів з локальної мережі на зовнішню. Є оберненим dst-nat перенаправленням.

У полі з назвою To Adresses необхідно прописати внутрішню IP-адресу потрібного нам комп'ютера або відповідного пристрою, куди будуть перенаправлені дані за створеним правилом прокидання портів.

У полі під назвою To Ports прописуємо номер порту. Для прикладу:

23/tcp - telnet,

22/tcp - SSH,

161/udp - snmp,

1433/tcp - MS SQL Server,

80/tcp - WEB сервер.

Коли значення полів Dst. Port та To Ports збігаються, то тут можна його не вказувати.
Далі необхідно додати коментар до правила, щоб пам'ятати, з якою метою ми його створювали.

Ось так ми з Вами створили правило для Port Forwarding і для доступу до потрібного внутрішнього комп'ютера з Internet.
У випадках, коли потрібно заходити саме за зовнішньою IP-адресою з локальної мережі, тоді налаштуйте Hairpin NAT.(+р)