 |

01.02.2022, 21:50
|
|
Новичок
Регистрация: 04.04.2020
Сообщений: 0
С нами:
3215922
Репутация:
0
|
|
Привет античат !
В этой статье хотелось поделиться опытом настройки 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:
Код:
Код:
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
Чтобы включить опцию на клиенте, добавляем в конец клиентского конфига :
Код:
Теперь при подключении дополнительно будет запрашиваться логин/пароль
Спасибо за внимание !
|
|
|

02.02.2022, 21:26
|
|
Новичок
Регистрация: 28.11.2021
Сообщений: 0
С нами:
2347787
Репутация:
0
|
|
предваритеьная настройка ок, но "Настройка 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
|
|
|

02.02.2022, 21:41
|
|
Новичок
Регистрация: 04.04.2020
Сообщений: 0
С нами:
3215922
Репутация:
0
|
|
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
Ну как минимум чтобы разобраться как он работает и настраивается не из коробки)
|
|
|

02.02.2022, 21:52
|
|
Новичок
Регистрация: 23.01.2018
Сообщений: 0
С нами:
4371257
Репутация:
0
|
|
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 если всё делать скриптами(не своими) то дальше скиди не продвинешься. Тем более не всегда готовое решение подходит.
|
|
|

07.03.2022, 23:33
|
|
Новичок
Регистрация: 06.03.2022
Сообщений: 0
С нами:
2205772
Репутация:
0
|
|
MLNK сказал(а):
Я согласен с @zvepb если всё делать скриптами(не своими) то дальше скиди не продвинешься. Тем более не всегда готовое решение подходит.
Иногда бывает быстрее написать свой баш скрипт, чем разбираться в том что кто-то написал до тебя
|
|
|

09.03.2022, 15:36
|
|
Новичок
Регистрация: 04.04.2020
Сообщений: 0
С нами:
3215922
Репутация:
0
|
|
dotru сказал(а):
Иногда бывает быстрее написать свой баш скрипт, чем разбираться в том что кто-то написал
dotru сказал(а):
Иногда бывает быстрее написать свой баш скрипт, чем разбираться в том что кто-то написал до тебя
Иногда лучше вообще не запускать чужие скрипты
|
|
|

10.03.2022, 10:56
|
|
Новичок
Регистрация: 06.03.2022
Сообщений: 0
С нами:
2205772
Репутация:
0
|
|
Я про то же
|
|
|

18.10.2022, 11:50
|
|
Новичок
Регистрация: 18.10.2022
Сообщений: 0
С нами:
1881038
Репутация:
0
|
|
Спасибо за мануал. Возможно в скором будущем воспользуюсь им.
|
|
|

23.10.2022, 10:54
|
|
Новичок
Регистрация: 14.09.2019
Сообщений: 0
С нами:
3508250
Репутация:
0
|
|
Добрый день.
Подскажите, если у меня на впс стоит Wireguard, могу я поставить еще рядом OpenVPN что бы они не конфликтовали?
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|