Cum să implementezi VPNaaS (VPN ca Serviciu) în OpenStack

06.06.2024
Complexity
16 min.
55

Ce este VPNaaS (VPN ca Serviciu) în OpenStack?

VPNaaS (VPN as a Service) — este un serviciu de rețea privată virtuală oferit în cadrul proiectului OpenStack. Acesta permite utilizatorilor să creeze conexiuni securizate între diferite segmente de rețea sau între dispozitive remote prin internet, folosind protocoale de rețea privată virtuală (VPN), cum ar fi IPSec (Internet Protocol Security) și SSL/TLS (Secure Sockets Layer/Transport Layer Security).

Iată câteva exemple pentru ce poate fi necesar VPNaaS (VPN ca Serviciu) în OpenStack:

1) Asigurarea transferului securizat de date: VPNaaS permite stabilirea conexiunilor securizate între diferite segmente de rețea sau între dispozitive remote prin internet, asigurând criptarea datelor și protecția împotriva accesului neautorizat.

2) Asigurarea confidențialității și intimității: Prin crearea de rețele private virtuale, VPNaaS asigură confidențialitatea datelor transmise, ceea ce este deosebit de important pentru organizațiile care lucrează cu informații sensibile.

3) Extinderea capacităților de rețea: VPNaaS permite extinderea capacităților de rețea ale infrastructurii OpenStack, oferind posibilitatea de a crea rețele private virtuale între diferite domenii sau resurse..

4) Gestionarea accesului și autentificarea: VPNaaS oferă mijloace de gestionare a accesului și autentificării utilizatorilor, permițând configurarea regulilor de acces și identificare pentru asigurarea securității datelor..


VPNaaS este complet integrată în ecosistemul OpenStack, asigurând compatibilitatea acesteia cu alte servicii și instrumente OpenStack, cum ar fi serviciul de Identitate (Keystone) și serviciul de Rețea (Neutron).

VPNaaS обладает возможностью масштабирования, что позволяет адаптировать службу под нужды вашей организации, обеспечивая надежное и эффективное функционирование в условиях изменяющихся нагрузок.

VPNaaS are capacitatea de scalare, ceea ce permite adaptarea serviciului la nevoile organizației dumneavoastră, asigurând funcționarea fiabilă și eficientă în condiții de încărcări variabile..

Astfel, VPNaaS în OpenStack este un instrument important pentru asigurarea unei infrastructuri de rețea sigure și flexibile, permițând utilizatorilor să creeze rețele virtuale securizate și conexiuni între diferite resurse și dispozitive..

Cum să implementezi VPNaaS în OpenStack și să conectezi instanțe din subrețele diferite printr-un tunel securizat:

Schema simplificată pentru crearea unui tunel securizat între două instanțe OpenStack arată astfel:

Pas - 1: Configurarea serviciului VPN

Conectați-vă la panoul de control OpenStack (Horizon).

Accesați secțiunea „Rețea” și selectați „VPN”.

Creați un nou serviciu VPN, selectând parametrii corespunzători, cum ar fi routerele și subrețelele pentru fiecare capăt al tunelului..

Pas - 2: Configurarea parametrilor de securitate

Definiți parametrii de securitate, cum ar fi algoritmii de criptare și autentificare, pentru politicile IKE (Internet Key Exchange) și IPsec (Internet Protocol Security)..

Pas - 3: Crearea Grupurilor de Endpoint (Endpoint Groups)

Creați grupuri de puncte finale (Endpoint Groups) pentru subrețelele locale și remote pe care doriți să le conectați..

Pas - 4: Crearea conexiunii IPsec

Configurați conexiunea IPsec, specificând parametrii, cum ar fi serviciul VPN, grupurile de puncte finale, parametrii de securitate și identificarea peer-urilor..

Pas - 5: Verificarea și activarea conexiunii

După configurare, asigurați-vă că conexiunea IPsec a fost creată.

Verificați statusul conexiunii. Ar trebui să fie „Down” până când conexiunea va fi activată..

Pas - 6: Instalarea tunelului securizat

Repetați pașii similari pentru configurarea VPN-ului la celălalt capăt al tunelului..

Când ambele capete ale conexiunii sunt configurate, statusul conexiunii ar trebui să se schimbe în „Activ”, indicând stabilirea cu succes a tunelului securizat între instanțele din subrețele diferite..


Să arătăm prin exemple cum să parcurgem fiecare dintre acești pași. În primul exemplu, vom crea în panoul de control Horizon un tunel securizat între două instanțe din subrețele diferite. În al doilea exemplu, vom configura un tunel între o instanță și un Mikrotik local.

Crearea VPNaaS și configurarea conexiunii securizate în OpenStack Horizon.

Puteți conecta prin VPN instanțe din infrastructuri cloud nesupravegheate între ele..

Pentru exemplul nostru, vom avea nevoie de două mașini virtuale: una în subrețeaua R1 și cealaltă în subrețeaua R2..

De asemenea, trebuie să avem două routere, fiecare în subrețeaua sa..


Înainte de a crea VPN-ul, autentificați-vă în Horizon cu utilizatorul dumneavoastră și pregătiți instanțele (dacă acestea nu există încă).

Mai multe detalii despre cum să vă autentificați în Horizon și să creați instanțe în OpenStack puteți găsi în articolul: Cum să creați un server virtual în panoul de control Horizon (OpenStack).

Pas - 1. Să creăm VPN-ul:

Conectați-vă la panoul de control OpenStack (Horizon) cu utilizatorul dumneavoastră și faceți clic pe fila "Rețea" din meniul principal, apoi selectați "VPN".

 



Acum să începem crearea conexiunii între cele două subrețele..

Avem deja 2 mașini virtuale, una în subrețeaua R1 și alta în R2, și 2 routere, câte unul în fiecare subrețea.

 

 




Pas - 2. Vom configura politica IKE (IKE Policy)..

În această etapă, vom folosi următorii parametri:

  • Name ikepolicy
  • Authorization algorithm sha1
  • Encryption algorithm aes-128
  • IKE version v1
  • Lifetime value for IKE keys 86400
  • Perfect Forward Secrecy group5
  • IKE Phase1 negotiation mode main


Pas-3. Vom configura politica IPsec (IPsec Policy).

În această etapă, vom folosi următorii parametri:

  • Name ipsecpolicy
  • Authorization algorithm sha1
  • Encapsulation mode tunnel
  • Encryption algorithm aes-128
  • Lifetime value for IKE keys 3600
  • Perfect Forward Secrecy group5
  • Transform Protocol esp


Vom configura parametrii necesari pentru prima subrețea - Configurația Site-ului „A” (R1). 

Pas - 4A. Vom configura serviciul VPN.. 

În această etapă, vom folosi următorii parametri:

  • Name service1
  • Router выберем из списка роутер облачного проекта R1
  • Subnet 10.0.2.0/24

 



Pas - 5A. Vom configura grupurile de puncte finale (Endpoint Groups) pentru R1. În această etapă, vom folosi următorii parametri:

  • Endpoint group name Type Value
  • local1_epg SUBNET 10.0.2.0/24
  • remote1_epg CIDR 10.0.1.0/24


 




Pas - 6A. Vom configura conexiunea IPsec între site-uri. În această etapă, vom folosi următorii parametri:

  • Name ipsecsiteconn1
  • VPN service associated with this connection service1
  • Endpoint group for local subnet(s) local1_epg
  • IKE policy associated with this connection ikepolicy
  • IPsec policy associated with this connection ipsecpolicy
  • Peer gateway public IPv4/IPv6 Address or FQDN 94.103.11.89 (Public R2)
  • Peer router identity for authentication (Peer ID) 94.103.11.89 (Public R2)
  • Endpoint group for remote peer CIDR remote1_epg
  • Remote peer subnet 10.0.1.0/24 (Local R2)
  • Pre-Shared Key (PSK) string secret
  • MTU 1500




După toate manipulările efectuate, vedem că „Conexiunea IPsec între site-uri” a fost creată cu succes și are statusul „Down”. Când tunelul va fi configurat pe cealaltă parte și se va ridica cu succes, statusul se va schimba în „Activ”..

Vom efectua aceleași setări pe partea celei de-a doua subrețele - Configurația Site-ului „B” (R2).

Pas - 4B. Vom configura serviciul VPN.. În această etapă, vom folosi următorii parametri:

  • Name service2
  • Router выберем из списка роутер облачного проекта R2
  • Subnet 10.0.1.0/24

Pas - 5B. Vom configura grupurile de puncte finale (Endpoint Groups) pentru R2.. În această etapă, vom folosi următorii parametri:

  • Endpoint group name Type Value
  • local2_epg SUBNET 10.0.1.0/24
  • remote2_epg CIDR 10.0.2.0/24


Pas - 6B.Vom configura conexiunea IPsec între site-uri. În această etapă, vom folosi următorii parametri:

  • Name ipsecsiteconn2
  • VPN service associated with this connection service2
  • Endpoint group for local subnet(s) local2_epg
  • IKE policy associated with this connection ikepolicy
  • IPsec policy associated with this connection ipsecpolicy
  • Peer gateway public IPv4/IPv6 Address or FQDN 94.103.11.88 (Public R1)
  • Peer router identity for authentication (Peer ID) 94.103.11.88 (Public R1)
  • Endpoint group for remote peer CIDR remote2_epg
  • Remote peer subnet 10.0.2.0/24 (Local R1)
  • Pre-Shared Key (PSK) string secret
  • MTU 1500

După toate manipulările efectuate, vedem că „Conexiunea IPsec între site-uri” s-a schimbat în „Activ”.


 

Configurarea tunelului VPN este finalizată. Acum informațiile dintre cele două instanțe vor fi transmise în mod securizat..


Cum să configurați un tunel între VPNaaS și un MikroTik local

Pentru testare, vom avea nevoie de:

- Un MikroTik cu rețea publică și privată.

- Client-server în rețeaua privată a MikroTik-ului.

- Router OpenStack cu interfață privată.


Vom configura politicile necesare similar cu exemplul anterior.

Pas - 1. Vom configura politica IKE (IKE Policy). În această etapă, vom folosi următorii parametri:

  • Name ikepolicy
  • Authorization algorithm sha1
  • Encryption algorithm aes-128
  • IKE version v1
  • Lifetime value for IKE keys 86400
  • Perfect Forward Secrecy group5
  • IKE Phase1 negotiation mode main

Pas - 2. Vom configura politica IPsec (IPsec Policy). În această etapă, vom folosi următorii parametri:

  • Name ipsecpolicy
  • Authorization algorithm sha1
  • Encapsulation mode tunnel
  • Encryption algorithm aes-128
  • Lifetime value for IKE keys 3600
  • Perfect Forward Secrecy group5
  • Transform Protocol esp

Vom configura parametrii conexiunii securizate pentru subrețeaua OpenStack - Configurația Site-ului „A” (VPNaaS).

Pas - 3A. Vom configura serviciul VPN.. În această etapă, vom folosi următorii parametri:

  • Name VPNservice
  • Vom selecta routerul din lista de routere ale proiectului cloud.

Pas - 4A. Vom configura grupurile de puncte finale (Endpoint Groups). În această etapă, vom folosi următorii parametri:

  • Endpoint group name Type Value
  • local_epg SUBNET 10.0.2.0/24
  • remote_epg CIDR 192.168.0.0/24

Pas - 5A.Vom configura conexiunea IPsec între site-uri.. În această etapă, vom folosi următorii parametri:

  • Name ipsecsiteconn
  • VPN service associated with this connection VPNservice
  • Endpoint group for local subnet(s) local_epg
  • IKE policy associated with this connection ikepolicy
  • IPsec policy associated with this connection ipsecpolicy
  • Peer gateway public IPv4/IPv6 Address or FQDN 156.67.53.178 (Public Mikrotik)
  • Peer router identity for authentication (Peer ID) 156.67.53.178 (Public Mikrotik)
  • Endpoint group for remote peer CIDR remote_epg
  • Remote peer subnet 192.168.0.0/24 (Local Mikrotik)
  • Pre-Shared Key (PSK) string secret
  • MTU 1500

După toate manipulările efectuate, vedem că „Conexiunea IPsec între site-uri” a fost creată cu succes și are statusul „Down”. Când tunelul va fi configurat pe cealaltă parte și se va ridica cu succes, statusul se va schimba în „Activ”.

Vom configura parametrii conexiunii securizate pentru MikroTik - Configurația Site-ului „B”.

Pas - 1B. Vom crea un profil pentru „Faza 1”.

Pentru a crea prin interfața web grafică, accesați meniul „IP:IPsec” și în fila „Profiles” faceți clic pe „Add New”.

Vom folosi următorii parametri:

  • Name VPNaaS
  • Hash Algorithms sha1 должно совпадать со значением установленным в сервисе VPNaaS
  • Encryption Algorithm aes-128 должно совпадать со значением установленным в сервисе VPNaaS
  • DH Group modp1536 должно совпадать со значением установленным в сервисе VPNaaS
  • Lifetime 1d должно совпадать со значением установленным в сервисе VPNaaS

Pentru a crea prin CLI, executați comanda:

/ip ipsec profile
add enc-algorithm=aes-128 hash-algorithm=sha1 dh-group=modp1536 lifetime=1d name=VPNaaS


Pas - 2B. Vom crea o înregistrare „proposal” pentru „Faza 2”.

Pentru a crea prin interfața web grafică, accesați meniul „IP:IPsec” și în fila „Proposals” faceți clic pe „Add New”.

Vom folosi următorii parametri:

  • Name VPNaaS
  • Auth. Algorithms sha1 должно совпадать со значением установленным в сервисе VPNaaS
  • Encr. Algorithms aes-128 cbc должно совпадать со значением установленным в сервисе VPNaaS
  • Lifetime 01:00:00 должно совпадать со значением установленным в сервисе VPNaaS
  • PFS Group modp1536 должно совпадать со значением установленным в сервисе VPNaaS

Pentru a crea prin CLI, executați comanda::

/ip ipsec proposal
add enc-algorithms=aes-128-cbc auth-algorithms=sha1 pfs-group=modp1536 lifetime=1h name=VPNaaS


Pas - 3B. Vom descrie parametrii peer-ului remote.

Pentru a crea prin interfața web grafică, accesați meniul „IP:IPsec” și în fila „Peers” faceți clic pe „Add New”.

Vom folosi următorii parametri:

  • Name VPNaaS
  • Address 94.103.11.88/32 IP сервиса VPNaaS (Openstack R1)
  • Profile VPNaaS созданный ранее профиль
  • Exchange Mode main должно совпадать со значением установленным в сервисе VPNaaS

Pentru a crea prin CLI, executați comanda:

/ip ipsec peer
add address=94.103.11.88/32 exchange-mode=main profile=VPNaaS name=VPNaaS

Pas - 4B. Vom specifica mecanismul de identificare.

Pentru a crea prin interfața web grafică, accesați meniul „IP:IPsec” și în fila „Identities” faceți clic pe „Add New”.

Vom folosi următorii parametri:

  • Peer VPNaaS созданный ранее peer
  • Auth. Method pre shared key
  • Secret secret должно совпадать со значением установленным в сервисе VPNaaS

Pentru a crea prin CLI, executați comanda::

/ip ipsec identity
add auth-method=pre-shared-key peer=VPNaaS secret=secret

Pas - 5B. Vom crea o regulă ipsec care să permită traficul din rețeaua privată locală către rețeaua locală remote prin tunel.

Vom crea o regulă ipsec care să permită traficul din rețeaua privată locală către rețeaua locală remote prin tunel..

Vom folosi următorii parametri:

  • Peer VPNaaS созданный ранее peer
  • Tunnel checked включим режим туннелирования
  • Src. Address 192.168.0.0/24 локальная сеть со стороны MikroTik
  • Dst. Address 10.0.2.0/24 локальная сеть со стороны сервиса VPNaaS
  • Action encrypt
  • IPsec Protocols esp должно совпадать со значением установленным в сервисе VPNaaS
  • Proposal VPNaaS созданный ранее proposal

Pentru a crea prin CLI, executați comanda:

/ip firewall nat
add chain=srcnat action=accept place-before=0 src-address=192.168.0.0/24 dst-address=10.0.2.0/24

Conexiunea securizată a fost creată.

Verificăm statusul tunelului în MikroTik:

Pentru a vizualiza prin interfața web grafică, accesați meniul „IP:IPsec”.

în fila „Installed SAs” ar trebui să vedeți două rânduri cu caracteristicile conexiunii dintre peer-uri

în fila „Policies”, punctul „PH2 State” ar trebui să aibă valoarea established

Pentru a vizualiza prin CLI, executați comenzile:

/ip ipsec 
installed-sa print

(ar trebui să vedeți două rânduri cu caracteristicile conexiunii dintre peer-uri)

active-peers print

(starea conexiunii STATE ar trebui să aibă valoarea established)

Statusul „Conexiune IPsec între site-uri” în VPNaaS s-a schimbat în „Activ”.


Was this information helpful?
Yes   No
0 
Continuând să utilizați acest site și să utilizați serviciile noastre, sunteți de acord cu Termenii și condițiile site-ului nostru și cu utilizarea cookie-urilor de pe site-ul nostru. Citiți, de asemenea, Politica noastră de confidențialitate, conform căreia, în măsura menționată, sunteți de acord cu prelucrarea datelor dvs. personale.