Skip to main content

Установка OpenVPN server в Debian Linux

Май 21, 2010 Автор: Hikaru

Виртуальные частные сети - это удобный способ обьеденить две точки защищённым каналом. Для установки OpenVPN в Debian нужно выполнить команду:

aptitude install openvpn

Далее переходим в каталог /usr/share/doc/openvpn/examples/easy-rsa/2.0/
и редактируем файл vars

vim vars

Необходимо закомментировать 2 строки:
# PKCS11 fixes
#export PKCS11_MODULE_PATH="/etc/openvpn/keys"
#export PKCS11_PIN="/etc/openvpn/keys"
И настроить параметры для создания ключей:

export KEY_COUNTRY="RU"
export KEY_PROVINCE="RU"
export KEY_CITY="Moscow"
export KEY_ORG="linux"
export KEY_EMAIL="linuxpages@linux"

Затем, необходимо последовательно выполнить три команды:

source ./vars
./clean-all
./build-ca

Последняя команды вызовет интерактивный процесс создания CA-сертификата (т.к. мы заполнили шаблон, можно и не заполнять часть полей):

Generating a 1024 bit RSA private key
.++++++
......++++++
writing new private key to 'ca.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [RU]:RU
State or Province Name (full name) [RU]:RU
Locality Name (eg, city) [Moscow]:Moscow
Organization Name (eg, company) [linux]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) [linux CA]:server
Email Address [linuxpages@linux]:linuxpages@linux

Далее следует выполнить команду:

./build-key-server server

Как и на предыдущем шаге, большинство параметром можно оставить по-умолчанию. Когда появиться запрос на "common name" следует ввести "server". И ещё два вопроса нуждаются в подтверждении:

"Sign the certificate? [y/n]"
"1 out of 1 certificate requests certified, commit? [y/n]"

Далее нужно выполнить команду:

linuxpages@linux

Для создания ключей, необходимо выполнить (помните, у каждого клиента должно быть уникальным "common name").
./build-key client1
./build-key client2
Таким образом будет сгенерирован набор ключей и сертификатов для сервера и двух клиентов. Ниже приведена таблица файлов и следует ли к ним давать кому бы то ни было доступ.
openvpn.png
Все ключи и сертификаты openvpn сервера хранятся в папке /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys
Далее следует создать директорию для постоянного хранения ключей и скопировать ключи, необходимые для работы сервера туда:

mkdir /etc/openvpn/keys/
cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/* /etc/openvpn/keys/

Заключительный этап это создание конфигурационного файла OpenVPN сервера:
Проще всего воспользоваться шаблоном, который лежит в /usr/share/doc/openvpn/examples/sample-config-files

gzip -d server.conf.gz
cp server.conf /etc/openvpn/

Последний шаг это изменение конфигурационного файла, в нём необходимо указать путь к ключам.

vim /etc/openvpn/server.conf
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh1024.pem

Осталось только перезапустить openvpn-сервер:

invoke-rc.d openvpn restart