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

Генерируем сертификат (server.Crt) и ключ (server.Key) сервера.

Не выходя из директории, в нашей командной строке продолжим вводить команды. Сгенерируем сертификат сервера и ключа командой:

build-key-server server

На вопросы отвечаем так же как в первом пункте. На вопрос:

Common Name *: server

Введем: server. На вопросы:

Sign the certificate? [y/n]

и

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

надо дать положительный ответ: Y.

Генерируем сертификат (office1.Crt) и ключ (office1.Key) для клиента.

Очевидно, что клиентов может быть много, в нашем примере он один - office1. В зависимости от количества клиентов следующая команда в командной строке выполняется несколько раз, причем названия генерируемых ключей так же меняйте:

build-key office1

если требуется еще сертификаты и ключи, скажем для второго клиента, то вводим:

build-key office2

В процессе ответа на вопросы не забывайте, что каждый клиент на вопрос CommonName должен получить уникальное имя, например: office1, office2 и т.д.

Генерация параметров DiffieHellman (dh1024.Pem).

Вводим в командной строке, находят во все той же директории easy-rsa:

build-dh

Генерация ключа tls-auth (ta.Key) для аутентификации пакетов

В конце создаем ключ для tls-аутификации командой:

openvpn --genkey --secret ta.key

Теперь разберемся с тем, какие файлы оставлять на сервере, а какие перенести клиенту. На сервере (OC) должны находиться в созданной нами папке keys только следующие файлы:

ca.crt

ca.key

dh1024.pem

server.crt

server.key

ta.key

OpenVPN-channels-004.jpg

На клиенте OK аналогично серверу ОС создадим так же папочку keys, там должны быть:

ca.crt

office1.crt

office1.key

ta.key

Все файлы с расширением .key являются секретными. Передавать их стоит только по защищенным каналам, лучше на физическим носителе.

Далее приступим к созданию конфига для нашего сервера ОС и клиента ОК. В директории config создаем файл со следующим названием и расширением: server.ovpn Открываем его блокнотом и начинаем писать конфиг:

Выбираем протокол для передачи данных - в данном случае upd:

proto udp

Стандартный порт для OpenVPN:

port 1194

Режим работы программы L3-туннель. В данном режиме OpenVPN - роутер:

dev tun

Режим клиент-сервер:

tls-server

Данного топология доступна с версии 2.1 и заключается в том что каждому клиенту выдается по 1 адресу, без виртуальных портов маршрутизатора:

topology subnet

Маршруты добавляются через .exe - это важно:

route-method exe

Задержка при добавлении маршрута, можно уменьшить до 5:

route-delay 10

Данная опция задает организацию сети. У нас появляется виртуальная сеть 10.8.0.0 /24. Первый адрес из этой сети, то есть 10.8.0.1 выдается серверу, последующие (10.8.0.2, 10.8.0.3 и т.д.) клиентам. DHPC сервер получает адрес 10.8.0.254:

server 10.8.0.0 255.255.255.0

Задаем шлюз в openvpn сеть:

route-gateway 10.8.0.1

Директория, в которой мы должны расположить файл с названием нашего клиента, то есть office1 без расширения, и в нем записать команды, которые будут выполнятся на клиенте:

client-config-dir "C:\\Program Files\\OpenVPN\\ccd"

Далее идут пути до файлов сертификатов и ключей сервера. Заметим, что пути обязательно пишутся с двойной чертой, а именно \\:

ca "C:\\Program Files\\OpenVPN\\keys\\ca.crt" cert "C:\\Program Files\\OpenVPN\\keys\\server.crt" key "C:\\Program Files\\OpenVPN\\keys\\server.key" dh "C:\\Program Files\\OpenVPN\\keys\\dh1024.pem" tls-auth "C:\\Program Files\\OpenVPN\\keys\\ta.key" 0

Задаем серверу ОС маршрут на всю сеть:

route 10.8.0.0 255.255.255.0

Выбираем метод сжатия:

cipher BF-CBC

Задаем сжатие трафика:

comp-lzo

OpenVPN передает системе регистраций событий программы не критические ошибки сети. На практике это уменьшит содержимое статус-окна, появляющегося при запуске сервера OpenVPN:

verb 1

Cервер пингует противоположную сторону с интервалом в 10 секунд и если сторона не отвечает за 60 секунд, то сервер запустит пересоединение:

keepalive 5 60

Далее переходим в директорию ccd и создаем файл, в котором будут лежать команды, посылаемые клиенту от сервера. Назвать его надо так же как мы называли самого клиента, например office1. Файл не будет иметь расширения.

OpenVPN-channels-005.jpg

Редактируем его через блокнот. Все параметры, заданные ниже, будут автоматически переданы клиенту:

Задаем ip и маску для нашего клиента office1:

ifconfig-push 10.8.0.2 255.255.255.0

Передаем ему маршрут на всю сеть:

push "route 10.8.0.0 255.255.255.0"

Задаем для него шлюз:

push "route-gateway 10.8.0.1"

Эта команда говорит серверу ОС о том, что за данным клиентом, а именно ОК (office1) находится сеть 192.168.1.0:

iroute 192.168.1.0 255.255.255.0

Таким образом, мы закончили конфигурирование сервера на стороне ОС.