Примечание
policy в файле /var/lib/ssl/openssl.cnf для возможности подписывать любые сертификаты:
policy = policy_anything
#mkdir -p /root/CA/demoCA#cd /root/CA#mkdir -p ./demoCA/newcerts
# touch ./demoCA/index.txt
# echo '01' > ./demoCA/serial
# echo '01' > ./demoCA/crlnumber
ca-root.crt и закрытый ключ ca-root.key, которыми будут заверяться/подписываться ключи и сертификаты клиентов, с помощью следующей команды:
# openssl req -new -x509 -keyout ca-root.key -out ca-root.crt
Ввести пароль для закрытого ключа и ответить на запросы о владельце ключа.
# openssl req -new -nodes -keyout server.key -out server.csr
ca-root.crt и ключом ca-root.key:
# openssl ca -cert ca-root.crt -keyfile ca-root.key -days 3650 -in server.csr -out server.crt
# openssl req -new -nodes -keyout client.key -out client.csr
# openssl ca -cert ca-root.crt -keyfile ca-root.key -days 365 -in client.csr -out client.crt
# openssl dhparam -out server.dh 2048
ca-root.key — используется только для подписи сертификатов (рекомендуется хранить его на отдельном от OpenVPN-сервера компьютере);
ca-root.crt, server.crt, server.dh, server.key — для сервера OpenVPN;
ca-root.crt, client.crt, client.key — для клиента OpenVPN.
ca-root.crt, новый_сертификат.crt, новый_ключ.key.
# openssl ca -cert ca-root.crt -keyfile ca-root.key -gencrl -out crl.pem
# openssl ca -cert ca-root.crt -keyfile ca-root.key -revoke <сертификат>.crt
# openssl ca -cert ca-root.crt -keyfile ca-root.key -gencrl -out crl.pem
# openssl crl -noout -text -in crl.pem
crl.pem в каталог /var/lib/openvpn.
Примечание
crl-verify /var/lib/openvpn/crl.pemПри включённой проверке CRL сертификаты всех подключающихся клиентов будут проверяться по списку отозванных сертификатов, и любое положительное совпадение приведёт к разрыву соединения.
/etc/openvpn/, ключи — в /etc/openvpn/keys, файлы настроек клиентов — в /etc/openvpn/ccd/ или /var/lib/openvpn/etc/openvpn/ccd/.
/etc/openvpn/keys/.
/etc/openvpn/*.conf является конфигурацией отдельного экземпляра демона openvpn.
Примечание
/usr/share/doc/openvpn-2.6.12/server.conf в каталог /etc/openvpn/ (номер версии в названии каталога может отличаться).
ifconfig-pool-persist и status — без полного пути или с путём /cache/;
ca, dh, cert, key — с путём /etc/openvpn/keys/;
client-config-dir /etc/openvpn/ccd.
/etc/openvpn/server.conf):
port 1194 proto udp dev tun ca /etc/openvpn/keys/ca-root.crt cert /etc/openvpn/keys/server.crt key /etc/openvpn/keys/server.key dh /etc/openvpn/keys/server.dh comp-lzo server 10.8.0.0 255.255.255.0 #tls-server user openvpn group openvpn ifconfig-pool-persist server_ipp.txt keepalive 10 120 client-config-dir /etc/openvpn/ccd persist-key persist-tun client-to-client script-security 2 tmp-dir /tmp status openvpn-status.log verb 3 tls-cipher LEGACY-GOST2012-GOST8912-GOST8912 data-ciphers kuznyechik-cbc auth id-GostR3411-94 # Server networks start push "route 192.168.0.0 255.255.255.0" # Server networks end push "dhcp-option DNS 192.168.0.32"
# openvpn /etc/openvpn/server.conf


Примечание



/etc/NetworkManager/system-connections/<name_vpn_network> и добавив в раздел [vpn] строки:
data-ciphers=kuznyechik-cbc auth=id-GostR3411-94 tls-cipher=LEGACY-GOST2012-GOST8912-GOST8912Или выполнить команды:
#nmcli connection modify <name_vpn_network> +vpn.data data-ciphers=kuznyechik-cbc#nmcli connection modify <name_vpn_network> +vpn.data auth=id-GostR3411-94#nmcli connection modify <name_vpn_network> +vpn.data tls-cipher=LEGACY-GOST2012-GOST8912-GOST8912
Примечание
data-ciphers — определяет алгоритм шифрования пользовательских данных внутри туннеля;
tls-cipher — используются только на этапе TLS-рукопожатия для согласования ключей и аутентификации.
NetworkManager:
# systemctl restart NetworkManager

/usr/share/doc/openvpn-2.6.12/client.conf в каталог /etc/openvpn/;
/etc/openvpn/keys/ и укажите их в /etc/openvpn/client.conf;
/etc/openvpn/client.conf, указав IP-адрес OpenVPN-сервера и приведя другие параметры в соответствие с настройками сервера, например:
client dev tun proto udp remote 192.168.0.53 1194 resolv-retry infinite nobind user openvpn group openvpn persist-key persist-tun pull redirect-gateway def1 route-metric 50 ca /etc/openvpn/keys/ca-root.crt cert /etc/openvpn/keys/client.crt key /etc/openvpn/keys/client.key #remote-cert-tls server comp-lzo verb 3 script-security 2 tmp-dir /tmp data-ciphers kuznyechik-cbc tls-cipher LEGACY-GOST2012-GOST8912-GOST8912 auth id-GostR3411-94
# openvpn /etc/openvpn/client.conf