Для чего нужна проброска портов

Как пробросить порты на роутере // перенаправление (открываем порты для игр, Skype, uTorrent и др. приложений). DMZ-хост в помощь!

Для чего нужна проброска портов. Смотреть фото Для чего нужна проброска портов. Смотреть картинку Для чего нужна проброска портов. Картинка про Для чего нужна проброска портов. Фото Для чего нужна проброска портовДоброго дня всем!

👉 Все это происходит из-за того, что на роутере никто не пробросил порты ( прим.: пробросить = значит открыть // перенаправить).

Суть «проброса» в том, что предоставляется доступ какой-то программе на определенном компьютере для подключения к ней из интернета (по умолчанию, во всех роутерах это отключено, в целях безопасности).

Собственно, в этой статье пошагово постараюсь на доступном языке изложить то, что нужно сделать. Надеюсь, инструкция поможет разобраться с этой «проблемой».

Для чего нужна проброска портов. Смотреть фото Для чего нужна проброска портов. Смотреть картинку Для чего нужна проброска портов. Картинка про Для чего нужна проброска портов. Фото Для чего нужна проброска портов

Перенаправление портов // «проброс» по шагам

ШАГ 1: вход в настройки роутера

В качестве логина и пароля использовать admin (либо заполнить поле логина, а пароль вообще не вводить).

Для чего нужна проброска портов. Смотреть фото Для чего нужна проброска портов. Смотреть картинку Для чего нужна проброска портов. Картинка про Для чего нужна проброска портов. Фото Для чего нужна проброска портов

Как узнать IP-адрес для входа в настройки в роутер

Для чего нужна проброска портов. Смотреть фото Для чего нужна проброска портов. Смотреть картинку Для чего нужна проброска портов. Картинка про Для чего нужна проброска портов. Фото Для чего нужна проброска портовЕсли в настройки роутера так и не удалось войти, воспользуйтесь рекомендациями из этой статьи: https://ocomp.info/kak-zayti-po-192-168-1-1-vhod-vrouter.html

ШАГ 2: присваиваем компьютеру постоянный локальный IP-адрес

Каждый раз, когда вы включаете компьютер или ноутбук — он, соединившись с роутером, получает свой IP-адрес в локальной сети (т.е. той домашней локальной сети, которую организует роутер).

Этот адрес локальный (внутренний) и он может меняться (если это специально не настроить)! Т.е. сегодня у вашего компьютера был IP 192.168.0.102, а завтра 192.168.0.101. А для проброса портов — нужно, чтобы он был постоянным, и не изменялся с течением времени.

Чтобы это сделать в роутерах, как правило, необходимо знать MAC-адрес сетевого адаптера, через которое вы подключаетесь к нему. Например, в ноутбуках — это, как правило, беспроводной адаптер, в компьютерах — Ethernet-адаптер.

Узнать MAC-адрес можно либо в настройках роутера (вкладка «состояние»), либо в командной строке — команда ipconfig/all покажет физический адрес устройства (это и есть MAC-адрес). См. скрины ниже. 👇

Для чего нужна проброска портов. Смотреть фото Для чего нужна проброска портов. Смотреть картинку Для чего нужна проброска портов. Картинка про Для чего нужна проброска портов. Фото Для чего нужна проброска портов

Для чего нужна проброска портов. Смотреть фото Для чего нужна проброска портов. Смотреть картинку Для чего нужна проброска портов. Картинка про Для чего нужна проброска портов. Фото Для чего нужна проброска портов

Копируем MAC-адрес (роутер Xiaomi Mi 4)

Собственно, дальше в настройках локальной сети в роутере (где задается привязка конкретного статического IP к MAC) укажите ваш локальный IP-адрес и MAC-адрес сетевого адаптера.

Таким образом, даже после выключения вашего ПК (перезагрузки) и т.д. — ваш IP будет постоянным (т.е. в нашем примере ниже 👇 за ПК будет закреплен IP 192.168.0.102, т.е. роутер, будет его присваивать только вашему компьютеру, и не даст никакому другому устройству!).

(У каждого роутера своя прошивка, и компоновка и расположение кнопок может существенно различаться. Ниже приведены неск. фото настроек роутера Tenda, Xiaomi и ASUS)

Для чего нужна проброска портов. Смотреть фото Для чего нужна проброска портов. Смотреть картинку Для чего нужна проброска портов. Картинка про Для чего нужна проброска портов. Фото Для чего нужна проброска портов

Статический IP-адрес (кликабельно)

Для чего нужна проброска портов. Смотреть фото Для чего нужна проброска портов. Смотреть картинку Для чего нужна проброска портов. Картинка про Для чего нужна проброска портов. Фото Для чего нужна проброска портов

Внутренний IP 192.168.31.192 привязываем к MAC-адресу // роутер от Xiaomi

Для чего нужна проброска портов. Смотреть фото Для чего нужна проброска портов. Смотреть картинку Для чего нужна проброска портов. Картинка про Для чего нужна проброска портов. Фото Для чего нужна проброска портов

ШАГ 3: открываем порт для нужной программы

Теперь осталось открыть порт для конкретной программы. Но прежде, один небольшой вопрос.

У некоторых пользователей возникает дилемма, какой именно порт открывать. И где его можно узнать.

Например, в uTorrent порт можно посмотреть в настройках соединения (см. скрин ниже 👇).

Для чего нужна проброска портов. Смотреть фото Для чего нужна проброска портов. Смотреть картинку Для чего нужна проброска портов. Картинка про Для чего нужна проброска портов. Фото Для чего нужна проброска портов

Что касается каких-то игр – то этот момент необходимо уточнять в технических характеристиках игры, либо у разработчиков (также можно на тематических форумах).

Парочка скринов представлены ниже (для роутеров ASUS, Xiaomi и Tenda).

Для чего нужна проброска портов. Смотреть фото Для чего нужна проброска портов. Смотреть картинку Для чего нужна проброска портов. Картинка про Для чего нужна проброска портов. Фото Для чего нужна проброска портов

Порт для uTorrent был открыт! // Tenda

Для чего нужна проброска портов. Смотреть фото Для чего нужна проброска портов. Смотреть картинку Для чего нужна проброска портов. Картинка про Для чего нужна проброска портов. Фото Для чего нужна проброска портов

Пробрасываем (перенаправляем) порт 16000

Для чего нужна проброска портов. Смотреть фото Для чего нужна проброска портов. Смотреть картинку Для чего нужна проброска портов. Картинка про Для чего нужна проброска портов. Фото Для чего нужна проброска портов

Собственно, порты проброшены. Можете сохранять настройки и пользоваться программами — всё должно работать. 👌

ШАГ 4: пару слов о DMZ-хосте

Все, что писано выше, мы сделали лишь для одного-двух портов. А представьте, если вам необходимо открыть все порты?! 👀Например, это часто бывает нужно для создания игрового сервера, для организации видеонаблюдения и пр. ситуациях.

Для этого во всех современных роутерах имеется специальная функция DMZ-хост. Включив ее и указав нужный локальный IP-адрес в вашей сети, вы открываете все порты у этого компьютера. Пример настроек представлен на скрине ниже. 👇

Для чего нужна проброска портов. Смотреть фото Для чего нужна проброска портов. Смотреть картинку Для чего нужна проброска портов. Картинка про Для чего нужна проброска портов. Фото Для чего нужна проброска портов

Пример 1. Роутер от Tenda. Включаем DMZ-хост / Включите также UPnP

Для чего нужна проброска портов. Смотреть фото Для чего нужна проброска портов. Смотреть картинку Для чего нужна проброска портов. Картинка про Для чего нужна проброска портов. Фото Для чего нужна проброска портов

Пример 2. Роутер TP-Link. DMZ

Для чего нужна проброска портов. Смотреть фото Для чего нужна проброска портов. Смотреть картинку Для чего нужна проброска портов. Картинка про Для чего нужна проброска портов. Фото Для чего нужна проброска портов

Пример 3. Роутер Netis. DMZ

Отмечу, что делать так следует только по необходимости. Все-таки, таким быстрым и не хитрым образом, вы открываете полностью свой ПК для доступа из интернета (что не очень хорошо в плане безопасности).

А у меня по теме вопроса пока всё.

Источник

Проброс портов — для чего он нужен, и как его сделать?

Проброс портов обычно используется для того, чтобы получить доступ к информации и данным на другом устройстве, которое подключёно к той же сети по Wi-Fi-роутеру. Для каких целей используется переадресация портов? Допустим, вы хотите подсоединиться к компьютеру, который транслирует видеосигнал, чтобы смотреть транслируемое видео или создаёте сервер для общей игры в Интернете. В некоторых случаях нужно открыть доступ к ПК, если вы хотите обмениваться трафиком через торрент-приложения.

Для чего нужна проброска портов. Смотреть фото Для чего нужна проброска портов. Смотреть картинку Для чего нужна проброска портов. Картинка про Для чего нужна проброска портов. Фото Для чего нужна проброска портов

Функцию виртуального сервера используют лишь продвинутые пользователи сети

Как включить проброс портов?

Делается это двумя способами — автоматически или вручную. По умолчанию в большинстве оборудования функция UPuP, которая позволяет сделать перенаправление трафика, активируется автоматически, но если возникают проблемы, когда вы хотите обмениваться файлами по торренту или создать сеть для игры, то стоит проверить, работает ли функция через параметры маршрутизатора.

На моделях TP-Link это делается так:

Для чего нужна проброска портов. Смотреть фото Для чего нужна проброска портов. Смотреть картинку Для чего нужна проброска портов. Картинка про Для чего нужна проброска портов. Фото Для чего нужна проброска портов

В продукции марки Asus необходимо зайти в меню Интернет, пункт Подключение и поставить флажок активации напротив функции UPuP.

При возникновении проблем с раздачей данных через торрент, после активации зайдите в программу и через настройки включите функцию UPuP.

Ручной способ переадресации

Выполнить проброс портов вручную немного сложнее, но этот способ считается более верным. При автоматической переадресации иногда возникает ситуация, когда роутер открывает доступ не для того устройства, и если вы хотите все контролировать в целях безопасности сети, то остановитесь на этом способе настройки. Есть один минус — переадресация перестанет работать, если поменять данные роутера, поэтому придётся заново вносить всю необходимую информацию.

Когда вы уже знаете, какой порт хотите открыть и делаете это для отдельной программы, например, торрента, выполните следующее:

Ещё нужен MAC-адрес компьютера, дабы по нему найти свой компьютер в списке всех устройств, подключённых к маршрутизатору.

Его вы узнаете при помощи таких действий:

Теперь настроим роутер на проброс портов. Прежде всего, в меню оборудования измените способ установки IP-адреса на статический, так как для открытия порта необходимо, чтобы он оставался неизменным.

Для чего нужна проброска портов. Смотреть фото Для чего нужна проброска портов. Смотреть картинку Для чего нужна проброска портов. Картинка про Для чего нужна проброска портов. Фото Для чего нужна проброска портов

Рассмотрим, как сделать переадресацию на моделях TP-Link, так как они наиболее востребованы среди провайдеров и их клиентов.

Вы связали вместе IP и MAC-адреса вашего компьютера, теперь осталось внести параметры для переадресации. Это делается так:

Теперь вы осведомлены в том, как делается проброс портов автоматически и вручную. Выбрать оптимальный вариант установки вы можете по своему усмотрению, а если что-то пойдёт не так, то всегда можно сбросить настройки и начать процесс сначала.

Источник

Как пробросить порт на роутере?

Некоторые программы, такие как uTorrent самостоятельно открывают для себя порты, при наличии на маршрутизаторе включенного uPnP (протокол для автоматизации настройки). Они обращаются к шлюзу и требуют перенаправить на себя требуемый порт, для корректной работы. Но далеко не все программы умеют это делать, и поэтому приходится настраивать все вручную. Постараемся кратко и без лишних подробностей донести суть вопроса.

Для чего нужна проброска портов. Смотреть фото Для чего нужна проброска портов. Смотреть картинку Для чего нужна проброска портов. Картинка про Для чего нужна проброска портов. Фото Для чего нужна проброска портов

Что такое IP? И каких типов он бывает?

IP адрес – это индивидуальный сетевой номер. Для правильной работы, он не должен повторяться с другими устройствами в одном сегменте сети.
Существуют две категории адресов:

Как правило, операторы связи предоставляют серые IP, что позволяет значительно сэкономить и обслуживать большее количество абонентов. Это никак не сказывается на скорости или качестве, а даже наоборот, оберегает пользователей от внешнего воздействия и вирусных угроз.
Сетевой адрес – это временный идентификатор, он выдается всегда на определенный срок, как бы в аренду. Оператор предоставляет его из своего пула (диапазона), и его количество ограничено. Интернет-провайдеру владение белыми IP стоит денег.

Для чего нужна проброска портов. Смотреть фото Для чего нужна проброска портов. Смотреть картинку Для чего нужна проброска портов. Картинка про Для чего нужна проброска портов. Фото Для чего нужна проброска портов

Белые IP можно распределить на 2 категории:

Проброс портов настраивается только на белых IP. Только они доступны отовсюду из интернета и ведут на ваш компьютер или шлюз.

А при чем здесь роутер вообще?

Многие задаются вопросом, белый ip имеется, но компьютер не доступен с интернета. А происходит следующее: компьютерам, которые подключены к маршрутизатору, присвоены серые адреса из внутренней сети. А они, как мы уже знаем, не имеют прямого доступа снаружи, из интернета.

Для чего нужна проброска портов. Смотреть фото Для чего нужна проброска портов. Смотреть картинку Для чего нужна проброска портов. Картинка про Для чего нужна проброска портов. Фото Для чего нужна проброска портов

В основе работы роутера, лежит сложный механизм трансляции адресов (NAT), который позволяет использовать одно интернет-соединение на нескольких компьютеров одновременно. Своеобразный «разветвитель» интернета…

Для чего нужна проброска портов. Смотреть фото Для чего нужна проброска портов. Смотреть картинку Для чего нужна проброска портов. Картинка про Для чего нужна проброска портов. Фото Для чего нужна проброска портов

Работает он следующим образом: внутренние устройства, обращаются к шлюзу при выходе в интернет. Шлюз запоминает эти обращения и открывает для них «сессии». Ответы на запросы вернутся на компьютер, с которого они были отправлены. Одновременно таких сессий может существовать большое количество, таким образом, все устройства имеют выход в интернет и данные приходят на правильные внутренние узлы. Вот именно в этом механизме и работает необходимый нам проброс портов. Создав определенное правило, мы сможем построить прямую связь между открытым портом и конкретным компьютером. Без такого правила наш роутер просто «не догадается», куда требуется направить соединение, и оно останется без ответа.

А что такое порт?

Это определенный номер, на котором «висит» сетевая служба. Например, если вы откроете web-страницу, то сервер отправит вам данные по 80 или 443 порту. На одном порту может быть только один сервис. Для распространенных сервисов определены стандартные номера, (в таблице ниже). К примеру, для удаленного рабочего стола, этот номер 3389, а для FTP – 21

Для чего нужна проброска портов. Смотреть фото Для чего нужна проброска портов. Смотреть картинку Для чего нужна проброска портов. Картинка про Для чего нужна проброска портов. Фото Для чего нужна проброска портов

Как открыть порт?

Во-первых, вам необходим фиксированный белый IP, обратитесь к своему интернет провайдеру для подключения данной услуги. Если вы уже имеете статический адрес, приступайте к следующему шагу.
Прежде всего определитесь с задачей, чтобы понять, какой конкретно номер требуется пробросить. Если это игровой сервер, то для его настройки имеется документация, в которой вы найдете нужные номера портов. Если это IP-камера, в её документации также имеется все необходимое.

НомерНазначение
80, 443Веб-сервер
20, 21, 30000-35000FTP сервер
3389Удаленный рабочий стол
22SSH
23Telnet
3306MySQL

Перейдите в настройки вашего маршрутизатора. О том, как попасть туда подробно изложено в инструкции пользователя. Как правило, это делается через адресную строку браузера. В поле адреса введите ip шлюза (http://192.168.0.1), а затем авторизуйтесь при помощи логина и пароля.

Для чего нужна проброска портов. Смотреть фото Для чего нужна проброска портов. Смотреть картинку Для чего нужна проброска портов. Картинка про Для чего нужна проброска портов. Фото Для чего нужна проброска портов

Источник

Сквозь защитные порядки: Пробрасываем порты в окнах, никсах и кисках

Содержание статьи

У этой технологии есть множество названий — это и трансляция портадреса, и проброс портов, и перенаправление, и буржуйские порт-форвардинг/порт-маппинг, и сокращенные DNAT/PAT. Но как бы она ни называлась, о ее полезности спорить не приходится. Проброс портов — просто спасательный круг для тех, кто хочет показать свой сервер из-за высокой и крепкой стены под названием NAT.

Недостаток сетевых адресов стандарта IPv4 оставил свой отпечаток на топологии современных сетей. Белые адреса слишком дороги, чтобы наделять ими всех, кого попало, поэтому простым смертным приходится ютиться в небольших частных подсетях, а в интернет выходить через один общий сервер, на котором настроен NAT. Благодаря такой схеме пользователи целой подсети могут использовать один внешний IP-адрес, а общая инфраструктура интернета продолжает жить, даже несмотря на очевидную нехватку IP-адресов. Но что если речь идет не о клиентах провайдера, сидящих за NAT’ом, а о локальной сети небольшой компании, многие машины которой должны играть роль не только клиентов, но и серверов. Например, на одной из машин может находиться веб-сервер, а другая должна обслуживать SMTP- и FTP-клиентов, но выделять каждой из них белый IP-адрес — как-то уж слишком расточительно.
Вот здесь нам на помощь и приходит DNAT или, по-простому — проброс портов. С помощью этой технологии можно сделать так, чтобы входящий на шлюз трафик перенаправлялся к одной из внутренних машин сети на основе порта назначения. Другими словами, проброс портов позволяет выставить во внешний мир сервисы локальных ресурсов и создать иллюзию того, что они находятся на шлюзе.

Перед тем, как начать

Эта статья рассказывает о настройке проброса портов в самых разных операционных системах, начиная с Windows и заканчивая ОС, установленными на сетевом оборудовании. В большинстве случаев для реализации проброса портов используются специальные правила брандмауэра, и здесь я должен сделать первое предостережение.

Дело в том, что любой брандмауэр выполняет трансляцию сетевых адресов до их фильтрации, поэтому описанные в статье правила должны находиться в начале. Второе: для успешного прохождения оттранслированных пакетов должны быть добавлены правила, разрешающие входящие подключения на целевой порт шлюза, а также правила, разрешающие обмен данными между внутренней целевой машиной и шлюзом.

Windows

Начнем, как говорится, с азов. Проще всего проброс портов настроить в операционных системах семейства Windows. Здесь все это делается в «Свойствах NAT»:

LINUX

В Linux все намного сложнее, здесь необходимо оперировать правилами iptables/netfilter, без знания основ которого просто не обойтись. Для осуществления проброса портов предусмотрена цель DNAT, которую необходимо использовать в правилах цепочки PREROUTING. В самом простейшем случае правило будет выглядеть следующим образом:

# echo 1 > /proc/sys/net/ipv4/ip_forward

Проброс портов возможен и с другой машины:

Это вполне легально, а иногда и просто необходимо. Различные преконфигурированные iptables-скрипты, такие как, например, знакомый пользователям Debian, arno-iptables-firewall, также можно использовать для более простой настройки проброса портов. Например, если ты хочешь пробросить порт 80 на машину 192.168.0.100, для этого достаточно добавить строку NAT_TCP_ FORWARD=»80>192.168.0.100″ в файл /etc/arno-iptables-firewall/firewall.conf и перезагрузить брандмауэр:

$ sudo /etc/init.d/arno-iptables-firewall restart

FreeBSD

FreeBSD отличается тем, что имеет две независимые реализации механизма NAT (а значит, и технологии проброса портов). Первая носит имя natd и, как можно догадаться из названия, представляет собой демон уровня пользователя, который принимает «сырые» пакеты, выполняет необходимые преобразования адресов и отдает их обратно ядру. Вторую принято называть kernel nat, то есть механизм NAT, реализованный в ядре FreeBSD. Он позволяет выполнять преобразование адресов и проброс портов, используя правила брандмауэра ipfw.
Ясно, что вторая реализация производительнее и удобнее в использовании, и поэтому предпочтительнее. Однако kernel nat появился во FreeBSD не так давно, поэтому мы рассмотрим оба подхода на тот случай, если в твоем расп оряжении оказалась машина, использующая устаревшую версию этой операционной системы. Итак, метод номер один: natd, divert и все-все-все. Для активации NAT и проброса портов с помощью демона natd необходимо проделать следующие шаги:

1. Включить natd и ipfw в /etc/rc.conf:

# vi /etc/rc.conf
# Включаем natd
natd_enable=»YES»
# rl0 — внутренний интерфейс шлюза
natd_interface=»rl0″
natd_flags=»-f /etc/natd.conf»
# Включаем ipfw
firewall_enable=»YES»
firewall_type=»/etc/ipfw.conf»

2. Настроить NAT и проброс портов в /etc/natd.conf:

# vi /etc/natd.conf
same_ports yes
use_sockets yes
# Проброс портов:
# протокол адрес-сервера-внутри-сети:порт порт-на-шлюзе
redirect_port tcp 192.168.0.100:80 80

3. Чтобы все пакеты, проходящие через внешний интерфейс (rl1) шлюза,
перенаправлялись в natd и обрабатывались им, добавим правило divert
в /etc/ipfw.conf:

ipfw add divert natd ip from any to any in via rl1

Также разрешим общение всех с внутренним сервером:

ipfw allow tcp from any to 192.168.0.100 \
dst-port 80 in via rl0 setup

# vi /etc/ipfw.conf
# Настраиваем NAT
nat 1 config log if rl1 reset same_ports \
redirect_port tcp 192.168.0.100:80 80
# Заворачиваем весь трафик через внешний интерфейс в NAT
add nat 1 ip from any to any via rl1

Правила ‘nat’ имеют несколько опций, большинство из которых совпадает с опциями, используемыми демоном natd. Например, опция same_ports предписывает механизму NAT сохранять оригинальные номера исходящих портов для исходящих пакетов (нужно для правильной работы некоторых RPC-протоколов). Опция rdirect_port имеет тот же синтаксис, что и в файле /etc/natd.conf.

OpenBSD

Наверное, самый логичный и простой в настройке проброс портов получается в ОС OpenBSD. Здесь механизм NAT также реализован в ядре и настраивается с помощью штатного pf, синтаксис которого куда яснее и продуманнее синтаксиса ipfw и, уж тем более, iptables. Все тот же проброс 80-го порта на языке pf будет выглядеть следующим образом:

Как и прежде, rl1 — внешний интерфейс шлюза, 192.168.0.100 — адрес внутреннего сервера, а out_ip — адрес внешнего интерфейса шлюза. При этом, если проброс должен быть сделан на порт, отличный от 80-го, достаточно просто добавить ключевое слово «port» и числовое значение в конец первого правила.

Разрешается использование диапазонов портов, если, конечно же, оно может иметь какой-то смысл:

Прим. ред.: Например, с помощью этой фичи удобно разрешать прохождение трафика bittorrent:

Как и в других рассмотренных ранее брандмауэрах, принятие решения о дальнейшей судьбе пакетов возлагается на правила фильтрации, через которые пакет будет пропущен уже после перенаправления. Но есть одно маленькое исключение: используя ключевое слово «pass» совместно с правилом rdr можно добиться такого поведения системы, когда пакеты будут отпускаться во внешний мир, минуя правила фильтрации (см. скриншот «Форвардим входящие запросы на сервер терминалов и SQL-сервер»). Эта особенность может быть использована для отладки правил.

Будь внимателен, в OpenBSD 4.7 синтаксис конфига несколько изменился:

Cisco

С моей стороны было бы кощунством не рассказать про настройку проброса портов с помощью сетевого оборудования небезызвестной компании Cisco. Благо, здесь все решается одной простой строкой, которая, тем не менее, будет разной для различных типов устройств. Например, проброс портов в Cisco PIX (Private Internet Exchange) или ASA (Adaptive Security Appliance) осуществляется с помощью следующей строки конфигурации:

static (inside,outside) tcp 1.2.3.4 www \
192.168.0.100 www netmask 255.255.255.255

В то же время для оборудования, работающего на операционной системе Cisco IOS, строка будет выглядеть так:

ip nat inside source static tcp 192.168.0.100 80 \
1.2.3.4 80

Обе они не делают ничего кроме проброса порта 80 на сервер 192.168.0.100 для клиента с адресом 1.2.3.4. При этом если необходимо настроить проброс всех портов, достаточно просто опустить номера/ имена портов в строке конфигурации.

Openwrt и DD-WRT

Конечно же, кроме оборудования именитой Cisco на рынке существуют и гораздо менее дорогостоящие решения вроде разного рода домашних роутеров и точек доступа. Большой популярностью среди них пользуются ультра-бюджетные сетевые устройства таких компаний, как D-Link, ASUS, Linksys и других. На многих из них можно установить свободные и более продвинутые прошивки вроде OpenWrt, X-Wrt и DD-wrt, которые отличаются более развитой системой настройки и хорошим комьюнити. Естественно, проброс портов легко выполнить и с их помощью. В DD-Wrt проброс портов осуществляется с помощью локализованного веб-интерфейса. Чтобы настроить проброс по описанной выше схеме, достаточно открыть веб-интерфейс роутера (192.168.1.1), перейти на вкладку «NAT/QoS», далее — вкладка «Перенаправление портов». Теперь в поле «Приложение» пишем любое удобное для нас имя, например, «www», «Порт-источник» — внешний порт роутера, «Протокол» — TCP или UDP, «IP-адрес» — адрес внутреннего сервера, «Порт-приемник» — его порт. Далее выбираем галочку «Включить», жмем кнопку «Добавить », потом — кнопку «Применить».

Это действительно простой путь, который… не сработает для большинства российских провайдеров, предоставляющих как доступ к локальной сети (прямой), так и доступ к сети интернет (через VPN/PPTP). Дело в том, что добавленное таким образом правило будет применено к внешнему физическому интерфейсу, тогда как интерфейс ppp0, используемый для выхода в интернет через VPN/PPTP, останется не при делах. Для решения проблемы можно воспользоваться прямым вмешательством в недра DD-Wrt. Открываем вкладку «Тех.обслуживание», далее — «Команды» и набираем стандартные правила iptables:

Нажимаем «Сохр. брандмауэр» и перезагружаемся. Ненамного труднее выполнить эту операцию с помощью веб-интерфейса прошивок X-Wrt, представляющих собой, по сути, более юзабельный вариант OpenWrt. Жмем на «Network», затем «Firewall», выбираем в меню «New Rule» пункт «Forward» и нажимаем «Add». Записываем в поле «Forward To» IP-адрес внутреннего сервера, в поле «Port» помещаем номер пробрасываемого порта. В выпадающем меню выбираем пункт «Protocol» и нажимаем «Add», в появившемся меню выбираем протокол: TCP или UDP. Если порт, открытый на шлюзе, должен отличаться от порта внутреннего сервера, выбираем в выпадающем меню пункт «Destination Ports», получаем одноименное поле и вводим в него номер порта. Нажимаем кнопку «Save».

Того же эффекта можно достичь, отредактировав конфигурационный файл /etc/config/firewall следующим образом:

Другие подходы

Для осуществления проброса порта совсем необязательно использовать брандмауэры или системные демоны, как, например, этого требуют старые версии FreeBSD. Существует несколько других способов сделать это с помощью специализированного софта или стандартных инструментов ОС (кто знает, возможно, ты используешь Minix в качестве ОС для шлюза :)). Один из таких инструментов — SSH. Далеко не каждый системный администратор в курсе, что проброс порта является стандартной функцией этой программы. Возьмем, к примеру, следующую ситуацию. В локальной сети, закрытой от внешней сети NAT’ом, есть сервер, к которому тебе необходимо иметь доступ. Ситуация усугубляется тем, что ты не имеешь привилегий для настройки файервола на машине-шлюзе. Зато у тебя есть доступ к SSH-серверу, работающему на этом шлюзе. Как это может помочь? На самом деле очень сильно. Ты просто выполняешь следующую команду на удаленной машине (serverip — адрес внутреннего сервера, gateway-ip — адрес шлюза):

И вуаля, порт 8080 локальной машины становится портом 80 внутреннего сервера локалки. Теперь достаточно набрать в веб-браузере адрес localhost:8080, и ты попадешь туда, куда надо. Твой SSH-клиент создаст туннель с SSH-сервером шлюза, все передаваемые в рамках которого данные будут направлены на порт 80 внутреннего сервера.

Более радикальный способ — установка софта, специально созданного для осуществления проброса портов. Одна из таких программ носит имя rinetd и представляет собой высокопроизводительный сервер, позволяю щий пробрасывать любое количество соединений. Он есть в пакетах для популярных Linux-дистрибутивов и портах BSD-систем.
После его установки достаточно отредактировать файл /etc/rinetd.conf (/usr/local/etc/rinetd.conf), поместив туда строки следующего вида:

1.2.3.4 80 192.168.0.100 80

И (пере)запустить сервер командой:

$ sudo /etc/init.d/rinetd restart

во FreeBSD. Так же во FreeBSD придется активировать запуск rinetd при
старте:

# echo «rinetd_enable=»YES»» >> /etc/rc.conf

После этого весь трафик, пришедший на порт 80 машины 1.2.3.4, будет автоматически перенаправлен на тот же порт машины с IP-адресом 192.168.0.100.

Один из излюбленных способов проброса портов среди UNIX-администраторов заключается в использовании утилиты socket совместно с сетевым супер-сервером inetd. Как и все гениальное, идея в этом случае проста, а реализация очевидна. Открываем файл /etc/inetd.conf (даже если в твоей системе используется более новый xinetd, ты все равно можешь использовать этот файл) и добавляем в него строку следующего вида:

порт1 stream tcp nowait root /usr/local/bin/socket
socket 192.168.0.100 порт2

Здесь порт1 — это прослушиваемый порт на машине-шлюзе, а порт2 — порт назначения на внутренней машине 192.168.0.100. При этом оба они должны быть заданы в форме имени службы (www, ftp и т.д.), если же таковой не имеется (ты выбрал произвольный порт), то ее необходимо добавить в файл /etc/services.

Выводы

Несмотря на выбранный для статьи пример с пробросом порта в локальную сеть, у технологии DNAT есть множество других применений, включая создание более удобного способа доступа к удаленной машине, обход правил брандмауэра или просто обман. В любом случае, проброс портов остается очень удобной и легкой в реализации и применении технологией, которая может оказаться полезной в любой момент.

UDP-туннель между двумя NAT

Утилита pwnat (http://samy.pl/pwnat/) позволяет любому количеству клиентов, находящихся за одним NAT-сервером, соединяться с сервером, который стоит за другим NAT, причем никакой проброски портов на серверах не потребуется.

Клиент может подключаться через такой сервер к любым ресурсам, либо только к тем, что ограничены сервером pwnat.

Автоматический проброс портов

Universal Plug and Play (UPnP) — технология, призванная упростить и автоматизировать процесс общения сетевых устройств и приложений между собой. Поддерживается почти любым современным сетевым оборудованием, включает в себя механизм автоматического проброса портов в случае необходимости. Тот же механизм реализован во многих файлообменных программах.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *