[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Software » System settings » Установка OpenVPN-GOST 3.0 на Debian 9 Stretch
Установка OpenVPN-GOST 3.0 на Debian 9 Stretch
EsmertecДата: Четверг, 25.01.2018, 14:00 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 45
Награды: 2
Репутация: 32767
Статус:
Устанавливаем Debain 9 стандартным способом, я взял образ mini-cd, устанавливаем только системные утилиты, чтоб не занимать много места + вся основная работа будет через консоль...



После установки ОС настраиваем статически ip адрес серверу openvpn (ниже указаны адреса для моей сети, настраивайте под свою сеть сами):

Код
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet static
        address 10.59.0.116
        netmask 255.255.255.0
        gateway 10.59.0.1
        dns-nameservers 10.59.0.1 178.161.161.161 8.8.8.8


перезагружаем ОС для вступления изменений в силу. После перезагрузки устанавливаем пакеты, которые пригодятся нам для развертывания сервера для этого вводим последовательно:
Код
apt-get update
apt-get upgrade
apt-get install ssh mc vsftpd nano net-tools


ssh - SSH сервер для удаленного управления
mc - Midnight Commander файловый менеджер с графической оболочкой
vsftpd - FTP сервер
nano - текстовый редактор (можете не устанавливать если используете другой)
net-tools - набор системных сетевых утилит, не включены в образ Debian 9 mini-cd, устанавливаем отдельно.

После установки настраиваем vsftpd сервер, как это сделать смотрим ТУТ.

После настройки vsftpd подключаемся к серверу и копируем дистрибутивы openvpn-gost и openssl и устанавливаем их.

Код
dpkg -i /home/administrator/FTP/openssl-r_1.0.2m-6cc.around.debian_amd64.deb

Пакет попросит ввести лицензионный ключ, после успешного ввода создастся файл cryptocom.lic

Далее т.к. в debain по умолчанию используется openssl, нужно будет изменить его приоритет, чтоб подгружалась ГОСТовская база библиотек, для этого вводим команды:

Код
mv /usr/bin/openssl /usr/bin/openssl-1
update-alternatives --install /usr/bin/openssl openssl /usr/bin/openssl-1 10
update-alternatives --install /usr/bin/openssl openssl /opt/cryptopack3/bin/openssl 50
update-alternatives --config openssl


1 - переименовывает стандартный набор openssl в openssl-1
2 - выставление приоритета использования снижаем до 10 (сток 50)
3 - предоставляем альтернативу и выставляем на 50 приоритет запроса
4 - смотрим какой из openssl задействован, и подтверждаем выбором нужного

В итоге по команде openssl version видим "CryptoPack 3.0 OpenSSL 1.0.2m"



Далее ставим пакет openvpn-gost

Код
dpkg -i /home/administrator/FTP/openvpn-gost_2.3.17-6cc.around.debian_amd64.deb


После того как пакет установится копируем файлы easy-gost в папку openvpn-gost, на сколько я понял ее положение не зависит от чего-либо, т.е. ее можно скопировать куда угодно в на сервере, ключи будут генерироваться в любом месте, но при генерации все ключи будут храниться в папке ./keys вместе с файлами build-ca и т.д., по этому я подумал, что будет удобно скопировать все файлы в директорию openvpn-gost:



После этого можно генерировать ключи, если Вы скопировали все файлы как у меня в директорию openvpn-gost, то переходим в нее

Код
cd /etc/openvpn-gost


Выставляем полные права доступа на исполняемые файлы:

Код
chmod +x build-ca
chmod +x build-key-server
chmod +x build-key


Генерируем необходимые ключи:

Код
./build-ca


Создаем ключ сервера
Код
./build-key-server server


Добавляем права доступа к ключу сервера:

Код
chmod 700 /etc/openvpn-gost/keys/server.key


Cоздаем ключ для tls-аутификации. Для этого переходим в директорию криптоком

Код
cd /opt/openvpn-gost/sbin


Создаем ta.key:

Код
openvpn --genkey --secret keys/ta.key


Так же создаем ключ Диффи-Хеллмана

Код
openssl dhparam -out dh2048.pem 2048


Ключи появится в тоже директории, т.е. в /opt/openvpn-gost/sbin, поэтому их нужно перенести в папку с openvpn-gost



далее копируем или переименовываем конфиг server.conf.sample в server.conf

Код
mv /etc/openvpn-gost/server.conf.sample /etc/openvpn-gost/server.conf


И редактируем его, в данном случае, нужно поменять только порт и немного добавить параметров и отредактировать путь до ключей:

Код
# tap or tun
dev             tap
# Which TCP/UDP port should OpenVPN listen on?
port            1194
# tcp or udp. If GOST - TCP only
proto           tcp

# Log-file
log             /var/log/openvpn-gost.log

# Verbosity 0-11
verb            3

# Ping every 10 seconds, assume that remote peer
# is down if no ping received during a 120 second
# time period.
keepalive       10 120

persist-key
persist-tun

#comp-lzo       yes
#push comp-lzo  yes

# Server mode, ip pool and netmask
server  10.9.1.0 255.255.255.0

# Engine gost if demo
# engine gost

# Engine cryptocom if commercial
engine          cryptocom
auth            gost-mac
cipher          gost89
tls-cipher      GOST2012-GOST8912-GOST8912
ca              /etc/openvpn-gost/keys/ca.crt
cert            /etc/openvpn-gost/keys/server.crt
key             /etc/openvpn-gost/keys/server.key
tls-auth        /etc/openvpn-gost/keys/ta.key 0
dh              /etc/openvpn-gost/keys/dh2048.pem

# Указыем, где хранятся файлы с настройками IP-адресов клиентов (создадим ниже)
client-config-dir /etc/openvpn-gost/ccd

# Если нужно, чтобы клиенты видели друг друга раскомментируйте
client-to-client

# Максимум клиентов
max-clients 250


Т.е. оставляем весь конфиг стоковый от криптоком, меняем только порт на нужный Вам + я добавил client-config-dir\max-clients\client-to-client

Далее создадим директорию для клиентских конфигов

Код
mkdir /etc/openvpn-gost/ccd


Можно запускать наш сервер OpenVPN

Код
service openvpn-gost start


Смотрим список интерфейсов

Код
ifconfig


Если среди прочих видим

Код
tap0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.9.1.1  netmask 255.255.255.0  broadcast 10.9.1.255
        inet6 fe80::ec9c:56ff:fe28:d185  prefixlen 64  scopeid 0x20<link>
        ether ee:9c:56:28:d1:85  txqueuelen 100  (Ethernet)
        RX packets 177  bytes 33649 (32.8 KiB)
        RX errors 0  dropped 4  overruns 0  frame 0
        TX packets 19  bytes 1378 (1.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


значит VPN-сервер завелся. Если нет, то смотрим лог

Код
tail -f /var/log/openvpn-gost.log


Создание ключей и сертификатов
Переходим в созданную директорию, где и займемся генерацией ключей и сертификатов

Код
cd /etc/openvpn-gost


После этого генерируем ключи для клиентов

Код
./build-key Client1


Client1 - имя сертификата, меняем на любое по своему выбору.

Присвоение статических адресов клиентам
Если Вы хотите присвоить каждому клиенту свой IP адрес, либо у вас много пользователей и нужно использовать 240+ IP адресов в одной защищенной сети, нужно создать файл в папке ccd в директории с openvpn сервера, имя файла должно быть такое же как имя сертификата, т.е. если Вы сгенерировали сертификат Client1, то и файл в папке ccd должен называть Client1

Код
touch /etc/openvpn-gost/ccd/Client1


После чего открываем файл

Код
nano /etc/openvpn-gost/ccd/Client1


и редактируем его

Код
ifconfig-push 10.9.1.10 255.255.255.0 - Желаемый статический IP адрес и маска сети клиента
iroute 10.59.0.0 255.255.255.0 - Локальная сеть сервера


Для автозапуска сервера вводим команду

Код
systemctl enable openvpn-gost


После этого пользователь с сертификатом Client1 будет постоянно получать ip адрес 10.9.1.10. На этом настройка сервера завершена, идем за ПК пользователя и устанавливаем пакеты cryptopack30_64_MinGW_171207-175933.exe и openvpn64-2.3.17-gostr.exe, в той же последовательности как на сервере, т.е. сначала cryptopack30_64_MinGW_171207-175933.exe - вводим лицензионный ключ, а потом сам пакет openvpn (важно openvpn поставить в корень диска C:\). Создаем папку ssl и копируем туда ca.crt\Client1.crt\Client1.key\ta.key копируем из папки sample-config файл gost-client.ovpn в папку C:\OpenVPN\config и редактируем его...

Создание файла конфигурации клиента
Конфигурация клиента мало чем отличается от сервера, оно и понятно, но есть не большие изменения:

Код
#dev tun
dev tap
engine cryptocom
auth gost-mac
cipher gost89
#tls-cipher GOST2001-GOST89-GOST89
tls-cipher GOST2012-GOST8912-GOST8912
#comp-lzo yes

ca C:\\OpenVPN\\ssl\\ca.crt
cert C:\\OpenVPN\\ssl\\Client1.crt
key C:\\OpenVPN\\ssl\\Client1.key
tls-auth C:\\OpenVPN\\ssl\\ta.key 1

remote-cert-tls server

client
remote 10.59.0.116 1194
keepalive 10 120
proto tcp
socket-flags TCP_NODELAY

persist-key
persist-tun


На этом настройка полностью завершена, можно пользоваться vpn!)
Прикрепления: 9679502.png(10.2 Kb) · 8922045.png(69.1 Kb) · 7844385.png(168.1 Kb) · 4842143.png(56.8 Kb)
 
Форум » Software » System settings » Установка OpenVPN-GOST 3.0 на Debian 9 Stretch
  • Страница 1 из 1
  • 1
Поиск: