Добавление правила в Брандмауэр Windows Server 2012 R2
В данной статье я расскажу как добавить разрешающее правило в Брандмауэр Windows Server 2012 R2 (в Windows Server 2008 R2 действия аналогичны). Правило будем добавлять на примере работы сервера 1С:Предприятие 8.х (необходимо открыть порт 1541 для менеджера кластера, порты 1560-1591 для рабочих процессов и порт 1540 для агента сервера).
Некоторые программы и службы при работе через сетевые протоколы используют определенные порты для обмена данными. По умолчанию включенный брандмауэр Windows блокирует подобную сетевую активность. В частности, если попытаться подключиться с клиентской машины к серверу 1С:Предприятие 8.х можно натолкнуться на ошибку:
Как проверить открытые порты?
Windows 10 записывает приложения, прослушивающие порт, и эта запись может быть проверена пользователем в любое время. Существует множество способов проверки. Но ниже представлены два самых простых метода, которые не требуют установки каких-либо сторонних утилит.
Использование команды AB
Чтобы определить приложение, которое прослушивает определенный порт на компьютере, используется команда «AB». В результате будет указано имя исполняемого файла, который сделал запрос. Для этого:
- Клацнуть по клавишам Win+R для открытия окна «Выполнить».
- Ввести cmd и нажать Shift+Ctrl+Enter, чтобы предоставить права Администратора.
- Добавить команду netstat -ab и кликнуть Enter.
- Подождать, пока отобразится список. Имя исполняемого файла появится под информацией о порте.
Использование команды AON
Есть еще одна команда, которая может использоваться для идентификации процесса, который прослушивает определенный порт. Эта команда покажет номер PID вместо имени исполняемого файла. Для этого:
- Нажать Win+R для открытия диалогового окна.
- Ввести cmd и нажать Shift+Ctrl+Enter для предоставления инструменту прав Администратора.
- В командную строку добавить netstat -aon, нажать Enter, чтобы выполнить ее.
- Список будет отображаться с номером PID в конце.
Состояние listening – система следит и контролирует, есть ли запросы на соединение.
Состояние established – успешно используется.
Состояние time_wait – произошла ошибка тайм-аута.
Состояние close wait – соединение нестабильно и скоро прекратится.
Теперь нужно записать в блокнот номер PID, а далее
- Клацнуть по Win+X и выбрать из списка «Диспетчер».
- Перейти на вкладку «Подробности», чтобы просмотреть все запущенные исполняемые файлы.
- Сопоставить номер PID с номером в списке (ИД), щелкнуть правой кнопкой мыши по исполняемому файлу и открыть его местоположение.
Брандмауэр Windows
Не смотря на то, что в настройках брандмауэра отсутствуют какие-либо намеки на портмаппинг, такие возможности у него есть — правда, доступны они только через командную строку, и ограничены только протоколом TCP.
Синтаксис команды для портмаппинга следующий:
Уточним назначение данных параметров:
- listenaddress — локальный адрес, с которого нужно будет переадресовать сетевое соединение
- listenport — локальный порт, с которого нужно будет переадресовать сетевое соединение
- connectaddress — адрес назначения, на который нужно будет будет переадресовать сетевое соединение
- connectport — порт назначения, на который нужно будет будет переадресовать сетевое соединение
Примеры:
Представим, что наш компьютер имеет адрес 10.0.0.13, а где-то в сети с адресом 10.0.0.23 есть веб-сервер. Сделаем так, чтобы при обращению к 80 порту на наш компьютер, происходило открытые веб-сайта с адреса 10.0.0.23:
А теперь предположим, что все в той же сети есть компьютер с RDP сервером, расположенном на нестандартном для него порту 4200. Сделаем так, чтобы при попытке подключится к удаленному рабочему столу на нашем компьютере с адресом 10.0.0.13 происходило подключение к другому компьютеру.
Узнать, какие порты настроены для переадресации на компьютере, можно с помощью команды .
Проброс удаленного порта
Пробрасывает порт на удаленной системе в другую систему.
Перенаправляет трафик с порта 8080 SSH-сервера для всех интерфейсов на порт localhost:80 на локальном компьютере. Если один из интерфейсов смотрит в Интернет, трафик, адресуемый на порт 8080, будет перенаправляться на локальную систему.
Переадресует трафик с порта 8080 SSH-сервера на localhost:80 в локальной системе, при этом доступ ко входу в SSH-туннель со стороны сервера разрешен только с IP-адреса 1.2.3.4 (обратите внимание: директиву необходимо установить в ). Прим
переводчика: здесь, возможно, ошибка. Флаг — это , выбор IP адреса на машине, на котором SSH-сервер будет слушать порт. Соответственно вместо одного человечка с IP должны быть человечки, а вместо должно быть
Прим. переводчика: здесь, возможно, ошибка. Флаг — это , выбор IP адреса на машине, на котором SSH-сервер будет слушать порт. Соответственно вместо одного человечка с IP должны быть человечки, а вместо должно быть .
Переадресует трафик с порта 8080 SSH-сервера для всех интерфейсов на localhost:80 в локальной системе. Далее трафик из локальной системы направляется на example.org:80. С точки зрения example.org источником трафика выступает локальная система.
Конфигурация SSH-сервера
SSH-сервер конфигурируется в файле .
По умолчанию переадресуемые порты недоступны для доступа из Интернета. Для переадресации публичного интернет-трафика на локальный компьютер добавьте в на удаленном сервере такую строку:
Также в можно указать, каким клиентам разрешен доступ:
Приступаем к настройке
В основном меню программы (горизонтальное черное) выбираем Interfaces → Assignments.
Веб-страница обновится, появится список всех сетевых интерфейсов. “Свободные” интерфейсы находятся в поле Available network ports. Все интерфейсы показаны с mac-адресами на них. Из выпадающего списка выбираем необходимый и нажимаем кнопку “Add”.
После завершения действия, система уведомит об успешном добавлении. Интерфейс получит название “LAN”. Сохраняем настройки кликом по кнопке “Save”.
Настроим сетевой адаптер. Для этого в главном меню открываем Interfaces → LAN.
Установкой галки в поле Enable задействуем интерфейс. Установим настройку IPv4 как статичный IP (Static IPv4).
В секции настроек конфигурации “Static IPv4 Configuration” указываем IP-адрес для этого интерфейса, в нашем случае 10.0.0.254, возможно у вас будет другой. В самом низу страница нажимаем кнопку “Save” для сохранения внесенных изменений.
Система уведомит о внесенных изменениях. Применим их кликом по кнопке “Apply changes”.
Как включить перенаправления портов в Windows 10 с помощью netsh portproxy?
Настройка переадресации портов в Windows выполняется из командной строки в режиме Portproxy команды Netsh. Синтаксис команды следующий:
где это находится,
- listenaddress – локальный IP-адрес, на котором ожидается соединение (полезно, если у вас несколько сетевых карт или несколько IP-адресов на одном интерфейсе);
- listenport – номер локального TCP-порта, соединение на которое будет перенаправлено (на этом порту ожидается входящее соединение);
- connectaddress – локальный или удаленный IP-адрес или DNS-имя, на которое вы хотите перенаправить сетевое соединение;
- connectport – номер TCP-порта, на который вы хотите перенаправить трафик с прослушивающего порта.
Используя параметры
, вы можете создавать правила переадресации портов между адресами IPv4 и IPv6.
Допустим, наша задача – заставить службу RDP отвечать на нестандартный порт, например 3340 (этот порт, конечно, можно изменить в настройках самой службы, но мы используем RDP, чтобы упростить продемонстрировать технику переадресации и переадресацию портов). Для этого нам нужно перенаправить входящий трафик с TCP-порта 3340 на другой локальный порт – 3389 (это стандартный номер порта RDP).
Примечание
Обратите внимание, что номер локального порта, указанный в listenport, не должен быть занят (прослушиваться) другой службой. Убедитесь, что номер порта свободен с помощью команды:
Кроме того, вы можете проверить, не прослушивает ли порт локально, с помощью командлета PowerShell Test-NetConnection:
Чтобы создать правило переадресации портов, запустите командную строку от имени администратора и выполните команду:
Где 10.10.1.110 – текущий IP-адрес этого компьютера
Теперь используйте утилиту netstat, чтобы убедиться, что Windows теперь прослушивает локальный порт 3340:
Примечание. Если эта команда ничего не возвращает и переадресация портов через интерфейс netsh portproxy не работает, убедитесь, что в вашей системе включен iphlpsvc (IP Helper).
А на сетевом интерфейсе, для которого создано правило переадресации портов, должна быть включена поддержка IPv6.
Это предварительные условия для правильной работы переадресации портов. Без IP Helper и без включенной поддержки IPv6 механизм пересылки не работает.
В Windows Server 2003 / XP для работы перенаправления вам также необходимо включить параметр реестра IPEnableRouter = 1 в ветке HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Services \ Tcpip \ Parameters.
можно определить процесс, прослушивающий указанный локальный порт, используя его PID (в нашем примере PID – 636):
Теперь попробуем подключиться к этому порту с удаленного компьютера с помощью любого RDP-клиента. В качестве порта rdp необходимо указать 3340 (номер порта указывается после двоеточия после адреса сервера rdp), например,
RDP-соединение должно быть установлено правильно.
Если вам нужно перенаправить входящее TCP-соединение на удаленный компьютер, используйте следующую команду:
Это правило перенаправит весь входящий трафик RDP (с локального TCP-порта 3389) с этого компьютера на удаленный компьютер с IP-адресом 192.168.1.100.
Кроме того, для перенаправления локального порта на удаленный сервер в Windows вы можете использовать метод SSH-туннелирования.
Когда пользователю нужно открыть порт в Windows 10?
Порты представляют собой подобие коридоров между роутером и вашим ноутбуком или ПК. Они используются для передачи разных типов данных, имеют свои особенности. Если вы ищете, как открыть порт 11000 на Windows 10, то ваш компьютер не дает установить соединение в онлайн-игре. Существуют и другие порты, которые отвечают за разные типы передачи данных:
- 80 и 443 – отвечают за использование протоколов HTTP, HTTPS, используются для коммуникаций в играх;
- 3389 – открывает соединение с серверами Microsoft;
- 7777 – позволяет использовать некоторые игры (в том числе Terraria) и онлайн-чаты (iChat);
- 11000 – нужен для игр R2;
- 27015 – используется для передачи пакетов данных в играх серии Half-Life;
- 27018 – используется для соединения через Steam;
- 25565 – сетевое подключение для Minecraft.
Как видите некоторые игры и сервисы используют собственные порты, что не всегда адекватно воспринимается операционной системой. По умолчанию любая версия Windows закрывает доступ к портам, чтобы обеспечить свою безопасность. Для этого используются стандартный брандмауэр и антивирусное программное обеспечение. Поэтому часто в инструкциях к сервисам могут встречаться рекомендации отключить защиту, но мы рекомендуем это не делать. Лучше всего самостоятельно решить проблему, как открыть порт 27015 на Windows 10 (номер порта может быть любой другой).
Как проверить доступность порта?
Часть программ оповещает пользователя о недоступности порта, но многие «клиенты» просто перестают работать. Провести проверку можно самостоятельно – вам нужно лишь знать номер используемого программой порта. Есть два способа:
- Проверить открытые порты на Windows 10 при помощи онлайн-сервиса 2ip. В специальном поле на официальном сайте нужно вписать номер нужного тоннеля. Результат вы получите автоматически.
- Использовать командную строку и комбинацию . Перед вами появится перечень активных и доступных портов, если необходимый номер вы в списке не нашли, то нужно активировать его работу вручную.
Первый способ подойдет только в том случае, если вам не нужно открыть порт 80 и 443 на Windows 10. Так как если эти «туннели» не активны, вы не сможете перейти на нужный сайт. Командная строка работает даже при отсутствии возможности выхода в Интернет.
Применение и назначение портов
Для синхронизации и взаимодействия хостов (клиент-сервер) при использовании какого-либо программного обеспечения, а также для получения и передачи данных используются программные порты, которые выступают в роли туннелирования. Туннелирование – это процесс, в ходе которого создается защищенное соединение между взаимодействующими хостами. Для непосредственного процесса взаимосвязанности хостов клиент, содержащий актуальные данные о себе (как отправитель), направляет запрос на удаленное назначенное устройство (получатель).
Принцип действия заключен в том, что все данные в сегментированном виде посредством транспортных протоколов tcp или udp отправляются на назначенный сетевой интерфейс, а впоследствии и на порт. Транспортный протокол tcp включает в себя гарантированную доставку целостности данных на основе контрольной суммы. Если какие-то данные при передаче будут утеряны, процесс передачи повторится вновь. Протокол udp обычно используется в видеотрансляциях, где потеря данных несущественна и в целом незаметна.
Если назначенный порт программы, приложения или какого-либо сервера по каким-либо причинам недоступен, его необходимо открыть. Формально открытие порта производится для защищенного доверенного соединения, что предоставляет доступ для передачи данных. В противном случае взаимодействия попросту не произойдет.
Просмотр активных соединений
Открываем командную строку
Для возможности просмотра состояния сессий необходимо открыть командную строку и воспользоваться встроенной утилитой netstat, которая дает представление о текущих установленных соединениях. Чтобы открыть командную строку, нажмем сочетание клавиш «WIN + R» и в поисковой службе «Выполнить» введем запрос «cmd» и нажмем «ОК».
Перед нами откроется командная строка. Для просмотра текущих активных соединений, вводим текстовую команду «netstat -a» и нажимаем Enter.
Доступные соединения
Посредством утилиты netstat перед нами отобразится список текущих установленных соединений или активных сессий. Каждая сессия показывает, по какому транспортному протоколу осуществляется передача данных. В локальном и внешнем адресах отображены данные об отправляющем и принимающем запросы хостах. Запись вида 192.168.1.47:53229 представляет собой в левой части сетевой адрес нашего компьютера, а в правой (после двоеточия) – присвоенный временный номер порта. Для установления кратковременной сессии между нашим компьютером и сервером (или какой-либо программой) порт выдается случайным образом, и может находиться в промежутке с 49152 до 65535. Все остальные порты вплоть до 49151 являются зарезервированными.
В некоторых случаях порт удаленного сервера отображается как имя – на это влияет системный конфигурационный файл, в котором заведомо прописано соответствие имени и порта. Пример такой записи: 52.139.250.253:https. В зависимости от состояния соединения, определения их статусов обозначаются следующим значением:
- LISTENING – «порт прослушивается». Компьютер ожидает подключения по этому порту.
- ESTABLISHED – соединение успешно установлено, и в данный момент с удаленным компьютером осуществляется взаимодействие.
- CLOSE_WAIT – ожидание закрытия сессии подразумевает, что в скором времени соединение будет закрыто.
- TIME_WAIT – состояние временного ожидания указывает на то, что некоторое количество времени между хостами не устанавливалось соединения.
Немного теории
Проброс портов несвязан с типом камер. Какая бы у вас система видеонаблюдения ни была: ip или аналоговая — все завязано на роутере. Разница состоит в том, что аналоговые камеры не имеют своего ip адреса.
Принципиальная схема удаленного подключения к видеорегистратору или ip камерам
Каждая аналоговая камера при помощи кабеля напрямую соединяется с видеорегистратором. Видеорегистратор подключается в сеть и в нем делается проброса портов.
Каждая ip камера имеет свой ip адрес в сети, например, одна — 192.168.0.110, вторая — 192.168.0.111. Видеорегистратор тоже имеет свой ip адрес, допустим, 192.168.0.100. В отличие от аналоговых камер, цифровые камеры можно подключать в коммутатор (свитч) в любом месте локальной сети. И когда вы объединяете коммутаторы в одну сеть — вы можете подключаться к ip камерам напрямую и через видеорегистратор.
Настройка программы на ПК для удаленного подключения к видеокамерам
Каждая камера имеет не только свой ip адрес, но и web-интерфейс, логин и пароль для входа.
Таким образом, в действительности вы можете подключаться удаленно не только к видеорегистратору, но и к камерам напрямую. Для этого необходимо сделать проброс портов на роутере не только для ip-адреса видеорегистратора, но и для ip-адреса каждой камеры.
Настройка проброса портов
После того, как все подготовили, можно настроить проброс портов на роутере. Это осуществляется путем заполнения таблицы, в которой указаны:
- Порт роутера;
- IP устройства;
- Порт устройства.
Роутер будет проверять все входящие пакеты. IP-пакеты пришедшие на указанный порт роутера будут перенаправлены на выставленный порт устройства.
В настройках переадресации добваляем новый виртуальный сервер.
Запись настраивается следующим образом:
- Порт сервиса — это как раз тот порт, по которому будут подключаться из интернета;
- Внутренний порт — это порт устройства, к которому надо открыть доступ;
- IP-адрес — это адрес устройства в локальной сети
- Протокол — тут можно выбрать протокол TCP или UDP. Можно выбрать «ВСЕ», тогда будут перенаправляться оба протокола.
- Состояние — здесь выбираем «включено». При не надобности, можно отключить проброс, не удаляя запись.
Пункт «стандартный порт сервиса» предназначен только для того, чтобы упростить выбор портов. При выборе нужного сервиса, их номера просто подставятся в поля «порт сервиса» и «внутренний порт». Ниже будут рассмотрены основные сервисы.
После того как все настройки выполнены, следует их сохранить.
Номера портов
Следует обратить внимание, что номера портов могут задаваться в диапазоне от 0 до 65536. На компьютере эти порты делятся на следующие группы :
На компьютере эти порты делятся на следующие группы :
- Системные (от 0 до 1023);
- Пользовательские (от 1024 до 49151);
- Динамические (от 49152 до 65535).
Если для проброса портов вам нужно выбрать любой порт, который будет открыт на роутере, то без особой необходимости желательно не использовать системный диапазон. Лучше всего в таком случае открывать порты на роутере из динамического диапазона.
Стандартные сервисы
Для организации доступа к сервисам, некоторые роутеры помогают правильно выбрать номер порта автоматически. Таким образом, можно сделать так, что при обращении к порту FTP из интернета, обращение переадресовывалось на FTP сервис, запущенный на одном из локальных компьютеров. Рассмотрим основные:
Сервис | Порт | Пояснение |
DNS | 53 | Преобразование символьного наименования в IP-адрес |
FTP | 21 | Хранение и передача файлов |
GOPHTER | 70 | Хранение и передача документов |
HTTP | 80 | Получение информации с сайтов |
NNTP | 119 | Сервер новостей |
POP3 | 110 | Получение почты |
PPTP | 1723 | Защищенное соединение |
SMTP | 25 | Прием и передача почты |
SOCK | 1080 | Передача минуя межсетевой экран |
TELNET | 23 | Управление в текстовом виде |
Брандмауэр
После настройки проброса портов на роутере все должно работать. Но то же делать, если все равно не удается подключиться? В таком случае следует проверить настройки антивируса и брандмауэра Windows на компьютере, к которому осуществляется подключение. Возможно они считают подключения подозрительными и не дают доступ. В этом случае в брандмауэре следует прописать правило, разрешающее подключение к заданному порту.
В настройки брандмауэра проще всего попасть двумя способами:
- Записываем в строке поиска «Брандмауэр Защитника Windows». После ввода первых нескольких букв, находится нужное приложение.
- Выполнить «firewall.cpl». Для этого надо одновременно нажать комбинации клавиш +<r>, поле поле открыть записываем команду и нажимаем «OK».</r>
В дополнительных параметрах выбрать правила для входящих подключений. Там создаем новое правило. Рассмотрим это подробно.
Здесь показано основное окно настроек брандмауэра . Выбираем дополнительные параметры.
Два раза щелкаем мышью по пункту «Правила для входящих подключений». После этого в правой колонке, которая называется «Действия» жмем на «Создать правило…».
Выбираем тип правила «Для порта» и жмем далее.
Выбираем необходимый протокол. В большинстве случаев это TCP. Указываем локальный порт, для которого мы ранее настраивали проброс порта на маршрутизаторе. Можно задавать сразу несколько портов через запятую или диапазон через «-«.
С точки зрения безопасности, тут важно выбирать не все локальные порты, а именно указать нужный. Выбираем «Разрешить подключение»
Выбираем «Разрешить подключение».
Указываем галочками профили.
Пишем свое имя для правила. Желательно выбрать такое имя, чтобы потом было легко его найти, в случае если решити отключить это правило или видоизменить. Можно для себя оставить пометку в виде описания, чтобы потом было легче разобраться для чего это правило было создано.
После того как параметры были настроены, жмем кнопку «Готово». Созданное правило автоматически добавится в список правил для входящих подключений и активизируется. При необходимости его можно редактировать, отключить или удалить.
Отключение брандмауэра
В основном меню брандмауэра имеется пункт «Включение и отключение брандмауэра Защитника Windows».
Выбрав этот пункт, можно отключить брандмауэр. Но это делать не рекомендуется, разве что для проверки того, что именно брандмауэр влияет на то, что не удается открыть порт.
После проверки не забудьте включить брандмауэр.
Удаленное видеонаблюдение все более востребованная услуга. Руководители и директора компаний все чаще ведут свои дела удаленно или в разъездах. Хорошо, когда за персоналом следит опытный заместитель или начальник отдела. А если ваш помощник не так хорош в этом деле? Или есть риск, что в ваше отсутствие будет «слив» клиентов на сторону? Или будет процветать воровство?
Задачи, решаемые удаленным просмотром разнообразны. Для запуска просмотра необходимо на завершающем этапе монтажа камер сделать проброс портов на роутере, иногда эту процедуру называют перенаправлением портов.
Проверка
Для проверки обычно используют два метода – сайт 2ip.ru и командную строку. Разберемся, как проверить порт через сайт:
- Откройте ссылку https://2ip.ru/ и перейдите в раздел «Проверка порта».
- Впишите интересующий вас номер и нажмите на кнопку «Проверить».
Чтобы выполнить проверку через командную строку, необходимо:
- Запустить приложение через поиск.
- Ввести команду «netstat –a» и нажать на Enter.
- На экране вы увидите список портов, которые открыты в данный момент.
Ниже представлена таблица с некоторыми востребованными TCP/UDP ports. Общеизвестные и зарегистрированные значения включают в себя промежуток от 0 до 49151. Диапазон от 49152 до 65535 используется для кратковременных соединений типа «клиент – сервер».
Номер | Назначение |
80 | Подключение к HTTP |
280 | Подключение к HTTP-MGMT |
3389 | Удаленный рабочий стол |
443 | Подключение к HTTPS, различные игры |
515 | Служба печати |
666 | MDQS, игры DOOM |
989 | FTPS-DATA |
990 | FTPS |
1167 | Системы конференц-связи |
1234 | Потоковое видео, плеер VLC |
1241 | Nessus Security Scanner |
5121 | Neverwinter Nights |
6969 | BitTorrent |
8621 | Ace Stream |
16591 | Доступ к IP-камерам и регистраторам с мобильных устройств |
19226 | Panda Software |
27015 | Игры серии Half-Life |
27018 | Сервис Steam |
29900 | Nintendo Wi-Fi Connection |
37904 | LG TV |
Администратор заблокировал выполнение этого приложения в Windows 10: решено!
Другие подходы
Для осуществления проброса порта совсем необязательно использовать брандмауэры или системные демоны, как, например, этого требуют старые версии 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), поместив туда строки следующего вида:
И (пере)запустить сервер командой:
в Ubuntu или:
во FreeBSD. Так же во FreeBSD придется активировать запуск rinetd при
старте:
После этого весь трафик, пришедший на порт 80 машины 1.2.3.4, будет автоматически перенаправлен на тот же порт машины с IP-адресом 192.168.0.100.
Один из излюбленных способов проброса портов среди UNIX-администраторов заключается в использовании утилиты socket совместно с сетевым супер-сервером inetd. Как и все гениальное, идея в этом случае проста, а реализация очевидна. Открываем файл /etc/inetd.conf (даже если в твоей системе используется более новый xinetd, ты все равно можешь использовать этот файл) и добавляем в него строку следующего вида:
Здесь порт1 — это прослушиваемый порт на машине-шлюзе, а порт2 — порт назначения на внутренней машине 192.168.0.100. При этом оба они должны быть заданы в форме имени службы (www, ftp и т.д.), если же таковой не имеется (ты выбрал произвольный порт), то ее необходимо добавить в файл /etc/services.
Далее можно перезагрузить inetd командой «kill -HUP» и наслаждаться результатом. Если же его нет, то смотрим в файл /etc/hosts.allow. Доступ к службе должен быть открыт.
Если Интернет провайдер использует NAT
NAT — это технология, которая позволяет множеству устройств выходить в Интернет используя один и тот же IP адрес. Кстати, в вашей локальной сети, в которой имеется роутер, уже применяется NAT — именно благодаря этому все ваши устройства могут выходить в Глобальную сеть и не нужно каждому из них иметь внешний IP.
Как вы понимаете, это часто используемая технология. Возможно, вы много лет ею пользуетесь, даже не зная про неё. Она действительно приносит очень много пользы, но у неё есть недостаток — она позволяет делать подключения «в одну сторону». То есть если ваш компьютер инициализировал подключение к Интернету, то он отправит его роутеру, роутер сделает две вещи: 1) запомнит, что запрос пришёл с определённого устройства и 2) отправить этот запрос в Интернет. Когда придёт ответ, роутер всё ещё «помнит», что этот запрос был сделан для определённого устройства в локальной сети, и отправит ответ именно этому устройству. И так происходит каждый раз.
Но вот если на роутер придёт новый HTTP запрос из Глобальной сети (не ответ на запрос, а именно новый запрос), то роутер банально не знает, для кого в локальной сети он предназначен (если не настроена переадресация портов). Поэтому с этим поступившим запросом роутер ничего не делает. Мы уже рассмотрели эту проблему и даже нашли решение — переадресация портов. Но многие Интернет-провайдеры также используют NAT. И работа происходит по точно такому же принципу — ваши HTTP запросы уходят в Глобальную сеть и вы без проблем получаете HTTP ответы, но новые запросы из Интернета к вашему компьютеру не могут пройти через NAT.
И поэтому даже если вы на своём роутере правильно настроили форвардинг портов, может получиться так, что вы всё равно не сможете подключится к нему из Интернета. Выход из такой ситуации только один — аренда белого IP у Интернет-провайдера.
Configuring Firewall Rules for Port Forwarding Mode in Windows
Ensure that your firewall (Microsoft Windows Defender or a third-party firewall, which is often part of the anti-virus software) allows incoming connections to the new port. You can add a new allow rule to Windows Defender Firewall with the command:
Or using the New-NetFirewallRule PowerShell cmdlet:
When creating an inbound firewall rule for TCP/3340 port via Windows Defender Firewall graphical interface, you don’t need to associate a program or process with the rule. This port is only listened on by the network driver.
If you disable the portproxy rule, be sure to remove the remaining firewall rule as follows:
or remove firewall rule with PowerShell: