VPN configurare un server pptpd in ubuntu con clients Windows
Le necessità di avere una VPN (virtual private network) possono essere tante, ad esempio necessità di avere una rete aziendale per più sedi protetta, oppure avere un tunnel VPN per scopi ludici, come ad esempio “multiplayer mode online” ma in una LAN privata encapsulata in VPN.
In entrambi i casi, la configurazione di un server pptpd su ubuntu non fa differenza.
In questo mini how-to mi occuperò di descrivere le “basi” per potere avere una semplice VPN.
Prima di tutto occupiamoci di installare tramite shell ssh il server sulla nostra distro ubuntu, ovviamente il nostro utente deve avere necessariamente i diritti di amministratore:
xer# apt-get install pptpd
Il file principale per la configurazione del server pptpd è locato in:
/etc/pptpd.conf
Il file è ben commentato ed esaustivo, di seguito mi limiterò a descrivere un file di config molto semplice ma funzionale:
option /etc/ppp/pptpd-options
debug
bcrelay eth0
listen 230.67.43.56
localip 10.0.0.10
remoteip 10.0.0.11-100
add default 10.0.0.10
option /etc/ppp/pptpd-options
definisce il file relativo ai parametri per l’interfaccia pppdebug
abilita il log delle sessioni in /var/syslogbcrelay eth0
bcrelay abilita il broadcast dei pacchetti tramite l’interfaccia eth0listen 230.67.43.56
determina su quale indirizzo deve “ascoltare” il server pptpd, l’IP di riferimento in questo caso da me scelto è casuale ed ovviamente l’IP deve appartenere all’interfaccia fisica eth0localip 10.0.0.10
remoteip 10.0.0.11-100
localip stabilisce l’IP del server della LAN virtuale desiderata, in questo caso ho scelto una classe A, anche se con subnet mask da 24 (255.255.255.0) che approfondiremo più avanti.
remoteip definisce un range di IP da assegnare ai client, in questo esempio da 11 a 100 compresi.add default 10.0.0.10
assegna al client connesso il default gateway della lan privata.
Il server pptpd genera delle interfacce di rete virtuali denominate “pppx” x sarà un numero progressivo che parte da 0. Per ogni client connesso, verrà assegnata una propria interfaccia virtuale pppx.
Il secondo file da configurare si trova in:
/etc/ppp/pptpd-options
Anche questo file di configurazione è ben commentato ed esaustivo, anche in questo caso, descriviamo rapidamente una configurazione semplice ma funzionale:
name vpn
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
nodefaultroute
lock
nobsdcomp
name vpn
assegna un nome per definire l’autenticazione ed essere contraddistinta, questo perché possono essere create diverse VPN sullo stesso serverrefuse-pap
refuse-chap
refuse-mschap
in questo modo rifiutamo i metodi di connessione pap, chap ed mschap non proprio sicuri, in quanto non criptano il flusso dei datirequire-mschap-v2
require-mppe-128
con mschap-v2 ed mppe-128, abilitiamo un metodo di connessione abbastanza sicuro con una criptazione del flusso dati a 128 bitproxyarp
il proxyarp ci permettere di potere vedere ogni singolo client nella propria rete lan virtualenodefaultroute
indispensabile, per non sostituire il default gateway principale della connessione del clientlock
rende l’accesso alla rete del client in modalità esclusiva, in stile UUCPnobsdcomp
la compressione dati BSD viene disabilitata peravere maggior performance
Adesso ci resta solo di configurare il file di accesso per i nostri clients, il quale è:
/etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client server secret IP addresses
xer vpn pippo “10.0.0.11”
I campi definiti sono semplici e possono essere separati da spazi o tabulazioni e per ogni riga vanno inseriti i parametri di ogni singolo client.
Il primo è l’username (xer)
Il secondo è il nome della nostra lan privata definito in pptpd-options (vpn)
Il terzo è la password di accesso (pippo)
Il quarto è l’IP assegnato al client (“10.0.0.11”)
Se non si vuole forzare l’IP ad un determinato client, il quarto campo può essere definito con asterisco “*”, in questo modo il server pptpd assegnerà al client il primo IP disponibile.
Per far si che i clients connessi possano essere visti a vicenda o “pingabili” occorre verificare se la vostra distribuzione linux ubuntu è configurata per fare il forward dei pacchetti, verifichiamolo con il comando:
xer# cat /proc/sys/net/ipv4/ip_forward
0
Se viene visualizzato il valore 1 allora è correttamente configurato, se viene visualizzato 0 allora occorre configurare il forward.
Procedere come segue:
editare il file /etc/sysctl.conf trovare la riga “net.ipv4.ip_forward=1” decommentarla (togliere il #)
e se il valore è impostato a 0 variarlo in 1, salvate il file ed uscite.
xer# nano /etc/sysctl.conf
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1
Eseguite il comando /sbin/sysctl -p per aggiornare il sysctl
xer# nano /sbin/sysctl -p
kernel.printk = 4 4 1 7
kernel.maps_protect = 1
fs.inotify.max_user_watches = 524288
vm.mmap_min_addr = 65536
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.ip_forward = 1
net.ipv4.ip_forward=1
Rieseguite il comando cat /proc/sys/net/ipv4/ip_forward per verifica.
Se il valore restituito è 1 abbiamo completato tutti i passaggi.
xer# cat /proc/sys/net/ipv4/ip_forward
1
La configurazione del server è ultimata, si potrebbero anche definire altri parametri come un DNS esclusivo per la nostra lan privata, oppure un dominio di una rete con Active Directory, ma sono considerazioni ed approfondimenti che possono essere affrontati man mano che la nostra VPN venga aggiornata per necessità successive.
A questo punto possiamo occuparci di configurare il nostro client windows.
Windows ha un setup molto semplice per aggiungere la connettività client, creare una nuova connessione, scegliere modalità aziendale VPN, inserire login e password ed il gioco è fatto!
messaggio sincronizzato da xernet.net – link diretto: VPN configurare un server pptpd in ubuntu con clients Windows
Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!
Hai dubbi o problemi? Ti aiutiamo noi!
Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.