====== OpenVPN – все настройки клиента в одном файле ======
Удобно передавать клиенту один файл вместо нескольких. Здесь описан пример создания такого файла.
Все перечисленные ниже файлы [[openvpn:openvpn|OpenVPN]] можно собрать (встроить) в один файл ''[[#clientovpn|client.ovpn]]'':
* ''[[openvpn:#ca.crt]]''
* ''[[openvpn:#client.crt]]''
* ''[[openvpn:#client.key]]''
* ''[[openvpn:#ta.key]]''
* ''[[#client_template.ovpn]]''
{{:openvpn:openvpn-inline_client_config.sh|}}, за основу взят [[https://gist.github.com/ssinyagin/b196da5234c57de71bcfb44041274a15#file-mk_client-sh|file-mk_client-sh]]
Имена/расширения для файлов задаются в переменных скрипта:
* ''client_base_conf'' это имя файла с настойками ''[[#client_base_conf.ovpn]]''
* ''ca_file'' — имя/путь к ''[[openvpn:#ca.crt]]''
* ''tls_aut_key'' — имя/путь к ''[[openvpn:#ta.key]]''
* ''client_crt_ext'' — расширение файла ''[[openvpn:#client.crt]]''
* ''client_key_ext'' — расширение файла ''[[openvpn:#client.key]]''
* ''client_conf_ext'' — расширение готового файла настроек клиента
В качестве аргумента скрипту передаём имя путь к ''файлам/имя_клиента'':
openvpn-inline_client_config.sh ~/openvpn/client
{{anchor:clientovpn}}
client
dev tun
proto udp
remote vpn.domain.ru
resolv-retry infinite
nobind
persist-key
persist-tun
ns-cert-type server
comp-lzo
verb 3
-----BEGIN CERTIFICATE-----
…
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
…
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
…
-----END PRIVATE KEY-----
key-direction 1
-----BEGIN OpenVPN Static key V1-----
…
-----END OpenVPN Static key V1-----
script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
====== client_base_conf.ovpn ======
Пример файла с настройками клиента
client
dev tun
proto udp
remote vpn.domain.ru
resolv-retry infinite
nobind
persist-key
persist-tun
ns-cert-type server
comp-lzo
verb 3
====== Ссылки ======
[[https://community.openvpn.net/openvpn/wiki/IOSinline|IOSinline – OpenVPN Community]]
{{tag>Admin VPN}}