venerdì 18 gennaio 2019

OPENVPN su QNAP

Bene,

eccoci ad un capitolo interessante. Configurare OPENVPN su QNAP in modo che sia accessibile anche la rete interna.
Configurare OpenVpn su QNAP non e' complesso. Essenzialmente e' sufficiente:
 - installare ed aprire l'applicazione QVPN (app center/qvpn)


 - abilitare OpenVPN, con i parametri base



 - pubblicare la nas (nel mio caso ho deciso di usare la porta TCP/1194). Cio significa che tutto il traffico proveniente dall'esterno e destinato sulla porta TCP/1194 venga redirezionato sulla NAS.

Fatto questo saremo in grado di raggiungere la QNAP dall'esterno. Per rendere raggiungibile tutta la rete interna sulla quale risiede la NAS stessa, usandola come un vero e proprio Access Server, occorre effettuare qualche piccola modifica.

 - Abilitare l'SSH.
Le modifiche che andremo a fare richiedono l'accesso in SSH alla NAS.
 - modificare il file vpn_openvpn.sh
Ogni volta che viene riavviato il servizio QVPN sulla NAS, il file "/etc/openvpn/server.conf" viene rigenerato. Per questo motivo e' inutile modificare questo file ma occorre agire sull'origine. Modificare il file: vim /share/CACHEDEV1_DATA/.qpkg/QVPN/etc/init.d/vpn_openvpn.sh.
Cercare il blocco:

                persist-tun
                duplicate-cn
                script-security 3
                client-to-client
                management localhost 7505
                #username-as-common-name
                client-cert-not-required
                auth-user-pass-verify /usr/sbin/qvpn.sauth via-env

                ca /etc/openvpn/keys/ca.crt
                dh /etc/openvpn/keys/dh1024.pem
                key /etc/openvpn/keys/myserver.key
                cert /etc/openvpn/keys/myserver.crt

                client-connect /etc/openvpn/connect.sh
                client-disconnect /etc/openvpn/disconnect.sh

                status /var/log/openvpn-status.log
                writepid /var/run/openvpn.server.pid

                port ${VPN_PORT}
                proto ${VPN_PROTO}
                max-clients ${VPN_MAXIMUM}
                server ${VPN_IP_POOL} 255.255.255.0

Ed aggiungere le due seguenti righe:

                ifconfig-pool-persist ipp.txt
                push "route 10.20.30.0 255.255.255.0"
(supponendo che questo sia l'indirizzamento della rete locale)

Salvare il file modificato e riavviare il servizio VPN con il seguente comando:

/etc/init.d/qvpn.sh restart

A questo punto siamo quasi pronti. Salvare il file di configurazione per importare il profilo sul client. Prima di importare il profilo, aprire con un editor di testo il file.ovpn ed aggiungere una riga per inserire il comando pull:


client
dev tun
script-security 3
resolv-retry infinite
nobind
auth-nocache
auth-user-pass
remote-cert-tls server
reneg-sec 0
cipher AES-128-CBC

pull

proto tcp

Il comando pull serve per consentire al client di accettare il push della route da parte del server.

Molto probabilmente l'aggiornamento dell'app QVPN o del firmware, richiederanno la reimpostazione delle modifiche fatte sopra.

E' necessario controllare anche se l'IP forwarding sulla QNAP e abilitato. Aprire il file 
vim /proc/sys/net/ipv4/ip_forward ed impostare il valore ad 1 (se fosse 0). Questo serve per abilitare l'inoltro dei pacchetti tra interfacce.

Percorsi e file utili per la configurazione
/etc/config/vpn.conf
/share/CACHEDEV1_DATA/.qpkg/QVPN/etc/init.d/vpn_openvpn.sh
/etc/openvpn/server.conf

N.B. e consigliabile fare una copia dei file di configurazione prima di modificarli.

Link:
https://openvpn.net/vpn-server-resources/site-to-site-routing-explained-in-detail/
https://openvpn.net/community-resources/how-to/#scope
https://forum.qnap.com/viewtopic.php?t=58640 (verso la fine dell'articolo)
https://forum.qnap.com/viewtopic.php?t=60189
http://blog.bobbyallen.me/2016/02/07/enabling-openvpn-clients-to-access-to-the-lan/

























Nessun commento:

Posta un commento