Home > Comandi Console, Concetti, Connessioni, Guide, Internet, Linux, Ubuntu, Windows > Configurare un server VPN PPTP

Configurare un server VPN PPTP

11 marzo 2008

E’ vero, abbiamo detto che configurare una rete VPN PPTP è estremamente semplice e per questa ragione molti utilizzano questo genere di VPN, facilmente implementabile con Windows 2000 o 2003 Server.

Ciò che però non abbiamo accennato è che implementare questo genere di VPN su Linux, pienamente compatibile con le connessioni PPTP effettuate sia da Linux che da Windows, è anche più semplice che su Windows 2000/2003, con pochi e semplicissimi passaggi.

Il primo è indubbiamente l’installazione del servizio PPTPD nel pacchetto pptpd, che a sua volta dipende da bcrelay. Per cui installiamoli entrambi con:

sudo apt-get install pptpd bcrelay

Il secondo passaggio sarà… non c’è, abbiamo completato l’installazione! :)
Non è uno scherzo, il server PPTPD è già attivo e funzionante, in grado di ricevere connessioni in ingresso e assegnare gli IP ai client che si connettono.

Quel che invece possiamo e dobbiamo configurare sono gli utenti e le password con cui connettersi su /etc/ppp/chap-secrets, modificandolo come spiegato nelle istruzioni per la creazione di una connessione VPN PPTP. Ricordiamo che il file è organizzato in questa maniera:

"DOMINIO\\Nome Utente" NomeTunnel "Password" *

Se il dominio non viene utilizzato andrà rimosso assieme alle barre di separazione. Autorizzeremo quindi l’utente Duffy Duck con la password Quack. Il nome del tunnel predefinito per il servizio è pptpd ma volendo possiamo modificarlo e noi essendo capricciosi vogliamo farlo! Nel nostro esempio lo chiameremo VPNCasa. Modifichiamo quindi il file /etc/ppp/chap-secrets con:

gksudo gedit /etc/ppp/chap-secrets

E aggiungiamo la riga:

"Duffy Duck" VPNCasa "Quack" *

Avendo modificato il nome del tunnel dobbiamo informare pptpd del nuovo nome che abbiamo assegnato e ciò è fattibile con:

gksudo gedit /etc/ppp/pptp-options

Raggiungiamo la riga name pptpd e modifichiamola in name VPNCasa. Prima di chiudere questo file, scorrendolo troviamo due righe:

#ms-dns 10.0.0.1
#ms-dns 10.0.0.2

Serviranno per assegnare i due indirizzi DNS specificati ai client che si connetteranno. Se desideriamo cambiare i DNS dei nostri utenti fintanto che saranno collegati alla VPN, possiamo attivare le due righe rimuovendo il simbolo # e inserire gli indirizzi DNS da noi voluti come segue:

ms-dns 123.123.123.1
ms-dns 123.123.200.1

Il resto del file descrive opzioni avanzate generalmente non necessarie, ma eventualmente tutte quante spiegate nel file stesso. Se non vogliamo modificare il comportamento predefinito non abbiamo bisogno di modificare nulla in questo file.

Nella configurazione predefinita il server PPTPD, per ogni connessione stabilità, creerà una nuova interfaccia pppX con indirizzo IP 192.168.0.xxx mentre i client che si connetteranno riceveranno indirizzo IP 192.168.1.xxx e le due interfacce potranno comunicare tranquillamente tra loro.

Tuttavia questa configurazione di IP spesso va a cozzare con gli indirizzi già esistenti nella rete locale. E’ possibile modificarli per assegnare quelli da noi desiderati, semplicemente con:

gksudo gedit /etc/pptpd.conf

E aggiungere in fondo al file:

localip 192.168.1.100
remoteip 192.168.1.101-200

Questo forzerà il server PPTPD a utilizzare per ogni client un indirizzo IP compreso tra 192.168.1.101 e 192.168.1.200, mentre sul server per ogni connessione sarà costituita un’interfaccia pppX con IP fisso 192.168.1.100.

In altre parole la nostra rete, che supponiamo sia compresa tra 192.168.1.1 e 192.168.1.99, riceverà gli ospiti esterni e gli fornirà gli IP compresi tra 192.168.1.101 e 192.168.1.200. In questo modo tutti quanti i client nella stessa rete potranno comunicare direttamente, siano essi interni siano essi esterni. Naturalmente tutte le informazioni in transito saranno crittografate.

Alla fine delle modifiche ricordiamoci di riavviare il servizio pptpd con:

sudo /etc/init.d/pptpd restart

Siamo adesso pronti a metter su un server Quake o UT all’interno della nostra rete e invitare amici e nemici al combattimento, sia che loro utilizzino Windows che Linux.

About these ads
  1. webpatella
    29 luglio 2008 alle 17:49

    Ottima guida, avrei 2 richieste se possibile perchè credo sarebbero utili a molti:

    1) Configurazione del firewall iptables quindi porte da aprire (1723 tcp)

    iptables -A INPUT -i eth0 -p tcp –dport 1723 -j ACCEPT

    2) In una situazione del genere che ip dovrei assegnare al ppx: router

    eth0 (pubblica) 192.168.1.0/24
    eth1 (privata) 10.0.0.0/24
    eth2 (DMZ) 192.168.0.0/24

    a me interesserebbe vedere la lan interna (10.0.0.0/24)

    grazie…

  2. 29 luglio 2008 alle 23:39

    ciao web

    onestamente la prima domanda non l’ho capita, la porta da aprire per la connessione e` appunto la TCP 1723 come da te indicato e in aggiunta sara` necessario anche consentire l’accesso mediante protocollo GRE (ip 47) per consentire la connessione, ma non ho capito che intendi chiedere

    per gli ip da assegnare, devi riservare uno o piu` indirizzi per i client autorizzati. data quella subnet deve essere necessariamente un 10.0.0.x, la scelta spetta unicamente a te, oppure amplii la subnet

  3. Alex
    03 settembre 2009 alle 12:04

    Salve

    Ho seguito la guida
    al momento ho un problema o 2 ;)
    faccio presente che la porta 1723 è aperta su 192.168.1.128
    In pptp-options ho solo cambiato il NAME
    In pptpd.conf ho
    localip 192.168.1.128 (ip dove ho installato il server vpn)
    Remoteip 192.168.1.130-255 (ip che vengono assegnate alle connessioni vpn)
    faccio presente che ho un dns tipo mioip.no-ip.com che punta al server ip 192.168.1.128
    1 connettendo la vpn tramite ip locale si connette ma non navigo 2 come posso testare il mio dns non avendo una seconda connessione ?
    Grazie

    • 03 settembre 2009 alle 13:39

      se vuoi navigare attraverso la vpn devi configurare i dns sulla riga ms-dns indicata nell’articolo

      se vuoi navigare senza entrare all’interno della vpn devi configure le rotte con route in modo da far transitare per la vpn soltanto una certa subnet

      dall’interno non si testano le connessioni a meno che tu non abbia un router con loopback nat

      ciao

  4. Alex
    03 settembre 2009 alle 15:33

    /etc/ppp/pptp-options Raggiungiamo la riga name pptpd e modifichiamola in name VPNCasa. Prima di chiudere questo file, scorrendolo troviamo due righe:

    #ms-dns 10.0.0.1
    #ms-dns 10.0.0.2Serviranno per assegnare i due indirizzi DNS specificati ai client che si connetteranno. Se desideriamo cambiare i DNS dei nostri utenti fintanto che saranno collegati alla VPN, possiamo attivare le due righe rimuovendo il simbolo # e inserire gli indirizzi DNS da noi voluti come segue:

    ms-dns 123.123.123.1
    ms-dns 123.123.200.1

    Io in /etc/ppp/ Ho pptpd-options No pptp-options come nella guida
    Poi nei ms-dns (del mio pptpd-options) se inserisco l’ip del router che è (mio dns gateway) 192.168.1.1 non navigo ugualmente.

    • 03 settembre 2009 alle 16:24

      ti ho proposto due ipotesi, sai solo tu cosa vuoi fare

      alla connessione vpn dei dns del tuo router non interessa niente, non è raggiungibile attraverso il tunnel.
      ms-dns sono i dns sulla rete vpn, non esterni

      • Anonimo
        03 settembre 2009 alle 17:27

        Scusa forse non mi sono spiegato bene o nn capisco io (so de coccio) nella mia rete se non avessi il dhcp automatico dovrei mettere come dsn/gatway 192.168.1.1 altriemnti non naviga che dsn ci devo mettere nella vpn ? ora la sto testando da rete interna lan rif. al nome diverso del files di configurazione mi sai dire qualcosa ?
        Grazie in anticipo

  5. 03 settembre 2009 alle 18:14

    ti ho proposto due casi poco fa e li hai ignorati due volte
    hai capito la differenza tra navigare attraverso la vpn e navigare al di fuori della vpn?

    se non dici che vuoi fare come si fa a risponderti?

    i files ci sono entrambi, pptp e pptpd

    • Anonimo
      03 settembre 2009 alle 19:09

      Ok, nella mia dir etc/ppp/ manca pptp-options ho solo pptpd-options già qui c’è qualcosa che non va.
      Io vorrei entrare nella mia vpn da altri computer entrare in rete (già lo fa) ma non l’ho testato da computer remoto esterno e navigare con l’ip del mio server con servervpn

      • 03 settembre 2009 alle 19:24

        continuo a non capire quel che vuoi fare

        tu hai un server vpn chiamato SERVERVPN
        vuoi adesso navigare per il web attraverso la connessione di SERVERVPN oppure attraverso la tua connessione internet regolare?

      • Anonimo
        03 settembre 2009 alle 19:38

        Voglio navigare su internet tramite la connessione vpn in poche parole mi fa tipo da proxy perche non navigo con il mio ip ma con l’ip del server vpn
        Ciao e grazie

  6. Alex
    04 settembre 2009 alle 0:28

    Ho rissolto avevo semplicemente l’ip forwarding 0
    ho dovuto decomentare net.ipv4.ip_forward = 1 su /etc/sysctl.conf
    Grazie x tutto

  7. Ghianda
    28 gennaio 2010 alle 21:42

    Ciao a tutti!
    Cavolo io ho seguito tutto alla lettera ma ho una serie di problemi:
    - Nella stessa rete in uff non tutti i pc si connettono contemporaneamente, o l’uno o l’altro, ovv con utenti VPN diversi.

    - se più di uno per c••o si connettono insieme il server è 192.168.0.1 client 192.168.1.1 – server 192.168.0.2 client 192.168.1.2…. Ipforward attivo impostato e controllato su 1.
    Quindi vedo il server ma gli altri pc non si vedono. Ovv ho specificato gli ip nel file di configurazione ed ho riavviato il servizio

    AIUTOOOOO

  8. Cipaldi
    06 ottobre 2011 alle 22:06

    Ciao, ho seguito la guida e ha funzionato al primo colpo, post perfetto.
    Ho aggiunto la VPN ad una turnkey linux con LAMP e CVS per sincronizzare i source anche dall’esterno della rete locale. GRAZIE !

  9. Anonimo
    29 novembre 2011 alle 19:12

    Ciao, ho seguito il tuo post molto chiaro. Tuttavia forse ho saltato qualche passaggio.
    Premetto che è il mio primo tentativo in questo campo ed il mio obiettivo è raggiungere la macchina ubuntu su cui è installato il server pptpd da un mac in remoto. Ho impostato pptpd come sopra e dal mac remoto posso fare il ping del server, tentare l’accesso, ma la connessione fallisce.
    Ho aperto la porta 1723, ma non sono sicuro di aver fatto altrettanto per la porta 47.
    Potrebbe dipendere da quello?

    Grazie

  1. 02 aprile 2009 alle 10:31
  2. 18 agosto 2009 alle 15:05
I commenti sono chiusi.
Iscriviti

Ricevi al tuo indirizzo email tutti i nuovi post del sito.

Unisciti agli altri 120 follower

%d blogger cliccano Mi Piace per questo: