====== 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}}