OpenVPN – Deo II

U prethodnom članku je opisan postupak pripreme za instalaciju i same instalacije OpenVPN Access Servera. Takođe, opisano je i kako može da se, preko statusa, proveri uspešnost postupka instalacije. U nastavku ovog članka su detaljnije opisani koraci pri konfiguraciji OpenVPN-a i proces uspostavljanja konekcije sa Access Serverom preko Linux, Windows i Android sistema.

Konfiguracija OpenVPN Access Servera

Configuration

U sekciji Configuration nalazi se:

  • License
  • SSL Settings
  • Server Network Settings
  • VPN Mode
  • VPN Settings
  • Advanced VPN
  • Web Server
  • Client Settings
  • Failover

Na strani License mogu se videti aktivirane licence za Access Server i može se dodati nova licenca unošenjem ključa koga čini niz od 20 slova i brojeva. Ključ se dobija kupovinom licence preko naloga na sajtu www.openvpn.net. Cena se određuje na osnovu izabranog broja korisnika koji istovremeno mogu da pristupe serveru i vremenskog perioda važenja. Ako postoji više aktivnih licenci onda je broj korisnika koji mogu da pristupe serveru jednak sumi korisnika po licenci, dok bez licence postoji ograničenje da serveru mogu da pristupe najviše dva korisnika istovremeno.

Licence Manager

Na strani SSL Settings nalaze se podešavanja vezana za SSL protokol. SSL ili Secure Sockets Layer je sigurnosni protokol koji se koristi za uspostavljanje enkriptovane veze između klijenta i servera. Na strani Server Network Settings mogu se izvršiti podešavanja VPN Servera, Admin Web Servera i Client Web Servera.

VPN Server

Promene prilikom podešavanja VPN Servera direktno utiču na sadržaj konfiguracionog fajla koga VPN klijenti koriste uspostavljanje konekcije, pa je zbog toga potrebno da posle izvršenih promena klijenti ponovo preuzmu konfiguracioni fajl.

Server Network Settings

U polju Hostname or IP Address treba uneti javnu adresu preko koje će klijenti moći da pristupe serveru putem interneta. U ovo polje unet je hostname registrovan na no-ip.com o čemu je bilo reči u prethodnom članku.

U delu Protocol specificira se korišćenje TCP ili UDP protokola prilikom klijent-server komunikacije a moguće je izabrati i opciju Both(Multi-daemon mode) što omogućava korišćenje oba protokola. U tom slučaju TCP se koristi za pristup preko web korisničkog interfejsa, a UDP za VPN konekciju. Zatim je potrebno da se za prethodno izabrani protokol odredi port. Ako je izabrano korišćenje oba protokola onda treba izabrati portove za TCP I UDP posebno. Podrazumevani portovi su 443 za TCP I 1194 za UDP.

Za izabrane portove potrebno je podesiti Port Range Forwarding na samom ruteru kao što je prikazano na sledećoj slici:

Port Range Forwarding

Admin Web UI i Client Web Server

Ovde se može izabrati IP adresa i port za pristup administratorskom web interfejsu i klijentskom web serveru. Moguće je podesiti da oba servera koriste istu IP adresu i port pri čemu klijenti pristupaju preko osnovnog url-a (https://192.168.0.10:943), dok je za administratora portebno dodati /admin (https://192.168.0.10:943/admin)

Strana Server Network Settings

Na strani VPN Mode Settings moguće je izabrati da li će se za VPN koristiti Layer 2 (ethernet bridging) ili Layer 3 (routing/NAT) prema OSI modelu.

VPN Mode Settings

Strana VPN Settings sastoji se iz tri dela: VPN IP Network, Routing i DNS Settings.

VPN IP Network

Kada se klijent uspešno konektuje na Access Server, dodeljuje mu se jedinstvena IP adresa na VPN mreži. Ako je na strani User Permissions podešena statička IP adresa za odgovarajućeg korisnika ta adresa mora biti u rasponu definisanom u delu Static IP Address Network, u suprotnom dodeljuje mu se adresa uz raspona definisanog u Dynamic IP Address Network. Oba raspona definišu se preko adrese mreže i broja bitova maske. Broj bitova maske određuje maksimalni broj klijenata koji mogu da budu na mreži u isto vreme. Na primer maska od 24 bita dozvoljava maksimalno 254 korisnika.

VPN IP Network

Routing

U ovom delu moguće je izabrati da li će VPN klijenti imati pristup privatnim podmrežama. Ako je pristup omogućen onda treba navesti podmreže kojima je moguće pristupiti. Takođe je moguće odrediti da li će internet saobraćaj ići preko VPN mreže.

Routing

DNS settings

Kada se klijent konektuje na VPN mrežu njegova DNS podešavanja bi trebalo da budu izmenjena u slučaju da je podešeno da internet saobraćaj ide preko VPN mreže.

DNS Settings

Strana Advanced VPN

U delu Inter-Client Communication može se dozvoliti ili zabraniti međusobna komunikacija između klijenata.

U delu Multiple Sessions per User može se dozvoliti korisniku da istovremeno uspostavi više VPN konekcija.

U delu Connection Security Refresh navodi se vremenski interval posle koga se osvežava konekcija pri čemu se ponovo vrši autentifikacija korisnika.

Na strani Web server može se postaviti novi SSL sertifikat koji se dobija izvršavanjem sledećih komandi:

$ sudo apt-get install openssl
$ openssl genrsa –aes256 –out server.key 2048 

pri čemu je potrebno uneti i potvrditi lozinku

$ openssl req –new –key server.key –out server.csr 

pri čemu je portebno uneti perthodno kreiranu lozinku a zatim ime zemlje, ime pokrajine, ime grada, ime organizacije, ime organizacione jedinice, url adresa I email.

$ cp server.key server.key.org 
$ openssl rsa -in server.key.org -out server.key
$ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt  

Na ovaj način dobijen je sertifikat sa rokom važenja od godinu dana. Za dodavanje sertifikata potrebno je da se na strani Web Server za CA Bundle i Certificate izabere fajl server.crt a za Private Key treba dodati fajl server.key. Validacija sertifikata vrši se klikom na dugme Validate, posle čega će rezultati validacije i podaci o sertifikatu biti prikazani u Validation Results a posle uspešne validacije potrebno je sačuvati sertifikat klikom na dugme Save.

Rezultat validacije sertifikata

User Management

U sekciji User Management nalazi se:

  • User Permissions
  • Group Permissions
  • Revoke Certificates

Na strani User Permissions nalazi se pregled korisnika. Svakom korisniku moguće je dodeliti grupu, statičku IP adresu, administratorsku ulogu, omogućiti mu automatsko logovanje bez unošenja lozinke, zabraniti pristup ili ga obrisati. Pošto je podešena PAM autentifikacija novi korisnik se dodaje izvršavanjem sledeće komande u terminalu:

$ sudo adduser test1

a promena lozinke pomoću komande passwd. Da bi mogli da izmenimo prava novog korisnika na strani User Permissions moramo prvo da ga dodamo u tabelu pod istim korisničkim imenom.

Strana User Permissions

Na strani Group Permissions je moguće napraviti novu grupu, a većinu podešavanja vezanih za korisnike je moguće izvršiti i na nivou grupe, a grupu je zatim moguće dodeliti željenim korisnicima.

Strana Group Permissions

Na strani Revoke Certificates prikazana je lista sertifikata izdatih klijentima. Svaki od prikazanih sertifikata je moguće ukinuti, posle čega klijent neće moći pa uspostavi vezu sa VPN serverom uz pomoć starog konfiguracionog fajla, već će morati da preko Connect Client-a preuzme novi fajl.

Strana Revoke Certificates

Authentication

U sekciji Authentication nalazi se

  • General
  • PAM
  • RADIUS
  • LDAP

Na strani General vrši se izbor jednog od četiri načina na koji će se vršiti autentifikacija korisnika. Ako se izabere Local onda će se podaci o korisnicima čuvati na samom serveru i lozinke će moći da se dodeljuju na strani User Permissions. Pored toga moguće je izabrati da se autentifikacija vrši pomoću posebnih sistema kao što su PAM (Pluggable Authentication Module), RADIUS (Remote Authentication Dial In User Service) ili LDAP (Lightweight Directory Access Protocol). Ako se izabere PAM, za autentifikaciju se koriste korisnički nalozi napravljeni na Linux hostu na kome se nalazi Access Server a novi korisnici dodaju se direktno iz komandne linije pomoću komande adduser. Za PAM nije potrebno vršiti nikakva dodatna podešavanja na samom Access Serveru, dok je za RADIUS ili LDAP potrebno izvršiti konfiguraciju na odgovarajućim stranama kako bi bilo moguće uspostaviti vezu sa RADIUS odnosno LDAP serverima.

Strana General

Tools

U sekciji Tools nalazi se:

  • Profiles
  • Connectivity Test
  • Documentation
  • Support

Na strani Profiles vrši se upravljanje profilima. Moguće je izabrati profil koji će biti aktivan na serveru, izabrati profil čije parametre želimo da menjamo, napraviti novi profil i izbrisati profil ukoliko nije izabran kao aktivan.

Strana Profiles

Na strani Connectivity Test moguće je testirati dostupnost servera preko Interneta za TCP i UDP protokole što je korisno proveriti posle izvršenih izmena konfiguracije servera.

Strana Connectivity Test

U sekciji Tools nalaze se i linkovi Documentation i Support koji vode do odgovarajućih strana na sajtu openvpn.net.

Uspostavljanje konekcije sa Access Serverom

Linux

Za konektovanje na VPN mrežu preko neke od distribucija Linux operativnog sistema potrebno je prvo instalirati OpenVpn client :

$ yum install openvpn

za Fedora/CentOS/RdHat ili

$ apt-get install openvpn

za Ubuntu/Debian.

Zatim klijent mora da se uloguje na Connect Client preko web pretraživača i preuzme konfiguracioni fajl pod nazivom client.ovpn .

Klijent - Login

Preuzimanje konfiguracionog fajla

Uspostavljanje VPN konekcije obavlja se uz pomoć prethodno preuzetog fajla client.ovpn, izvršavanjem sledeće komande u terminalu:

$ sudo openvpn --config client.ovpn

pri čemu je potrebno uneti korisničko ime i lozinku.

Windows 7

Za konektovanje na VPN mrežu preko Windows 7 operativnog sistema klijent mora da se uloguje na Connect Client preko web pretraživača, a zatim preuzme i instalira OpenVPN Connect aplikaciju.

Preuzimanje OpenVPN Connect aplikacije

Zatim je portebno pokrenuti OpenVPN Connect i uneti korisničko ime i lozinku i pritisnuti dugme Connect posle čega će biti uspostavljena veza kao što je prikazano na sledećim slikama:

OpenVPN Connect

Uspešna konekcija

Za prekid konekcije kliknuti desnim tasterom miša na ikonicu OpenVPN Connect aplikacije u taskbaru i izabrati opciju Disconnect.

Prekid konekcije

Android

Za konektovanje na VPN mrežu preko tableta ili mobilnog telefona sa Android operativnim sistemom potrebno je instalirati odgovarajuću verziju OpenVPN Connect aplikacije koja se može besplatno preuzeti na Google Play Store.

Prilikom prvog pokretanja OpenVPC Connect aplikacije biće prikazano obaveštenje da je potrebno importovati .ovpn profil.

Profil je moguće importovati izborom client.ovpn fajla preuzetog sa Connect Client-a ili ručnim unošenjem podataka.

Posle uspešnog importovanja profila moguće je konektovati se na VPN mrežu unošenjem lozinke I klikom na Connect.