Ustanowić połączenie sieci VPN L2TP/IPSEC

Z Pl Ikoula wiki
Wersja z dnia 13:36, 9 lut 2017 autorstwa Ikbot (dyskusja | edycje) (Utworzono nową stronę "<br />Artykuł ten jest wynikiem translacji automatycznej wykonywane przez oprogramowanie. Możesz przeglądać źródła artykułu :fr:Mettre en place un VPN L2TP/IPS...")
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacji Przejdź do wyszukiwania


Artykuł ten jest wynikiem translacji automatycznej wykonywane przez oprogramowanie. Możesz przeglądać źródła artykułu tutaj.

Wprowadzenie

SIECI VPN (Wirtualne sieci prywatne) 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 przetwarzanie w chmurze. L'avantage du L2TP (Warstwy 2 Protokół Tunelling) 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.

Wymagania wstępne

Aby wykonać ten tutorial musi mieć :

  • Maszynę w dystrybucji Linux (Debiana 8Fedory, CentOS, Ubuntu, Raspberry Pi...) Nie działa pod Debian 8 ze względu na repozytorium OpenSwan, który już nie istnieje
  • Znać swój adres publiczny adres ip, jeśli nie znasz tutaj!

Poradnik

Po pierwsze zalogowanie w głównym (lub przez użytkownika, który ma uprawnienia administratora). Aby połączyć się z komputerem zdalnie przez SSH lub po prostu Otwórz terminal, jeśli masz dostęp do interfejsu graficznego urządzenia, można użyć Putty.

Pakiety aktualizacji i instalacji

Po pierwsze zaktualizować komputer i zainstalować niezbędne repozytorium :

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

OpenSwan będzie zadać kilka pytań, odpowiedzi y z wartości domyślnych.'.

Dodawanie reguł zapory

Następnie możemy dodać reguły iptables, aby zezwolić na ruch sieci VPN (Zamień %IP_SERWERA% przez ip Twojego Serwer) :

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


Następnie uruchom następujące polecenia, aby włączyć routing pakietów 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

Trwałe do ponownego uruchomienia maszyny :

nano /etc/rc.local

Następnie należy dodać na końcu tuż przed Zamknij 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 %IP_SERWERA% -o eth+


WdrożenieIPSEC


Utwórz nowy plik konfiguracji ipsec :

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

Następnie wbić to : Nie zapominając o zastąpienie %SERVERIP% adres IP Serwer

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 (kluczem wstępnym) :

nano /etc/ipsec.secrets

Następnie wprowadź ten wiersz :

%SERVERIP%  %any:   PSK "VotreClePlusOuMoinsSecurisee"

Rozważyć zastąpienie %SERVERIP% par l'IP de votre Serwer. Si vous séchez pour la création de votre clé vous pouvez utilisez la commande suivante :

openssl rand -hex 30


Możemy sprawdzić, że wszystko jest w porządku, więc można użyć tego polecenia :

ipsec verify

I musi dostać :

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

Zacznijmy od edycji nowego pliku konfiguracji :

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

Następnie wbić to :

[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

Konfiguracja PPP

W tej części ponownie utworzy nowy plik konfiguracji (zbyt nowe w jednym zdaniu :3) :

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

Następnie włóż to :

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

Tutaj użyłem Publiczny DNS Google, modyfikować i używać te do wyboru za darmo ! ;)

Dodawanie użytkowników

WRESZCIE ! Ten ważny krok pozwoli na ustawienie logowania i hasła użytkownikom sieci vpn, po prostu edytować ten plik :

nano /etc/ppp/chap-secrets

poniżej linii typowe:

jean          l2tpd   0F92E5FC2414101EA            *


UWAGI : Plik ten jest wrażliwy, jeśli umieścić małą literą, możesz potrzebować wobec utrzymywać ono po wpisaniu loginu lub hasła.

Wreszcie odnawiać zapas towarów :

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



W tym artykule wydaje Ci się przyda ?

0



Nie możesz publikować komentarzy.