Server VPN PPTP su Debian

Pubblicato il 19/05/2008 da Marco Londero in howto

La necessità di avere un accesso alla rete aziendale da qualsiasi luogo è diventata ormai una realtà. Con internet il mondo è più piccolo e può capitare di dover lavorare da casa, dall’aeroporto, da una località di villeggiatura (argh!) direttamente sulla rete aziendale. E’ in queste situazione che nascono le VPN (Virtual Private Network), molto utili per accedere all’ufficio in modo sicuro. La definizione più semplice di VPN è quella di rete privata instaurata tra soggetti che utilizzano un sistema di trasmissione pubblico e condiviso, nel maggior numero dei casi, ciò si chiama internet. Ma visto che dobbiamo configurarne una, probabilmente sappiamo bene che cos’è e che cosa non è.

La VPN che andremo a creare sarà PPTP, ovvero quella più semplice e disponibile su tutti i client windows. Per implementare una soluzione di questo tipo, per prima cosa assicuriamoci di avere a disposizione il supporto MPPE:

modprobe ppp-compress-18 && echo “Ok sembra funzionare :-)

Attenzione: nella versione del kernel 2.6.15-rc1 o precedenti non è presente il supporto MPPE.

Editiamo ora il file di configurazione “/etc/pptpd.conf” andando ad impostare gli indirizzi di rete:

localip 192.168.31.1
remoteip 192.168.31.100-120

Attenzione: il routing non è gestito dal demone PPTP, quindi o si fanno assegnare indirizzi IP della sottorete a cui si vuole accedere, oppure vanno inserite manualmente le regole di routing necessarie.

Ovviamente sarà poi necessario riavviare il demone per fargli rileggere il file di configurazione con le ultime modifiche:

/etc/init.d/pptpd restart

Ora non ci resta che aggiungere gli utenti abilitati ad usare la VPN appena creata:

echo “username pptpd v3ry5tr0ngp4ssw0rd *” >> /etc/ppp/chap-secrets

Nota: aggiungendo un nuovo utente non sarà necessario riavviare il demone PPTP, ma sarà subito disponibile alla prossima connessione remota.

Inoltre, è possibile far autenticare gli utenti remoti tramite altri meccanismi, come ad esempio RADIUS, SAMBA o PAM.

Ora sarà possibile accedere in VPN al nostro server tramite i più comuni client che supportano il protocollo PPTP, ricordandoci di aprire la porta 1723/tcp sul nostro router e sperando che lo stesso supporti il VPN passtrough. :-)

Commenti

4 commenti per “Server VPN PPTP su Debian”

  1. DPY il 21/05/2008 09:48

    Domandina: se il PPTP usa una connessione TCP su porta 1723, a cosa dovrebbe servire il VPN Passthrough?

  2. marco il 21/05/2008 09:59

    Risposta semplice: il payload nel protocollo PPTP utilizza il GRE. Il protocollo GRE non usa la porta 47 tcp o udp, 47 è l’ID del protocollo GRE stesso. Il VPN Passthrough serve appunto per permettere di far passare questi dati. Sarebbe come dire al router “fai passare 1723/tcp e GRE”.

  3. franz il 21/05/2008 11:30

    e se gli indirizzi sia locali che remoti vengono assegnati tramite dhcp, su etc/pptpd.conf che ci metto?

  4. marco il 21/05/2008 11:41

    In “pptpd.conf” viene inserito l’indirizzo “locale” che sarà definito sull’interfaccia PPP quando ci sono una o più connessioni. Gli indirizzi remoti rappresentano un DHCP per quanto riguarda tale interfaccia, quindi per le sole connessioni in VPN. La cosa più semplice è riservare alcuni indirizzi della stessa subnet e definirli li, in modo che tutto sia integrato nell’infrastruttura che c’è già. O più elegantemente fare un minimo di routing tra le due subnet.

Commenta il post