Поиск по сайту:

PiVPN — простейшая установка и конфигурация OpenVPN, разработанная для Raspberry Pi

Некоторое время назад мы опубликовали руководство, в котором описан самый простой способ установки и настройки OpenVPN с помощью скрипта openvpn-install. Используя этот скрипт, любой, даже новичок, может за несколько минут реализовать работающую настройку OpenVPN в системах на базе DEB и RPM. На днях один из наших читателей предположил, что существует еще один подобный скрипт под названием "PiVPN", который используется для настройки OpenVPN в Raspberry Pi. Он в первую очередь предназначен для Raspberry Pi, однако будет работать и на Debian и Ubuntu. В настоящее время он поддерживает только Ubuntu 14.04 LTS.

Насколько безопасен PiVPN?

Прежде чем перейти к установке, давайте обсудим некоторые функции безопасности. Несмотря на то, что установка настолько тривиальна, это не означает, что PiVPN недостаточно безопасен для использования в производстве. Все было обновлено прямо из коробки, помимо настроек по умолчанию, чтобы повысить безопасность сервера и клиента. Это дает вам возможность включить автоматические обновления, которые будут автоматически обновлять ваш сервер обновлениями безопасности. Кроме того, в конфигурации сервера будет использоваться только новейший протокол TLS 1.2. И каналы данных, и каналы управления используют обновленные алгоритмы шифрования и хеширования AES и SHA256.

Я хотел бы попробовать и посмотреть, как это работает в моей серверной версии Ubuntu 14.04 LTS. Итак, поехали.

PiVPN — простейшая установка и настройка OpenVPN

Установить OpenVPN

Установка чрезвычайно проста. Откройте терминал и выполните следующую команду:

curl -L https://install.pivpn.io | bash

Да, это так просто. Через несколько секунд введите пароль пользователя sudo. Приведенная выше команда загрузит и установит последнюю версию OpenVPN вместе со всеми необходимыми зависимостями в вашей системе. По пути PiVPN задаст вам ряд вопросов. Просто используйте настройки по умолчанию, поскольку этого достаточно для настройки работающего сервера OpenVPN.

Нажмите ОК, чтобы продолжить.

Для правильной работы PiVPN требуется СТАТИЧЕСКИЙ IP-АДРЕС.

Если у вас несколько сетевых интерфейсов, выберите любой для его настройки.

PiVPN не будет настраивать статический IP-адрес, если вы не используете устройство Raspberry Pi. Для целей данного руководства я использую Ubuntu 14.04, поэтому статический IP-адрес не настраивается.

Затем выберите локального пользователя, который будет хранить ваши конфигурации ovpn.

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

Выберите протокол.

Выберите порт OpenVPN. Значения по умолчанию достаточно для большинства случаев.

Выберите желаемый уровень шифрования. Я использую значение по умолчанию.

Нажмите «ОК», чтобы сгенерировать ключ Диффи-Хеллмана:

Затем выберите, будут ли клиенты использовать общедоступный IP-адрес или DNS-имя для подключения к серверу.

Выберите поставщика DNS для своих VPN-клиентов. Чтобы использовать свой собственный, выберите «Пользовательский».

Поздравляем! OpenVPN установлен на вашем сервере.

Наконец, нажмите «Да», чтобы перезагрузить систему.

Чтобы проверить, запущена ли служба OpnVPN, введите следующую команду:

sudo service openvpn status
 * VPN 'server' is running

Проверьте, прослушивает ли OpenVPN сервер:

ps auxww | grep openvpn
nobody 936 0.0 0.3 28624 2428 ? Ss 16:15 0:00 /usr/sbin/openvpn --writepid /run/openvpn/server.pid --daemon ovpn-server --cd /etc/openvpn --config /etc/openvpn/server.conf --script-security 2
sk 1206 0.0 0.1 11740 940 pts/1 S+ 16:15 0:00 grep --color=auto openvpn

Как видите, сервер OpenVPN запущен и работает! Давайте продолжим и настроим клиентов.

Создать профиль ovpn клиента

После перезагрузки сервера выполните следующую команду, чтобы создать профиль ovpn клиента.

pivpn add

Или,

pivpn -a

Введите имя вашей клиентской системы и надежный пароль.

Enter a Name for the Client: client ##ENTER client certificate name
Enter the password for the client: ##ENTER password
Enter the password again to verify: ##ENTER password again 
spawn ./easyrsa build-client-full client

Note: using Easy-RSA configuration from: ./vars
Generating a 2048 bit RSA private key
..................................................+++
.....................................+++
writing new private key to '/etc/openvpn/easy-rsa/pki/private/client.key.YlVMZrBWgj'
Enter PEM pass phrase:ubuntu

Verifying - Enter PEM pass phrase:ubuntu

-----
Using configuration from /etc/openvpn/easy-rsa/openssl-1.0.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
commonName :PRINTABLE:'client'
Certificate is to be certified until Jul 9 09:47:17 2027 GMT (3650 days)

Write out database with 1 new entries
Data Base Updated
Client's cert found: client.crt
Client's Private Key found: client.key
CA public Key found: ca.crt
tls-auth Private Key found: ta.key

========================================================
Done! client.ovpn successfully created! 
client.ovpn was copied to:
 /home/sk/ovpns
for easy transfer.
========================================================

Если вам не нужен пароль для клиентских сертификатов, вы можете пропустить параметр пароля с помощью команды:

pivpn add nopass

Профили клиентов будут храниться в папке /home/username/ovpns. Чтобы проверить это, запустите:

ls /home/sk/ovpns/
client.ovpn

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

Например, вы копируете профили клиентов с помощью команды scp, как показано ниже.

cd /home/sk/ovpns/
scp client.ovpn sk@192.168.43.150:/etc/openvpn/

Здесь 192.168.43.150 — это IP-адрес моего клиента openvpn.

Перечислить все сертификаты

Чтобы просмотреть все действительные и отозванные сертификаты, запустите:

pivpn list

Или,

pivpn -l

Пример вывода:

: NOTE : The first entry should always be your valid server!

::: Certificate Status List :::
 :: Status || Name :: 
 Valid :: server
 Valid :: client

Отозвать профиль ovpn клиента

Чтобы отозвать профиль ovpn клиента, выполните:

pivpn revoke

Или,

pivpn -r

Удалить ПиВПН

Не нравится PiVPN? Вы можете удалить его, выполнив следующую команду:

pivpn -u

Или,

pivpn uninstall

И это все на данный момент. В следующем руководстве я объясню, как аутентифицировать клиентов OpenVPN. Надеюсь это поможет. Если наши руководства кажутся вам полезными, поделитесь ими в социальных и профессиональных сетях и поддержите OSTechNix!

Ваше здоровье!

Ресурс:

  • Сайт PiVPN

Статьи по данной тематике