Edge Gateway OpenVPN

 

1

OpenVPN võimaldab üksikutel kasutajatel luua enda arvuti ja Cloud võrkude vahele turvalise VPN ühenduse. SSL’iga krüpteeritud ühenduse loomisel saab kasutaja ligipääsu kaitstud võrkudes asuvatele ressurssidele.

VPN ühenduse saab luua kasutades OpenVPN tarkvara. Tarkvara paigaldamine on lihtne, OpenVPN pakub installereid avalikult oma lehel.

Kui soovid luua pideva VPN ühenduse teises geograafilises punktis asuva kohtvõrgu (kontori) ja Cloudi vahel, sobib selleks hästi IPSEC VPN.

Juhendi topoloogia on järgmine:

ovpn-topoloogia.png

 

2

Ava Cloudis ülevalt ribalt "Networking" ning vajuta "New" peale. Vali oma VDC kuhu soovid VPNi luua.

Loo vastavalt oma topoloogiale uus Routed võrk VPNi jaoks. Näiteks sobiks 10.1.0.0/24 võrk, IP pooliga 10.1.0.2-10.1.0.2 ja DNSid 80.79.112.2 & 80.79.112.20.

Täpsemad juhised võrgu loomisel leiad meie VMware Cloud võrgu seadistamise juhendist.

openvpn-routed-net.png

 

3

OpenVPN lahenduse jaoks läheb vaja vähemalt 1GB vRAM, 1 vCPU ja 5GB disk jagu ressurssi (soovitame anda veidi rohkem kettaruumi võimalusel).

Alusta CentOS 8 põhise templiidi virtuaalmasina loomisega, siin sobib nii RockyLinux kui ka AlmaLinux 8. Templiidid leiad ülevalt ribalt "Libraries" alt.

vapp_create.png

 

4

Määra loodud masinale IP eelnevalt loodud võrgust valikuga "Static - IP Pool".

NB! Juhul kui soovite VPNi ühendada isoleeritud võrkudega, tuleb lisada iga isoleeritud võrgu kohta NIC koos IP-ga (max 9 lisavõrku)

 

5

Liigu oma Edge Gateway peale (Ülevalt ribalt: Networking -> Edge Gateways -> firma-gw/firma Firewall)

Vali vasakult menüüst “Application Port Profiles” ning vajuta “New” peale

Pane nimeks “OpenVPN” ja pordiks 1194 UDP.

app_prfoile_new.png

Vali kõrval menüüst "IP Sets" ning vajuta "New" peale.

Loo endale üks IP set OpenVPN masina IP-ga ja nii mitu IP seti kui võrke on ja nimeta vastavalt. Samuti võib luua IP sette üksikute masinate kohta või hulk masinate kohta, kui on soov luua eraldi reegleid nende kohta. Ülaltoodud topoloogia järgi peaks olema järgmised IP setid valmis:

NB! OpenVPNi enda võrku lisama ei pea, piisab ainult OpenVPNi IP-st.

openvpn-ipset.png

Vali kõrval menüüst “Firewall” ning vajuta “Edit Rules” peale.

Lisa endale järgmised ülemist 5 reeglit pildilt:

firewall.png

Kõige ülemised kaks reeglit määravad VPN võrgu ressursside ligipääsu, esimene reegel lubab VPN-ilt HTTP/HTTPS 192.168.10.0/24 ja 192.168.20.0/24 võrkudele.
Teine reegel lubab SSH VPN-ilt 10.0.0.0/24 võrku. Võid antud reegleid kohandada vastavalt oma vajadustele, aga kindlasti piira vastavalt reaalsele vajadusele.
Kolmas reegel on mõeldud masina paigalduseks ja hoolduseks. Lubatud teenusteks on HTTP, HTTPS, DNS, DNS-UDP ja NTP.
NB! See reegel lubab igasse võrku antud protokollidega pöörduda. Juhul kui on soov isoleerida üht või teist protokolli, tuleb teha eraldi Drop reegel kus source OpenVPN ja destinationiks keelatud võrk.

Hoolduse jaoks soovitame veel siia vahele ühe reegli lisada (kolmanda reegli alla), mis lubab ainult teatud IP-delt SSH-ga sisse. Selleks loo IP set "mgmt-ips" ning lisa oma kontori avalik(ud) IP(d) ja loo järgnev reegel: "OpenVPN-SSH, Applications: SSH, Source: mgmt-ips, Destination: OpenVPN, Action: Allow".

Neljas reegel lubab OpenVPNi liiklust 1194/UDP kaudu VPNi masinasse.
Viies reegel keelab OpenVPN masinal kasutada muid ressursse kui reaalselt vaja.
NB! Jälgi, et source oleks KINDLASTI OpenVPN!

Vali kõrval menüüst “NAT” ning vajuta “New” peale.

nat.png

Määra NAT tüübiks “DNAT”, internal IP-ks OpenVPN masina IP ning external IP-ks endale sobiva vaba Edge Gateway IP. Pordiks määra 1194 UDP, applicationiks vali varasemalt loodud OpenVPN. Lisa veel SSH jaoks samasugune reegel, pordiks 22 TCP, application "SSH".

Samuti loo interneti pääsemiseks SNAT reegel.

 

6

Logi sisse oma VPN masinasse SSH kaudu. Parooli leiate masina detailide alt: “Guest OS customization” -> Edit

Jooksuta järgmised käsud:

systemctl stop firewalld
systemctl disable firewalld
curl -O https://files.wavecom.ee/scripts/openvpn-install.sh
chmod +x openvpn-install.sh
DNS=1 ./openvpn-install.sh

openvpn-install.png

Järgi konsoolil olevaid juhendeid, enamus valikuid võib jätta default peale, soovi korral võib neid muuta.

 

7

Üleval toodud topoloogia järgi VPN ei ole mõeldud Interneti pääsemiseks, seega tuleb seadistada OpenVPN split-tunnelina.

Ava OpenVPN serveri konfiguratsioonifail.

nano /etc/openvpn/server.conf

vpn-config.png

Kommenteeri faili üleval pool olevad "push" käsud välja. DNS read kommenteeri välja ainult siis, kui sa ei kasuta eraldi võrgusisest DNSi (näiteks Active Directory oma). Selleks mine rea ette ja lisa "#" sümbol.
Faili lõppu lisa read:

push "route no-pull"
push "route VPN-LOCAL-IP 255.255.255.255"
push "route 10.0.0.0 255.255.255.0"
push "route 192.168.10.0 255.255.255.0"
push "route 192.168.20.0 255.255.255.0"

NB! Viimased kolm rida on loodud vastavalt üleval olevale topoloogiale, lisa faili lõppu ruutingud vastavalt oma topoloogiale. Asenda VPN-LOCAL-IP/10.1.0.2 OpenVPN masina kohtvõrgu IP-ga.

Kasuta klahvikombinatsiooni ctrl+s ja ctrl+x peale muudatuste tegemist. Alternatiiv on laadida fail alla kasutades tarkvara nagu WinSCP ning kohalikus masinas sobiva tekstiredaktoriga (näiteks Notepad++) muuta ning fail tagasi üles laadida.

Kui kommenteerisid serveri seadistusfailis DNSi välja, tuleb lisaks muuta /etc/openvpn/client-template.txt ja paigaldusskripti poolt loodud .ovpn faili ning eemalda järgmised read:

ignore-unknown-option block-outside-dns
setenv opt block-outside-dns # Prevent Windows 10 DNS leak

Peale toiminguid käivita käsk:

systemctl restart openvpn-server@server.service

 

 

8

OpenVPN tarkvara peaks nüüd töötama kui tulemüüri ja NAT reeglid on korrektselt loodud. Järgmisena tuleks masinal perioodilisi värskendusi teha ja Edge Gateway tulemüüris hallata - kui varasemalt jäi SSH lahti tervele maailmale, tuleks see kiiremas korras turvata usaldatud IP-dele.
Uute võrkude tekkimisel tuleb korrata 7. sammu.

Kasutajaid saad luua sama installeri skriptiga:

./openvpn-install.sh

openvpn-clientadd.png

Seejärel saad jagada tekkinud .ovpn faili kasutajale. Faili saad alla laadida WinSCP, FileZilla või muu tarkvaraga.