В предыдущей статье мы установили сервер openvpn и программу easy-rsa, необходимую для генерации сертификатов и ключей, сгенерировали сами ключи и сертификаты, выполнили настройку сервера, включили фаервол и разрешили подключения на нужный нам порт. В этой статье мы создадим файл конфигурации для клиента на Ubuntu, настроим и проверим, как все работает.
Установка и настройка клиента OpenVPN.
Для настройки клиента OpenVPN на Ubuntu (в примере использовалась Ubuntu 16.04) нам понадобится тот же пакет, что и для установки сервера.
Соответственно, все команды мы будем выполнять на клиенте (например, на домашнем ПК).
Выполните в консоли:
Далее потребуется создать файл конфигурации клиента. Как и в случае с настройкой сервера, возьмем образец, предоставленный разработчиками, чтобы не создавать его с нуля:
Сначала измените значение параметра remote на IP вашего сервера. Если вы по каким-либо причинам изменили номер порта, впишите соответствующее значение вместо стандартного 1194.
Раскомментируйте следующие строки так же, как делали это на сервере:
Далее найдите блок, начинающийся с # SSL/TLS params. Внизу этого блока укажите пути к файлам ключей и сертификатов таким образом:
Имена второго и третьего файлов могут быть другими — в зависимости от того, как вы назвали клиентский сертификат и ключ на первом этапе.
Еще ниже замените строку:
на эту:
В следующем блоке замените:
на строку:
Если в файле конфигурации сервера вы указали другой тип шифрования, то и здесь нужно ввести его же.
Скачаем с сервера файлы ключей и сертификатов и разместим их в той директории, которую мы указали выше.
Потребуется ввести пароль пользователя вашего сервера. Возможно, потребуется подтвердить согласие на подключение — для этого введите «yes». Далее тем же способом получим еще два файла:
Перезапустите сервис openvpn:
Для единоразового подключения используйте команду:
После перезагрузки соединение должно устанавливаться автоматически.
Воспользуйтесь любым сервисом проверки ip-адреса, чтобы узнать, все ли работает как нужно. Если с работающей и остановленной службой openvpn ваши IP различаются, значит, вы настроили все верно.
Решение проблем.
В случае проблем первым делом проверьте логи:
Если информации о проблеме в выводе команды нет, попробуйте увеличить значение параметра verb в самом конце файла /etc/openvpn/client.conf, чтобы сделать логи более подробными. Максимальное значение — 11. После этого снова перезапустите сервис openvpn и проверьте логи еще раз.
Для большего удобства можно указать в конфигурационых файлах клиента и сервера параметр log-append, добавив после пробела желаемое расположение файла с логом. В этом случае получать информацию о происходящем будет удобнее.
Если соединение слишком медленное, попробуйте добавить в файлы конфигурации клиента и сервера (в моей серии статей это etc/openvpn/client.conf и etc/openvpn/server.conf соответственно) строки:
Не забудьте добавить эти же строки в файлы конфигурации остальных клиентов, если они есть. И сервер, и клиенты нужно будет перезапустить.
Можно также попробовать отключить сжатие трафика, после чего сравнить результаты и оставить лучший вариант. Для этого и в /etc/openvpn/server.conf, и в /etc/openvpn/client.conf нужно закомментировать (поставить «;» в начале строки) параметр comp-lzo.
Обратите внимание: состояние этой и многих других директив на сервере и клиентах должно быть одинаковым!
P.S.
В начале цикла статей об OpenVPN я уже упоминал, что защита, которую дает это ПО, хороша, но не абсолютна. Один из способов повысить ее эффективность — скрыть сам факт использования OpenVPN. Если будет достаточное количество желающих, я расскажу, как это сделать.