Computer finestre Internet

Configurazione di una connessione VPN in Linux. Configurazione della connessione VPN in Linux Tutorial per la configurazione dei server VPN su Ubuntu

L'abbreviazione VPN ora non si sente a meno che solo chi non ha mai avuto a che fare con un computer. Che cos'è, perché è necessario e come configurarlo da soli?

Che cos'è una VPN e perché è necessaria?

VPN (Virtual Private Network) è una rete privata virtuale, un modo per combinare più computer, situati fisicamente a una certa distanza l'uno dall'altro, in un'unica rete logica.

Le VPN possono essere utilizzate per diversi scopi: dall'organizzazione di una rete per lavoro/gioco all'accesso a Internet. In tal modo, è necessario comprendere la possibile responsabilità legale per le proprie azioni.

In Russia, l'uso di una VPN non è un atto punibile, ad eccezione dei casi di utilizzo con scopi deliberatamente illegali. Cioè, se vuoi andare sul sito web del presidente di un paese vicino (ad esempio la Somalia) e scrivere quanto è cattivo, nascondendo il tuo indirizzo IP, questo di per sé non è una violazione (a condizione che il contenuto del dichiarazione non viola le leggi) ... Ma è un reato utilizzare questa tecnologia per accedere a risorse vietate in Russia.

Cioè, puoi giocare con gli amici sulla rete e lavorare in remoto nella rete dell'organizzazione utilizzando una VPN, ma non puoi leggere tutti i tipi di siti dannosi. Con questo risolto. Passiamo ora direttamente al setup.

Configurare il lato server su Ubuntu Linux

Per il lato server, è meglio usare Linux, a questo proposito è più facile lavorarci. L'opzione più semplice è PPTP, non richiede l'installazione di certificati sui computer client, viene eseguita l'autenticazione per nome utente e password... Lo useremo.

Innanzitutto, installa i pacchetti richiesti:

Sudo nano /etc/pptpd.conf

Se abbiamo bisogno di più di 100 connessioni simultanee, cerca il parametro "connections", decommentalo e specifica il valore desiderato, ad esempio:

Connessioni 200

Se abbiamo bisogno di inviare pacchetti di trasmissione sulla rete virtuale, dovremmo assicurarci che anche il parametro bcrelay non sia commentato:

Bcrelay eth1

Successivamente, vai alla fine del file e aggiungi le impostazioni dell'indirizzo:

Localip 10.10.10.1 remoteip 10.10.10.2-254 listen 11.22.33.44

Il primo parametro specifica l'indirizzo IP del server nella rete locale, il secondo specifica l'intervallo di indirizzi IP rilasciati ai client (l'intervallo dovrebbe fornire la possibilità del numero specificato di connessioni, è meglio allocare gli indirizzi con un margine) , il terzo specifica a quale indirizzo esterno ascoltare le interfacce per ricevere le connessioni in entrata. Cioè, se ci sono più indirizzi esterni, solo uno può essere ascoltato. Se il terzo parametro non viene specificato, verranno ascoltati tutti gli indirizzi esterni disponibili.

Salva il file e chiudi. Specifichiamo ulteriori impostazioni di messa a punto nel file /etc/ppp/pptpd-options:

Sudo nano / etc / ppp / pptpd-options

Prima di tutto, ci assicuriamo di avere righe non commentate che vietano l'uso di metodi di autenticazione vecchi e non sicuri:

Rifiutare-pap rifiutare-cap rifiutare-mschap

Verifichiamo anche che l'opzione proxyarp sia abilitata (la riga corrispondente è stata decommentata) e inoltre, per consentire o vietare più connessioni di un utente, commentare (abilitare) o decommentare (disabilitare) l'opzione di blocco.

Salviamo anche il file e lo chiudiamo. Resta da creare utenti:

Sudo nano / etc / ppp / chap-secrets

Viene assegnata una riga per ogni utente VPN, in cui sono indicati in sequenza il suo nome, indirizzo remoto, password e indirizzo locale (separatore - spazio).

L'indirizzo remoto può essere specificato se l'utente ha un IP statico esterno e verrà utilizzato solo quello, altrimenti è meglio specificare un asterisco in modo da poter accettare con precisione la connessione. Locale deve essere specificato se si vuole che all'utente venga assegnato lo stesso indirizzo IP nella rete virtuale. Per esempio:

Utente1 * password1 * utente2 11.22.33.44 password2 * utente3 * password3 10.10.10.10

Per l'utente 1 verranno accettate le connessioni da qualsiasi indirizzo esterno, a quello locale verrà assegnato il primo disponibile. Per utente2, assegnerà il primo indirizzo locale disponibile, ma le connessioni saranno accettate solo dal 22.33.44. Per l'utente3, le connessioni sono accettate da qualsiasi luogo, ma l'indirizzo locale sarà sempre assegnato 10.10.10.10, che gli abbiamo riservato.

Questo completa la configurazione del server VPN, riavvialo (non è necessario riavviare il computer sotto Linux):

Riavvio del servizio Sudo pptpd

Configurazione dei client VPN

La parte client può essere configurata per qualsiasi sistema operativo, la userò come esempio Ubuntu Linux 16.04.

Sul computer client, apri le connessioni di rete (gli screenshot mostrano per Ubuntu + Cinnamon, per GNOME è fatto allo stesso modo, in Kubuntu sembra che non causerà alcuna difficoltà). Fare clic sul pulsante "Aggiungi" e selezionare la connessione PPTP:

Il nome della connessione VPN può essere lasciato come standard oppure puoi specificarlo in modo conveniente e comprensibile per te: è una questione di gusti. Inserisci nel campo "gateway" l'indirizzo IP esterno del server a cui ci stiamo connettendo (specificato durante l'impostazione nell'opzione "ascolta"), sotto il nome e la password. A destra, nel campo “Password”, devi prima selezionare l'opzione “Salva password per questo utente”):

Successivamente, chiudi le finestre e connettiti al server. Se il server è esterno alla rete locale, è necessario l'accesso a Internet.

Questo completa l'organizzazione della rete virtuale, ma collegherà solo i computer a una rete locale. Per accedere a Internet tramite un server di rete, è necessario effettuare un'altra impostazione.

Configurazione dell'accesso a Internet tramite VPN

Sul server VPN, inserisci i seguenti comandi:

Iptables -t nat -A POSTROUTING -o eth0 -s 10.10.10.1/24 -j MASQUERADE iptables -A AVANTI -s 10.10.10.1/24 -j ACCETTA iptables -A AVANTI -d 10.10.10.1/24 -j ACCETTA

dove 10.10.10.1/24 è l'indirizzo del server locale e la maschera di rete.

Successivamente, salviamo le modifiche in modo che funzionino anche dopo il riavvio del server:

Iptables-salva

E applica tutte le modifiche:

Iptables-applica

Successivamente, avrai accesso a Internet. Se visiti un sito che mostra il tuo indirizzo IP, vedrai l'indirizzo del server esterno, non il tuo (se non corrispondono).

Ti ricordo che solo tu sei responsabile delle conseguenze delle tue azioni.

Configurazione con Network Manager "a

Qualunque cosa fosse, ma descrivi ancora l'impostazione VPN usando network-manager "a. Questa impostazione è abbastanza adatta per coloro che utilizzano l'ottenimento automatico di un indirizzo IP utilizzando DHCP nella loro connessione alla rete.

1. Installa i due pacchetti di cui abbiamo bisogno:
# apt-get install pptp-linux network-manager-pptp
Dato che questi pacchetti non sono presenti sul disco Ubuntu per impostazione predefinita, e vpn spesso deve essere configurato su una macchina che non ha più un'altra connessione Internet, ti consiglio di fare scorta di questi pacchetti dal repository ufficiale in anticipo. Per fare ciò, vai al sito packages.ubuntu.com/, cerca questi due pacchetti lì, scaricali e quindi installali sulla macchina che ci serve.
2. Se l'elemento Connessioni VPN non viene visualizzato nell'applet Network Manager o non si apre, è necessario eseguire nuovamente l'accesso o, ancora meglio, riavviare.
3. Premi il tasto sinistro del mouse (il tasto destro fa apparire un altro menu) sull'icona Network Manager "e nel menu a tendina seleziona" Connessioni VPN "-" Configura VPN ". Aggiungi una nuova connessione e imposta tutte le opzioni necessarie per questo collegamento...
4. Dopodiché, la tua connessione dovrebbe apparire nel menu "Connessioni VPN", se improvvisamente non appare - accedi di nuovo o riavvia (beh, cosa posso fare, ancora questo grezzo gestore di rete).
5. Tutti possono ora connettersi alla connessione VPN che hai creato (oltre a disconnetterti selezionando la voce di menu nel Gestore di rete "e).

# apt-get install pptp-linux

Come ho già descritto sopra nella sezione installazione tramite network-manager "a, vpn ha spesso bisogno di essere configurato su una macchina che non ha più un'altra connessione Internet, quindi ti consiglio di fare scorta di questo pacchetto in anticipo dai pacchetti repository ufficiali .ubuntu.com/.

2. Modifica il file options.pptp:
#nano /etc/ppp/options.pptp


lock noauth nobsdcomp nodeflate persist

Non descriverò ciascuno dei parametri, ne descriverò solo alcuni:
persist - questo parametro tenta di riaprire la connessione quando viene chiusa;
nodeflate - non usare la compressione deflate (anche se dicono che funziona più velocemente con esso, non lo so - non l'ho testato).
Inoltre, se la tua connessione utilizza la crittografia, aggiungi una delle righe, a seconda del tipo di crittografia: require-mschap-v2, require-mppe-40, require-mppe-128, require-mppe.

3. Crea un file di connessione / etc / ppp / peers / vpn (puoi sostituire il nome VPN con qualsiasi altro, ma se lo cambi, non dimenticare di cambiarlo ulteriormente in questo articolo)

#nano / etc / ppp / peers / vpn

Vi inseriamo le seguenti righe:
maxfail 0 lcp-echo-interval 60 lcp-echo-failure 4 defaultroute pty "pptp vpn.ava.net.ua --nolaunchpppd" nome sukochev remotename PPTP + chap file /etc/ppp/options.pptp ipparam vpn

Attenzione!!! Assicurati di sostituire le seguenti opzioni con le tue:
Invece di vpn.ava.net.ua, inserisci l'indirizzo del tuo server VPN (puoi usare l'IP del server). Invece di sukochev, inserisci il tuo login.
Descriverò alcuni parametri:
maxfail 0 - prova sempre a connetterti se non c'è connessione;
lcp-echo-interval - intervallo di tempo dopo il quale viene interrogato il lato remoto;
lcp-echo-failure - il numero di richieste senza risposta dal lato remoto, dopodiché il sistema ci considera disabilitati;
defaultroute - imposta il percorso predefinito;
+ cap - tipo di autenticazione. Oltre a + chap, può essere utilizzato il tipo + pap.
file - legge le impostazioni aggiuntive dal file specificato.
Se necessario, puoi anche aggiungere i seguenti parametri:
deflate 15,15 - usa la compressione deflate (non dovrebbe esserci un parametro nodeflate nel file options.pptp);
mtu - la dimensione massima del pacchetto trasmesso (questo parametro viene solitamente modificato quando la connessione viene spesso disconnessa o alcuni siti non si aprono);
mru è la dimensione massima di un pacchetto ricevuto.

4. Modificare il file /etc/ppp/chap-secrets (se viene utilizzato il tipo di autenticazione PAP, allora rispettivamente /etc/ppp/pap-secrets)

#nano / etc / ppp / chap-secrets

Inseriamo una riga lì, come:

Password PPTP Sukochev *

Attenzione!!! Sostituisci sukochev con il tuo nome utente e password con la tua password per connetterti.
5. Se necessario, aggiungere le route necessarie al file /etc/network/interfaces. Ad esempio, i miei percorsi sono registrati in modo che quando la connessione VPN è attiva, posso utilizzare la rete locale locale. Ecco un esempio dei miei percorsi (quelli che iniziano con il percorso in alto), saranno naturalmente diversi per te:

Auto eth1 iface eth1 inet dhcp up route add -net 10.1.0.0 netmask 255.255.0.0 gw 10.1.45.1 dev eth1 up route add -net 10.3.0.0 netmask 255.255.0.0 gw 10.1.45.1 dev eth1

Non dimenticare di riavviare le connessioni di rete dopo aver modificato il file /etc/network/interfaces:

# / etc / init.d / riavvio della rete

6. Ora puoi abilitare e disabilitare la connessione VPN usando i seguenti comandi:
Accendere

Spegnimento

Connessione VPN automatica all'avvio del sistema

Per fare ciò, modifica il file / etc / network / interfaces
#nano/etc/rete/interfacce

E inserisci le seguenti righe alla fine del file:
auto ppp0 iface ppp0 inet provider ppp vpn pre-up ip link set eth1 up up route del default up route add default dev ppp0

Dove eth1 è l'interfaccia del dispositivo di rete attraverso il quale è connessa la connessione VPN e vpn è il nome della connessione VPN che hai creato nella cartella /etc/ppp/peers/.

Vuoi avere un accesso a Internet sicuro e protetto dal tuo smartphone o laptop mentre ti colleghi a una rete non protetta tramite WiFi di un hotel o di un bar? Una rete privata virtuale (VPN) ti consente di utilizzare reti non protette come se fossi su una rete privata. Tutto il tuo traffico in questo caso passa attraverso il server VPN.

In combinazione con l'uso di una connessione HTTPS, le impostazioni descritte di seguito ti permetteranno di proteggere le tue informazioni private, ad esempio login e password, così come i tuoi acquisti. Inoltre, puoi aggirare le restrizioni regionali e la censura, oltre a nascondere la tua posizione e il traffico HTTP non crittografato da una rete non protetta.

Puoi trasferire un profilo dal computer al telefono collegando il tuo dispositivo Android al computer tramite USB e copiando il file. Puoi anche spostare il file del profilo utilizzando una scheda SD copiando il profilo sulla scheda e inserendo la scheda nel tuo dispositivo Android.

Avvia l'applicazione OpenVPN e fai clic sul menu per importare il profilo.

Composto

Premere il pulsante per stabilire una connessione. Collegare... Ti verrà chiesto se ti fidi dell'applicazione OpenVPN. Risposta ok per stabilire una connessione. Per interrompere la connessione, vai all'app OpenVPN e seleziona Disconnetti.

Passaggio 13. Test della connessione VPN

Dopo aver installato e configurato tutto, assicuriamoci che tutto funzioni correttamente. Senza stabilire una connessione VPN, apri un browser e vai a DNSLeakTest.

Questo sito restituirà l'indirizzo IP assegnato dal tuo ISP. Per verificare quali server DNS sono in uso, fare clic su Test esteso.

Ora stabilisci una connessione usando il tuo client VPN e aggiorna la pagina nel tuo browser. L'indirizzo IP che ti è stato fornito deve essere completamente diverso. Stai usando questo nuovo indirizzo IP per tutti su Internet. Clicca su Test esteso di nuovo per controllare le tue impostazioni DNS e assicurarti di utilizzare il server DNS della tua VPN.

Passaggio 14. Revoca dei certificati client

Di tanto in tanto, potrebbe essere necessario revocare il certificato client per impedire l'accesso al server VPN e

Per fare ciò, vai alla directory della tua autorità di certificazione e inserisci i comandi:

  • cd ~ / openvpn-ca
  • fonte vars
  • ./revoke-full client3

L'output di questo comando terminerà con l'errore 23. Questo è normale. Di conseguenza, nella directory delle chiavi verrà creato il file crl.pem con le informazioni necessarie per la revoca del certificato.

Sposta questo file nella directory / etc / openvpn:

  • sudo cp ~ / openvpn-ca / keys / crl.pem / etc / openvpn
  • sudo nano /etc/openvpn/server.conf

Aggiungi crl-verify alla fine del file. Il server OpenVPN controllerà il CRL ogni volta che qualcuno si connette al server.

/etc/openvpn/server.conf

Crl-verifica crl.pem

Salva e chiudi il file.

Riavvia OpenVPN per completare il processo di revoca del certificato:

Ora il client non sarà in grado di stabilire una connessione con il server OpenVPN utilizzando il vecchio certificato.

Per revocare certificati aggiuntivi, attenersi alla seguente procedura:

    Genera un nuovo elenco di revoche utilizzando il comando source vars nella directory ~ / openvpn-ca ed emettendo il comando revoke-full con il nome del client.

    Copia il nuovo CRL in /etc/openvpn, sovrascrivendo il vecchio CRL.

    Riavvia il servizio OpenVPN.

Questa procedura può essere utilizzata per revocare eventuali certificati creati in precedenza.

Conclusione

Congratulazioni! Ora puoi accedere in sicurezza a Internet, tutto il tuo traffico è protetto dalle intercettazioni di censori e intrusi.

Ripetere i passaggi per configurare client aggiuntivi 6 e 11-13 per ogni nuovo dispositivo. Per revocare l'accesso per un particolare client, utilizzare il passaggio 14 .

A volte è necessario ottenere l'accesso remoto alla rete aziendale, creare un tunnel tra i server o fornire l'accesso a Internet a un buon vicino che è stato disconnesso dalla rete per un debito e forse solo essere in grado di accedere alla propria rete da qualsiasi punto del mondo dove c'è Internet.

Per questi scopi, puoi utilizzare reti private virtuali (Virtual Private Network - VPN). Nel nostro caso, questo sarà il protocollo più diffuso nei paesi della CSI, ovvero PPTP (Point-to-Point Tunneling Protocol). Molti provider Internet via cavo lo utilizzano per fornire servizi di accesso a Internet.

Far funzionare il tuo server su Linux Ubuntu Server LTS non è così difficile. Per fare ciò, abbiamo bisogno dell'accesso a Internet e di un IP reale (se dobbiamo connetterci da Internet).

Andiamo al server utilizzando l'account root e installiamo i pacchetti necessari con il comando apt-get install pptpd Ci verrà inoltre proposto di installare il pacchetto bcrelay, ti permette di duplicare i pacchetti broadcast ricevuti sull'interfaccia in entrata su virtual (client PPP gallerie).

Premi invio e il nostro server è installato. Iniziamo con la configurazione. Apriamo il file nano /etс/pptpd.conf e in fondo vedremo le seguenti righe

#localip 192.168.0.1
#remoteip 192.168.0.234-238,192.168.0.245
# o
#localip 192.168.0.234-238,192.168.0.245
#remoteip 192.168.1.234-238,192.168.1.245

Queste sono le impostazioni dell'indirizzo IP del client. Decommentiamo le prime due righe (rimuoviamo il simbolo #) e correggiamole un po'.

La linea localip 192.168.0.1 significa che il nostro server VPN avrà un IP 192.168.0.1, puoi specificare il nostro IP in una delle reti direttamente connesse. Ad esempio, nella mia rete domestica il server ha un indirizzo IP - 172.30.2.1 Per non caricare inutilmente il server, l'ho usato.

La seconda riga - remoteip 192.168.0.234-238,192.168.0.245 specifica l'intervallo di indirizzi IP che verranno assegnati ai client. Come puoi vedere da queste righe, l'indirizzo di rete può essere qualsiasi cosa (nel secondo gruppo di righe). Per comodità, lo sceglieremo nello stesso intervallo dell'IP del nostro server.

Uso la seguente logica di emissione IP a casa: 1st - router, 2-19 - computer, 20-49 - VPN statica (quando ci si connette, viene emesso lo stesso indirizzo), 50-100 - client VPN, 101-199 - Wi- Client Fi , 200-254 - per vari dispositivi (ad esempio router IP, TV, ecc.). Specifichiamo l'intervallo remoteip 172.30.2.50-100 e salviamo la configurazione.

Andiamo nella directory cd / etñ / ppp /, dove sono memorizzati tutti i file di configurazione di pptpd (server) e pppd (client).

Rinominiamo il file pptpd-options con il comando mv pptpd-options pptpd-options.bak e creiamolo usando le nuove nano pptpd-options Questo è fatto per rendere più facile inserire più righe in un nuovo file piuttosto che cercare opzioni tra decine di righe con commenti. Incolliamo il seguente contenuto in questo nuovo file:

nome pptpd
rifiuta-pap
rifiutare-cap
rifiuto-mschap
require-mschap-v2
# require-mppe-128
ms-dns 172.30.2.1
nodefaultroute
serratura
nobsdcomp
autenticazione
file di registro /var/log/pptpd.log

Cosa significa tutto questo? Andiamo in ordine:

  • Usa il nome pptpd per trovare gli accessi chap-secret
  • Con questa opzione, pptpd non accetterà di autenticarsi utilizzando il protocollo require-pap, rifiuto-chap, rifiuto-mschap
  • Richiedi peer per l'autenticazione utilizzando MS-CHAPv2
  • Richiedi l'uso di MPPE con crittografia a 128 bit require-mppe-128 i.e. crittografare tutto il traffico. Ciò aumenta il carico sul server e non tutti i dispositivi "deboli" lo supportano (router Wi-Fi, ecc.).
  • Suggerisci di utilizzare un server DNS con IP 172.30.2.1
  • nodefaultroute - non impostare il gateway predefinito dal server al client, altrimenti tutto il traffico su Internet verrà inviato attraverso il client connesso e anche Internet verrà disconnesso a causa della perdita del percorso verso il provider.
  • Blocca - blocca le sessioni, ad es. da un login può esserci una sola connessione
  • nobsdcomp - Non comprime il traffico. Quando abilitato, aumenta il carico sul nostro server
  • auth - richiedi autorizzazione (login e password)
  • logfile /var/log/pptpd.log - scrive i log delle operazioni in questo file.

Salva e chiudi questo file di configurazione.

Ora dobbiamo aggiungere gli utenti che si collegheranno al nostro server. Apriamo il file nano chap-secrets (viene utilizzato per memorizzare gli account PPP).

Per un corretto funzionamento è necessario rispettare il seguente formato: le colonne devono essere separate da almeno uno spazio o tab (Tab), non sono ammessi spazi nei nomi (altrimenti uno spazio è considerato la colonna successiva), il login deve iniziare con una lettera. Per esempio:

La prima colonna è il nome utente, la seconda è il nome del servizio. Nel nostro caso, questo è pptpd. La prossima è la password dell'utente, l'ultima è l'indirizzo IP che verrà rilasciato. Inoltre, se è presente *, l'indirizzo IP verrà emesso automaticamente dall'intervallo specificato in precedenza. È inoltre possibile specificare un indirizzo IP che potrebbe essere fuori dall'intervallo.

Prima di utilizzare il server, è necessario riavviarlo. Per fare ciò, eseguire /etс/init.d/pptpd restart se non ci sono errori nella configurazione, il server verrà avviato.

ro [e-mail protetta]: /etc/ppp # /etc/init.d/pptpd restart
Riavvio di PPTP:
Arresto di PPTP: pptpd.
Avvio del demone PPTP: pptpd.

Se stai usando) devi aggiungere le seguenti righe ad esso:

# VPN - PPTPD
iptables -A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT
iptables -A INPUT -p gre -m state --state RELATED, ESTABLISHED -j ACCEPT

Per fornire l'accesso a Internet ai client VPN tramite il nostro server, è necessario aggiungere la seguente regola a IPTables:

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

Dove eth1 è l'interfaccia verso Internet.

Per testare, puoi creare una connessione VPN di prova con crittografia disabilitata (opzionale) e utilizzare qualsiasi login specificato per connetterti al server.

Errori di connessione frequenti

Per creare una connessione client PPTP da Windows XP, eseguire le seguenti operazioni: fare clic su "Start" - "Pannello di controllo" - "Rete e connessioni Internet" - "Connessioni di rete".


Fare clic su "Crea una nuova connessione" - questo avvierà la "Creazione guidata nuova connessione".







Ora inseriamo il nome della connessione. Puoi scrivere qualsiasi cosa qui, sarà solo il nome della connessione, ad esempio scriveremo "PPTP" (dal tipo di connessione).



Potrebbe apparire la seguente domanda "Utilizzare connessioni Internet configurate?" (Se hai già configurato una connessione PPPoE), fai clic su "Non chiamare" al suo interno.



Se tale messaggio non viene visualizzato, continua a leggere.

Ora ti verrà chiesto di inserire l'indirizzo del server, indicare l'IP del tuo server o il suo nome.




Nella finestra mostrata nella foto sopra, seleziona "Proprietà". Apparirà una finestra in cui selezioniamo la scheda "Sicurezza". Troviamo in esso la voce "È richiesta la crittografia dei dati" e deselezionare la casella. in caso contrario, non saremo in grado di connetterci, verranno visualizzati gli errori 741 o 742 - "il tipo di crittografia richiesto non è supportato dal server".


Successivamente, fai clic sul pulsante "OK", torna alla finestra precedente, inserisci il tuo nome utente, password e connettiti al nostro server remoto tramite un canale VPN sicuro!

Dopo aver considerato le questioni teoriche nelle parti precedenti, passiamo all'implementazione pratica. Oggi esamineremo la creazione di un server VPN PPTP sulla piattaforma Ubuntu Server. Questo materiale è destinato a lettori con competenze Linux, quindi non saremo distratti dalle cose che abbiamo descritto in altri articoli, come la configurazione di rete, ecc. Se riscontri difficoltà, studia prima gli altri nostri materiali.

Inizieremo la nostra conoscenza pratica con VPN con PPTP, che è il più facile da implementare. Tieni presente, tuttavia, che questo è un protocollo debolmente sicuro e non dovrebbe essere utilizzato per accedere a dati critici.

Consideriamo il circuito che abbiamo realizzato nel nostro laboratorio di prova per una conoscenza pratica di questa tecnologia:

Abbiamo una rete locale 10.0.0.0/24 con un terminal server 10.0.0.2 e 10.0.0.1, che fungerà da server VPN, per VPN abbiamo riservato la rete 10.0.1.0/24. L'interfaccia del server esterno ha un indirizzo IP dedicato condizionale X.X.X.X. Il nostro obiettivo è fornire ai client remoti l'accesso al server terminal e le risorse condivise su di esso.

Configurazione del server PPTP

Installa il pacchetto pptpd che implementa la funzionalità VPN PPTP:

Sudo apt-get install pptpd

Ora apriamo il file /etc/pptpd.conf e imposta le impostazioni di base per il server VPN. Andiamo alla fine del file, dove indicheremo l'indirizzo del server nella rete VPN:

Locale 10.0.1.1

E la gamma di indirizzi da rilasciare ai clienti:

IP remoto 10.0.1.200-250

Gli indirizzi devono essere allocati almeno il maggior numero possibile di connessioni simultanee, preferibilmente con un piccolo margine, poiché il loro aumento senza riavviare pptpd è impossibile. Troviamo e decommentiamo anche la riga:

Bcrelay eth1

Ciò consentirà ai client VPN di trasmettere i propri pacchetti di rete interni.

Puoi anche usare le opzioni Ascoltare e velocità, il primo consente di specificare l'indirizzo IP dell'interfaccia locale per l'ascolto delle connessioni PPTP in entrata, il secondo di specificare la velocità delle connessioni VPN in bps. Ad esempio, consentiamo al server di accettare connessioni PPTP solo dall'interfaccia esterna:

Ascolta X.X.X.X

Le impostazioni più sottili sono nel file / etc / ppp / pptpd-opzioni... Le impostazioni predefinite sono abbastanza coerenti con i nostri requisiti, ma ne esamineremo brevemente alcune in modo che tu abbia un'idea del loro scopo.

Sezione #Crittografia responsabile della crittografia e dell'autenticazione dei dati. Queste opzioni vietano l'uso dei protocolli legacy e non sicuri PAP, CHAP e MS-CHAP:

Rifiuta-pap
rifiutare-cap
rifiuto-mschap

Richiedi-mschap-v2
richiedere-mppe-128

Sezione successiva #Rete e routing, qui dovresti prestare attenzione all'opzione ms-dns che consente l'utilizzo di un server DNS sulla rete interna. Questo può essere utile quando la struttura del dominio della rete o la presenza di un server DNS in essa contiene i nomi di tutti i PC della rete, il che rende possibile fare riferimento ai computer per nome e non solo per IP. Nel nostro caso, questa opzione è inutile e commentata. Allo stesso modo, puoi impostare l'indirizzo del server WINS con l'opzione ms-vince.

Ecco l'opzione proxyarp, incluso, come puoi intuire dal nome, il supporto del server Proxy ARP.

Nella sezione #Varie contiene l'opzione serratura che limita il client a una connessione.

Ivanov * 123 *
petrov * 456 10.0.1.201

La prima voce consente all'utente ivanov di connettersi al server con la password 123 e gli assegna un indirizzo IP arbitrario, la seconda crea l'utente petrov con la password 456, a cui verrà assegnato l'indirizzo permanente 10.0.1.201 al momento della connessione.

Ricomincia pptpd:

Sudo /etc/init.d/pptpd restart

Nota importante! Se pptpd non vuole ripartire, congelandosi in partenza, ma in /var/log/syslog aggiungendo la riga riga del file di configurazione lunga ignorata assicurati di aggiungere alla fine del file /etc/pptpd.conf interruzione di linea.

Il nostro server è pronto.

Configurazione dei PC client

In generale è sufficiente configurare la connessione VPN con le opzioni di default. Tuttavia, ti consigliamo di specificare esplicitamente il tipo di connessione e disabilitare i protocolli di crittografia non necessari.

Inoltre, a seconda della struttura della rete, è necessario specificare le route statiche e il gateway predefinito. Queste domande sono state discusse in dettaglio nelle parti precedenti.

Stabiliamo una connessione VPN e proviamo a eseguire il ping di qualsiasi PC nella rete locale, abbiamo accesso al terminal server senza alcuna difficoltà:

Ora per un'aggiunta più importante. Nella maggior parte dei casi, l'accesso ai computer della rete locale sarà possibile solo tramite indirizzi IP, ad es. il percorso \\ 10.0.0.2 funzionerà, ma \\ SERVER no. Questo può essere scomodo e insolito per gli utenti. Esistono diversi modi per risolvere questo problema.

Se la rete locale ha una struttura a dominio, è sufficiente specificare il server DNS per la connessione VPN al server DNS del controller di dominio. Usa l'opzione ms-dns v / etc / ppp / pptpd-opzioni server e i dati di impostazione verranno ricevuti automaticamente dal client.

Se non è presente un server DNS nella rete locale, è possibile creare e utilizzare un server WINS, le informazioni su di esso possono anche essere trasferite automaticamente ai client utilizzando l'opzione ms-vince... E infine, se ci sono pochi client remoti, usa i file sui PC client padroni di casa(C: \ Windows \ System32 \ drivers \ etc \ hosts), dove dovresti aggiungere righe come.