Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OpenVPN 1.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
110.08 Кб
Скачать

OpenVPN

Содержание

  • OpenVPN

    • Установка сервера

    • Установка структуры открытых ключей (PKI)

    • Настройка простого сервера

    • Настройка простого клиента

    • Первичное решение проблем

    • Расширенные настройки

    • Реализации клиентского программного обеспечения

    • Ссылки

Руководство по Ubuntu Server » Кластеризация

<-назад | далее->

OpenVPN

Если вы хотите больше, чем просто предварительно распространенные ключи, OpenVPN упрощает установку и использование инфраструктуры открытых ключей (PKI), предназначенной для аутентификации с использованием SSL/TLS сертификатов и обмена ключами между VPN сервером и клиентами. OpenVPN может использоваться режимах VPN с роутингом и сетевым мостом и настраиваться на использование как UDP так и TCP. Номер порта также может настраиваться, но официально используется 1194. И он один используется для всех коммуникаций. Реализации VPN клиента доступны почти для всего, включая все дистрибутивы Linux, OS X, Windows и OpenWRT, являющийся основой для WLAN роутеров.

Установка сервера

Для установки openvpn наберите в терминале:

sudo apt-get install openssl openvpn

Установка структуры открытых ключей (PKI)

Первым шагом при построении конфигурации OpenVPN является установка PKI. PKI состоит из:

  1. отдельные сертификаты (также известные как открытые ключи) и секретные ключи для сервера и каждого клиента

  2. главный сертификат центра сертификатов (CA) и секретный ключ, которые используются для цифровой подписи сертификатов сервера и клиентов.

OpenVPN поддерживает двустороннюю аутентификацию на основе сертификатов, означающую что клиент должен аутентифицировать серверный сертификат, а сервер должен аутентифицировать клиентский прежде чем будет установлено взаимное доверие.

И сервер и клиент аутентифицируют друг друга сначала проверяя, что представленный сертификат подписан главным сертификатом центра сертификатов, а затем проверяя информацию в заголовке свеже-аутентифицированного сертификата, такую как общее имя или тип сертификата (клиент или сервер).

Установка центра сертификатов

Для установки вашего собственного центра сертификатов (CA) и генерации сертификатов с секретными ключами для OpenVPN сервера и множества клиентов, сперва скопируйте easy-rsa каталог в /etc/openvpn. Это гарантирует, что любые изменения в сценариях не будут потеряны при обновлении пакета. Из терминала переключитесь на суперпользователя (sudo -s - прим. пер.) и выполните:

mkdir /etc/openvpn/easy-rsa/

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

Далее отредактируйте /etc/openvpn/easy-rsa/vars, исправив следующее в соответствии с вашей действительностью:

export KEY_COUNTRY="US"

export KEY_PROVINCE="NC"

export KEY_CITY="Winston-Salem"

export KEY_ORG="Example Company"

export KEY_EMAIL="steve@example.com"

Введите следующее для создания главного сертификата центра сертификатов и его секретного ключа:

cd /etc/openvpn/easy-rsa/

source vars

./clean-all

./build-ca

Серверные сертификаты

Далее мы создадим сертификат и секретный ключ для сервера:

./build-key-server myservername

Как и на предыдущем шаге большинство параметров можно выбирать по умолчанию. Два других запроса требуют положительного ответа: "Sign the certificate? [y/n]" и "1 out of 1 certificate requests certified, commit? [y/n]".

Должны быть созданы параметры Деффи-Хеллмана (Diffie-Hellman) для OpenVPN сервера:

./build-dh

Все сертификаты и ключи будут создаваться в подкаталоге keys/. Общая практика копировать их в /etc/openvpn/:

cd keys/

cp myservername.crt myservername.key ca.crt dh1024.pem /etc/openvpn/

Клиентские сертификаты

VPN клиент тоже требует наличие сертификата для аутентификации на сервере. Обычно вы создаете отдельные сертификаты для каждого клиента. Для создания сертификата, введите следующее в терминале под суперпользователем:

cd /etc/openvpn/easy-rsa/

source vars

./build-key client1

Скопируйте следующие файлы на сторону клиента, используя защищенный метод:

  1. /etc/openvpn/ca.crt

  2. /etc/openvpn/easy-rsa/keys/client1.crt

  3. /etc/openvpn/easy-rsa/keys/client1.key

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

Настройка простого сервера

Вместе с вашей установкой OpenVPN вы получаете эти примеры конфигурационных файлов (и много чего еще, если проверите):

root@server:/# ls -l /usr/share/doc/openvpn/examples/sample-config-files/

total 68

-rw-r--r-- 1 root root 3427 2011-07-04 15:09 client.conf

-rw-r--r-- 1 root root 4141 2011-07-04 15:09 server.conf.gz

Начните с копирования и распаковки server.conf.gz в /etc/openvpn/server.conf:

sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/

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

Отредактируйте /etc/openvpn/server.conf и убедитесь что следующие строки указывают на сертификаты и ключи, которые мы создали в предыдущем разделе.

ca ca.crt

cert myservername.crt

key myservername.key

dh dh1024.pem

Это тот минимум, который вы должны настроить, чтобы получить работающий OpenVPN сервер. Вы можете использовать все значения по умолчанию из файла примера server.conf. Теперь запустите сервер. Вы найдете журнал событий и ошибок в вашем syslog.

root@server:/etc/openvpn# /etc/init.d/openvpn start

* Starting virtual private network daemon(s)...

* Autostarting VPN 'server' [ OK ]

Теперь проверьте, что OpenVPN создал интерфейс tun0:

root@server:/etc/openvpn# ifconfig tun0

tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00

inet addr:10.8.0.1 P-t-P:10.8.0.2 Mask:255.255.255.255

UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1

[...]

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]