OpenVPN täppisseadistamine valikulisele marsruutimisele GitHub Linkedin Coderwall Stack Overflow Google+

VPN on kasulik olles ühendatud kahtlases võrgus, näiteks parooliga kaitsmata wifis kesklinna kohvikus. Samas saaks läbi VPN-i ka näiteks Hulut või Netflixi kasutada. On ka olukordi, kus võrgus piiratakse väljuvat liiklust. Näiteks oled sattunud võrku, kus praktiliselt kõik peale veebiportide (80 ja 443) on kinni keeratud.

##Suunamine

Sellisel juhul aitab OpenVPN seadistamine ebastandartsetele portidele. Vaikimis suunatakse kogu liiklus läbi VPN-serveri, mis on ebaturvalises võrgus loomulikult eelistatud lahendus. Ainult seriaalide vaatamiseks võib kogu liikluse ümbersuunamine ja krüpteerimine olla ebavajalik aja raiskamine ning VPN-profiili pidev sisse-välja lülitamine tüütu. Võib ka juhtuda, et liiklus läbi VPNi on piiratud mahu poolest (näiteks 1 TB kuus) ja muu suuremamahulise liikluse sealkaudu suunamine võib limiidi kiiresti lõhki lüüa.

##Portide suunamine

Mõnikord on vaja ainult üksikuid porte suunata. Näiteks ei õnnestunud mul teatud võrgus Ubuntu keyserverist võtmete laadimine. Hiljem selgus, et apt-key-d saab ka veebipordilt kasutada, kuid OpenVPNi kasutamine ja pikemaajaliselt üksiku marsruudi määramine OpenVPNi konfiguratsiooni aitas ka.

On ka juhtunud, et võrgust väljuval liiklusel on SSH port (22/tcp) kinni keeratud. Näiteks GIT töötab vaikimisi üle SSH. GitHubi puhul on ka sellele workaround - HTTPS kasutamine, kuid see kasutjaanime ja parooli sisestamine on tüütu.

Probleem on aga selles, et OpenVPNiga tegelikult porte suunata ei saa, kuna ta marsruudib ainult ISO/OSI mudeli teisel ja kolmandal kihil aga pordid on realiseeritud neljandal. Teoreetiliselt peaks saama ka iptables häkkimisega selle kuidagi tehtud, kuid see oleks tuleviku muusika.

Hetkeline lahendus on see, et suuname hosti (ehk siis IP-aadressi, aadresside vahemiku või lihtsalt domeeninime) kogu liikluse läbi VPN-serveri.

##Märkus striimimise kohta

Olgu siinkohal ära öeldud, et näiteks DigitalOceanis enda loodud VPN-server populaarseid striimimisportaale ära ei peta, selleks tasub kasutada spetsiaalseid VPN-teenuseid nagu pakub näiteks blackVPN või proxysid nagu näiteks Media Hint. NB! Tasuta proxyid võivad olla pahatahtlikud või kui ei ole, võivad iga hetk selliseks muutuda.

##Seadistamine

Sai palju eeljuttu, näitame nüüd ära, kuidas asjad tegelikult käivad. Võtame lahti kliendi konfiguratsioonifaili. Soovitatav oleks esialgsest koopia teha juhuks kui oleks mõnikord siiski kogu liiklus ümber suunata vaja. Failis peaks üldiselt leiduma analoogne rida:

redirect-gateway def1

Tema vastutada ongi see, et kogu liiklus ümber suunataks. Seda saab muide kontrollida käsklusega route. Osaliseks suunamiseks tuleb see rida ära kustutada või välja kommenteerida. Välja kommenteerimiseks tuleb rea ette lisada märk #.

Marsruutide lisamine IP-aadresside järgi on selline:

route 192.30.252.0 255.255.252.0 vpn_gateway #GitHub

Tegu on GitHubile eraldatud aadressiruumiga. Läheb vaja kui kohalikust võrgust väljuval liiklusel on SSH port kinni keeratud. Seletame lahti ka:

Nende võrgu aadresside ja maskide määramiseks võib lähtuda sellest nslookupi ja whoisi kasutamise õpetusest, kuid saab ka lihtsamalt!

Kui faili lisada järgnev rida:

allow-pull-fqdn

See teeb elu lihtsamaks ja laseb DNS-kirjete järgi ruutimist ellu viia:

route keyserver.ubuntu.com 255.255.255.255 vpn_gateway
route hulu.com 255.255.255.255 vpn_gateway

Maagiline!

Täägid: vpn  turvalisus 
« Käsurida aliastega mugavamaks zRam kernelimoodul ehk swappimine mälus »
comments powered by Disqus