FreeBSD: Проброс портов в локальную сеть для RDP и Radmin

Инструкция описывает процесс настройки перенаправления сетевых запросов с внешнего подключения на компьютеры в локальной сети.

Начальные данные

У нас имеется компьютер под управлением linux, выступающий в роли маршрутизатора с одним внешним интерфейсом enp0s3 для доступа в Интернет () и внутренним enp0s8 интерфейсом Локальной сети (10.0.7.1). Требуется пробросить tcp порт (2121) с белого ip-адреса на серый ip-адрес Локальной сети порт (21).

Чаще всего проброс трафика используется, если мы находимся в локальной сети и от внешнего мира отделены шлюзом. Для того, чтобы открыть доступ для локальных служб (ssh, web, ftp и т.д.), нам необходимо пробросить порты. Поскольку в качестве шлюза мы будем использовать сервер на Linux, то осуществлять данные действия будем с помощью утилиты iptables.

Как работает NAT?

Чтобы иметь возможность общаться с другими компьютерами в сети компьютер должен иметь уникальный ip адрес. Но поскольку количество адресов уменьшалось нужно было придумать технологию, которая позволяла бы давать один адрес нескольким машинам. И была придумана технология NAT или Network Address Translation.

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

Недостаток в том, что инициировать подключение извне нельзя, потому что маршрутизатор просто еще не знает к кому обращаются. Тут на помощь приходит проброс портов. Мы можем сказать роутеру: при поступлении пакетов на порт 80 перенаправлять их на порт 80 компьютера Теперь адрес отправителя и порт будет заменяться на указанный нами и пакет будет передан туда, куда нужно. Если на маршрутизаторе установлен Linux, то все это можно настроить с помощью iptables.

Что такое «проброс портов» и зачем его делать

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

Зачем открывают порты на маршрутизаторе? Чтобы ответить на данный вопрос следует немного разобраться в функционале роутера. Каждый Wi-Fi-роутер работает как «раздатчик» трафика пользователям и имеет 2 особенности:

  • Может обеспечивать подключение к сети нескольким устройствам одновременно.
  • Только принимает трафик, но не передает его обратно в сеть.

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

MikroTik NAT. Общая информация

NAT (Network Address Translation) – преобразование сетевых адресов. Главное назначение NAT – это экономия белых IP-адресов и повышение безопасности сети за счет ограничения обращений к внутренним хостам LAN снаружи и возможности скрыть сервисы с помощью подмены портов.

«Классический» NAT предполагает, что количество одновременных выходов в интернет из локальной сети за “натом” ограничено количеством свободных портов TCP/UDP. Благодаря этому множество устройств может одновременно выйти в интернет через один белый IP.

По умолчанию для LAN сети, находящейся за “натом”, доступ в интернет есть, а из глобальной сети в NAT-сеть попасть нельзя. За исключением случаев проброса портов.

Настройка NAT на MikroTik подразделяется на два типа:

  • Destination NAT – изменение IP-адреса назначения и выполнение обратной функции для ответа. Преобразование адреса получателя называется dst-nat;
  • Source NAT – изменение IP-адреса источника и выполнение обратной функции для ответа. Преобразование адреса источника называется src-nat.

Все остальные действия – производные от dst-nat и src-nat.

NAT обрабатывает только первый пакет соединения (connection-state=new).

Схематично принцип работы NAT можно изобразить так:

Принцип работы MikroTik NAT

Настройка проброса портов в VirtualBox для SSH

SSH – сервер обычно прослушивает 22 порт, поэтому нам необходимо пробросить подключение именно на 22 порт.

Шаг 1

Для того чтобы пробросить порт, запускаем VirtualBox и заходим в настройки нашей виртуальной машины с Ubuntu Server. Например, выбираем нужную машину и нажимаем кнопку «Настроить», данный пункт также доступен, если нажать правой кнопкой мыши по выбранной виртуальной машине.

Шаг 2

Затем переходим в раздел настроек «Сеть», и открываем вкладку с включенным адаптером. Тип подключения, как Вы помните, «NAT» — для доступа в Интернет.

Шаг 3

Далее щелкаем на пункт «Дополнительно», чтобы отобразить дополнительные настройки данного адаптера, и после этого нажимаем на кнопку «Проброс портов».

Шаг 4

В итоге у нас откроется окно «Правила проброса портов». Для добавления нового правила нажимаем на иконку с плюсиком.

Шаг 5

На данном этапе Вы уже должны знать IP адрес гостевой операционной системы и порт, который прослушивает SSH сервер (по умолчанию это 22 порт). В Ubuntu Server IP адрес можно узнать с помощью команды ifconfig (по умолчанию это ).

Описание колонок таблицы с правилами:

  • Имя – название правила, в нашем случае разумно назвать SSH;
  • Протокол – протокол, по которому будет происходить взаимодействие. В обычных случаях это – TCP;
  • IP хоста – IP адрес Вашего реального компьютера, можно указать 127.0.0.1 или оставить данное поле пустым;
  • Порт хоста – любой свободный порт Вашего компьютера, который будет использоваться для перенаправления на нужный порт в гостевой ОС. Я указал 2222;
  • IP гостя – здесь указываем IP адрес гостевой операционной системы на который будет происходить перенаправление, в моем случае это ;
  • Порт гостя – порт гостевой ОС, на который нам необходимо пробрасывать наши запросы. В нашем случае это 22 порт, который прослушивает SSH сервер.

После заполнения таблицы с правилом, нажимаем «ОК».

Шаг 6

На этом настройка проброса портов закончена, теперь мы можем проверить работу данного правила (проброса). Для этого сначала запускаем виртуальную машину с Ubuntu Server, а затем программу PuTTY. На вкладке Session выбираем тип соединения SSH и в поле Host Name пишем локальный адрес компьютера (хоста), которой мы указывали в колонке «IP хоста» в правилах проброса портов, если ничего не указывали, то пишите 127.0.0.1. В поле порт указываем номер порта, который мы указывали в колонке «Порт хоста», т.е. 2222. Нажимаем кнопку «Open».

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

У меня на этом все, надеюсь, материал был Вам полезен, пока!

Нравится17

Не нравится

Как выполнить проброс портов в Ubuntu Server

Термин «проброс портов» активно используют в своей терминологии профессионалы, а для новичков подобный жаргон часто остаётся непонятным. Это технология, которая позволяет работать с компьютером в локальной сети из интернета.

При этом в локальной сети может находиться маршрутизатор, который использует преобразование сетевых адресов. Таким образом, происходит перенаправление трафика с определённых портов по внешнему адресу на определённый адрес ПК во внутренней сети.

С Ubuntu проброс портов достаточно несложен в исполнении.

Проброс портов может понадобиться при организации пиринговой сети.

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

Средствами маршрутизатора

На некоторых маршрутизаторах есть возможность быстро включить поддержку проброса. Допустим, на устройствах D-Link она носит название «виртуальный сервер». Как правило, такая настройка выполняется через web-оболочку.

  1. Откройте браузер. В адресной строке наберите
  2. Введите имя пользователя и пароль.
  3. Если на вашем маршрутизаторе есть Мастер настройки, запустите его и выберите задачу «Настройка виртуального сервера». Или же попробуйте найти такую функцию в разделах настроек «Межсетевой экран (Брандмауэр, firewall).
  4. В появившихся окнах задайте все необходимые параметры сервера. Как правило, это:
    • Интерфейс. Здесь нужно выбрать соединение для связи между компьютерами.
    • Внутренний IP. Это адрес сервера в местной сети.
    • Внешний (удалённый) IP. Адрес сервера, с которого будет осуществляться доступ.
    • Имя настройки. Имя для набора параметров.
  5. Сохраните введённые настройки.

Такой подход позволяет создать перенаправление средствами роутера. Он применим к любой операционной системе, в том числе, к Убунту Сервер.

С использованием hamachi

Этот способ ориентирован именно на Ubuntu, где проброс портов будет выполняться с помощью Hamachi. Хамачи позволяет построить VPN. Другими словами — это программа для работы с виртуальными частными сетями.

Допустим, в разных сетях существует группа удалённых друг от друга ПК, а связь в сети выполняется через VPN Hamachi. Сама программа должна быть установлена на сервере. После этого можно настраивать проброс портов.

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

 Для выполнения инструкций потребуется компьютер с установленной Ubuntu Server.

Установка Хамачи. Для начала, загрузите пакет с официального сайта:

wget -hamachi__

Инсталлируйте нужный пакет:

sudo apt-get install lsb

Теперь проведите сборку пакета, который был загружен:

dpkg -i logmein-hamachi__

Можно запустить соответствующую службу, а также саму программу:

service logmein-hamachi starthamachi login

Присвойте личному компьютеру имя в Хамачи. После этого подключитесь к нужной сети:

hamachi set-nick $ join $NAME_NETWORK

Введите все нужные данные для доступа к сети.

Теперь рассмотрим, как на базе созданного подключения прокинуть порт. Воспользуемся утилитой Rinetd. Для начала нужно загрузить саму утилиту:

sudo apt-get install rinetd

Теперь в файлы конфигурации потребуется внести изменения:

nano /etc/

Сам файл, открываем при помощи редактора nano. В конце документа нужно добавить строчку:

(IP-интерфейса сервера) (прослушиваемый порт) (адрес внешнего ПК) (порт внешнего ПК)

Вставлять значения нужно без скобок, с пробелами. Для каждого подключения нужно добавить свою строку, по порядку. Теперь нужно выполнить перезапуск службы:

service rinetd restart

Теперь потребуется отключить межсетевой экран:

sudo ufw disable

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

С использованием squid

Squid — это прокси-сервер для Ubuntu. Мы уже рассматривали, как прокинуть порт на Ubuntu Сервер, Squid — также хороший инструмент для этого. Он поможет, когда необходим максимальный контроль сетевого трафика. Squid можно установить по команде:

sudo apt-get install squid3

Настройка программы выполняется правкой директив, расположенных в файле:

/etc/squid/

О других особенностях использования Squid вы сможете узнать на официальном сайте.

Заключение

Проброс портов оказался не так уж и сложен, не правда ли? Убунту Сервер имеет ещё много возможностей по управлению сервером. Если у вас есть вопросы по другим программам для Убунту, и вы не знаете, кого спросить — задайте их в х к этой статье!

Настроим сетевые интерфейсы клиентов

При настройке сетевых интерфейсов клиентов важно помнить, что адрес сервера pfSense должен быть указан в качестве шлюза, в нашем случае

Настройка в Ubuntu

Редактируем файл /etc/network/interfaces:

auto ens31

iface ens31 inet static

address 10.0.0.2

netmask

dns-nameserver 8.8.8.8

gateway

Перезапускаем службу сети:

/etc/init.d/networking restart

Windows

Для настройки сетевого адаптера в среде Windows необходимо открыть Пуск →  Панель управления → Сеть и интернет → Сетевые подключения либо

Пуск →  Панель управления → Сеть и интернет → Центр управления сетями и общим доступом  → Изменение параметров адаптера.

В открывшейся папке кликаем правой кнопкой мыши по значку сетевого адаптера, выбираем “Свойства”.

В открывшемся окне кликом мыши по названию (не по галке) выбираем “Протокол Интернета версии 4 (TCP/IPv4)”. Нажимаем кнопку “Свойства”.

В новом окне указываем:

  • IP-адрес — 10.0.0.3;
  • Маска подсети: ;
  • Шлюз — ;
  • Предпочитаемый DNS-сервер: 8.8.8.8.

Для сохранения нажимаем кнопку “OK”. В окне Свойств сетевого адаптера также нажимаем кнопку “OK”.

Важно! Еще раз обращаем внимание, что IP-адрес сервера pfSense должен быть указан в качестве основного шлюза и шлюза по умолчанию.

Настроим маршрутизацию

В главном меню веб-приложения выбираем Firewall → NAT. На вкладке “Port Forward “. Нажимаем кнопку Add.

На открывшейся странице редактирования правила перенаправления трафика создадим правило для RDP-интерфейса.

В поле Destination указываем Any.

Destination port range (from port) — выбираем порт назначения, в нашем случае MS RDP. Поле “to port” заполнится автоматически.

Redirect target IP — указываем IP-адрес сервера или компьютера под управлением ОС Windows.

Redirect target port — MS RDP.

При желании заполняем поле описания — “Description”.

Нажимаем кнопку “Save”. И не забываем нажать кнопку “Apply changes”.

Важно! В случае если порт RDP был изменен (по умолчанию 3389), имя порта выбираем “Other”, в поле Custom указываем текущее значение.

Созданное правило отображается как в примере ниже.

Аналогичным способом создаются правила, скажем, для SSH-доступа.

Проверка подключения

Для проверки работоспособности настроек требуется подключиться SSH-клиентом или приложением для доступа к удаленному рабочему столу на внешний IP-адрес сервера pfSense.

Также, проверку можно выполнить с помощью сниффера сетевых портов — nmap.

Поделиться Оценить

Средняя оценка: 5.0 Оценили: 1220140 Минск ул. Домбровская, д. 9 +375 (173) 88-72-49

  • 700 300 ООО «ИТГЛОБАЛКОМ БЕЛ»220140 Минск ул. Домбровская, д. 9 +375 (173) 88-72-49
  • 700 300 ООО «ИТГЛОБАЛКОМ БЕЛ»
  • 700 300

Что нужно, чтобы пробросить порты?

Выше отмечалось, что перед проброской необходимо узнать порт и MAC-адрес, а также настроить маршрутизатор. Кроме того, необходимо определить адрес роутера в локальной сети дома или офиса.

Все изменения вносятся через интерфейс маршрутизатора. Для работы потребуется:

  • адрес для входа (чаще всего );
  • логин и пароль (по умолчанию admin);
  • понимание принципов, как сделать проброс портов на роутере;
  • 10-15 минут личного времени.

Для настройки может потребоваться добавление портов. Для этого:

  1. войдите в интерфейс маршрутизатора;
  2. жмите кнопку «Добавить новый» и укажите необходимые данные (номер порта, данные компьютера).

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

С помощью Rinetd

Устанавливаем rinetd:

# cd /usr/ports/net/rinetd

# make install clean

Добавляем rinetd в :

# ee /etc/

rinetd_enable="YES"

Открываем файл конфигурации rinetd

# ee /usr/local/etc/

и добавляем в него следующие правила:

4899 4899

3389 3389

Вот первая прелесть: вместо можно указать 0.0.0.0 если нет статического IP.

Строка редиректа проста до безобразия:

– внешний IP адрес, на который приходит трафик;

4899 – номер порта, на котором «слушаем» пакеты;

– внутренний IP адрес на который мы делаем проброс портов;

4899 - порт во внутренней сети, на который заворачиваем пакеты.

Пример:

0.0.0.0 40001 4899

0.0.0.0 40002 3389

Здесь для пущей безопасности, порты на которых «слушаем» изменены на 40001 и 40002. В этом случае в настройках Radmin на удаленной машине нужно указать, не стандартный порт у молчанию, а этот 40001. В случае с RDP нужно на локальной машине, с которой подключаемся, указывать порт через двоеточие прямо в строке подключения :40002.

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

${fwcmd} add allow tcp from any to me 3389

${fwcmd} add allow tcp from any to me 4899

Теперь перезагружаем rinetd и firewall:

# /etc/rc.d ipfw restart

# /usr/local/sbin/rinetd rinetd restart (или start если он не был запущен).

Возможно придется перезапустить Freebsd, если команды не выполняются.

Вот, собственно и все. О таких прописных истинах, как то, что Radmin должен быть установлен на удаленной машине и RDP разрешен, думаю, говорить не стоит.

Также замечу, что способ с rinetd замечательно работает с сервисом DDNS от «Укртелекома» - в этом случае заказываем на сайте в личном кабинете себе динамический DNS вида *, который будет доступен независимо от того, с каким IP в данный момент поднята сессия. Например, вы заказали DDNS такого вида , то в Radmin в поле «IP адрес или DNS имя» указываем именно его, а в поле порт или оставляем «По умолчанию» 4899 или задаем свой порт. В случае с RDP, в окне «Подключение к удаленному рабочему столу» указываем так: - если rinetd настроена на прослушивание стандартного порта, или так: :40002 - если rinetd настроена на другой порт.

Еще раз уточняю детали:

— для Radmin: на удаленной машине (к которой будем коннектиться), устанавливаем Radmin Server, в настройках создаем пользователя и пароль для подключения, а также даем ему права; далее настраиваем rinetd как указано выше (например на нестандартный порт 40001); на локальной машине в Radmin создаем подключение с такими параметрами как на скриншоте ниже и можно пробовать подключатся.

— для RDP: на удаленной машине настраиваем уделенный доступ (Свойства системы -> Настойка удаленного доступа -> вкладка Удаленное использование -> ставим переключатель напротив Разрешать подключения от компьютеров с любой версией удаленного рабочего стола); настраиваем rinetd на нестандартный порт (например 40002); на локальной машине в окне подключения прописываем такую строку: :40002

Если все правильно сделано и нет других факторов, которые могут мешать нормальному пробросу портов (например кривые правила фаервола), то все должно работать.

Удачных пробросов, честь имею.

Windows

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

  1. Заходим в «Администрирование -> Маршрутизация», выбираем локальную машину, далее «IP-маршрутизация -> NAT».
  2. Включаем NAT для локального интерфейса.
  3. Переходим к вкладке «Службы и порты», выбираем интересующую нас службу или добавляем свою.
  4. В открывшемся окне выбираем протокол, входящий порт (тот, который будет виден извне), адрес машины внутренней сети и ее порт.

Виртуальный адаптер хоста VirtualBox

Еще один способ получить доступ к виртуальной машине извне — использовать виртуальный адаптер хоста. Тут вы можете настроить все более подробно, а также получить отдельный ip для машины, что дает больше возможностей. Сначала нужно создать виртуальный адаптер. Для этого откройте меню «Файл», затем «Настройки»:

Тут нужно перейти на вкладку «Сеть», затем «Виртуальные адаптеры»:

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

Тут вам нужно в выпадающем списке заменить «NAT» на «Виртуальный адаптер хоста». В поле имя, выберите «vboxnet0»:

Теперь можете запускать виртуальную машину и смотреть ее ip адрес:

По нему гостевая система будет доступной из внешней. Внешняя система теперь тоже полностью доступна из гостевой по адресу :

Виртуальный адаптер хоста VirtualBox
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Понравилась статья? Поделиться с друзьями:
Adblock
detector