Stabilească un VPN L2TP/IPSEC

De la Ro Ikoula wiki
Versiunea din 4 noiembrie 2021 18:26, autor: Cbrochot1072d (Discuție | contribuții)
(dif) ← Versiunea anterioară | Versiunea curentă (dif) | Versiunea următoare → (dif)
Jump to navigation Jump to search

fr:Mettre en place un VPN L2TP/IPSEC en:Establish a L2TP/IPSEC VPN es:Establecer una VPN de L2TP/IPSEC pt:Estabelecer uma VPN L2TP/IPSEC it:Stabilire una connessione VPN L2TP/IPSEC nl:Stellen een L2TP/IPSEC VPN de:Etablieren Sie ein L2TP/IPSEC-VPN zh:建立 L2TP/IPSEC VPN ar:إنشاء L2TP/IPSEC VPN ja:L2TP と IPSEC VPN を確立します。 pl:Ustanowić połączenie sieci VPN L2TP/IPSEC ru:Установить L2TP/IPSEC VPN ro:Stabilească un VPN L2TP/IPSEC he:הקמת VPN של L2TP/IPSEC
Acest articol este rezultatul unei traduceri automate efectuate de către software-ul. Puteți vizualiza sursa articol aici.

Introducere

UN VPN (Virtual Private Network) est un système permettant de créer un lien direct entre des ordinateurs distants. On utilise notamment ce terme dans le milieu de la dématérialisation fiscale et dans le travail à distance, ainsi que pour l'accès à des structures de type nor de calcul. L'avantage du L2TP (Strat 2 Tunelling Protocol) réside dans l'utilisation d'une clé pré partagée en plus des identifiants de connexion habituels. A cela s'ajoute IPSEC, une technologie d'encapsulation cryptée dans la trame IP.

Cerinţe preliminare

Să urmeze acest tutorial trebuie sa aveti :

  • O maşină în conformitate cu o distribuție de Linux (Debian 8Fedora, CentOS, Ubuntu, Raspberry Pi...) Nu funcţionează în Debian 8 din cauza repository de OpenSwan care nu mai există
  • Stii adresa ip publică, în cazul în care nu ştiţi aici!

Tutorial

În primul rând, conectaţi-vă în rădăcină (sau prin intermediul unui utilizator care are drepturi de superuser). Utilizaţi chit pentru a conecta la o maşină de la distanţă prin SSH sau pur şi simplu deschideţi un terminal în cazul în care aveţi acces la interfaţa grafică de maşini.

Pachete de actualizare şi instalare

În primul rând, actualiza computerul şi a instala Depozitul necesar :

apt-get update && apt-get upgrade -y
apt-get install openswan xl2tpd ppp lsof

OpenSwan va pune câteva întrebări, răspunsul y cu valorile implicite.'.

Adăugarea regulile de firewall

Apoi, vom adăuga o regulă pentru iptables să permită trafic VPN (înlocui %SERVERIP% de ip a dvs Server) :

iptables -t nat -A POSTROUTING -j SNAT --to-source %SERVERIP% -o eth0


Apoi executaţi următoarele comenzi pentru a permite dirijarea de pachete IP:

echo "net.ipv4.ip_forward = 1" |  tee -a /etc/sysctl.conf
echo "net.ipv4.conf.all.accept_redirects = 0" |  tee -a /etc/sysctl.conf
echo "net.ipv4.conf.all.send_redirects = 0" |  tee -a /etc/sysctl.conf
echo "net.ipv4.conf.default.rp_filter = 0" |  tee -a /etc/sysctl.conf
echo "net.ipv4.conf.default.accept_source_route = 0" |  tee -a /etc/sysctl.conf
echo "net.ipv4.conf.default.send_redirects = 0" |  tee -a /etc/sysctl.conf
echo "net.ipv4.icmp_ignore_bogus_error_responses = 1" |  tee -a /etc/sysctl.conf
for vpn in /proc/sys/net/ipv4/conf/*; do echo 0 > $vpn/accept_redirects; echo 0 > $vpn/send_redirects; done
sysctl -p

Face persistente pentru a reporni maşina :

nano /etc/rc.local

Apoi, se adaugă la sfârşitul chiar înainte ieşire 0 :

for vpn in /proc/sys/net/ipv4/conf/*; do echo 0 > $vpn/accept_redirects; echo 0 > $vpn/send_redirects; done
iptables -t nat -A POSTROUTING -j SNAT --to-source %SERVERIP% -o eth+


Punerea în aplicare aIPSEC


Creaţi un nou fişier de configurare ipsec :

mv /etc/ipsec.conf /etc/ipsec.conf.bak && nano /etc/ipsec.conf

Apoi lipi acest lucru : Nu uita să înlocuiască %SERVERIP% de adresa IP Server

version 2 # conforms to second version of ipsec.conf specification

config setup
    dumpdir=/var/run/pluto/
    #in what directory should things started by setup (notably the Pluto daemon) be allowed to dump core?

    nat_traversal=yes
    #whether to accept/offer to support NAT (NAPT, also known as "IP Masqurade") workaround for IPsec

    virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v6:fd00::/8,%v6:fe80::/10
    #contains the networks that are allowed as subnet= for the remote client. In other words, the address ranges that may live behind a NAT router through which a client connects.

    protostack=netkey
    #decide which protocol stack is going to be used.

    force_keepalive=yes
    keep_alive=60
    # Send a keep-alive packet every 60 seconds.

conn L2TP-PSK-noNAT
    authby=secret
    #shared secret. Use rsasig for certificates.

    pfs=no
    #Disable pfs

    auto=add
    #the ipsec tunnel should be started and routes created when the ipsec daemon itself starts.

    keyingtries=3
    #Only negotiate a conn. 3 times.

    ikelifetime=8h
    keylife=1h

    ike=aes256-sha1,aes128-sha1,3des-sha1
    phase2alg=aes256-sha1,aes128-sha1,3des-sha1
    # https://lists.openswan.org/pipermail/users/2014-April/022947.html
    # specifies the phase 1 encryption scheme, the hashing algorithm, and the diffie-hellman group. The modp1024 is for Diffie-Hellman 2. Why 'modp' instead of dh? DH2 is a 1028 bit encryption algorithm that modulo's a prime number, e.g. modp1028. See RFC 5114 for details or the wiki page on diffie hellmann, if interested.

    type=transport
    #because we use l2tp as tunnel protocol

    left=%SERVERIP%
    #fill in server IP above

    leftprotoport=17/1701
    right=%any
    rightprotoport=17/%any

    dpddelay=10
    # Dead Peer Dectection (RFC 3706) keepalives delay
    dpdtimeout=20
    #  length of time (in seconds) we will idle without hearing either an R_U_THERE poll from our peer, or an R_U_THERE_ACK reply.
    dpdaction=clear
    # When a DPD enabled peer is declared dead, what action should be taken. clear means the eroute and SA with both be cleared.

On crée ensuite le preshared secret (cheia partajată pre) :

nano /etc/ipsec.secrets

Apoi, introduceţi această linie :

%SERVERIP%  %any:   PSK "VotreClePlusOuMoinsSecurisee"

Luaţi în calcul înlocuirea %SERVERIP% par l'IP de votre Server. Si vous séchez pour la création de votre clé vous pouvez utilisez la commande suivante :

openssl rand -hex 30


Verificăm că totul este bine, deci utilizaţi această comandă :

ipsec verify

Şi trebuie să obţineţi :

Checking your system to see if IPsec got installed and started correctly:
Version check and ipsec on-path                                 [OK]
Linux Openswan U2.6.38/K3.13.0-24-generic (netkey)
Checking for IPsec support in kernel                            [OK]
 SAref kernel support                                           [N/A]
 NETKEY:  Testing XFRM related proc values                      [OK]
    [OK]
    [OK]
Checking that pluto is running                                  [OK]
 Pluto listening for IKE on udp 500                             [OK]
 Pluto listening for NAT-T on udp 4500                          [OK]
Checking for 'ip' command                                       [OK]
Checking /bin/sh is not /bin/dash                               [WARNING]
Checking for 'iptables' command                                 [OK]
Opportunistic Encryption Support                                [DISABLED]

Configuration de xl2tpd

Să începem prin editarea unui fişier de configurare nou :

mv /etc/xl2tpd/xl2tpd.conf /etc/xl2tpd/xl2tpd.conf.bak && nano /etc/xl2tpd/xl2tpd.conf

Apoi lipi acest lucru :

[global]
ipsec saref = yes
saref refinfo = 30

;debug avp = yes
;debug network = yes
;debug state = yes
;debug tunnel = yes

[lns default]
ip range = 172.16.1.30-172.16.1.100
local ip = 172.16.1.1
refuse pap = yes
require authentication = yes
;ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes

PPP de configurare

Pentru această parte, din nou vom crea un nou fişier de configurare (prea nou într-o propoziţie :3) :

mv /etc/ppp/options.xl2tpd /etc/ppp/options.xl2tpd.bak && nano /etc/ppp/options.xl2tpd

Apoi introduceţi acest lucru :

require-mschap-v2
ms-dns 8.8.8.8
ms-dns 8.8.4.4
auth
mtu 1200
mru 1000
crtscts
hide-password
modem
name l2tpd
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4

Aici, am folosit DNS publice la Google, gratuit pentru tine de a modifica şi de a folosi cele de alegerea ta ! ;)

Adăugarea de utilizatori

ÎN CELE DIN URMĂ ! Acest pas crucial vă va permite să setaţi login şi parolele pentru utilizatori vpn, doar edita acest fişier :

nano /etc/ppp/chap-secrets

mai jos o linie tipic:

jean          l2tpd   0F92E5FC2414101EA            *


'ATENŢIA : Acest fişier este cazul sensibile, dacă aţi pus o majusculă, trebuie să păstraţi-l atunci când tastaţi numele de login sau parola. "

În cele din urmă pauză :

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



Acest articol pare util pentru tine ?

0



Nu sunteți autorizat să publicați comentarii.