====== Проброс портов на MikroTik ====== {{ :router:rb951-2n.jpg?400 |}} **Для чего нужен проброс портов?** Для чего вообще вам может понадобиться такая настройка? Чаще всего Port Forwarding используется для: * организации игрового сервера на домашнем компьютере, * организации пиринговых (одноранговых) сетей, * для доступа к IP-камере из интернета, * корректной работы торрентов, * работы WEB и FTP-серверов. Почему возникает необходимость в пробросе портов? Дело в том, что по умолчанию в роутерах работает правило так называемого маскарадинга. IP-адреса компьютеров и других устройств из локальной сети не видны ЗА роутером, во внешней сети. При поступлении пакетов данных из внутренней сети для отправки во внешний мир роутер открывает определенный порт и подменяет внутренний IP устройства на свой внешний адрес - надевает "маску", а при получении ответных данных на этот порт - отправляет их на тот компьютер внутри сети, для которого они предназначаются. {{ :router:masqarading.jpg?400 |}} Таким образом, все получатели данных из внешней сети видят в сети только роутер и обращаются к его IP-адресу. Компьютеры, планшеты и другие устройства в локальной сети остаются невидимыми. {{ :router:masqarading2.jpg?400 |}} Эта схема имеет одну особенность: роутер принимает только те пакеты данных, которые приходят по соединению, инициированному компьютером из внутренней сети. Если компьютер или сервер из внешней сети пытается установить соединение первым, роутер его сбрасывает. А для указанных выше пунктов (игровой сервер, пиринговые сети и т. п.) такое соединение должно быть разрешено. Вот для этого и применяется проброс портов. Фактически, это команда роутеру зарезервировать один порт и все данные извне, которые на него поступают, передавать на определенный компьютер. Т. е. сделать исключение из маскарадинга, прописав новое правило. ''Настройка Port Forwarding в MikroTik'' В MikroTik управление настройкой проброса портов находится в меню IP =>Firewall =>NAT. {{ :router:port_forwarding1.png?400 |}} По умолчанию здесь прописан тот самый маскарадинг - подмена внутренних локальных адресов внешним адресом сервера. Мы же здесь создадим дополнительное правило проброса портов. {{ :router:port_forwarding2.png?400 |}} ---- ''Настройка вкладки General'' ---- Нажимаем плюсик и в появившемся окне заполняем несколько полей: * **Chain** - направление потока данных. В списке выбора - srcnat, что означает "изнутри наружу", т. е. из локальной сети во внешний мир, и dstnat - из внешней сети во внутреннюю. Мы выбираем второе, так как будем принимать входящие подключения. * **Src. Address Dst. Address** - внешний адрес, с которого будет инициироваться подключение, и адрес назначения (всегда адрес роутера). Оставляем незаполненным. * **Protocol** - здесь указываем вид протокола для нашего соединения, tcp или udp, заполняем обязательно. * **Src. Port** (исходящий порт) - порт удаленного компьютера, с которого будут отправляться данные, оставляем пустым, если для нас это неважно. * **Dst. Port** (порт назначения) - проставляем номер внешнего порта роутера, на который будут приходить данные от удаленной машины и переадресовываться на наш компьютер во внутренней сети. * **Any. Port** (любой порт) - если мы проставим здесь номер порта, то укажем роутеру, что этот порт будет использоваться и как исходящий, и как входящий (объединяя два предыдущие поля в одном). *** In. interface** (входящий интерфейс) - здесь указываем интерфейс роутера MikroTik, на котором используется, "слушается" этот порт. В нашем случае, так как мы делаем проброс для поступления данных извне, это интерфейс, через который роутер подключен к Интернет, по умолчанию это ether1-gateway. Параметр нужно указать обязательно, иначе порт не будет доступным из локальной сети. Если мы подключены к провайдеру через pppoe, то возможно, потребуется указать его, а не WAN-интерфейс. ***Out. interface** (исходящий интерфейс) - интерфейс подключения компьютера, для которого мы делаем проброс портов. {{ :router:port_forwarding2-1.png?400 |}} **''Настройка вкладки 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 перенаправление). Для наших настроек подойдут варианты **dst-nat** и **netmap**. Выбираем последний, как более новый и улучшенный. {{ :router:port_forwarding3.png?400 |}} В поле **To Adresses** прописываем внутренний IP-адрес компьютера или устройства, на который роутер должен будет перенаправлять данные по правилу проброса портов. В поле **To Ports**, соответственно, номер порта, к примеру: * 80/tcp — WEB сервер, * 22/tcp — SSH, * 1433/tcp — MS SQL Server, * 161/udp — snmp, * 23/tcp — telnet и так далее Если значения в поле **Dst. Port** предыдущей вкладки и в поле To Ports совпадают, то здесь его можно не указывать. Далее добавляем комментарий к правилу, чтобы помнить, для чего мы его создавали. {{ :router:port_forwarding4.png?400 |}} Таким образом, мы создали правило для проброса портов и доступа к внутреннему компьютеру (в локальной сети) из Интернет.