Как открыть порты через vpn
Вынос локального сервера в сеть с помощью другого внешнего сервера
Добрый день, хабровчане! История такова: сколько себя помню, всегда дома висел какой-нибудь сервер, который очень хотелось вывести во всеми нами любимый Интернет.
«Ну и что тут сложного? Практически любой провайдер предоставляет статический белый IP за небольшую плату!», – скажите Вы и будете абсолютно правы. Но это платно, да и вообще хотелось попробовать чего-нибудь более оригинального. Основная проблема доступа к моему серверу – NAT. Если вдруг кто не знает, что это, ниже оставил пояснение из Википедии.
NAT (от англ. Network Address Translation — «преобразование сетевых адресов») — это механизм в сетях TCP/IP, позволяющий преобразовывать IP-адреса транзитных пакетов. Также имеет названия IP Masquerading, Network Masquerading и Native Address Translation.
Преобразование адреса методом NAT может производиться почти любым маршрутизирующим устройством — маршрутизатором, сервером доступа, межсетевым экраном. Наиболее популярным является SNAT, суть механизма которого состоит в замене адреса источника (англ. source) при прохождении пакета в одну сторону и обратной замене адреса назначения (англ. destination) в ответном пакете. Наряду с адресами источник/назначение могут также заменяться номера портов источника и назначения.
Принимая пакет от локального компьютера, роутер смотрит на IP-адрес назначения. Если это локальный адрес, то пакет пересылается другому локальному компьютеру. Если нет, то пакет надо переслать наружу в интернет. Но ведь обратным адресом в пакете указан локальный адрес компьютера, который из интернета будет недоступен. Поэтому роутер «на лету» транслирует (подменяет) обратный IP-адрес пакета на свой внешний (видимый из интернета) IP-адрес и меняет номер порта (чтобы различать ответные пакеты, адресованные разным локальным компьютерам). Комбинацию, нужную для обратной подстановки, роутер сохраняет у себя во временной таблице. Через некоторое время после того, как клиент и сервер закончат обмениваться пакетами, роутер сотрет у себя в таблице запись о n-ом порте за сроком давности.
Если своими словами, это внешний маршрутизатор, позволяющий Вам отправлять запросы в интернет, но не позволяющий Вам их получать. Ответ-то из Интернета Вы получаете, а значит уже не все потеряно. Мне вспомнилась старая программа LogMeIn Hamach, она же позволяла нам обмениваться пакетами данных при том, что ВСЕ клиенты были в закрытой NAT’ом сети. А что, если реализовать что-нибудь подобное:
Что здесь нарисовано? OPI – это моя Orange Pi PC, которая выполняет роль сервера, NAT – это, как несложно догадаться, маршрутизатор моего оператора (он может быть не один, но сути это не меняет), KVM – внешний сервер товарища, CLI – клиент. Возможно, у вас возник вопрос: «По какой причине ты не мог просто выкинуть все свои сервисы на сервер товарища?». Ответ прост: не хочу. В конце концов и дисковое пространство пришлось бы использовать чужое, а меня это не устраивает. Не говоря уже об усложнении администрирования и обслуживания сервера…
OPI подключается к KVM и между ними устанавливается VPN канал. А далее клиент подключается к KVM, и эта машина в свою очередь отправляет запрос через VPN к OPI.
Почему KVM? Сервер товарища – обычный VDS(Virtual Dedicated Server). Обычно это либо KVM (Kernel-based Virtual Machine), либо OVZ (OpenVZ). OVZ в нашем случае не подходит, так как iptables там работают как-то не так, да и вообще штука очень странная.
Настройка сервера
В теории это звучит все здорово, но теперь надо реализовывать на практике. Нужно выбрать протокол для VPN. Изначально, я был склонен к OpenVPN, но после череды проб, ошибок, неудач, пришел к выводу, что это не лучший протокол для таких действий. В конце концов он использует сложные алгоритмы шифрования, которые еще и будут неслабо грузить процессор OPI и внешнего сервера, поэтому мой выбор пал на протокол PPTP.
Первым делом надо установить сам PPTP демон на сервере:
Следующим шагом его надо настроить. Откроем его конфиг файл /etc/pptpd.conf и укажем IP адрес сервера и диапазон IP адресов клиентов:
Теперь нужно создать учетные записи VPN клиентов. Их список находится в файле /etc/ppp/chap-secrets
Мы создали клиента orange с паролем pass123 и IP адресом 10.0.0.100. Если вместо IP адреса указать *, то клиент получит любой свободный IP адрес из диапазона, указанного в remoteip. Нам рандома явно не надо. Теперь еще пару штрихов с настройками PPTPD. Добавим DNS сервера в файле /etc/ppp/pptpd-options
И перезагрузим PPTPD:
Очень важный шаг – включение IP форвардинга. Это позволит Вам пересылать пакеты между публичным IP и приватными IP, которые Вы настроили при помощи PPTP. Редактируем файл /etc/sysctl.conf и раскомментируем строку:
Отлично, теперь можно начинать колдовать с ipatables. Для начала узнаем название нашего сетевого интерфейса:
У меня он называется ens3. Однако, чаще всего он называется eth0.
Создаем правило iptables:
Не забудьте заменить интерфейс на свой. Если вы планируете в будущем использовать VPN для своих нужд, можете прописать правила, чтобы клиенты VPN сети могли взаимодействовать:
ppp0 – виртуальный интерфейс сети.
Настройка локального сервера
Далее нужно подключить нашего первого клиента – Orange PI. На этом моменте я засел надолго, так как все инструкции в интернете говорили одно и то же, и все они не работали.
Первым делом на Orange PI установим PPTP клиент:
Создадим файл /etc/ppp/peers/pptpserver и впишем следующее:
Не забудьте поменять IP адрес сервера и прочие данные на свои.
Далее закомментируем все строки в файле /etc/ppp/options вставкой символа #
Файл /etc/ppp/options.pptp нужно привести к следующему виду:
И, наконец, пробуем подключиться:
Если все получилось, попробуем посмотреть на наш виртуальный интерфейс:
Попробуем пропинговать Orange PI с внешнего сервера:
Проброс портов
Теперь самая малость: перенаправление пакетов с сервера на Orange PI. Тут уже способы могут быть разными, но так как на этом сервере 80 и 443 порт не используются вообще, мы можем просто попросить сервер все пакеты для этих портов перенаправлять на OPI
На забудьте поменять IP адреса на свои. Проверим, что все работает:
Здорово! Цель достигнута!
Маленькие доработки
Но вдруг в здании, где располагается Orange PI выключается свет и… После перезагрузки никто опять не может получить доступ к нашему апельсину. Почему? Потому что сам по себе Orange PI к VPN не подключится. Напишем простой скрипт на bash, который будет вциклически выполняться, проверяя, установлено ли соединение:
Теперь добавим его в автозагрузку. В файл /etc/rc.local впишем строку с расположением скрипта. В моем случае это:
Не забываем дать скрипту права на исполнение:
Внимательный пользователь мог заметить, что в скрипте есть команды echo, но ведь им некуда делать вывод! Изначально, я планировал сделать в виде сервиса, чтобы вывод удобно капал туда, но в итоге банально поленился, работает же. Кстати, а работает ли? Перезагружаем наш апельсин и видим, что интерфейс ppp0 успешно поднялся, а наши сервисы доступны из интернета. Цель достигнута, господа!
Все это сделано исключительно в развлекательных и учебных целях. Практической пользы это почти не несет, так как нам все равно необходим внешний сервер, да и нагрузка не его сеть удваивается, ибо ему приходиться принимать пакеты и сразу же передавать их дальше. Однако, у этого метода есть преимущества, т.к. реальный IP нашего сервера будет скрыт, этот внешний сервер сможет лучше противостоять DDoS атакам, а также сможет выводить беспокойным пользователям страницу о технических работах, если Orange PI будет недоступен. Конечно же, для этого нужно будет еще серьезно постараться, но разве не в самом пути к цели все удовольствие, товарищи?
VPN заблокирован брандмауэром Windows? Вот как это исправить
VPN заблокирован брандмауэром Windows? Вот как это исправить
Миллионы интернет-пользователей по всему миру используют VPN для шифрования и защиты своих данных, сохраняя при этом анонимный просмотр в Интернете.
VPN также помогают пользователям обходить географические ограничения и разблокировать контент с сайтов, к которым они в противном случае не смогли бы получить доступ, оставаясь анонимными.
Однако многие из этих пользователей сталкиваются с трудностями при попытке установить и / или запустить свой VPN-клиент в Windows, и обычно он блокируется брандмауэром или другим установленным программным обеспечением безопасности.
Что я могу сделать, если мой VPN заблокирован брандмауэром Windows?
1. Добавить исключение
Примечание. Большинство VPN-клиентов используют порты 500 и 4500 UDP и порт 1723 для TCP. Если они не работают, добавьте новое правило, чтобы разрешить их в расширенных настройках брандмауэра Windows.
2. Изменить Разрешить настройки приложения
3. Измените настройки адаптера
4. Создайте новое входящее правило
После этого вы сможете подключиться к домашним устройствам через VPN
5. Включить правило для PPTP
Если для вашей VPN требуется PPTP, сделайте следующее:
6. Открытые порты
Чтобы разрешить VPN-трафику проходить через брандмауэр, откройте следующие порты:
7. Отключите мониторинг SSL
В зависимости от вашего брандмауэра или программного обеспечения безопасности, есть шаги, чтобы исправить VPN, заблокированную брандмауэром Windows. Вот что нужно сделать, если вы используете NOD32 или Kaspersky:
NOD32:
8. Измените свой VPN
Вы также можете изменить свой VPN и посмотреть, решит ли он проблему. Отличный VPN, который вы можете использовать, это hide.me.
Серверы hide.me расположены по всему миру и поддерживают высокую скорость передачи данных, что делает его быстрым VPN для операционной системы Windows, помимо мощных функций и производительности.
Это фаворит среди лучших программ VPN для ноутбуков, поскольку он не только защищает вашу конфиденциальность в мультиплатформенном решении для обеспечения конфиденциальности, но и обеспечивает надежность.
Он не только очень эффективен при шифровании ваших данных, но также прост в настройке и использовании. Более того, эта простота неразрывно связана с покрытием из 10 устройств, которое дает вам одна подписка, чтобы даже ваши менее опытные друзья и члены семьи могли наслаждаться приватным просмотром.
Не тратьте больше времени и воспользуйтесь одной из самых функциональных VPN-сетей.
Удачи в исправлении VPN, заблокированной брандмауэром Windows с помощью вышеуказанных решений? Поделитесь с нами, оставив комментарий в разделе ниже.
Кроме того, оставляйте там любые другие предложения или вопросы, которые могут у вас возникнуть, и мы обязательно их рассмотрим.
СВЯЗАННЫЕ ИСТОРИИ, ЧТОБЫ ПРОВЕРИТЬ:
Примечание редактора : этот пост был первоначально опубликован в апреле 2018 года и с тех пор был полностью переработан и обновлен для обеспечения свежести, точности и полноты.
Warframe (брандмауэр порты 4950 4955): как включить и исправить ошибку подключения?
ВОПРОС! Всем привет! Помогите, пожалуйста! Начал недавно играть в Warframe. Хотели поиграть с другом, но при попытке к нему подключиться вылезает ошибка: «Не удалось присоединиться – хост не найден». Также при запуске игры вылезает сообщение, чтобы я проверил UDP порты 4950 и 4955. Как вообще их открыть и что нужно сделать, чтобы нормально поиграть?
БЫСТРЫЙ ОТВЕТ! Из сообщения видно, что ваш компьютер или роутер блокирует подключение, потому что данные порты не открыты. Открываются они на компьютере в Windows. Но помимо открытия портов их нужно еще также пробросить на роутере (если он у вас есть). Иногда они блокируются провайдером, или ошибка возникает при использовании серого IP. Сейчас я расскажу, что вам нужно сделать. Надеюсь, инструкция вам и другим читателям поможет. Все шаги пробовать не нужно, и после каждого, проверяйте подключение в варфрейме. Переходим к следующему шагу, только если текущий способ не дал результата.
ШАГ 1: Открытие портов
Проверяем работу. Если проблема останется, то попробуйте создать два дополнительных правила TCP также для портов 4950 и 4955. Если и это не поможет, то создаем по два правила (TCP/UDP) для двух портов в соседней ветке «Правила для исходящего подключения». Если и это не поможет, то значит нужно дополнительно пробросить эти же порты на роутере.
ШАГ 2: Проброс портов на роутере
Итак, порты то мы открыли, но так как мы находимся внутри локальной сети, то, скорее всего, вы не можете подключиться к хосту, потому что роутер блокирует подключение. Нам нужно на нем пробросить порты. Все это делается в Web-интерфейсе маршрутизатора.
Далее нас ожидает еще одна проблема. Дело в том, что прошивок, как и самих роутеров просто уйма, поэтому я оставлю ниже ссылки на отдельные модели. Лишь скажу, что вам нужно аналогично создать правила для проброса для двух портов (4950, 4955) и двух протоколов (TCP, UDP). А теперь сами инструкции:
Опять проверяем работу и подключение к хосту в игре.
ШАГ 3: Проверка серого IP
Если вы все сделали правильно, но подключения все равно нет, то есть вероятность, что ваш провайдер использует серый IP адрес. Что это значит? – это значит, что внешний IP адрес используют еще кроме вас несколько человек в подъезде или в доме. Например, у ТТК серые IP, а у Ростелеком белые динамические.
Так что нам нужно это проверить, про это я подробно пишу тут – идем сюда. Если же у вас серый IP адрес, то у вас есть три выхода:
Если же он у вас белый, то пробуем другие варианты решения.
ШАГ 4: Смена порта и региона в самой игре
Есть такая вероятность, что порт используется или заблокирован самим провайдером. В таком случае можно попробовать поменять порты в игре. В настройках в разделе «Геймплей» поменяется «Сетевые порты» на другие. Например, на 4960 или 4965. Также можно попробовать изменить регион. Можно попробовать их пробросить и открыть на роутере и в Windows, но вы уже знаете, как это сделать.
ШАГ 5: Использовать VPN или Proxy
И тут может возникнуть проблема. При использовании ВПН пинг будет сильно большой. При использовании прокси – чуть ниже. Поэтому тут нужно экспериментировать. Так что смотрим инструкции по настройке:
Напомню, что ВПН это почти то же самое, что и прокси, только канал полностью зашифрован – именно поэтому скорость передачи данных падает и растет пинг. В инструкциях используются бесплатные способы подключиться к VPN. Если он поможет, то вы можете уже использовать платные сервера – они должны снизить пинг.
ШАГ 6: Последняя надежда
Если ничего из перечисленного не помогло, то пробуем несколько последних шагов:
Если и это не помогает, то остается звонить провайдеру и спрашивать, не заблокированы ли у него данные порты.
Как и зачем открывать компьютерные порты?
В прошлый раз мы рассказали о том, что такое компьютерные порты. По сути, установленным на компьютере программам, которые используют Интернет, для нормальной работы нужен не только сам доступ в Сеть, но и открытые порты.
Как и другим программам, которые отправляют и принимают информацию из Сети, порты нужны для работы сетевым играм. Неважно, играете в Counter Strike, World of Tanks или «Доту»: все эти игры многопользовательские, а значит, им нужны порты для взаимодействия с другими игроками. Порты постоянно используют и другие популярные программы, например, Skype, Viber или μTorrent.
Примерно так можно описать ситуацию, когда порты вашего компьютера закрыты. Ваши программы, связанные с Сетью, отправляют информацию, но в ответ ничего не приходит. Конечно, при этом они не могут полностью выполнять свои функции. В играх это проявляется сообщениями об ошибке соединения, задержками в работе (лагами). Так, например, в World of Tanks может появляться сообщение «Destination Unreachable».
Чтобы понять, что при этом происходит и как с этим бороться, нужно понимать, как компьютер может быть соединен с Интернетом. Возможны три различных варианта: прямое подключение к Интернету, подключение через роутер и подключение с использованием трансляции сетевых адресов (NAT). Сейчас мы расскажем о каждом из этих случаев подробнее.
Прямое подключение.
При таком подключении ваш компьютер можно сравнить с частным домом. Этот дом стоит сам по себе, у него есть 65536 постоянно открытых дверей и свой отдельный адрес – название улицы и номер дома. При этом вы можете выйти из любой из дверей и пойти куда угодно. Точно так же кто угодно, зная название улицы и номер дома, может прийти к вам и зайти в любую из дверей. Вы либо ваши гости это и есть пакеты информации, передаваемой между вашим компьютером и Интернетом. Как вы уже догадались, все порты при таком подключении открыты, а информация может свободно передаваться в обоих направлениях.
Правда, такая ситуация это лишь идеальный случай. Почти всегда для защиты информации применяются межсетевые экраны – брандмауэры или Firewall’ы. О том, что это такое, мы уже писали. Если рассматривать его как часть нашего частного дома, то Firewall это сторож, который следит за тем, чтобы двери были закрыты, а войти и выйти могли только те, у кого есть пропуск. О том, как настроить Firewall для того, чтобы открывались те или иные порты, мы расскажем в отдельной статье.
Подключение через роутер.
Внешне домашний роутер представляет собой небольшую коробочку. По сути это тоже компьютер, задача которого сводится к получению доступа в Интернет и распределению его сразу на несколько устройств – компьютер, ноутбук, планшет или смартфон. Таким образом, если при подключении к Сети напрямую наш компьютер можно сравнить с частным домом, то при подключении к роутеру он является квартирой в многоквартирном доме. Вы можете легко выйти из квартиры через любую дверь (а их у нас, как вы уже могли догадаться, 65536) и пойти куда угодно. Но если кто-то хочет прийти к вам в гости, то теперь он должен знать не только название улицы и номер дома, но и номер квартиры. В подъезде при этом сидит строгий швейцар, который спросит у любого гостя, куда тот направляется, выяснит, ждут ли его, и лишь после этого впустит гостей.
Как видите, чтобы гости без лишних проблем попали к вам в квартиру, нужно объяснить это швейцару, то есть, настроить роутер. О тонкостях настройки роутеров различных производителей мы расскажем в отдельной статье.
Подключение с использованием NAT.
Таким образом, если ваш провайдер использует NAT, то вы не сможете открыть порт при всем желании. Об этом мы подготовили отдельную статью.
Как открыть порт в брандмауэре Windows
Взаимодействие программ в сети осуществляется через сетевые сокеты. Сокет состоит из ip-адреса компьютера и порта. В операционной системе Windows блокировкой и разрешением доступа к портам управляет собственный firewall, который называется «Брандмауэр Windows». Многие программы в процессе установки способны создать необходимые правила для проброса своих портов в брандмауэре. Но если этого не произошло, то необходимо создать такие правила самостоятельно.
Прежде всего необходимо узнать номер порта, через который программа осуществляет сетевое взаимодействие. Если порт известен, то можно приступать к настройке брандмауэра. В противном случае придется выяснить какой сетевой порт программа задействовала под свои нужды. Как это сделать можно посмотреть в статье «Как узнать какой порт использует программа».
Чтобы открыть порт в брандмауэре Windows, необходимо открыть Монитор брандмауэра Защитника Windows и создать правило для входящий подключений, в котором указать тип протокола и номер порта сетевого соединения.
В брандмауэре есть возможность разрешить все сетевые подключения для определенной программы. Таким образом отпадает необходимость пробрасывать для нее порты.
Пошаговая инструкция по открытию порта в брандмауре
1. Откройте Монитор брандмауэра Windows.
2. Выберите пункт «Правила для входящих подключений», затем действие «Создать правило».
Всего в мастере создания правил Брандмауэра доступно 4 типа настройки:
4. Укажите протокол и номера портов.
В большинстве случаев, программы Windows в качестве транспортного протокола используют TCP.
Если выбрать второй вариант «Разрешить безопасное подключение», то порт будет открыть только для соединений VPN (виртуальной частной сети) на основе протокола IPSec.
6. Укажите профили, к которым применяется правило.
По умолчанию выбраны все профили и здесь лучше ничего не менять, так как возможны ситуации когда профиль сети автоматически меняется на другой и после этого порт становится недоступен.
7. Имя правила
Здесь требуется указать любое понятное вам имя правила. Самый простой и понятный вариант, когда используется имя программы и номер порта, например: Radmin port 4899.
Проверьте список правил для входящих подключений, в нем должно присутствовать созданное правило.
Многие просто отключают брандмауэр, чтобы упростить для себя задачу. Таким образом все порты компьютера оказываются открытыми и нет больше никаких мучений с пробросом портов. Но это неправильно: в такой ситуации операционная система оказывается полностью открытой для сетевых угроз. Если в сети на один из компьютеров проникнет вирус, то все остальные устройства с выключенным брандмауэром будут мгновенно поражены.



































