НАСТРОЙКА OPENVPN client по ssh

1. Обновимся
sudo apt-get update -y

 

2. Установим openvpn
sudo apt-get install -y openvpn

3. Скачайте ваш файл профиля (.ovpn) с личной страницы сайта при помощи браузера

 

4. Переименуйте этот файл в vpnki.conf и разместите в директории /etc/openvpn/

 

5. Попробуйте подключиться

sudo openvpn vpnki.conf

Введите имя пользователя и пароль когда запросит

 

6. Выполните пинг сервера VPNKI
ping 172.16.0.1

 

7. Отключите соединение (все соединения)

sudo killall openvpn

 

8. Сделаем автозапуск соединения openvpn к системе vpnki при автозагрузке системы. Создайте новый файл (vpnki_login), содержащий имя пользователя и пароль и сохраните его в /etc/openvpn/
sudo nano /etc/openvpn/vpnki_login

Вставьте только две строки:

userXXX

<пароль userXXX>

Сохранить Ctrl+X

 

9. Добавьте ссылку на созданный файл в файл конфигурации. Откройте vpnki.conf

sudo nano /etc/openvpn/vpnki.conf

И добавьте эту строку прямо перед тэгом <cа>:

auth-user-pass /etc/openvpn/vpnki_login

Сохранить Ctrl+X

 

10. Добавим автостарт самого openvpn при загрузке системы. Откройте этот файл

sudo nano /etc/default/openvpn

и раскомментируйте параметр AUTOSTART="all"

Сохраните Ctrl+X

 

11. Перезапустите систему и проверьте что соединение устрановлено автоматически:

ifconfig

в выводе команды вы должны увидеть интерфейс с имиеме tun0,

давайте выполним пинг сервера vpnki

ping 172.16.0.1

 

PS: В целях борьбы с зависшими сессиями мы принудительно отключаем пользовательские туннели с протоколом OpenVPN в 00:00 по Московскому времени. При правильной настройке соединения должны автоматически переустановиться.

 

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

 

ДОПОЛНЕНИЯ ОТ ПОЛЬЗОВАТЕЛЕЙ

———————————————————————————————————————

Если ваш OpenVPN автоматически не переподключается после разрыва сессии, то имеет смысл проверить его версию. Выполните:

sudo openvpn —version

Если там например версия OpenVPN 2.3.4 то, увы, нужно обновлять. Например до 2.4.4.

Ниже идет описание процедуры обновления, которая собирает новый OpenVPN из исходников.

0. Удалите старый OpenVPN командой

sudo apt-get remove openvpn

1. Установить инструментарий для сборки.

apt-get update
apt-get install libssl-dev liblzo2-dev libpam0g-dev build-essential -y

2. Получаем ссылку на последний исходник отсюда:

https://openvpn.net/index.php/open-source/downloads.html

Щелкаем в табличке правой кнопкой мышки по openvpn-2.4.4.tar.gz и выбираем скопировать адрес ссылки, ну или как там оно у вас в браузере. Должно получиться что то типа:

https://swupdate.openvpn.org/community/releases/openvpn-2.4.4.tar.gz

3. Создаем временную папку /mnt/openvpn и переходим в нее:

sudo mkdir /tmp/openvpn
cd /tmp/openvpn

в нее мы скачаем наши исходники.

4. Скачиваем исходники:

wget https://swupdate.openvpn.org/community/releases/openvpn-2.4.4.tar.gz

5. Распакуем архив:

tar xf openvpn-2.4.4.tar.gz

(архив распакуется в папку: /tmp/openvpn/openvpn-2.4.4)

6. Перейдем в папку с исходниками:

cd openvpn-2.4.4

7. Создаем make файл:

./configure —prefix=/usr

8. Собственно собираем:

make

9. Устанавливаем:

sudo make install

10. Проверяем версию:

openvpn —version

11. На всякий случай передергиваем сервер:

sudo service openvpn restart

12. Проверяем коннект:

ping 172.16.0.1

Спасибо пользователю ovcher за этот мануал!
Блог о домашней автоматизации ovcher.com

————————————————————————————————

immortal 18.09.2017 12:23

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

#!/bin/bash
# часы
date_time=»`date +%H:%M:%S`»
# дата
date=»`date +%d-%m-%Y`»
#Тестируемый адрес
testip=»172.16.0.1″
kol=$(/bin/ping -c 4 $testip | grep «received» | awk ‘{print $4}’)
if [ $kol == 0 ]
then
sleep 10
kol=$(/bin/ping -c 4 $testip | grep «received» | awk ‘{print $4}’)
if [ $kol == 0 ]
then
sudo service openvpn restart
sudo echo $date $date_time Нет пинга. Начат перезапуск. /var/log/restartinet.log
exit 0
fi
fi

сохраняем например в /etc/resovpn
делаем в crontab проверку, в данном случае раз в 5 минут
crontab -e
*/5 * * * * /etc/resovpn

 

———————————————————————————-

immortal 18.09.2017 11:12

клиент не переподключается при разрыве, судя по мануалу в конфиге должен быть параметр:
connect-retry < seconds > — пробует переподключиться через указанное время в секундах, если соединение было разорвано.
не знаю нужен ли при этом параметр
connect-retry-max < n > — максимальное количество повторов если соединение было разорвано
я добавил в конфиг только connect-retry 10

ДОПОЛНИТЕЛЬНО ПО ТЕМЕ

  • Про VPN и протоколы можно почитать здесь

 

Источник https://vpnki.ru/settings/linux/settings-debian-openvpn