Vpn свой сервер – Создаем свой VPN-сервер. Пошаговая инструкция — Разработка на vc.ru

Содержание

Свой VPN-сервер за 5 минут (и бесплатно)

В этой статье я расскажу о том, как поднять свой VPN сервер для обхода всяких неразумных блокировок, и настроить комп (Windows) и телефон (Android) для работы через этот сервер. Приятный бонус — этот сервер будет бесплатным первые два месяца.


Что за VPN и зачем он нужен


Вообще-то VPN это технология, которая позволяет объединить устройства в сеть поверх другой сети. Например, поверх Интернета. Но не будем забивать голову терминологией, мы просто сделаем так, что вы будете лазить в Интернете через сервер в Сан-Франциско или Лондоне или Амстердаме и т.п. В общем там, где нет Ростелекома.


Зачем нужен свой VPN (или чем плохи чужие).


Разумеется, вы можете использовать чужие платные или бесплатные VPN-сервера. Тысячи их! 
 
Я перешел по первой же ссылке, посмотрел цены — не слишком оптимистично.
 


Итак, недостатки чужих VPN:


1. Цена — хорошие VPN стоят хороших денег.
2. Прослушка трафика — вы не знаете, кто держит VPN, а он знает, на какие сайты вы ходите, какие пароли передаете, с кем общаетесь и т.п. Https конечно частично решает эту проблему, но еще не все сайты перешли на https, а так же остается атака Man in the middle — владелец VPN может возвращать вам свои сертификаты и центры сертификации, инициировать переход на более старую версию SSL, подсовывать вам свои сайты под видом искомых и т.п.
3. VPN может быть «грязным» — возможно, до вас или параллельно с вами этот же VPN сервер (и его ip адрес) использует для своих дел ассоциация педофилов Массачусетса — и, к тому же, этих мужчин (и этот ip адрес) уже отслеживает ФБР.

4. VPN может быть засвеченным — например, через него рассылали спам и он уже попал в черные списки — и вы не сможете войти на свой любимый сайт, потому что уже в бане.
5. Модификация трафика — если ваш трафик не зашифрован, или владелец VPN его может расшифровать, то сайты, которые вы запрашиваете, будут возвращаться с «лишними баннерами» или измененными адресами BTC и ETH для оплаты и т.п.
Вообще, в двух словах, если вы просто хотите зависать на развлекательных сайтах, то берите любой бесплатный — иногда они будут не работать, иногда будут очень медленными, но это ж бесплатно.


Если VPN вам нужен для работы, берите хороший платный.

Если у вас паранойя, или вы хотите заработать на аренде или вам просто интересно как это все делается — идем дальше.


Реклама




Разворачиваем свой VPN сервер


Итак, нам потребуется свой сервер в интернете. Я в данной статье рассмотриваю Digital Ocean, но подойдет любой хостинг, где можно взять VDS. Самый простой тарифный план — 5$/мес, больше нам не надо. 
Если зарегистрируетесь по моей ссылке (если не работает, то попробуйте эту ), то сайт предоставит вам в долг 10$, чего должно хватить на два месяца пользования VPN на халяву.

Что приятно, IP будет ваш и только ваш, и никто другой через ваш сервер ходить не будет (если вы сами не разрешите, об этом позже).
Переходите по ссылке выше, регистрируйтесь (при регистрации нужно указать номер карты, но с неё ничего не списывается), найдите сверху справа кнопку Create и выберите Droplets
 
Выбирайте Ubuntu и самый дешевый тарифный план за 5$
 
Выбирайте регион (на картинке Сан-Франциско, но НЕТ!! Берите Европу — Англию, Германию, Голландию — через океан сигнал медленный), ну и можете хостнейм прописать что б вам понятнее было — я написал vpn. Нажимайте Create
 
Он немного подумает, развернет вам нужный образ, и у вас появится дроплет (виртуальный сервер)
 
А на почту придет IP-адрес, логин и пароль.
 
Я их не прячу, т.к. создаю дроплет исключительно для статьи, потом он будет уничтожен. 
Теперь нам нужно подключиться к своему новому серверу и настроить его. Скачиваем программу putty (ссылка), запускаем, вводим IP адрес из письма и жмем Enter
 

Жмем «Да»
 
Вводим логин и пароль из письма. Пароль не будет отображаться, это нормально. Просто скопируйте его в письме, нажмите правой кнопкой мыши в окне putty и пароль вставится, потом нажмите Enter. Ну или просто перепечатайте пароль из письма.
 
Вы вошли на сервер, но пароль необходимо поменять. Для этого вас просят указать текущий пароль, а потом ввести новый (два раза)
 
Простые пароли он ввести не дает, поэтому нужно придумать что-то длинное — но вам это на руку, в любом случае — хакерам будет сложно вас взломать
 
Теперь пришло время непосредственно разворачивать VPN. Выполните команду

Если спросит подтверждения, нажмите Y
 
Теперь выполните команды (как и раньше, вы можете скопировать все отсюда, а потом нажать там правой кнопкой мыши, и они вставятся)

echo "localip 10.0.0.1" >> /etc/pptpd.conf
echo "remoteip 10.0.0.100-200" >> /etc/pptpd.conf
echo "ms-dns 8.8.8.8" >> /etc/ppp/pptpd-options
echo "ms-dns 8.8.4.4" >> /etc/ppp/pptpd-options
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE && iptables-save

Теперь вам нужно придумать логины и пароли, под которыми к VPN можно будет подключаться. Например, пользователь VasyaPupkin, пароль qwerty123. Подставьте придуманные пароли в следующую команду:

echo "VasyaPupkin pptpd qwerty123 *" >> /etc/ppp/chap-secrets

И выполните её. Если хотите несколько пользователей, то для каждого выполните соответствующую команду.
Ну, и в конце, перезапускаем VPN.

Всё, настройка VPN закончена, можно пользоваться.


Реклама




Подключение к VPN серверу — Windows


Я привожу пример для Windows 10, но вы всегда можете загуглить «Windows pptp» для инструкции к любой другой версии ОС. 
Пуск, ищем VPN, находим «Изменение виртуальных частных сетей»
 
Нажимаем, добавляем VPN подключение
 
В качестве адреса сервера указываем IP нашего сервера (из письма), логин и пароль — те, что сами придумали
 
Теперь у нас появилось подключение, щелкаем на него, нажимаем подключиться

 
Если сделали всё правильно, статус должен смениться на «Подключено»
 
Проверяем:
 
IP сменился.  Проверяем доступы к сайтам:
https://exmo.com/ — открылся
 
Проверяем телеграм:
 
Работает! Выключим ненадолго VPN (щелкните на ярлыке сетевого подключения):
 
Телеграм сдох 🙂 Включу обратно, что бы всё работало.


Реклама




Теперь о подключении к VPN  с телефона.


Я использую Android, 6.0.1, от Самсунга, думаю, в других версиях и на iOS будет что-то похожее — должно быть, имхо).
Итак, заходим в настройки — подключения — другие настройки — VPN
 
Нажимаем добавить VPN, указываем IP своего сервера, тип оставляем PPTP

Нажимаем сохранить — и он появляется в списке VPN. После этого нажимаем на него, вводим логин/пароль (сохраните, если не хотите каждый раз вводить руками):

 и, если все сделано правильно, вам напишут, что подключено, а в трее появится ключ, вот такой:
 
Поздравляю, вы подключились к своему VPN-серверу!]


Реклама




Заключение


Теперь, когда у вас есть свой VPN сервер, и вы сами решаете куда ходить и чего смотреть, вы можете надуть щеки и заявить своим приятелям, что у вас есть возможность раздобыть быстрый надежный VPN всего за 5$ в месяц… И давать доступ к одному и тому же серверу десяткам людей (под разными логинами и паролями). И сделать красивый сайт с расценками, и дать на него рекламу и т.п.


И очень важный момент — сейчас вам расскажу 🙂 Я подготовил бОльшую часть статьи в субботу, собирался выложить на сайт, но обстоятельства меня отвлекли и я не смог закончить и отвлекся. А вы же помните — я создал VPN пользователя VasyaPupkin и пароль qwerty123 — и то и другое есть в словаре каждого начинающего хакера…. В общем в понедельник мне пришло письмо от DigitalOcean о том, что им пришлось отрубить мой дроплет от сети, т.к. через шел дикий трафик и ДДОСились какие-то там сайты)) В общем, сервис с лажовым логином/паролем не провисел и двух полноценных дней, пароли подобрали и еще выложили на разные сайты со списками бесплатных VPN 🙂 Другой сервер — там я ставил нормальные логины/пароли, живет нормально несколько недель. Так что не жалейте времени, придумывайте хорошие пароли, а то вашим VPN будете пользоваться не только вы!


Что ж, надеюсь объем статьи вас не напугал — она выглядит сложной и громоздкой, но реально там дел на 5 минут, ну может чуть больше если не имели раньше дел с линуксом и прочим. Но, даже если так, немного помучавшись, получите хорошую полезную вещь, и заодно освоите что-то новое) 


Желаю, что бы у всех всё хорошо и быстро получилось, если что-то не так, пишите в комментариях, будем разбираться и чинить) 

bablofil.ru

Как создать VPN сервер в Windows без использования сторонних программ

&nbsp windows

В Windows 8.1, 8 и 7 имеется возможность создания VPN сервера, хотя она и неочевидна. Для чего это может понадобиться? Например, для игр по «локальной сети», RDP подключения к удаленным компьютерам, домашнему хранилищу данных, медиа серверу или же для безопасного использования Интернета с общедоступных точек доступа.

Подключение к VPN серверу Windows осуществляется по протоколу PPTP. Стоит отметить, что сделать то же самое с помощью Hamachi или TeamViewer проще, удобнее и безопаснее.

Создание VPN сервера

Откройте список подключений Windows. Самый быстрый способ сделать это — нажать клавиши Win + R в любой версии Windows и ввести ncpa.cpl, затем нажать Enter.

В списке подключений нажмите клавишу Alt и в появившемся меню выберите пункт «Новое входящее подключение».

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

Нажмите «Далее» и отметьте пункт «Через Интернет».

В следующем диалоговом окне нужно отметить, по каким протоколам будет возможно подключение: если вам не требуется доступ к общим файлам и папкам, а также принтерам при VPN подключении, можно снять отметку с этих пунктов. Нажмите кнопку «Разрешить доступ» и дождитесь завершения создания VPN сервера Windows.

Если потребуется отключить возможность VPN подключения к компьютеру, кликните правой кнопкой мыши по «Входящие подключения» в списке подключений и выберите пункт «Удалить».

Как подключиться к VPN серверу на компьютере

Для подключения вам потребуется знать IP адрес компьютера в Интернете и создать VPN подключение, в котором VPN сервер — этот адрес, имя пользователя и пароль — соответствуют пользователю, которому разрешено подключение. Если вы взялись за эту инструкцию, то с данным пунктом, скорее всего, проблем у вас не возникнет, и вы умеете создавать такие подключения. Однако ниже — кое-какая информация, которая может оказаться полезной:

  • Если компьютер, на котором был создан VPN-сервер, подключен к Интернету через роутер, то в роутере необходимо создать перенаправление подключений порта 1723 на IP адрес компьютера в локальной сети (а этот адрес сделать статическим).
  • С учетом того, что большинство Интернет-провайдеров предоставляют динамический IP на стандартных тарифах, каждый раз узнавать IP своего компьютера может быть затруднительным, особенно удаленно. Решить это можно с помощью таких сервисов как DynDNS, No-IP Free и Free DNS. Как-нибудь напишу о них подробно, но пока не успел. Уверен, в сети хватает материала, который позволит разобраться, что к чему. Общий смысл: подключение к вашему компьютеру всегда можно будет осуществлять по уникальному домену третьего уровня, несмотря на динамический IP. Это бесплатно.

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

А вдруг и это будет интересно:

remontka.pro

Как настроить свой собственный VPN-сервер

Читайте, как настроить VPN-сервер на своём ПК, с использованием специального оборудования или стандартными способами Windows. VPN (англ. Virtual Private Network ) – виртуальная частная сеть – это собирательное общее название технологии, которая обеспечивает возможность одного или нескольких сетевых соединений (логических сетей) поверх другой сети (как вариант – Интернет).

Содержание:
  1. Для чего нужен VPN?
  2. Способы создания VPN-сервера:
  • Где еще можно разместить собственный VPN-сервер?
  • VPN очень полезны, не зависимо от того, где вы их используете: путешествуете ли вы по миру, работает ли вы в офисе или подключены к публичной точке доступа Wi-Fi в кафе в своем родном городе. Только вам необязательно использовать платную услугу VPN – вы можете разместить свой собственный VPN-сервер на дому.

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

    Для чего нужен VPN?

    Домашний VPN предоставляет вам зашифрованный туннель – соединение, позволяющее вам использовать открытые публичные сети Wi-Fi для создания подключения к нужной VPN –сети. Вы можете пользоваться VPN с любых устройств на разных операционных системах: Android, iOS, ChromeOS, Windows, Linux или macOS; можете получить доступ к различным сервисам конкретной страны, даже находясь за ее пределами. VPN обеспечит безопасный доступ к вашей домашней сети из любого места. Вы даже можете открыть доступ к сети своим родственникам, друзьям или коллегам, разрешая им использовать сервера, размещенные в вашей домашней сети. Например, это позволит вам обмениваться данными, делиться фото и видео файлами, документами, проектами, иметь возможность постоянно общаться и быть на связи. Также вы можете играть в компьютерные игры, предназначенные для локальной сети, – хотя есть и более простые способы настройки временной сети для игр с друзьями.

    VPN-сеть также полезна для подключения к различным услугам во время поездок. Например, вы можете использовать Netflix или другие сервисы для получения потокового видео во время поездок, воспользоваться любой библиотекой или каталогом фильмов и записей.

    Способ 1. Использование маршрутизатора с возможностями VPN

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

    Способ 2. Используйте маршрутизатор, поддерживающий DD-WRT или другую стороннюю прошивку

    Пользовательская прошивка маршрутизатора – это, в основном, новая операционная система, которую вы можете использовать на своем маршрутизаторе взамен имеющейся стандартной операционной системы маршрутизатора. DD-WRT является самой популярной прошивкой, но также хорошо работает и другие операционные системы, например OpenWrt.

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

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

    Способ 3. Создайте свой собственный выделенный VPN-сервер

    Вы также можете просто использовать программное обеспечение для настройки VPN-сервера на одном из своих компьютеров.

    Приложение Apple Server (также как и Windows) предлагает встроенный способ размещения VPN-сервера. Тем не менее, это не самые мощные и безопасные варианты. И они могут быть слишком требовательны, чтобы настроить VPN-сервер и заставить его работать правильно.

    Вы также можете установить сторонний VPN-сервер, такой как OpenVPN. VPN-серверы доступны для каждой операционной системы, от Windows до Mac и Linux. Вам просто нужно перенаправить соответствующие порты с вашего маршрутизатора на компьютер, на котором запущено серверное программное обеспечение.

    Существует также возможность переоборудования собственного выделенного устройства в VPN-сервер. Вы можете взять одноплатный компьютер Raspberry Pi (малинка) и установить программное обеспечение сервера OpenVPN, превратив его в легкий, маломощный VPN-сервер. Вы даже можете установить на него другое серверное программное обеспечение и использовать его в качестве многоцелевого сервера.

    Где еще можно разместить собственный VPN-сервер

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

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

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

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

    Однако, очень важно, не забыть настроить безопасный VPN-сервер. Вам нужна надежная безопасная сеть, чтобы никто не мог к ней подключиться без соответствующего разрешения. Это может быть вариант защиты с использованием пароля (но, желательно, регулярно его менять). Или другой вариант, как предлагает OpenVPN, использовать предустановленный ключ, один из самых простых способов надежной аутентификации.

    hetmanrecovery.com

    VPN. Быстро поднимаем свой VPN сервер.

    Сейчас прям самое время завести свой собственный VPN сервер. Я думаю, что вы и сами понимаете зачем он нужен, учитывая всю политическую ситуацию вокруг.

    Многие люди думают что использовать. TOR? Он бесплатный и довольно быстро позволяет подключиться куда нужно. Либо же какие-то VPN сервисы сторонние? Такие как tunnelbear, он стоит не дорого всего $5. Либо же сделать свой собственный VPN сервер?

    Давайте подробнее про все три варианта.

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

    Другие проблемы TOR не настолько существенные. Но все-таки давайте про них расскажем. Низкая скорость работы. Она еще ниже чем у VPN из-за большого количества узлов.

    Ну и самое смешное: «Служба TOR была разработана совместно с ВМС США специально для тех, кто не желает, чтобы их действия отслеживали правительственные организации»

    Мы можете спросить, а для чего поднимать свой собственный VPN сервер если есть готовые решения типа TunnelBear, NordVPN, UltraVPN, vypnVPN, ExpressVPN?

    Плюсов сразу несколько

    • У вас будет свой личный IP-адресс, и кроме вас на нем никого не будет.
    • Адекватная скорость. Вы всегда будете уверены в том, что скорость не снизится из-за каких-то непонятных для вас нагрузок.
    • Это ваш личный сервер. И доверия такому решению намного больше.

    в DigitalOcean, например, при регистрации по реферальной ссылке вы можете получить $100 на счет. И поверьте это много. Сервер для VPN стоит всего $5 в месяц.

    Можете воспользоваться моей реферальной ссылкой, вы получите $100, а я $25.

    Для начала вам нужно зарегистрироваться.

    После регистрации вам нужно будет создать SSH ключи. В MacOS и Linux вы это можете сделать с помощью следующей команды:

    ssh-keygen

    В Windows вы это можете сделать в программе PuTTY

    После того как вы создали ключи, вы должны добавить в DigitalOcean файл

    id_rsa.pub

    После того как вы добавите вы сможете заходить на сервера, которые вы там создадите без пароля.

    После того как мы закачали ключи мы можем создать новый дроплет.

    Выбираем Ubuntu 18.04 и самый дешевый дроплет за $5

    После того как наш сервер был создан, смотрим во вкладку Droplets и копируем IP нашего сервера.

    Далее идем в консоль и подключаемся к нашему серверу командой

    ssh [email protected]

    Если все хорошо, но увидите следующее

    После того как мы успешно подключились давайте обновим нашу систему

    Сначала

    sudo apt-get update

    Потом

    sudo apt-get upgrade

    Теперь установим Docker

    snap install docker

    Готово, теперь преступим к настройке самого VPN. За основу я взял решение от jpetazzo/dockvpn. Выполняем по очереди эти две команды.

    CID=$(docker run -d --privileged -p 1194:1194/udp -p 443:443/tcp jpetazzo/dockvpn)

    docker run -t -i -p 8080:8080 --volumes-from $CID jpetazzo/dockvpn serveconfig

    После этого в консоли мы увидем ссылку. Нам нужно будет перейти по ней и у нас сразу же начнется скачивание файла. Этот файл будет со случайным именем. Скачиваем его и переименуем в vpn.ovpn

    Готово.

    Теперь если вы пользуетесь Linux, то вы можете выполнить следующую команду:

    sudo openvpn --config vpn.ovpn

    Если у вас MacOS, то рекомендую использовать программу TunnelBlick

    Если Windows, то поищите что-то, я думаю вариантов много.

    Если у вас Android, то для него есть классное приложение, которое называется «OpenVPN for Android».

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

    Мы платим всего $5. При этом вы можете скинуться с друзьями впятером на этот VPN и использовать его все вместе. Ну, скорость естественно упадет если будете все вместе сидеть и что-то качать. Можете дать его членам семьи.

    И так это самый простой способ для того чтобы поднять свой собственный VPN.

    Другие варианты

    Сейчас у нас при запуске VPN все приложения в нашей системе работают через наш удаленный компьютер. Такой способ удобен, если вам нужно полностью увести весь свой траффик.

    Но иногда не очень удобен вариант, когда весь трафик идет через VPN. Мы, например, не хотим чтобы наши торренты качались через VPN, так как скорость снизится. Для того чтобы пускать только некоторые приложения через VPN существует туннелирование.

    Туннель можно настроить через network namespaces. Эта штука нужна чтобы отделить разные процессы в ОС. Она используется в различных системах для автоматизации развёртывания, таких как Docker или Ansible.

    Если вам нужно изолировать несколько приложений, то вам нужно идти именно этим путем. (Например, когда я пользовался Spotify я как раз настраивал неймспейсы и запускал спотифай через VPN)

    Так же можно использовать вариант гораздо проще. Это SSH туннель. Создается он одной командой.

    ssh -D localhost:12345 [email protected]

    После этого мы можем зайти в браузер и настроить SOCS прокси, указав адрес — localhost и порт — 12345

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

    devpew.com

    Настройка VPN/прокси-сервера на хостинге – для чайников 💻

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

    Например, используя общественный Wi-Fi, все данные которые передаются через сеть могут быть «угнаны». Теоретически, это могут быть любые файлы, но обычно крадут пароли от кошельков, почты, скайпа и чего угодно. В этой статье мы настроим собственный VPN-сервер, это не сложно. Несмотря на объёмность текста, основное действие занимает малую часть, а остальное — плюшки 🙂 В статье также есть видео.

    В интернете есть куча и маленькая тележка VPN-сервисов, от бесплатных до очень платных. Недостатки бесплатных VPN-сервисов:

    • ограничены в скорости
    • нестабильность (то всё хорошо, то жутко тормозит)
    • ограничения трафика (до нескольких Гигабайт в месяц)
    • ограничения периода бесплатного пользования
    • периодически нужно искать другие сервисы
    • не факт, что передаваемые данные будут в безопасности, совсем не стоит надеяться на анонимность, я бы сказал.

    Недостатки платных:

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

    Есть и преимущества VPN-сервисов – это простота использования, относительная дешевизна.

    Собственный VPN-сервер на хостинге VPS/VDS

    Итак, если нужна конкретная страна или город, или требуется много трафика, который не дают VPN-сервисы, гарантия безопасности — тогда есть смысл заморочиться настройкой личного VPN-сервера. Как правило, это требует глубоких знаний системного администрирования серверов. Но я постарался объяснить всё просто, чтобы разобрался даже чайник)

    Недостатки у этого способа тоже есть:

    • всего один IP-адрес, на который вы можете «пересесть», но есть дополнительные за отдельную плату
    • нетривиальная настройка в первый раз
    • платно

    Дочитайте до конца, и я покажу как использовать свой VPS сервер для обхода блокировок без настройки на нём VPN.

    Что такое VPS/VDS сервер?

    Хостинг-провайдеров в интернете бесчисленное множество. Все они позволяют размещать у них свои веб-сайты. Самая популярная услуга – это виртуальный хостинг. Более продвинутая – это выделенный виртуальный сервер – VPS (VDS — это, считай, тоже самое). На VPS можно размещать сайты, поднимать VPN-сервер, почтовый сервер, игровой сервер – да что угодно!

    Вам нужно знать, что VPS-сервера бывают нескольких видов: OpenVZ, Xen и KVM. Для работы VPN-сервера нужно KVM. Тип сервера указан в тарифах хостинга. OpenVZ и Xen тоже иногда подходят, но нужно писать в техподдержку хостинга и спрашивать, подключён ли модуль “TUN”. Не вдаваясь в подробности для чего это, просто спрашиваете. Если нет, то могут ли они включить его. Не помешает также спросить, будет ли работать VPN как таковой (даже на KVM), т.к. некоторые компании прикрывают эту возможность. Ах да, операционная система сервера – Debian, Ubuntu или CentOS (в общем, Linux-подобная). Мощность сервера не имеет значения.

    Настройка VPN-сервера

    Вы можете посмотреть видео или читать расширенную статью:

    В моём распоряжении имеется VPS-сервер KVM хостинг-провайдера AdminVPS. Здесь сразу всё работает, никуда писать не надо.

    • При заказе услуги можно выбрать самый простой тарифный план «Micro»
    • Все сайты открываются даже на серверах в России
    • Есть бесплатный тестовый период 7 дней
    • Техподдержка помогает
    • Для моих посетителей, при вводе промокода: — вы получите реальную скидку 60% на первый платёж.

    Далее, первые скриншоты остались от старого хостинга, но всё так же.

    «Hostname» вводим любой или имя своего сайта (если в будущем будете размещать на хостинге свой сайт). «OS Template» выбираем «Ubuntu 14.04 64bit» или любую из Ubuntu, Debian, CentOS:

    Операционную систему потом можно поменять, если вдруг что не получится.

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

    Переходим по ссылке в письме и входим в панель управления. На вкладке «Virtual Servers» будет ваш сервер:

    Нажимаем кнопку «Manage» и попадаем в окно администрирования:

    Здесь нам ничего не нужно трогать. Единственное что может понадобится – это переустановка операционной системы – кнопка «Reinstall», об этом позже.

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

    Скачать Putty

    Распаковываем архив с программой и запускаем файл

    В поле «Имя хоста» вставляем IP-адрес сервера, который пришёл в письме, также его можно скопировать с панели управления:

    и нажимаем «Соединиться». Если выскочило вот такое окно, то жмём «Да»:

    Перед нами должно появиться чёрное окно консоли (командная строка). Именно здесь мы и будем давать команды. Но сперва нужно залогиниться. Для этого в поле «login» вводим «root»

    Затем копируем из письма root-пароль и вставляем его в поле «password». Чтобы вставить сюда из буфера обмена, нужно просто кликнуть один раз правой кнопкой мышки по окну консоли. При этом пароль не печатается на экране, такое чувство что ничего не произошло. Всё нормально, жмём «Enter». Должны проскочить строчки с информацией о системе. Если же написало какую-то ошибку, то проверьте всё ещё раз. Также, консоль не будет долго ждать, пока вы ищете root-пароль. Если к тому моменту выскочит ошибка, то запускайте Putty заново.

    Установка и запуск главного скрипта

    Мы уже на финишной прямой в настройке собственного VPN-сервера. Существует множество инструкций в интернете как установить сервер, но все они требуют знаний системного администратора, ибо мелкие нюансы упускаются из виду. На радость всем чайникам, существует универсальный скрипт «OpenVPN road warrior», который сделает всю работу сам. Нам нужно только дать команду скачать и запустить его.

    Итак, копируем эту строчку и вставляем в консольное окно правой кнопкой и жмём «Enter»:

    Проскочат всякие строчки и, если скрипт успешно скачался и запустился, с нами начнётся диалог мастера настройки VPN-сервера:

    Скрипт находит предполагаемое значение для каждого параметра и предлагает с ним согласиться, т.е. нажать «Enter», либо ввести своё значение.

    1. Первый параметр – это «IP address». Скрипт должен предложить тот самый айпи VPS-сервера. Так должно быть в 99.9% случаев, но если это, почему-то, не так, то исправьте на правильный адрес.
    2. Второе — протокол UDP или TCP. Оставляем по умолчанию UDP.
    3. Идём дальше, «Port: 1194» — соглашаемся.
    4. «What DNS do you want to use with the VPN?» — выбираем «Google», т.е. вбиваем цифру «2» вместо единички, Enter. Если гугл заблокирован, то оставляем по умолчанию.
    5. «Client name» — имя пользователя. Можно создать доступ для разных пользователей. По умолчанию «client» — соглашаемся.
    6. «Press any key…» — нажать «Enter» и подождать несколько минут, пока всё установится и сконфигурируется.

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

    На экран будет выведено содержимое файла «client.ovpn». Теперь его надо аккуратно скопировать в буфер обмена. Листаем вверх до ввода команды, выделяем мышкой все строчки, кроме самой последней (для новых команд), т.е. последняя выделенная строчка будет “</tls-auth>”. Чтобы скопировать выделенное в буфер обмена жмём «Ctrl-V».

    Теперь на компьютере в Windows 7/8/10 открываем блокнот и вставляем в него скопированный текст. Сохраняем файл на рабочем столе под именем «client.ovpn».

    Пример файла

    Если планируется давать доступ к серверу другим людям, то лучше создать для них отдельные файлы, например vasya.ovpn. Для этого просто запускаем скрипт ещё раз и выбираем теперь 1-й пункт — создание нового пользователя.

    Установка клиента для Windows 7/8/10/XP и Android

    Поздравляю, мы на финишной линии! Теперь только осталось установить бесплатную программу, которая будет подключаться к нашему VPN-серверу. Называется она «OpenVPN».

    Скачать OpenVPN

    Скачиваем версию для Windows и устанавливаем её, запускать не надо.

    Если в процессе установки будут выскакивать всякие окошки, со всем соглашаемся.

    Чтобы подключиться к серверу кликаем на рабочем столе по файлу «client.ovpn» правой кнопкой и выбираем «Start OpenVPN on this config file»:

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

    Ещё может выпадет окно с вопросом типа новой сети, тогда выбираем «Общественная сеть».

    Можно проверять, заходим на сайт 2ip.ru и смотрим свой IP, должен совпадать с IP VPS-сервера:

    Также можно проверить какая скорость вашего интернет-подключения через VPN.

    Окно консоли сервера теперь смело можно закрывать. А чтобы закрыть впн-соединение и вернуть старый айпи – нужно закрыть окошко от OpenVPN.

    Чтобы подключиться в следующий раз, достаточно просто запустить правой кнопкой файл «client.ovpn» с рабочего стола, больше ничего делать не требуется.

    С телефоном всё ещё проще, нужно установить через плеймаркет приложение OpenVPN, закачать в память файл client.ovpn, выбрать его в приложении и подключиться к нашему vpn-серверу.

    Что если что-то пошло не так

    Если чувствуете что из-за вашей ошибки теперь всё идёт наперекосяк, то можно переустановить операционную систему на хостинге. Для этого в панели управления кликаем «Reinstall» (см. скриншот панели) и выбираем новую операционную систему (или ту же):

    Давим кнопку «Reinstall» и ждём 10 минут. Также будет выдан новый Root-пароль, не потеряйте его!

    Ошибки при подключении

    Большинство проблем возникает на этапе подключения к серверу в программе OpenVPN, особенно в Windows 8/10. В чёрном окошке могут быть ошибки, например:

    • FlushIpNetTable failed on interface
    • All TAP-Win32 adapters on this system are currently in use
    • CreateFile failed on TAP device
    • DNS failed..

    При этом первое что надо сделать — это дать программе права администратора и, соответственно, заходить в систему с правами администратора. Идём в , кликаем правой кнопкой по файлу openvpn.exe -> свойства. На вкладке «Совместимость» ставим галку «Выполнять эту программу от имени администратора». Теперь всё должно работать.

    Ещё варианты лечения:

    • удалить программу и переустановить от имени админа
    • выключить службу «Маршрутизация и удалённый доступ» (“Routing and Remote Access”) через
    • попробовать переустановить из этого инсталлятора или отсюда
    • удалить все ВПН’овские программы и приблуды от других платных и бесплатных сервисов

    Понять, точно ли проблема в компьютере или ноутбуке, можно, если установить через плеймаркет приложение OpenVPN на телефон или планшет, закачать на него файл client.ovpn и подключиться к нашему vpn-серверу. Если и так не получится, то нужно искать причину на сервере, написать в службу поддержки.

    Если всё заработало, на сайты тупят и открываются с перебоями

    Обратите внимание на сообщения в чёрном окне, нет ли там повторяющихся строчек «read from TUN/TAP … (code=234)»

    а также на сообщение где-то в середине «WARNING: ‘tun-mtu’ is used inconsistently, local…»:

    В этом случае открываем файл client.ovpn в блокноте и в новой самой первой строке пишем:

    tun-mtu ‘значение сервера’

    — это число, указанное в конце строчки в тексте «remote=’tun-mtu 1500′». Подставляем своё значение! В итоге должно получится так:

    Делается это потому, что по каким-то причинам значение MTU на компьютере и на VPS-сервере различаются. Файл .ovpn для смартфона оставляем нетронутым!

    Пускаем трафик через прокси вообще без настроек

    Можно использовать наш VPS/VDS сервер как Proxy Server. Для этого делаем всё как раньше до момента нажатия кнопки «Соединиться» в программе Putty. Не нужно открывать консоль и запускать скрипт. Идём на вкладку , прописываем Source Port: 3128

    Упс, статью дописывал позже, тут у меня Putty на английском, но суть та же.

    Если пишет ошибку «You need to specify a destination address in the form host.name:port», то переключите на «Dynamic» вместо «Local».

    На вкладке «Connection» в поле «Seconds between keepalives…» ставим 100 секунд, это надо чтобы коннект не разрывался из-за простоя. Теперь подключаемся — нажимаем «Open», вводим логин/пароль. Далее, идём в настройки сети в браузере и прописываем там прокси-сервер. В хроме это Делаем всё как на скриншоте:

    Теперь все сайты будут работать через наш сервер, но только в браузере и некоторых программах. Другие программы не увидят прокси, будут работать напрямую. Нужно в каждой программе в настройках подключения, если они предусмотрены, прописать адрес, порт и тип прокси: Socks4/5. Или устанавливайте OpenVPN и не используйте прокси.

    Как пускать через прокси только отдельные сайты

    Устанавливаем расширение для Google Chrome или Mozilla Firefox, называется FoxyProxy. В настройках надо добавить наш прокси-сервер:

    На вкладке «URL Patterns» добавляем маски сайтов, которые должны открываться через наш сервер. Маска сайта это его имя со звёздочками по бокам.

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

    Ярлык для автоматическое подключения

    Подключать Putty к прокси можно одним кликом. Для этого нужно перед подключением в разделе прописать логин сервера, тот, что обычно root

    и сохранить сессию со всеми настройками:

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

    где myvpn — это имя сохранённой сессии. Всё, осталась одна деталь — убрать окно Putty из панели задач в системный трей. Нужно скачать модификацию утилиты отсюда и заменить exe-файл. Теперь в настройках на вкладке Behaviour появится соответствующая галочка, но этого можно и не делать.

    Успехов!

    it-like.ru

    Делаем свой VPN сервер для обхода блокировок

    Зачем это нужно?

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

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

    Чем больше ресурсов блокирует Роскомпозор, тем больше людей переходят на VPN. В интернете появилось куча VPN сервисов для обхода блокировок. Есть как платные VPN сервисы, так и бесплатные (со встроенной рекламой, ограниченным трафиком и пр). Вроде бы решение найдено и все успокоились, но не тут то было. Наша власть приняла закон по борьбе с анонимайзерами и VPN сервисами. Согласно закону, VPN провайдеры должны блокировать все запрещенные в нашей стране ресурсы наряду с обычными провайдерами. Получается, что если VPN сервис позволяет обходить блокировки, то он нарушает закон, а если VPN сервис не обходит блокировки — то он нафиг никому не нужен.

    Средняя цена нормального VPN сервиса колеблется в пределах 300-500 руб в месяц. За эти деньги вы получаете туннель за границу, чаще всего можете выбирать между странами, куда будет уходить ваш трафик. Плюс вы получите еще несколько фич, нужность которых высосана из пальца. По факту, обычному пользователю не нужны все эти фичи, а чаще всего и выбор страны тоже не нужен. Кроме этого вам нужно доверять выбранному VPN провайдеру. Нет никакой гарантии, что он не сотрудничает с нашими органами.

    Цель данного обзора — показать, как можно сделать свой VPN сервер за границей за те же 350-500 руб в месяц, без ограничений по трафику, с обходом всех блокировок. А если этот сервис раздать между близкими и друзьями, то цена на человека получится смешная, в районе 50 руб и менее. Бонусом на сервере можно сделать веб-прокси со строгой аутентификацией для тех устройств, которым VPN не подходит по каким-либо причинам.

    Выбор страны и провайдера

    VPN сервер не должен находиться географически слишком далеко, иначе трафик будет передаваться с ощутимыми задержками. Если вы живете в западной части России, то для размещения сервера страны западной Европы подойдут лучше всего. Далее можно посмотреть те страны, где хорошо развиты законы по защите частной жизни. На мой взгляд хорошо подходит Швейцария.

    Далее нужно найти провайдера, который предоставляет услуги виртуальных частных серверов (VPS, VDS) за вменяемые деньги. Желательно, чтобы этот провайдер не оказывал услуги в России.

    Для себя я нашел vps2day.com. У провайдера можно арендовать VPS за 5 евро в месяц в Германии, Швейцарии, Нидерландах, Великобритании, Швеции, США. За эти деньги вы получите сам виртуальный сервер с операционной системой на выбор, 1 IPv4, канал 100 Мбит без ограничения трафика. Для персонального VPN сервера более чем достаточно. Оплата возможна различными способами, включая криптовалюты.

    После регистрации и входа в личный кабинет нужно сначала заполнить некоторые данные о себе в разделе Change Data. Без этого шага нельзя будет пополнить баланс. Корректность данных никто не проверяет 🙂

    Затем можно пополнить лицевой счет в разделе Balance. После этого можно приступать к покупке виртуального сервера. Идем в меню AddServer, выбираем Ubuntu Server 18.04, страну, тарифный план и нажимаем кнопку Order server.

    Минут через 10 на почту вам придет письмо с IP адресом сервера и учетными данными для доступа по SSH.

    Настройка VPN сервера

    Есть несколько технологий построения VPN. PPTP, L2TP, IPSec, OpenVPN, IKEv2. Наиболее прогрессивной технологией является IKEv2. Данный тип VPN обеспечивает высокий уровень безопасности, производительности и нативно поддерживается всеми современными операционными системами.

    Если вы работаете на Windows, то для доступа к вашему виртуальному серверу по SSH вам понадобится, например, putty. А позже, для скачивания сертификата — WinSCP.

    Итак, вы попали на консоль сервера. Первым делом нужно установить все необходимы компоненты. Для этого вводим команды:

    apt update
    apt install strongswan strongswan-pki

    Далее нам нужно создать ряд сертификатов. Сделаем это в отдельном каталоге

    mkdir -p ~/pki/{cacerts,certs,private}
    chmod 700 ~/pki

    И сгенерируем нужные для сервера сертификаты и ключи

    ipsec pki --gen --type rsa --size 4096 --outform pem > ~/pki/private/ca-key.pem
    
    ipsec pki --self --ca --lifetime 3650 --in ~/pki/private/ca-key.pem --type rsa --dn "CN=VPN root CA" --outform pem > ~/pki/cacerts/ca-cert.pem
    
    ipsec pki --gen --type rsa --size 4096 --outform pem > ~/pki/private/server-key.pem
    
    ipsec pki --pub --in ~/pki/private/server-key.pem --type rsa | ipsec pki --issue --lifetime 1825 --cacert ~/pki/cacerts/ca-cert.pem --cakey ~/pki/private/ca-key.pem --dn "CN=server_domain_or_IP" --san "server_domain_or_IP" --flag serverAuth --flag ikeIntermediate --outform pem >  ~/pki/certs/server-cert.pem

    Фрагменты команд, выделенные красным нужно заменить на IP адрес вашего сервера. Или на домен, если вы заморочились с его настройкой до этого.

    Теперь скопируем полученные сертификаты и ключи в основное хранилище

    cp -r ~/pki/* /etc/ipsec.d/

    Создадим файл конфигурации VPN сервера

    mv /etc/ipsec.conf{,.original}
    nano /etc/ipsec.conf

    Содержание файла должно получиться следующим:

    config setup
        charondebug="ike 1, knl 1, cfg 0"
        uniqueids=no
    
    conn ikev2-vpn
        auto=add
        compress=no
        type=tunnel
        keyexchange=ikev2
        fragmentation=yes
        forceencaps=yes
        dpdaction=clear
        dpddelay=300s
        rekey=no
        left=%any
        leftid=@server_domain_or_IP
        leftcert=server-cert.pem
        leftsendcert=always
        leftsubnet=0.0.0.0/0
        right=%any
        rightid=%any
        rightauth=eap-mschapv2
        rightsourceip=10.10.10.0/24
        rightdns=8.8.8.8,8.8.4.4
        rightsendcert=never
        eap_identity=%identity

    Если в параметр leftid (выделено красным) вы вписываете IP адрес вашего сервера, то символ @ не нужен. Если доменное имя, то символ @ обязателен.

    Теперь создадим файл с логинами и паролями пользователей

    nano /etc/ipsec.secrets

    Содержание файла должно быть таким:

    : RSA "server-key.pem"
    user1 : EAP "password1"

    Где вместо user1 и password1 нужные вам логин и пароль для пользователя. Другие пользователи добавляются ниже по аналогии.

    Чтобы все изменения вступили в силу — перезагружаем VPN сервер

    systemctl restart strongswan

    Осталось настроить Firewall. Для начала разрешим SSH и включим защиту:

    allow OpenSSH
    sudo ufw enable

    Добавим разрешения для IPSec трафика:

    ufw allow 500,4500/udp

    Добавим еще ряд правил в файл berofe.rules

    nano /etc/ufw/before.rules

    В файле по тексту перед секцией *filter добавим следующее:

    *nat
    -A POSTROUTING -s 10.10.10.0/24 -o eth0 -m policy --pol ipsec --dir out -j ACCEPT
    -A POSTROUTING -s 10.10.10.0/24 -o eth0 -j MASQUERADE
    COMMIT
    
    *mangle
    -A FORWARD --match policy --pol ipsec --dir in -s 10.10.10.0/24 -o eth0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1361:1536 -j TCPMSS --set-mss 1360
    COMMIT

    и после блока *filter добавим пару строк:

    -A ufw-before-forward --match policy --pol ipsec --dir in --proto esp -s 10.10.10.0/24 -j ACCEPT
    -A ufw-before-forward --match policy --pol ipsec --dir out --proto esp -d 10.10.10.0/24 -j ACCEPT

    И в заключении нам нужно отредактировать ряд системных параметров. Открываем файл sysctl.conf

    nano /etc/ufw/sysctl.conf

    Ищем параметры и выставляем следующие значения:

    net/ipv4/ip_forward=1
    net/ipv4/conf/all/accept_redirects=0
    net/ipv4/conf/all/send_redirects=0
    net/ipv4/ip_no_pmtu_disc=1

    Перезагружаем firewall

    ufw disable
    ufw enable

    Подключение устройств

    Первым делом нужно скачать с сервера сертификат, расположенный по пути /etc/ipsec.d/cacerts/ca-cert.pem

    Из Windows это легко сделать с помощью WinSCP.

    Затем сертификат добавляется на нужное вам устройство (компьютер, смартфон и т.д.), с которого будет осуществляться VPN подключение. На смартфон сертификат можно отправить по почте. В Windows сертификат необходимо установить в хранилище Доверенных центров сертификации.

    Подключение с Windows 10

    Заходим в Параметры, Сеть и Интернет

    VPN , Добавить VPN-подключение

    Указываем параметры подключения

    Подключение с iOS

    Вы уже переслали сертификат на устройство и установили его. Далее идем в Настройки, Основные, VPN, Добавить конфигурацию VPN.

    Выбираем тип IKEv2, в описании можно указать понятное вам имя подключения. В поля Сервер и Удаленный ID вводим IP адрес вашего VPN сервера, поле Локальный ID оставляем пустым. Далее вводим логин и пароль.

    Подключение с Mac OS

    Сертификат импортируется двойным кликом по нему, затем в связке ключей в свойствах сертификата нужно установить уровень доверия для IPsec безопасности:

    Далее в настройках сети содам новое подключение, VPN, IKEv2Указываем адрес VPN сервера и логин с паролем под кнопкой «Настройка аутентификации».

    Подключение с Android

    Вы уже импортировали сертификат в систему. Далее нужно установить приложение StrongSwan VPN Client (есть в Play маркете). Затем все настраивается по аналогии с остальными системами.

    alexmdv.ru

    Поднимаем свой VPN-сервер на Amazon EC2 под Windows Server 2008 r2 / Habr

    В сети много мануалов как поднять свой VPN-сервер на облаке Amazon AWS, но под unix-подобные системы, а вот как поднять его на Windows не рассматривается вовсе.

    Поскольку мануалов я не нашел, захотелось разобраться самому и сделать связку Amazon EC2 based on Windows Server + OpenVPN + Android OpenVPN Client.

    Поехали!

    Статья не рассчитана на новичков, поэтому какие-то общие вопросы пропущены.

    Описывать процесс регистрации на Amazon AWS не буду — это просто. Я раньше не регистрировался, поэтому был удивлен, что подтверждение приходит на номер телефона. Пишите рабочий номер. После прохождения регистрации идем в Dashboard https://console.aws.amazon.com/console/home

    Топаем в меню ServicesComputeEC2Instances. Нажимаем Launch Instance чтобы открылся Wizard. В списке доступных AMI выбираем Microsoft Windows Server 2008 R2 Base — ami-59fc7439

    На втором шаге выбираем доступный вариант t2.micro (Free tier) — его возможностей нам хватит с лихвой. Не спешим нажимать Launch — нажимаем Next:Configure Instance Details (предполагаю, что у вас по дефолту настроен VPC, есть дефолтные подсети и создан KeyPairs. Если ключи не созданы, то идём сначала в DashboardKey PairsCreate. Ключ сохраняем себе куда-нибудь. К слову, я пересобрал с нуля VPC, оставив в нем только одну сеть 10.100.11.0/24).

    Настройки оставляем по-умолчанию, а вот Auto-assign Public IP ставим Enable. Затем нажимаем на Preview and Launch. Ждем несколько минут, пока инстанст создается.

    В Dashboard слева выбираем раздел Network & SecuritySecurity Groups. Выбираем группу, которая ассоциирована с нашим инстансом. Снизу на вкладках Inbound,Outbound добавляем временно разрешения на пропуск всего трафика (alltraff).

    На текущий момент там разрешен только RDP. Те, кто спешат, могут на обоих вкладках разрешить порт 1194 для OpenVPN и ICMP. Теперь, когда инстанс создан и работает, нам необходимо подключится к нему. Выбираем наш инстанс, нажимаем Connect.

    Появляется окошко с предложением скачать RDP-файл и получить пароль. Скачиваем. Нажимаем Get Password, указываем наш файл ключа, дешифруем, получаем пароль. Первая половина дела завершена. Открываем RDP, соединяемся с хостом.

    Перед нами — чистая ОС. Что нам нужно дальше?

    1. Скачать Google Chrome, чтобы было удобнее проверять.
    2. Скачать OpenVPN.
    3. Поднять сервер с дефолтной конфигурацией.
    4. Поднять NAT.

    С первыми двумя пунктами проблем возникнуть не должно, разве что скачивать придется через IE. OpenVPN качаем с официального сайта (MSI), ставим с дефолтными настройками, ничего не меняем.

    Через Chrome заходим на ipleak.net и проверяем свой IP. Он будет где-то в регионе США/Орегон. Как сделать сертификаты сервера и клиента для OpenVPN расписывать не буду, материалов достаточно по этой теме. Обязательно создаем PAM-файл (Диффи-Хеллман), без него сервер не запустится.

    Ок, всё скачали, установили. На нашем сервере открываем Server Manager, идем в раздел Services. Находим службу OpenVPN Legacy Service, открываем её свойства — указываем Startup type: Automaticи запускаем службу. Это нужно, чтобы после рестарта нашего инстанса OpenVPN-сервер запускался сам.

    Теперь открываем C:\Program Files\OpenVPN\config — туда скидываем ключи CA.key, server.key,ta.key и dh3048.pem и сертификаты CA и server. Открываем C:\Program Files\OpenVPN\sample-config и оттуда копируем файл server.ovpn в C:\Program Files\OpenVPN\config.

    Перезаписываем содержимое like this:

    port 1194
    proto udp
    dev tun

    ca ca.crt
    cert server.crt
    key server.key
    dh dh3048.pem
    # виртуальная сеть нашего VPN
    server 172.10.10.0 255.255.255.0

    ifconfig-pool-persist ipp.txt
    keepalive 10 120

    tls-auth ta.key 0 # This file is secret
    cipher AES-256-CBC

    max-clients 100

    persist-key
    persist-tun

    dev-node «HomeVPN»

    #HomeVPN — это TAP, созданный при установке OpenVPN. Я его переименовал для удобства

    #это нужно чтобы все клиенты могли маршрутизироваться без напрягов
    push «route 0.0.0.0 0.0.0.0»

    #указываем свои DNS, но это не обязательно
    push «dhcp-option DNS 8.8.8.8»
    push «dhcp-option DNS 8.8.4.4»

    verb 3
    explicit-exit-notify 1


    Сохраняем.

    Настройка сервера завершена. Выбираем server.ovpn, открываем контекстное меню, выбираем пункт Start OpenVPN on this config file.

    После этого откроется терминал и пойдет процесс загрузки. Если все сделано правильно, то увидите в конце надпись Initialization Sequence Complete.

    Теперь чтобы не было проблем с подключениями клиентов нужно сделать одну вещь (на выбор), либо в Windows Firewall пишем правила для пропуска трафика OpenVPN и разрешаем порт 1194, либо просто выключаем Firewall. Я выбрал второй пункт.

    Теперь нужно создать конфигурацию клиента. Предполагается что на вашем клиенте (Android) установлен OpenVPN Client и в наличии все нужные сертификаты и ключи, в том числе клиентский.

    Конфигурация клиента такая:

    client
    dev tun
    proto udp
    remote ххх-хх-ххх-ххх-ххх.us-west-2.compute.amazonaws.com 1194
    resolv-retry infinite
    route-method exe
    nobind
    persist-key
    persist-tun
    ca ca.crt
    cert client.crt
    key client.key
    remote-cert-tls server
    tls-auth ta.key 1
    cipher AES-256-CBC
    auth SHA1
    verb 3
    route 0.0.0.0 0.0.0.0 vpn_gateway

    В OpenVPN для андройд импортируем конфигурацию. На вкладке Основные ставим тип аутентификации Сертификаты, т.к. пароля у нас в принципе нет. Проверяем вкладку Список серверов, должен быть указан ваш сервер Amazon, порт 1194 и тип UDP. На вкладке IP-адрес и DNS должна быть установлена опция Запрашивать параметры.

    На вкладке Маршрутизация для IPv4 должна быть установлена опция Использовать маршрут по-умолчанию.

    Сохраняем конфигурацию.

    Пробуем подключиться к своему серверу. Если соединение не устанавливается, проверяем Network & SecuritySecurity Groups и фаерволл. Если всё ОК, то появится надпись SUCCESS и вы получите какой-либо из IP сети VPN. В моем случае это 172.10.10.6/30.

    На клиенте пробуем открыть какой-нибудь сайт… Соединение вроде есть, а сайты не открываются.

    В чем же дело? Дело в NAT.

    В сети есть мануалы, как настроить NAT на Amazon, с созданием дополнительного AMI, Internet Gate, IP Elastic и прочим фуфлом. Ничего этого делать не нужно.

    Всё гораздо проще.

    Возвращаемся на наш сервер, создаем роль Network Police and Access Services. В нее входит роль Routing and Remote Access. Открываем контекстное меню, выбираем Configure and Enable.

    Выбираем последний пункт, чтобы создать свою конфигурацию. На следующем шаге выбираем два последних пункта, NAT и LAN routing.

    После раскрываем роль Routing and Remote AccessIPv4NAT. Создаем интерфейс: LAN1 — тот, что смотрит в интернет. В свойствах ставим Public interface и Enable NAT on this interface. Открываем вкладку Address Pool. Нажимаем Add.

    Тут нам нужно добавить IP-адрес нашей машины, не своей сети, а именно машины (ipconfig /all)
    Напоминаю, что моя сеть 10.100.11.0/24, сеть VPN 172.10.10.0/24, адрес машины 10.100.11.20. Start address указываем 10.100.11.20 и End address указываем его же. Маска 255.255.255.0

    Сохраняем.

    Теперь в этом же режиме нажимаем кнопку Reserve Addresses. Нам нужно «соединить» адрес клиента VPN (он при подключении был 172.10.10.6/30) с адресом машины.
    Нажимаем Add

    Reserve this public IP ставим 10.100.11.20, а графой ниже пишем 172.10.10.6
    Опцию Allow incoming не ставим.

    Сохраняем.

    Теперь остался последний шаг — в NAT добавляем еще один интерфейс — TAP. Я его назвал у себя HomeVPN. Для него настроек нет, он Private Interface. NAT для него не ставим.

    Таким образом получилась «переадресация» из VPN в LAN: 172.10.10.6 → 10.100.11.20.

    На клиенте делаем реконнект, ждем когда VPN-поднимется, открываем ipleak.net и смотрим.

    IP-адрес на клиенте будет в регионе USA/Oregon, а IP-адрес WebRTC должен будет показать IP адрес нашего VPN-сервера, т.е. 172.10.10.6.

    Если всё так, значит у вас получилось. Если не так, значит на каком-то шаге вы ошиблись, либо поспешили.

    В заключении, идем в Dashboard → раздел Network & Security → Security Groups. Выбираем группу, которая ассоциирована с нашим инстансом. На вкладках Inbound,Outbound убираем разрешения на пропуск всего трафика. Оставляем RDP, и кто не сделал ранее, добавляем правила для порта 1194 и разрешаем ICMP.

    За сим — всё. Благодарю.

    P.S. На Windows-клиентах не тестировал, но думаю, всё должно быть также, как на android.

    habr.com

    Обновлено: 04.07.2019 — 08:39

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

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