Установка и настройка OpenVPN сервера на Debian/Ubuntu/Linux Mint
В данной теме «Установка и настройка OpenVPN сервера на Debian, Ubuntu, Linux Mint», я расскажу как можно установить openVPN сервер на Debian, Ubuntu, Linux Mint, так же покажу как можно его настроить под себя. Приведу готовые примеры для хорошего понимания.
OpenVPN является полнофункциональным приложением с открытым исходным кодом и решение SSL VPN, что позволяет использовать широкий диапазон конфигураций. OpenVPN эффективное и легкое решение которое целенаправленно расчитано для рынков МСП и предприятий.
Установка OpenVPN сервера на Debian/Ubuntu/Linux Mint.
Для этого достаточно выполнить команду:
# sudo apt-get install bridge-utils openvpn libssl-dev openssl
Это займет некоторое время, после установки нужно будет немного настроить (сконфигурировать) наш сервер с OpenVPN.
Настройка OpenVPN сервера на Debian/Ubuntu/Linux Mint.
Первым шагом будет создание сертификата для OpenVPN сервера, по этому выполните команду:
Если вы используете старую версию OpenVPN, выполните команду:
# mkdir /etc/openvpn/easy-rsa # cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 /etc/openvpn/easy-rsa
Начиная с 2013-го года программа «easy-rsa» не имеется в пакете с OpenVPN по этому ее нужно установить и скопировать ключи с другого места.
# sudo apt-get install easy-rsa
У меня была ошибка, сообщение вывело такое «Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?», которое я решил так:
# sudo fuser -cuk /var/lib/dpkg/lock; sudo rm -f /var/lib/dpkg/lock # sudo fuser -cuk /var/cache/apt/archives/lock; sudo rm -f /var/cache/apt/archives/lock # sudo dpkg --configure -a
После установки этой утилиты создаем папку и копируем в нее ключик:
# mkdir /etc/openvpn/easy-rsa # cp -r /usr/share/easy-rsa /etc/openvpn/easy-rsa # mv /etc/openvpn/easy-rsa/easy-rsa /etc/openvpn/easy-rsa/2.0
Сейчас нужно подредактировать переменные ключей, для этого выполним команду:
# cd /etc/openvpn/easy-rsa/2.0/ # vim vars
В этом файлике нужно поправить кое что под себя ( город, страну, почту и так далее). Можно оставить все как и есть.
Скопируем конфиг:
# cp openssl-1.0.0.cnf openssl.cnf
Выполним команду и подгружаем переменные :
# . ./vars
Удаляем наши старые ключи и создаем сертификат для своего сервера:
# ./clean-all # ./build-ca
После чего создаем ключик для нашего сервера:
# ./build-key-server server
Создадим еще один ключик (Диффи Хельман)
# ./build-dh
Cоздадим ключик для нашей tls-аутификации
# openvpn --genkey --secret keys/ta.key
Сделаем перемещение наших сертификатов в другую папку:
# cp -r /etc/openvpn/easy-rsa/2.0/keys/ /etc/openvpn/
Копируем файлик для конфигурации нашего сервера
# cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/ # cd /etc/openvpn && gunzip -d /etc/openvpn/server.conf.gz # vim /etc/openvpn/server.conf
Выложу свой конфиг и в нем указано что я поправил:
server.conf
Скачать его можно:
# wget http://linux-notes.org/wp-content/uploads/files/OpenVPN/Debian_Ubuntu_Linux-Mint/server.conf
Запускаем наш OpenVPN сервер:
# service openvpn restart
Настроим маршрутизацию на сервера
Создадим файлик в папке ccd с таким именем что и ключик для клиента, т.е. /etc/openvpn/ccd/client
Сейчас добавим маршруты в сеть где будет установлен наш клиент, это нужно для доступа к сетевым устройствам в сети клиента. Если не нужно это, то не прописывайте.
# iroute 192.168.116.0 255.255.255.0
Зададим маршруты для нашего клиента, для того чтобы он мог видеть сеть и за пределами OpenVPN-сервера.
# push "route 192.168.117.0 255.255.255.0"
Включим ipv4_forwarding в /etc/sysctl.conf
# vim /etc/sysctl.conf
[...] net.ipv4.ip_forward=1 [...]
# sudo sysctl -p
Создание и настройка клиента для OpenVPN
Перейдем в уже созданную нами папку, и начнем генерацию ключиков, а так же сертификатов для клиента
# cd /etc/openvpn/easy-rsa/2.0 # . ./vars
Создаем сейчас ключик для самого клиента, выполняем:
# ./build-key client
Если есть необходимость сгенерировать ключик с паролем, то используйте:
# ./build-key-pass client
Если эту команду ввели, то вам нужно будет вводить пароль каждый раз пароль на ключик.
ВНИМАНИЕ! Не забываем что нужно скопировать ключики (ca.crt, dh1024.pem, client.crt, client.key, ta.key) в папку нашего клиента в OpenVPN — /etc/openvpn/keys/
# vim /etc/openvpn/client.conf
читаем что я правил в конфиге тут, чтобы скачать файл:
# wget http://linux-notes.org/wp-content/uploads/files/OpenVPN/Debian_Ubuntu_Linux-Mint/client.conf
После того как внесли все изменения, можно и запустить клиент:
# service openvpn restart
Отзыв сертификата
# cd /etc/openvpn/easy-rsa/2.0 # . ./vars # ./revoke-full client2
revoke-full -этот скрипт создает CRL-файл (certificate revocation list, список отозванных сертификатов) с названием crl.pem в подпапке keys. Этот файлик нужно скопировать в папку, в котором сервер OpenVPN может получить к нему доступ. До этого я прописывал в конфиге что он должен лежать в /etc/openvpn, туда и скопируем.
Включим ipv4_forwarding по необходимости. Выполнить нужно все так же как и с сервером.
Чтобы отключить автозапуск OpenVPN запустите:
# vim /etc/default/openvpn
и убираем коммент в строке:
[...] AUTOSTART="none" [...]
На этом моя статья «Установка и настройка OpenVPN сервера на Debian/Ubuntu/Linux Mint» завершена.
Куда копать если не нахожу у себя каталога
/usr/share/doc/openvpn/examples/easy-rsa/
Использую
Linux ubuntu-srv1 3.16.0-30-generic #40~14.04.1-Ubuntu SMP Thu Jan 15 17:43:14 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Вот моя статье ( еще одна):
http://linux-notes.org/ustanovka-i-nastrojka-openvpn-servera-na-debian-ubuntu-linux-mint/
Вообще, нужно установить openssl:
# apt-get install openssl
И дальше по статье. Если есть дополнительные вопросы, пишите. Могу помочь.
Тоже ничего не получилось из-за каталога этого. Команда apt-get install openssl не помогла, а переход по ссылке привёл на эту же страницу.
Спасибо за пост.
Отличная статья
После установки openVPN на Mint дошёл до пункта:
# . ./vars
Но такой папки нет, в чём может быть проблема?