ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Беспроводные технологии/Wi-Fi/Wardriving (https://forum.antichat.xyz/forumdisplay.php?f=113)
-   -   Свой OpenVPN сервер на VPS Ubuntu (https://forum.antichat.xyz/showthread.php?t=579376)

JackSparrow 01.02.2022 21:50

Привет античат !

https://forum.antichat.xyz/attachmen...3734830936.png

В этой статье хотелось поделиться опытом настройки VPSи установки/настройки OVPN на Linux Ubuntu 20.04. Начал работать с линукс недавно и в процессе возникали подводные камни, которые вроде бы удалось побороть. В сети достаточно много мануалов по данной теме, но проблема в том, что та или иная инструкция не сработала для меня полностью, пришлось покурить несколько доков и в итоге собрать из них один. Плюс сразу добавить некоторые рекомендации по безопасности сервера. По идее все должно работать с данной ОС без проблем. Клиент подключаю из под WINды, но можно использовать любые другие клиенты, планирую подключать к сети свой смартфон. В итоге получаем свой VPN канал и левый ip-адрес, но пинги увеличатся и скорость передачи данных соответственно упадет (полностью побороть проблему со скорость пока не удалось), что в принципе не сильно заметно при серфинге, просмотре и тд. (зависит от ваших нужд)
Но обо всем по-порядку.

План такой :

1. Начальная (стандартная) настройка VPS сервера на Linux (покупку/админку и тд. рассматривать не буду, там все более-менее понятно)

2. Настройка SSH и подключение по сертификату.

3. Настройка сертификатов/конфигураций сервера и клиента OVPN

Начальная настройка VPS сервера на Linux :

Подключаться буду из под клиента на винде. Для подключения по SSH использую PUTTY и вполне себе доволен этой утилитой. После того как узнали свой айпишник и права от рута, подключаемся к серверу, можно запустить в cmd (если putty была установлена в систему или добавлена в окружение) :

Код:


Код:

putty.exe user@server -pw password
Создаем нового пользователя и добавляем в группу sudo :

Код:


Код:

adduser античат
usermod -aG sudo античат
su - античат

Проверяем статус брандмауэра и если надо, ключаем :

Код:


Код:

ufw status
ufw enable

И вот тут у меня появилась первая проблемка. В общем я отошел по делам, а вернувшись, понял, что коннект из лост и я вообще не могу достучаться до сервера по shh и отваливаюсь по тайм ауту. При условии что ни RDP ни VNC пакеты не установлены, на этом можно было бы и заканчивать настройку и звонить "местным" админам потому как я просто не знал, как же я могу еще попасть на сервак. Благо в админ панели есть браузерная VNC консоль и подключившись, я решил проблему с SSH.

Настройка SSH и подключение по сертификату :

Код:


Код:

sudo apt update
sudo apt install openssh-server
sudo systemctl status ssh
sudo ufw allow openssh

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

Далее создаем директорию и файл где будут храниться ключи и назначаем им права :

Код:


Код:

cd /home/codeby
mkdir .ssh
chmod 700 .ssh
cd .ssh
touch authorized_keys
chmod 600 authorized_keys

Создаем ключи в puttygen и записываем в файл authorized_keys:

https://forum.antichat.xyz/attachmen...3735414983.png

Код:


Код:

cat >> authorized_keys
-----BEGIN CERTIFICATE-----
Тело сертификата
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
Тело сертификата
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
Тело сертификата
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
Тело сертификата
-----END CERTIFICATE-----

Все готово. Ставим приложение на клиента и переносим клиентский конфиг (с помощью WinSCPнапример). Должен подняться интерфейс - по дефолту в 10.8.0.0/24 подсети. Весь трафик будет идти через ваш ВПН-сервер.

Вы можете добавить дополнительную защиту, создав пользователя впн в системе и включить дополнительный запрос логина/пароля. Для этого надо найти файл openvpn-plugin-auth-pam.so библиотеки авторизации pluginи добавить в server.conf две строки с указанием директории tmp :

Код:


Код:

find / -name "openvpn-*auth-pam*.so" -print
mkdir /etc/openvpn/tmp
chmod 777 /etc/openvpn/tmp
sudo nano /etc/openvpn/server.conf

# добавляем в конфиг сервера
plugin путь до файла/openvpn-plugin-auth-pam.so login
tmp-dir /etc/openvpn/tmp

sudo useradd античат vpn -s /sbin/nologin
sudo passwd античат vpn

Чтобы включить опцию на клиенте, добавляем в конец клиентского конфига :

Код:


Код:

auth-user-pass
Теперь при подключении дополнительно будет запрашиваться логин/пароль

Спасибо за внимание !

IvanPupkin 02.02.2022 21:26

предваритеьная настройка ок, но "Настройка OpenVPN сервер/клиент :" слишком долго. Зачем изобретать велосипед, когда давно существует
wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh

GitHub - Nyr/openvpn-install: OpenVPN road warrior installer for Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS and Fedora

OpenVPN road warrior installer for Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS and Fedora - Nyr/openvpn-install

github.com

JackSparrow 02.02.2022 21:41

Цитата:


IvanPupkin сказал(а):

предваритеьная настройка ок, но "Настройка OpenVPN сервер/клиент :" слишком долго. Зачем изобретать велосипед, когда давно существует
wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh

GitHub - Nyr/openvpn-install: OpenVPN road warrior installer for Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS and Fedora

OpenVPN road warrior installer for Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS and Fedora - Nyr/openvpn-install

github.com


Ну как минимум чтобы разобраться как он работает и настраивается не из коробки)

MLNK 02.02.2022 21:52

Цитата:


IvanPupkin сказал(а):

предваритеьная настройка ок, но "Настройка OpenVPN сервер/клиент :" слишком долго. Зачем изобретать велосипед, когда давно существует
wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh

GitHub - Nyr/openvpn-install: OpenVPN road warrior installer for Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS and Fedora

OpenVPN road warrior installer for Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS and Fedora - Nyr/openvpn-install

github.com


Я согласен с @zvepb если всё делать скриптами(не своими) то дальше скиди не продвинешься. Тем более не всегда готовое решение подходит.

dotru 07.03.2022 23:33

Цитата:


MLNK сказал(а):

Я согласен с @zvepb если всё делать скриптами(не своими) то дальше скиди не продвинешься. Тем более не всегда готовое решение подходит.


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

JackSparrow 09.03.2022 15:36

Цитата:


dotru сказал(а):

Иногда бывает быстрее написать свой баш скрипт, чем разбираться в том что кто-то написал
Цитата:


dotru сказал(а):

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


Иногда лучше вообще не запускать чужие скрипты



dotru 10.03.2022 10:56

Я про то же

Виталий Ломакин 18.10.2022 11:50

Спасибо за мануал. Возможно в скором будущем воспользуюсь им.

aslikeme 23.10.2022 10:54

Добрый день.
Подскажите, если у меня на впс стоит Wireguard, могу я поставить еще рядом OpenVPN что бы они не конфликтовали?


Время: 11:35