Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Установка и настройка  удостоверяющего центра на сервере

...

...

Информация
titleПараметры конфигурационного файла


Секция


Столбец
width33%


ПараметрЗначенияОписание
client
Строка говорит о том, что конфигурационный файл описывает клиентское подключение (программа сама устанавливает соединение, а не ждет, как сервер).
devtap или tunВыбор виртуального сетевого драйвера. TUN — сетевой уровень модели OSI, оперирует IP-пакетами. TAP — эмулирует Ethernet устройство и работает на канальном уровне модели OSI, оперируя кадрами Ethernet. Настраивая OpenVPN клиента, в большинстве случаев, необходимо выбирать tun. TAP необходимо использовать для работы определенных сервисов, например DHCP.
dev-nodeлюбая строкаПараметр используется в системах Windows в случаях, если имеется несколько сетевых интерфейсов. Значение этого параметра должно содержать название сетевого подключения, через который должен работать OpenVPN.
protoudp или tcpУказывает, какой протокол использовать для передачи данных. В большинстве случаев, лучше использовать UDP, так как данный протокол создает меньше нагрузки на сеть.
remoteVPN-сервер и портЗадает сервер, к которому должен подключаться клиент, а также сетевой порт, на котором OpenVPN принимает запросы. Можно указать несколько строк.
remote-random
Если указано несколько строк remote, данный параметр говорит, что необходимо подключаться к удаленным серверам в случайном порядке.
resolv-retryколичество секунд или infiniteИспользуется в тех случаях, когда в качестве сервера указано доменное имя. Параметр задает время в секундах для повторного переподключения, если не удалось узнать имя сервера. infinite — держать связь с сервером постоянно.
nobind
Клиент использует динамический порт для подключения.
userучетная записьЗадает определенного пользователя для работы клиента (только для UNIX-систем).
groupгруппаЗадает определенную группу для работы клиента (только для UNIX-систем).
persist-key
Не перечитывает ключи при перезагрузке сервиса OpenVPN.
persist-tun
Не перечитывает параметры туннеля при перезагрузке сервиса OpenVPN.
http-proxyсервер прокси и портИспользовать прокси-сервер для подключения.
http-proxy-retry
Переподключаться к прокси-серверу, если связь была разорвана.
http-proxy-timeoutколичество секундВремя, через которое выполнять попытки переподключения к прокси-серверу.
mute-replay-warnings
Параметр стоит задавать при использовании беспроводного соединения. Он отключит дублирование предупреждений пакетов.
caпут к сертификатуКорневой сертификат удостоверяющего центра. Генерируем на сервере.
certпут к сертификатуОткрытый ключ клиента. Генерируем на сервере.
keyпут к сертификатуЗакрытый ключ клиента. Генерируем на сервере.
dhпут к сертификатуКлюч с алгоритмом Diffie-Hellman (Диффи-Хеллмана).
remote-cert-tlsсерверИсключает возможность mitm атаки, включая верификацию сертификата сервера.
tls-client
Указание на то, что это клиент TLS.
tls-authta.key 1Дополнительный уровень аутентификации посредством ключа TLS.
float
Удаленный хост может менять IP-адрес в процессе соединения, при этом последнее не будет разорвано.
keepaliveсекунд1 секунд2Пинговать каждые секунд1 сервер и если в течение секунд2 не будут получены ответные пакеты, перезапустить подключение.
cipherалгоритмУказывает алгоритм шифрования. Примеры: AES-256-CBC, AES-128-CBC, BF-CBC, DES-EDE3-CBC.
comp-lzo
Использовать сжатие.
verbчисло от 0 до 9Уровень детализации лога. 0 отключает отладочную информацию.
muteчислоУказывает сколько лог-сообщений может отображаться для каждой категории события.
auth-user-passничего или путь к файлуГоворит клиенту, что необходима аутентификация. Если не указан путь к файлу, клиент выкинет окно для авторизации, иначе прочитает данные из файла.
ipchangeкоманда или путь к скриптуВыполняет команду при смене IP.
connect-retryсекундПереподключиться к серверу через указанное количество секунд, если соединение было разорвано.
connect-retry-maxчислоСколько раз повторять соединение, если оно было разорвано.
shaperбайтЗадает максимальную скорость передачи данных для исходящего трафика.
tun-mtuчислоЗадает MTU.
statusпуть к файлуПуть к фалу хранения статуса.
logпуть к файлуПуть к лог-файлу.

Наиболее полный и актуальный список параметров для OpenVPN можно получить командой openvpn --help






Запуск OpenVPN

Запускаем сервер OpenVPN

Блок кода
$ sudo openvpn --config /home/u/openvpn/openvpn.conf


Примечание

В "боевой" конфигурации сервер следует запускать как демон и ключи/сертификаты не должны лежать в /home



Настройка клиентской машины

...

Установка компонентов для работы с  Рутокен ЭЦП


На клиентской машине устанавливаем пакеты, необходимые для работы Рутокен ЭЦП:

Блок кода
$ sudo apt-get install pcscd libpcsclite1 libccid


и библиотеку librtpkcs11ecp.so

Блок кода
sudo dpkg -i librtpkcs11ecp_1.8.2.0-1_amd64.deb



Установка OpenVPN на клиенте

 Устанавливаем OpenVPN:

Блок кода
$ sudo apt-get install openvpn

Копируем с сервера сертификат Удостоверяющего Центра (УЦ) к примеру в раздел /home/client/openvpn/CA.crt

Создаем конфигурационный файл клиента

Блок кода
$ nano openvpnclient.conf

Cо следующими параметрами:

Блок кода
client
dev tap
proto tcp
remote 192.168.56.112 1194
resolv-retry infinite
nobind
persist-key
persist-tun

ca /home/asd/openvpn.conf/client/openvpn/CA.crt
pkcs11-providers /usr/lib/librtpkcs11ecp.so
pkcs11-id 'Aktiv\x20Co\x2E/Rutoken\x20ECP/2f996caf/Rutoken\x20ECP\x20\x3Cno\x20label\x3E/3C9F594E0994420E'

pkcs11-pin-cache 300

comp-lzo
verb 3

В параметре pkcs11-providers указываем путь к библиотеке PKCS#11 Рутокен.
В параметре
 pkcs11-id указываем ID контейнера, в котором на Рутокен ЭЦП хранятся ключ и сертификат. Узнать этот ID можно с помощью команды:

Блок кода
sudo openvpn --show-pkcs11-ids /usr/lib/librtpkcs11ecp.so

Image Added

Подключение к VPN-серверу

Подключаемся к VPN-серверу:

Блок кода
sudo openvpn --config /home/client/openvpnclient.conf


По запросу следует ввести PIN-код к Рутокену ЭЦП.