GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come configurare L2TP su IPsec usando Freeradius su Ubuntu

Il protocollo di tunneling di livello 2 (L2TP) con IPsec viene utilizzato per garantire la crittografia end-to-end poiché L2TP non supporta le funzionalità di sicurezza. Lo strumento OpenSwan viene utilizzato per stabilire un tunnel IPsec che verrà compilato sulla distribuzione Ubuntu. La funzione di sicurezza dell'autenticazione è implementata utilizzando il server FreeRadius. Lo scopo del server di autenticazione è autenticare l'utente di VPN L2TP. I client Android e Windows supportano L2TP/IPsec PSK con CHAPv2, pertanto verrà stabilito un canale sicuro tra smartphone e server.

Pacchetti richiesti

I seguenti pacchetti verranno installati utilizzando openswan-l2tp-installation.sh copione.

Strumenti

  • Server/Client Freeradius (installazione di base di origine)
  • xl2tpd
  • Server Poptop
  • Server/client MySQL
  • OpenSwan (installazione di base del sorgente)

Pacchetti di sviluppo

  • Bisonte
  • Flessibile
  • Libreria GMP

Il contenuto dello script è mostrato nell'istantanea seguente.

#!/bin/bash

##NOTE:  Adding a proper date in lastaccounting filed  to fix the invalid default value issue in /etc/freeradius/sql/mysql/cui.sql.

##-installation of tools-##
apt-get update
apt-get install -y mysql-server mysql-client freeradius-mysql pptpd xl2tpd build-essential libgmp3-dev bison flex

echo "Installing freeradius client --"
wget https://github.com/FreeRADIUS/freeradius-client/archive/master.zip
unzip master.zip
cd freeradius-client-master
./configure --prefix=/
make
make install

echo "Installation of OpenSwan "
wget https://download.openswan.org/openswan/openswan-latest.tar.gz
tar -xvzf openswan-latest.tar.gz
cd openswan-*
make programs
make install
echo " OpenSwan installed"

Immettere la password "test" per l'utente root del server MySql.

Configurazione

Un altro script "openswan-l2tp-configuration.sh " viene utilizzato per configurare l'inoltro dei pacchetti su Ubuntu, le regole di iptables per la sottorete xl2tpd, l'impostazione del server/client FreeRadius per i meccanismi di autenticazione e il tunnel IPsec di OpenSwan. Di seguito sono mostrati alcuni snapshot dello script di configurazione.

1. iptables e impostazioni sysctl

2. Impostazione del server FreeRadius tramite mysql

3. Impostazione client FreeRadius

4. Configurazione per servizi pptpd e xl2tpd

5. Configurazione VPN OpenSwan

Prima di eseguire lo script di configurazione, è necessaria una modifica in cui.sql file che esiste in /etc/freeradius/sql/mysql/ . Modifica la riga seguente evidenziata nel file sql specificato.

 `lastaccounting` timestamp NOT NULL default '0000-00-00 00:00:00',

`lastaccounting` timestamp NOT NULL default '2016-10-01 00:00:00',

Esegui lo script di configurazione per l'impostazione automatica dei pacchetti installati.

Inserisci nome utente/password nel database di FreeRadius per client L2TP Android/Windows utilizzando il seguente comando.

INSERT INTO radius.radcheck (username, attribute, op, value) VALUES ('test','User-Password',':=','test123');


Esegui il server FreeRadius usando il seguente comando e riavvia anche tutti i servizi richiesti.

freeradius -X

Esegui il seguente comando su localhost per testare la configurazione del server FreeRadius.

radtest test test123 localhost 0 test123

/etc/init.d/xl2tpd restart
/etc/init.d/ipsec  restart

Sembra che tutti i servizi richiesti siano configurati e funzionanti correttamente. Ora, configura L2TP/IPsec PSK VPN su client Windows e Android.

Configurazione del client MS Windows 8

Fai clic su "imposta una nuova connessione o rete" in "Centro connessioni di rete e condivisione".

seleziona l'opzione "Connetti a un posto di lavoro" come mostrato nella seguente istantanea.

Come mostrato di seguito. seleziona l'opzione "usa la mia Internet (VPN)" nella finestra successiva.

Inserisci il titolo e l'indirizzo internet (indirizzo ip della macchina) sulla connessione VPN e clicca sul pulsante "crea".

La nuova connessione VPN verrà creata e mostrata nell'elenco delle reti come mostrato di seguito.

Le proprietà predefinite della nuova connessione VPN non funzioneranno con la configurazione corrente del server FreeRadius. Pertanto, sono necessarie poche modifiche alle impostazioni di sicurezza del client VPN MS Windows.

Prima di tutto, cambia il tipo di VPN (protocollo di tunneling di livello 2 su IPsec).

Fare clic su "Impostazioni avanzate" e selezionare l'opzione "utilizza una chiave precondivisa per l'autenticazione".

Seleziona l'opzione "Microsoft CHAP versione 2" nell'impostazione "Consenti questi protocolli".

Dopo aver configurato la connessione VPN L2TP/IPsec, inserire nome utente/password (test/test123) come mostrato di seguito.

La VPN L2TP/IPsec è connessa correttamente al server e l'indirizzo IP è assegnato come mostrato di seguito.

L'istantanea seguente mostra lo stato della connessione VPN L2TP/IPsec.

Configurazione L2TP/IPsec su Android

Per connettere il client Android L2TP al server, creare una connessione L2TP/IPsec su di esso. Fai clic su "impostazioni " . "Altro " e "VPN " opzioni. Ora "Aggiungi rete VPN " e seleziona "L2TP PSK " opzione per la connessione VPN desiderata.

Una volta, viene creata una nuova connessione VPN L2TP/IPsec. Ora, fai clic sul nome della connessione VPN e inserisci il nome utente/password già creato sul server FreeRadius.

Il client L2TP/IPsec è connesso al server come mostrato di seguito.

Stato di FreeRadius

L'istantanea seguente mostra l'autenticazione riuscita dell'utente e il tipo di autenticazione è CHAP.

Stato del tunnel

Come mostrato di seguito, il comando xfrm state fornisce lo stato del tunnel OpenSwan.

ip xfrm state

Un altro comando fornito nello strumento OpenSwan è "ipsec look" che combina informazioni sullo stato di xfrm, qualsiasi regola iptables e routing.

ipsec look

1. output dello stato xfrm nel comando ipsec

2. output della politica xfrm nel comando ipsec

3. Routing e impostazione di iptables nel comando ipsec

Il comando seguente fornisce lo stato automatico del tunnel come mostrato di seguito.

ipsec auto --status

Conclusione

In questo tutorial, viene creato un tunnel al livello 2 utilizzando L2TP con OpenSwan per proteggere la comunicazione tra client e server. Il meccanismo di autenticazione CHAPv2 viene utilizzato tra client e server utilizzando i servizi FreeRadius. Sia i client L2TP basati su Android che quelli basati su Windows vengono utilizzati per dimostrare la connessione dei client con il server.


Ubuntu
  1. Come installare e configurare un server NFS su Ubuntu 20.04

  2. Come installare e configurare VNC su Ubuntu 20.04

  3. Come installare e configurare il server DHCP su Ubuntu 20.04

  4. Come installare e configurare il server Redis in Ubuntu

  5. Come utilizzare Ansible per installare e configurare Redis 6 su Ubuntu 20.04

Come configurare OSSEC su Ubuntu - Parte 2

Come configurare OpenVPN su Ubuntu 16.04

Come sincronizzare l'ora utilizzando il server NTP in Ubuntu

Come installare e configurare DHCP su Ubuntu 18.04

Come configurare il server DNS su Ubuntu 18.04 / Ubuntu 16.04

Come riavviare il server Ubuntu usando la riga di comando