Создаём свой VPN-сервер IPsec / L2TP за пару минут на бесплатном VPS сервере от Oracle с ОС Ubuntu 20.04 (автоматизированная настройка)

Привет Пикабу!
По многочисленным просьбам трудящихся, после публикации моего предыдущего поста (Установка Ubuntu 20.04 на бесплатный VPS сервер от Oracle для нужд Умного дома) поменял приоритет тематики своих постов и сегодня создадим свой VPN-сервер.

Такс, с чего начать? )))

Выберем протокол для VPN.

Мне известны эти: OpenVPN, PPTP, IPsec L2TP и IKEv2.

OpenVPN — считается самым простым и популярным вариантом, у которого скорость, защита и надежность на высоком уровне, но требует установки клиентского приложения, что не всегда удобно.

L2TP/IPSec — собственно, именно этот протокол мы будем использовать в этой статье, т.к. найденный на github сценарий автоматической установки и настройки мне показался самым простым для новичков и «чайников» + подойдёт для установки не только на Ubuntu но и на Debian и CentOS. Недостаток этого протокола, пожалуй в том, что он считается медленным и стандартные порты может закрыть ваш интернет-провайдер или сетевой администратор.

PPTP — устаревший протокол, у которого конечно же достойная скорость подключения, но в плане защиты и конфиденциальности он на самом низком уровне и использовать его в проектах «Умного дома», я точно не рекомендую!

IKEv2 — считается протоколом с самой высокой степенью безопасности, стабильно подключается после разрыва соединения, быстрее, чем L2TP, но не очень простой в плане самостоятельной установки на сервер.

Я даже начал написание своего поста с него, адаптируя эту инструкцию под VPS сервер от Oracle:

но в итоге она мне показалось сложной для новичков и «чайников», удалил её и решил оставить просто эту ссылку на оригинал, для продвинутых пользователей 😉

На самом деле инструкций по ручной и автоматической установке VPN — сервера по любому протоколу в интернете существует +100500 и ещё столько же, поэтому напомню про свой disclaimer )))

Ну и наконец переходим к самому главному — установим VPN — сервер.

— Инкапсулирует весь трафик VPN в UDP — протокол ESP не нужен;
— Протестировано с Ubuntu, Debian, CentOS / RHEL и Amazon Linux 2

Вся наша установка сводится к запуску сценария автоматической настройки с githab, мы лишь подготовим систему, пропишем 20-и значный ключ IPSec, логин и пароль для VPN + откроем порты для VPN в VPS от Oracle.

Подключаемся через PuTTy по SSH к своему серверу (Как? В конце предыдущего поста мы это уже делали.)
1) Для получения списка новых пактов, выполните:
sudo apt-get update
2) Для выполнения обновления пакетов, выполните:
sudo apt-get upgrade
Не забываем нажать «»Y» — «Enter» ))

Источник

Создаём собственный VPN сервис за 5 минут

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

Разрабатываются новые технологии для VPN, появляются новые механизмы обхода блокировок типа SmartDNS. Как раз такой услугой воспользовался недавно. Работает хорошо, удобно было добавить DNS в роутер, но адреса обхода очень ограничены. В моем случае поддержка пошла на встречу и вместе мы смогли добавить сервис Кинопоиск от Яндекса. Правда, почти сразу я понял, что хочется большего, хочется самому управлять трафиком. Плюс лично мне не интересны VPN, направляющие весь трафик. Они снижают скорость, не так удобны для просмотра местных сайтов. К тому же мне надо этот трафик пропустить через роутер (в первую очередь для полной работы Яндекс Станции). Сейчас нахожусь в Молдове, здесь сайты не блокируют, но некоторые российские сервисы недоступны.

Какой VPS сервер выбрать и как подключиться к серверу

Само создание OpenVPN сервера займет меньше 5 минут, но сначала мы рассмотрим аренду сервера и подключение к нему.

Аренда сервера VPS

В первую очередь нужно арендовать VPS сервер. VPS сервер – виртуальный выделенный сервер, который соответствует физическому серверу, т.е пользователь получает root-доступ к операционной системе, IP-адресам и т.д.
Тут зависит от ваших целей, стоимости сервера, и того какие именно услуги этот сервер может поддерживать (например, не все хостинг-провайдеры разрешают использование VPN-серверов, поэтому перед заказом услуги предварительно у тех. поддержки узнайте разрешают ли они использование VPN сервера). Если вы хотите получить доступ к российским сайтам, то вы, конечно, можете выбрать европейские сервера, но на мой взгляд, стоит выбрать российские сервера, для получения полного доступа к сервисам. В таком случае (повторюсь, для доступа к российским серверам) рекомендую обратить внимание на следующую статью, в которой были протестированы некоторые российские хостинг-провайдеры: Обзор дешевых VPS-серверов. Я же воспользовался услугами хостинг-провайдера VDS.SH. С учетом того, что не все провайдеры разрешают использование VPS в качестве VPN сервера, перечислю тех, кто точно разрешает:

  • VDS.SH
  • firstvds.ru
  • pq.md
  • skyhost.ru
  • gcorelabs.com
  • hostiman.ru
  • vpshoster.ru
  • hosting.energy

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

Кроме этого:  Бокс для установки аккумулятора

Для тех, кому нужен доступ к заблокированным в РФ сайтам, нужно брать сервер за пределами России. Это может быть DigitalOcean или linode – из недорогих хостингов.

Если вы собираетесь использовать сервер только в качестве VPN сервера, то вам не нужны дополнительные панели управления, типа ISPmanager. Не заказывайте их.

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

Выбрав сервер, на электронную почту вы получили необходимые данные для доступа к нему.

Подключаться к серверу будем с помощью ssh клиента PuTTY, а скачивать нужные файлы (клиентские ovpn файлы) с помощью ftp-клиента FileZilla.

Запускаем приложение PuTTY, в графе Host Name вводим ip адрес нашего сервера (эти данные мы получили сразу после регистрации сервера), порт 22.

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

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

Подключение с помощью FileZilla. Открываем FileZilla: Файл > Менеджер сайтов > Новый сайт > Протокол указываем SFTP, Хост – IP адрес сервера, а также Имя пользователя и пароль, полученные по почте.

Как создать OpenVPN сервер за 5 минут

На самом деле на установку OpenVPN сервера уйдет меньше 5 минут. Установка сервера будет рассматриваться на VPS с операционной системой Ubuntu, для Debian команды идентичны, но скорее всего без sudo (как правило он не предустановлен).

Устанавливаем утилиты, которые нам пригодятся:

Для операционных систем, версии которых не ниже Ubuntu 18.04, Debian 9, CentOS 7. Допускаются данные версии и выше. Скрипт автоматической установки OpenVPN:

Во время установки будет задано несколько вопросов с уже готовым по умолчанию ответом. Можно соглашаться, можно отредактировать и выбрать свой вариант. Протокол соединения, рекомендую, использовать udp. В качестве DNS использую Яндекс DNS (77.88.8.8). Последним вопросом будет предложено задать имя клиентского файла ovpn, который затем будет расположен в директории Root.

Повторный запуск скрипта позволяет:

  1. Добавить клиентский файл ovpn для подключения
  2. Анулировать клиентский файл ovpn, выданный ранее.
  3. Удалить сервер OpenVPN
  4. Выйти

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

Этот скрипт подойдет для операционных систем не выше, но в том числе, Ubuntu 16.04, Debian 8, Centos 6.

Являясь обладателем роутера ASUS RT-AC59U, который поддерживает клиентские VPN, меня интересовало подключение через роутер. Опытным путем выяснил, что OpenVPN клиент роутера поддерживает подключение, созданное на сервере версии только Ubuntu 16.04.

После установки скрипта VPN уже готов и запущен. Можно с помощью FileZilla скачать файл ovpn и импортировать в нужное устройство. Как импортировать ovpn можно посмотреть на примере статьи: Настройка OpenVPN. Подключение к бесплатным серверам VPN Gate.

По умолчанию через VPN будет проходить весь трафик.

Настройка OpenVPN для фильтрации только заблокированных сайтов

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

Подключившись по PuTTY к серверу, открываем ранее установленный файловый менеджер mc (запускается командой: mc). Переходим к директории: /etc/openvpn/server/

Нас интересует файл server.conf , нажимаем на него и жмём F4 для редактирования, затем номер 1 для выбора редактора nano. Редактирование файла можно сразу запустить командой:

Находим строчку push «redirect-gateway def1 bypass-dhcp» и закомментируем её, добавив перед ней значок #. Данную строчку можно и вовсе удалить. Именно она отвечает за то, чтобы весь трафик шел через VPN.

Добавим строчку duplicate-cn . Она позволит использовать один сертификат на нескольких устройствах.

Затем нам нужно добавить ip адреса, которые будут идти через VPN. Узнать IP адрес сайта можно с помощью Командной строки, командой:

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

Адреса без букв, будут являться адресами IPv4, которые нам нужны. Добавлять адреса в конце файла server.conf нужно следующим образом:

где 5.255.252.0 добавленный нами ip адрес.

Добавив адреса, нажимаем ctrl+O, затем ctrl+ X, для сохранения внесенных изменений и закрытия редактора.

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

Скриншот моего файла server.conf.

Итак, закомментировали или удалили строчку #push «redirect-gateway def1 bypass-dhcp» , добавили IP адреса для обхода блокировки, теперь осталось только перезапустить OpenVPN сервер.

После внесения изменений в server.conf нужно перезапустить VPN сервер. Для Ubuntu 18.04, Debian 9, Centos 7 и выше:

Для Ubuntu 16.04, Debian 8, Centos 6 и ниже:

Существует еще один скрипт для автоматической установки OpenVPN сервера:

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

Кроме этого:  9 Set Up Munin config for Apache

Источник

Скрипт для лёгкой установки и настройки web сервера на ubuntu

При переезде на новую систему, как обычно, забылся сделаться бэкап настроек apache. Я, как и многие, при создание своего web сервера на ubuntu руководствуются вот этой статьёй . Туда ведут почти все ссылки с гугла, а сама статься написана очень простым языком. Но вот каждый раз проделывать все шаги, после переустановки системы, да и при добавление нового сайта, очень лениво. Да и статья с форума немного устарела… например, phpmyadmin не заработает если руководствоваться точными инструкциями (как минимум на ubuntu 12.04). Решено было написать скрипт, который максимально автоматизирует все шаги.

Как видите, скрипт умеет выполнять 3 действия:

  1. Установку сервера. Произойдет установки всех нужных пакетов. Например, apache, php, mysql и phpmyadmin.
    mysql-server специально прописан в скрипте до phpmydmin, а то последний не установится без первого. Обязательно запомните пароль от root’a, который введёте при установке. Чтобы phpmyadmin заработал как надо будет добавлена строчка Include /etc/phpmyadmin/apache.conf в файл /etc/apache2/apache2.conf .
  2. Второй пункт позволяет сменить назначение папки для сайта по умолчанию. По умолчанию она находится в /var/www , что не очень удобно, ибо папка принадлежит руту. Гораздо удобнее, когда сайт находится в домашней папке. Скрипт обладает памятью (если не будете менять имя скрипта), так что можно менять имя папки по умолчанию сколько угодно раз.
  3. Последний пункт (для меня самый важный) позволяет быстро добавить новый сайт. Просто вводите путь к новой папке, где будут лежать файлы, затем имя сайта (то, какое будете вводить в браузере) и всё. остальное скрипт сделает сам. А именно: создаст папку (если её нет), создаст новый файл с вашими настройками в /etc/apache2/sites-available/ и подключит его, после чего пропишет нужную строчку в /etc/hosts (память на ip тоже имеется… до 255 сайтов) и перезагрузит apache.

Большинству пользователей будет достаточно первых двух пунктов… и для них скрипт не особо то и нужен (т.к. это действие на 1 раз). А вот для тех, кто часто добавляет новые сайты, скрипт может быть полезен.

Ещё в скрипте используются очень нестандартные способы замены путей (символ «/» sed так просто не поймёт) и способ для запоминания изменений. Ну а про способ добавления в защищёный файл своих строчек… это лучше увидеть самим (внимание, опасность фейспалма).

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

Скрипт следует всегда запускать в терминале. Можно командой, а можно двойным кликом и выбрать «Запустить в терминале».

Первый пункт особо не тестировался. При первом запуске (когда ещё не прописал mysql-server) выскочила ошибка. Пришлось сносить и устанавливать phpmyadmin по новой. Но сейчас всё работает:

Источник



Подробная инструкция по установке любого скрипта на любой хостинг

Первоначальные действия по установке практически любого скрипта на любой нормальный хостинг одинаковы: нужно создать базу данных, залить файлы скрипта на сервер, прилинковать домен. В этом посте будет приведена подробная инструкция по установке скрипта интернет магазина (или любой другой CMS) на хостинг BeGet. Этот хостинг подойдет как нельзя кстати: 30 дней бесплатного тестового доступа позволят вам вдоволь потренироваться.

Введение

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

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

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

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

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

Зарегистрироваться на хостинге я думаю не составит труда: выбираем тариф Старт (впринципе не важно какой, если станет тесно — в любой момент можно сменить тариф), вводим в форме своё имя и E-mail и ждём письма, в котором будут указаны пароли для доступа на хостинг. После регистрации у вас есть 30 дней на попробовать, если не захотите пользоваться хостингом, то через 30 дней ваш аккаунт и сайты просто будут удалены.

Кроме этого:  Ножки для ванны ESTAP CLASSIC 140 150 160 170 cм

После регистрации и входа на хостинг видим Панель управления (ПУ) хостингом:

Панель управления хостинга Beget

Панель управления хостинга Beget

Создаём на хостинге базу данных

Для того что бы создать базу данных на хостинге нужно в ПУ кликнуть на пиктограмме MySQL. В результате откроется панель управления базами данных:

Создание базы данных на хостинге

Создание базы данных на хостинге

Сдесь мы указываем имя базы данны и пароль. Жмём кнопку Создать. База данных создана. Нам остаётся только запомнить введённые данные. Мы их и будем передавать скрипту при установке. Замечаем что перед именем базы данных есть префикс и именем базы будет считаться то имя которое получается в результате склейки этого префикса и того имени которое вы ввели. В дальнейшем при установке скрипта нужно будет ввести: имя базы данных, имя пользователя, пароль. Имя пользователя на этом хостинге не вводится — оно совпадает с именем базы данных.

Создаём сайт (директорию для сайта) и прилинковываем доменное имя

Для того что бы закачать файлы скрипта на хостинг нам нужно создать под сайт отдельную папку: ведь на хостинге может быть расположено несколько сайтов — файлы каждого должены располагаться в отдельной директории. При создании аккаунта на хостинге автоматически создаётся одна папка: public_html. В неё и будем заливать скрипт. Если в дальнейшем понадобится создать второй сайт то используем пункт Сайты в ПУ:

Создание директории для сайта

Создание директории для сайта

Для того что бы создать сайт (директорию) указываем имя и жмём кнопку создать.
Ничего сложного. В дальнейшем созданную директорию увидим в файловом менеджере при загрузке файлов скрипта на хостинг. Так же в этом пункте панели управления можно прилинковать (прикрепить) одно из имеющихся доменных имен к директории сайта. В нашем случае к директории public_html должно быть прилинковано бесплатное доменное имя третьего уровня вида НазваниеАккаунта.bget.ru. Его мы плучаем при создании аккаунта. В дальнейшем к уже созданному сайту можно прилинковать нормальное доменное имя второго уровня.

Закачиваем файлы скрипта на хостинг

Существует два способа закачки скрипта на хостинг: через файловый менеджер панели управления хостингом или через FTP.

Что бы использовать файловый менеджер ПУ заходим в соответствующий раздел. В отдельном окне откроется файловый менеджер:

Файловый менеджер хостинга BeGet

Файловый менеджер хостинга BeGet

В файловом менеджере открываем одинарным сщелчком папку public_html. Там видим файл index.html, его нужно удалить. Затем жмём на кнопочку Закачать. Откроется стандартное окно выбора файла. Выбираем архив со скриптом и закачиваем на хостинг. Важно закачивать именно архив, а не папку с файлами — это намного быстрее. Архив после закачки нужно разорхивировать, после этого удалить сам файл архива.

Установка скрипта на хостинг

Что бы началась установка нужно в браузере ввести адрес вашего сайта: доменное имя в данный момент прилинкованное к сайту. У нас это рабочее имя 3 уровня полученное при регистрации: ИмяАккаунта.bget.ru.

В процессе установки вы введёте имя базы данных, имя пользователя и пароль к базе данных, полученные ранее.

Дальнейший ход установки интернет магазинов описан в соответсвующих постах:

Источник

Установка скрипта на хостинг

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

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

Установка скрипта через панель управления хостингом

В панели управления хостингом ISP manager уже предусмотрены популярные скрипты или CMS. Для установки потребуется авторизоваться в панели управления хостингом, подробнее будет тут позднее.

  1. Выберите раздел «WWW». Нажмите «Каталог Web-скриптов». В данном разделе присутствуют проверенные веб-скрипты. Для примера установим CMS-Joomla. Следующим действием будет нажать кнопку «Установить»:
  2. После недолгой загрузки откроется окно установки. Выберите домен, на который необходимо установить скрипт. Введите директорию (в большинстве случаев директория «www»), затем выберите сервер (версию базы данных). Нажмите «Далее»:
  3. Примите лицензионное соглашение. Поставьте галочку напротив «Я согласен с условиями данного лицензионного соглашения», нажмите «Далее»:

Ручная установка скрипта на хостинг

При необходимости установки стороннего скрипта, можно прибегнуть к ручной установке. Прежде всего важно создать базу данных (если вы этого ещё не сделали). О том, как создать базу данных на хостинге, подробнее будет тут позднее. Далее вам необходимо закачать файлы скрипта на сервер. Это можно сделать через панель управления или через специальный FTP-менеджер. Рассмотрим вариант загрузки через панель хостинга:

    Перейдите в раздел «Менеджер файлов», а затем в папку «www»:

Заключение

Если у вас остались какие-либо вопросы по установке скриптов, то задайте их в техподдержку. Мы обрабатываем все заявки, постараемся отреагировать на ваш вопрос и помочь решить проблему как можно скорее.
С уважением,
Команда Former!

Источник