OpenVPN upute za GNU/Linux/UNIX/Mac

Izvor: IRB WikiDesk
Skoči na: orijentacija, traži

Sadržaj

Instalacija

OpenVPN

  • Prema stranicama OpenVPN autora, podržani su operacijski sustavi: GNU/Linux (kernel 2.2+), OpenBSD 3.0+, FreeBSD, NetBSD, Solaris i Mac OS X Darwin.
  • Potrebno je instalirati OpenVPN paket za korišteni operacijski sustav.
  • Većina GNU/Linux distribucija dolazi sa uključenim OpenVPN paketom i potrebna je samo instalacija pomoću paketnog sustava korištene distribucije.
  • Primjer instalacije kod GNU/Linux Debian, Ubuntu i ostalih Debian baziranih distribucija; u shell se pod root ovlastima upisuje:
apt-get install openvpn
  • Za instalaciju paketa na ostalim GNU/Linux distribucijama i drugim, podržanim operacijskim sustavima, konzultirati dokumentaciju dotičnih OS-ova.
  • Kod distribucija i operacijskih sustava koji ne dolaze sa uključenim OpenVPN paketom, potrebno je skinuti izvorni kod (source) sa OpenVPN službenih stranica i izvršiti instalaciju prema uputama na stranicama autora.

Resolvconf

  • Resolvconf je sustav za automatsko podešavanje informacija o korištenim DNS poslužiteljima.
  • Većina GNU/Linux distribucija dolazi sa uključenim Resolvconf paketom.
  • Da li je Resolvconf sustav instaliran, može se provjeriti sa:
which resolvconf
  • Ako naredba ne vrati ništa, Resolvconf sustav nije instaliran.
  • Ako naredba vrati putanju (path) do resolvconf(1) programa, Resolvconf sustav je instaliran.
  • Ako Resolvconf sustav nije instaliran, prije instalacije se preporuča konzultirati dokumentaciju o Resolvconf sustavu za korišteni OS, zbog mogućih utjecaja na konfiguraciju mreže.
  • Primjer instalacije na Debian GNU/Linux i izvedenim sustavima:
apt-get install resolvconf
  • Konfiguracijske datoteke za IRB OpenVPN podrazumijevaju korištenje Resolvconf paketa, sa putanjnom resolvconf(1) programa /sbin/resolvconf.
  • Ako putanja za resolvconf(1) nije /sbin/resolvconf, potrebno je podesiti irb.hr/update-resolv-conf bash skriptu iz IRB OpenVPN konfiguracijskog paketa.
  • Na sustavima koji nemaju Resolvconf, potrebno je prilagoditi irb.hr/update-resolv-conf bash skriptu za korišteni sustav ili ručno podešavati informacije o DNS poslužiteljima.
  • Neke GNU/Linux distribucije u OpenVPN paket uključuju vlastite update-resolv-conf skripte, u tom slučaju se preporuča korištenje tih skripti. Za to je potrebno podesiti putanju do takve skripte u IRB OpenVPN konfiguracijskim datotekama (zadnje dvije linije u *.conf datotekama).

TUN/TAP mrežno sučelje

  • OpenVPN zahtjeva univerzalno TUN/TAP mrežno sučelje.
  • Većina današnjih sustava dolazi sa TUN/TAP podrškom.
  • Primjer učitavanja TUN/TAP podrške u Linux kernel:
modprobe tun
  • Većina novih sustava automatski učitava TUN/TAP podršku, pa ovaj korak nije potreban.

Konfiguracija

Dohvaćanje konfiguracije

sudo -i (potreban je root pristup)
cd /etc
wget http://ftp.irb.hr/pub/OpenVPN/openvpn.tar
  • Arhiva se otpakira (direktorij će biti /etc/openvpn):
tar -xvf openvpn.tar
  • Skinuta arhiva se može obrisati:
rm openvpn.tar

Utvrđivanje instalirane inačice OpenVPN-a

  • Budući da se konfiguracija za inačice OpenVPN-a starije od verzije 2.2.2 razlikuje od konfiguracije novijih inačica, potrebno je utvrditi instaliranu inačicu:
openvpn --version
  • Primjer ispisa:
  • Za OpenVPN 2.2.2 i veće:
   OpenVPN 2.3.4 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Jun 26 2017 
   library versions: OpenSSL 1.0.1t  3 May 2016, LZO 2.08
   Originally developed by James Yonan
   Copyright (C) 2002-2010 OpenVPN Technologies, Inc. <sales@openvpn.net>


  • Za OpenVPN manje od 2.2.2:
    OpenVPN 2.1_rc11 i486-pc-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] built on Sep 18 2008
    Developed by James Yonan
    Copyright (C) 2002-2008 Telethra, Inc. <sales@openvpn.net>


Konfiguracijske datoteke

  • Paket sadrži četiri konfiguracijske datoteke
    • Konfiguracija za inačice OpenVPN-a 2.2.2 i veće:
      1. vpn1.irb.hr.conf → za slučaj kad sav promet ide kroz VPN
      2. vpn2.irb.hr.conf → za slučaj kad samo promet prema IRB mreži ide kroz VPN
    • Konfiguracija za inačice manje od OpenVPN-a 2.2.2:
      1. vpn1.irb.hr.2.2.2.minus.conf → za slučaj kad sav promet ide kroz VPN
      2. vpn2.irb.hr.2.2.2.minus.conf → za slučaj kad samo promet prema IRB mreži ide kroz VPN

Pokretanje

Izravno

  • OpenVPN se pokreće tako da se openvpn(1) programu predaju argumenti sa putanjom do konfiguracijskog direktorija i nazivom konfiguracijske datoteke. Primjer za OpenVPN inačicu 2.1 i veće za slučaj (1) kad sav promet ide kroz VPN:
openvpn --cd /etc/openvpn --config vpn1.irb.hr.conf
  • Nakon prijave, na ekran se ispisuju poruke o statusu spajanja.
  • Po uspješnom spajanju, zadnja ispisana poruka sadrži:
Initialization Sequence Completed
  • Veza se prekida standardnom kombinacijom tipaka za prekid (Ctrl + C).

Sistemsko

  • Budući se korisnički podaci ne snimaju (mogu se, ali se to ne preporuča), OpenVPN se može pokretati sa sistemskim dodacima samo u interaktivnom načinu, što znači da se ne može postaviti pokretanje OpenVPN-a u pozadini, kod podizanja sustava.
  • Primjer pokretanja na Debian GNU/Linux i izvedednim sustavima (predaje se naziv konfiguracijske datoteke bez .conf dijela):
/etc/init.d/openvpn start vpn1.irb.hr
  • Po prijavi, detaljne poruke o statusu spajanja se logiraju pomoću syslogd(8) sustava, i mogu se vidjeti u pripadajućim log datotekama.
  • Veza se prekida upisivanjem:
/etc/init.d/openvpn stop vpn1.irb.hr

Problemi kod spajanja

Poznati problemi

PPP protokol (modemska veza i slično)

route -n
  • Primjer ispisa kad ne postoji default gateway ruta (na mjestu X.X.X.X je IP adresa):
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
X.X.X.X         0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 ppp0
→ U koloni Flags nijedna ruta ne sadrži UG oznaku za default gateway.
  • Rješenje → dodaje se default gateway rutu prije spajanja na VPN.
  • Primjer za GNU/Linux (X.X.X.X zamijeniti sa IP adresom dobivenom u gornjem ispisu):
route add default gw X.X.X.X
  • Trajno rješenje za Debian GNU/Linux i izvedene distribucije
→ Kopira se skripta iz IRB OpenVPN paketa u direktorij /etc/ppp/ip-up.d/, čime će se automatski dodati default gateway ruta kod uspostavljanja PPP veze:
cp /etc/openvpn/irb.hr/irb-openvpn-ppp /etc/ppp/ip-up.d/

Postupak utvrđivanja mogućih problema

  • Da li radi normalna internet veza (bez pokrenutog OpenVPN-a)?
→ Provjerite u nekom od internet pretraživača (Mozilla, Firefox, ...).
  • Provjeriti izlazne poruke izravno pokrenutog openvpn(1) programa za moguće greške.
  • Da li prolazi ping do default gateway:
ping 10.128.0.1
  • Ako ne prolazi, VPN veza nije uspješno uspostavljena:
→ Provjeriti da su upisani ispravni korisnički podaci.
→ Provjeriti da se koristi ispravna konfiguracijska datoteka za korištenu inačicu OpenVPN-a.
→ Provjeriti da je dobro izvršena instalacija OpenVPN paketa i IRB konfiguracijskih datoteka.
  • Da li radi DNS, i da li promet uspješno prolazi kroz VPN do IRB-a:
ping vpn.cir.irb.hr
  • Ako ne prolazi, provjeriti da su postavljeni ispravni DNS poslužitelji:
→ Datoteka /etc/resolv.conf bi trebala sadržavati slijedeće ispred ostalih nameserver linija:
nameserver 161.53.128.16
nameserver 161.53.129.139
→ Ako ne sadrži, provjeriti da je ispravno instaliran i podešen Resolvconf sustav.
  • Ako se problem ne uspije riješiti ni uz ovu pomoć, izlaze svih gore navedenih naredbi, naredbi izvršenih kod instalacije, sadržaje spominjanih datoteka, zajedno sa izlazom izravno pokrenutog openvpn(1) programa, uz dodatan opis problema, poslati na e-mail adresu Helpdeska.
Osobni alati