Как развернуть свой VPN сервер
Стоимость: 14$ в год.
Инструкция очень подробная и рассчитана на начинающих.
Вступление
В свете последних событий растет потребность в VPN для обхода разных блокировок.
Можно использовать какой-нибудь VPN сервис
+ Проще(Но не сильно)
- Ненадежно(Уже сейчас забанены популярные VPN сервисы и РКН планирует заблокировать ещё больше. Есть обходы этих блокировок, но это танцы с бубном, что убирает главный плюс данного варианта)
- Небезопасно(Если использовать малоизвестные сервисы, то безопасность и анонимность ваших данных будет находится под большим вопросом, а о надежности и речи быть не может)
- Низкая скорость(Относится к малоизвестным сервисам)
Можно использовать свой VPN на арендованном сервере
+Безопасность(Только вы знаете, что происходит на вашем сервере)
+Надежность(IP вашего сервера никогда не забанят, ведь пользуетесь им только вы)
+Высокая скорость(Сервером пользуетесь только вы и ваша семья)
-Возможные проблемы с арендой VPS сервера
1.Покупка VPS
Первым делом нам нужно купить VPS(Виртуальный приватный сервер).
В данной статье я покажу как купить VPS на примере RackNerd, так как в апреле у них можно купить VPS по цене 14$ в год c 2500 GB трафика в месяц, да и без скидок у них дешевые и качественные VPS. Другие дешевые VPS можно найти здесь. Нам сгодится самый дешевый. Ориентируйтесь на скорость и количество трафика в месяц.
Переходим по ссылке
Выбираем операционную систему Ubuntu 20 и нужное вам расположение сервера
Нажимаем Continue => Checkout
Дальше вводим свои данные, насколько правдивыми они будут решать вам, но email должен быть настоящим.
Способов оплаты много. Выбирайте наиболее удобный для вас. Я выбрал webmoney, так как для меня он единственный рабочий.
После оплаты на email придёт письмо с данными для подключения к серверу. Также в письме будет ссылка и логин, пароль к панели управления сервером. В ней можно настраивать сервер. но в дальнейшем она нам не понадобится, но иногда после всех установок может потребоваться перезагрузка сервера, она делается именно в панели управления.
2.Подключение к VPS
Скачиваем и устанавливаем PuTTY
Открываем и в поле Host Name вводим IP адрес из письма. В поле Port вводим SSH port из письма.
Нажимаем Open
Далее нажимаем Accept
Вводим имя пользователя, в нашем случае root, нажимаем Enter
Далее копируем Root Password из письма, вставляем его в с помощью ПКМ и нажимаем Enter.(Пароль не отображается при вводе)
3.Установка и настройка VPN сервера.
Есть много разных VPN серверов. Я буду использовать Wireguard, так как он современный, лёгкий и быстрый. Устанавливать и настраивать его вручную не вижу смысла, если вы хотите обычный VPN сервер. Вместо этого, мы будем использовать скрипт, который очень упростит весь процесс.
Копируем и вставляем(ПКМ для вставки в терминал) данную команду.
wget https://git.io/wireguard -O wireguard-install.sh && bash wireguard-install.sh
Вводим нужный вам порт, если вам без разницы просто нажмите Enter.
Придумываем и вводим имя клиента который будет подключаться к VPN.
Выбираем нужный DNS сервер, если вам без разницы просто нажмите Enter.
Нажимаем Enter ещё раз.
Мы создали и конфиг файл(нужен для подключения), также в терминале появится его QR-code для подключения с телефона(подробнее в разделе 4.Подключение к VPN).
Для каждого пользователя нужно создавать свой конфиг файл. Для этого вводим эту команду и проделываем предыдущие действия.
bash wireguard-install.sh
3.5 Скачивание конфиг файла
Для того чтобы скачивать файлы с сервера нам понадобится программа WinSCP
Скачиваем, устанавливаем и запускаем.Вводим те же данные, что мы вводили в PuTTY и нажимаем войти.
Далее просто переносим конфиг файл(имя клиента.conf) на свой пк.
На Windows:
Скачиваем WireGuard
Устанавливаем, открываем, нажимаем Добавить туннель, выбираем наш конфиг файл и нажимаем кнопку Подключить.
На Android:
Скачиваем WireGuard из Google.Play или F-DroidОткрываем, тапаем по плюсику, выбираем либо импорт из файла или архива, тогда выбираем наш конфиг файл, либо сканируем QR-код из терминала.
Заключение
Надеюсь данная инструкция окажется для кого-нибудь полезна.
Спасибо за прочтение.
P.S. Извините, что забыл открыть.
В статье не указан один весомый минус. По сути вы являетесь хозяином сервера, соответственно несете полную ответственность за его безопасность и то, что на нем происходит, чего нет в vpn по подписке. Регулярно обновляйте ПО сервера. Не забудьте fail2ban на сервер поставить и правила в нем сделать пожёстче, установить нормальный фаервол, также желательно отрубить рута и как можно более сложный пароль поставить на админский аккаунт в ssh. А лучше вообще подключение ssh только через ключи сделать. Иначе ваш сервер очень быстро будет взломан и станет частью ботнета и в самом лучшем случае получите бан от хостера за нарушение правил использования.
Многие в комментариях резонно указали, что сервер не настроен, его взломают, и будет он трудится в каком-нибудь ботнете. На что я отвечу:
1. Убирать рут не вижу смысла. На сервере нет никаких важных данных и рут нужен почти всегда.
2. Вход с помощью ключей. Можно установит, но это добавляет проблем с настройкой и подключением. Ради защиты большого ничего, также не вижу смысла этим заниматься.
Что необходимо сделать:
Для защиты сервера имеет смысл изменить SSH порт на какой-нибудь другой, это отсеет большинство атак ботов, установить fail2ban, для защиты от перебора паролей и настроить Firewall. Как это сделать расписано ниже.
Изменяем порт SSH:
Вводим в терминал
Управление стрелочками. Удаляем # перед Port и вместо 22 вводим любой от 1024 до 65535.
Нажимаем Ctrl+X потом Y и Enter.
Перезапускаем ssh командой:
Теперь при подключение используйте новый SSH порт
Устанавливаем fail2ban командой:
Для наших целей настройка из коробки сгодится.
Установим и настроим Firewall
Нажимаем Y и Enter
Всё. Дальнейшую настройку для данного сервера, я считаю избыточной.
Спасибо. В свете блокировки ютуба нужная информация
А как пускать через ВПН только выборочные сайты, например из списка заблокированных РКН?
Смысл Пикабу через него гнать