Il client OpenVPN per IOS consente agevolmente di collegarsi ad un server OpenVPN. Per aggiungere un nuovo account nel client si possono caricare i files di configurazione via Itunes (con le recenti versioni di MacOs/IOS via File Manager) oppure facendoglielo scaricare da un url oppure ancora come allegato ad una email.
Per l’installazione tramite allegato ad un messaggio email è necessario creare un file .ovpn che contenga sia la configurazione che i certificati. Per la creazione consiglio di posizionare il seguente script nella cartella /etc/openvpn/easy-rsa del server:
!/bin/bash
#Script written by Eric Jodoin
#Default Variable Declarations
DEFAULT="inline_client.conf"
FILEEXT=".ovpn"
CRT=".crt"
KEY=".key"
CA="ca.crt"
TA="ta.key"
kPath="./keys/"
#Ask for a Client name
echo "Please enter an existing Client Name:"
read NAME
echo "Please enter an Name for the output file"
read ovpnName
#1st Verify that client's Public Key Exists
if [ ! -f $kPath$NAME$CRT ]; then
echo "[ERROR]: Client Public Key Certificate not found: $kPath$NAME$CRT"
exit
fi
echo "Client's cert found: $kPath$NAME$CRT"
#Then, verify that there is a private key for that client
if [ ! -f $kPath$NAME$KEY ]; then
echo "[ERROR]: Client 3des Private Key not found: $kPath$NAME$KEY"
exit
fi
echo "Client's Private Key found: $kPath$NAME$KEY"
#Confirm the CA public key exists
if [ ! -f $kPath$CA ]; then
echo "[ERROR]: CA Public Key not found: $kPath$CA"
exit
fi
echo "CA public Key found: $kPath$CA"
#Confirm the tls-auth ta key file exists
if [ ! -f $kPath$TA ]; then
echo "[ERROR]: tls-auth Key not found: $kPath$TA"
exit
fi
echo "tls-auth Private Key found: $kPath$TA"
#Ready to make a new .opvn file - Start by populating with the
cat $DEFAULT > $ovpnName$FILEEXT
#Now, append the CA Public Cert
echo "" >> $ovpnName$FILEEXT
cat $kPath$CA | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' >> $ovpnName$FILEEXT
echo "" >> $ovpnName$FILEEXT
#Next append the client Public Cert
echo "" >> $ovpnName$FILEEXT
cat $kPath$NAME$CRT | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' >> $ovpnName$FILEEXT
echo "" >> $ovpnName$FILEEXT
#Then, append the client Private Key
echo "" >> $ovpnName$FILEEXT
cat $kPath$NAME$KEY >> $ovpnName$FILEEXT
echo "" >> $ovpnName$FILEEXT
#Finally, append the TA Private Key
echo "" >> $ovpnName$FILEEXT
cat $kPath$TA >> $ovpnName$FILEEXT
echo "" >> $ovpnName$FILEEXT
echo "Done! $ovpnName$FILEEXT Successfully Created."poi creare il file nella stessa cartella il file inline_client.conf ricordandosi di non inserire i riferimenti ai certificati e di indicare la direttiva key-direction 1. Avremo qualcosa tipo:
tls-client remote XX.XX.XX.XX port 9443 proto udp dev tun persist-tun resolv-retry infinite nobind persist-key explicit-exit-notify route-nopull pull route route 10.10.0.0 255.255.0.0 route 10.19.0.0 255.255.0.0 dhcp-option DNS 10.10.7.100 dhcp-option DNS 10.10.7.200 pull ping comp-lzo key-direction 1
Dove XX.XX.XX.XX sarà l’IP del server VPN.
Bene, a questo punto diamo i privilegi allo script bash indicato all’inizio e poi richiamiamolo. Ci chiederà il nome del certificato ed il nome del file da generare e poi farà tutto in automatico.
Se invece lo volessimo fare manualmente, restano valide le raccomandazioni per il file inline_client.conf a cui dovremo aggiungere alla fine il contenuto dei files dei certificati, all’interno di appositi TAG. Queste le sezioni da creare alla fine del file:
<ca> ##qui il contenuto del file ca.crt </ca> <cert> ##qui il contenuto del file di certificato utente.crt </cert> <key> ##qui il contenuto del file di chiave utente.key </key> <tls-auth> ##qui il contenuto del file ta.key </tls-auth>
enjoy!
Ti interessa acquistare un dominio a prezzi ultraconvenienti? clicca qui
Se hai trovato utili le informazioni su questo blog,
Fai una donazione!
Clicca sul bottone qui sotto o almeno clicca sul banner pubblicitario 🙂
Commenta