Libri "Linux në Veprim"

Libri "Linux nĂ« Veprim" PĂ«rshĂ«ndetje, Habraists! NĂ« kĂ«tĂ« libĂ«r, David Clinton pĂ«rshkruan 12 projekte reale, duke pĂ«rfshirĂ« automatizimin e sistemit tĂ« backup-it dhe rikuperimit, konfigurimin e njĂ« sistemi personal tĂ« skedarĂ«ve nĂ« stilin Dropbox dhe krijimin e njĂ« serveri MediaWiki. Duke pĂ«rdorur shembuj interesantĂ«, do tĂ« studioni virtualizimin, rikuperimin nga fatkeqĂ«sitĂ«, sigurimin, backup-in, implementimin e DevOps-it dhe zgjidhjen e problemeve tĂ« sistemit. Çdo kapitull pĂ«rfundon me njĂ« pĂ«rmbledhje tĂ« rekomandimeve praktike, njĂ« fjalor tĂ« terma tĂ« rinj dhe ushtrime.

Fragmenti "10.1. Krijimi i një tunneli OpenVPN"

NĂ« kĂ«tĂ« libĂ«r jam folur shumĂ« pĂ«r shifrimin. SSH dhe SCP mund tĂ« mbrojnĂ« tĂ« dhĂ«nat qĂ« dĂ«rgohen pĂ«rmes lidhjeve tĂ« largĂ«ta (kapitulli 3), shifrimi i skedarĂ«ve lejon mbrojtjen e tĂ« dhĂ«nave gjatĂ« ruajtjes nĂ« server (kapitulli 8), dhe certifikatat TLS/SSL mund tĂ« mbrojnĂ« tĂ« dhĂ«nat gjatĂ« transferit midis faqeve tĂ« internetit dhe shfletuesve tĂ« klientĂ«ve (kapitulli 9). Por ndonjĂ«herĂ« tĂ« dhĂ«nat e tua kĂ«rkojnĂ« mbrojtje nĂ« njĂ« gamĂ« mĂ« tĂ« gjerĂ« lidhjesh. PĂ«r shembull, ndoshta disa anĂ«tarĂ« tĂ« ekipit tuaj duhet tĂ« punojnĂ« nĂ« rrugĂ«, duke u lidhur me rrjetin pĂ«rmes Wi-Fi nĂ« pika tĂ« hapura publike. Definitivisht nuk Ă«shtĂ« e mençur tĂ« supozosh se tĂ« gjitha kĂ«to pika tĂ« qasjeve janĂ« tĂ« sigurta, por njerĂ«zit tuaj kanĂ« nevojĂ« pĂ«r njĂ« mĂ«nyrĂ« pĂ«r t'u lidhur me burimet e kompanisĂ« — dhe nĂ« kĂ«tĂ« rast, njĂ« VPN do tĂ« ndihmojĂ«.

Një tunneli VPN i dizajnuar siç duhet siguron një lidhje të drejtpërdrejtë midis klientëve të largët dhe serverit në një mënyrë që fsheh të dhënat gjatë transferit përmes një rrjeti të pasigurt. Po dhe çfarë? Ju tashmë keni parë shumë mjete që mund ta bëjnë këtë përmes shifrimit. Vlera e vërtetë e një VPN është se, kur hapni një tunel, mund të lidhni rrjetet e largëta siç ishin të gjitha lokale. Në një farë kuptimi, po përdorni një anashkalim.

Duke përdorur një rrjet të tillë të zgjeruar, administratorët mund të kryejnë punën e tyre në serverat e tyre nga çdo vend. Por, më e rëndësishmja, një kompani me burimet e shpërndara në disa filialë mund t'i bëjë ato të gjitha të dukshme dhe të aksesueshme për të gjitha grupet që kanë nevojë për to, kudo që ndodhen (fig. 10.1).

Tunneli vetë nuk garanton sigurinë. Por një nga standardet e enkriptimit mund të përfshihet në strukturën e rrjetit, duke rritur ndjeshëm nivelin e sigurisë. Tunneli të krijuar duke përdorur paketën OpenVPN me burim të hapur përdorin të njëjtin enkriptim TLS/SSL për të cilin keni lexuar tashmë. OpenVPN nuk është opsioni i vetëm i disponueshëm për tunelimin, por është një nga më të njohurit. Shtë e konsideruar se është pak më e shpejtë dhe më e sigurt se protokolli alternativ i tunelit të nivelit 2 që përdor enkriptimin IPsec.

A dëshironi që në ekipin tuaj të sigurohet komunikimi i sigurt mes anëtarëve, kur ata janë në lëvizje ose punojnë në ndërtesa të ndryshme? Për këtë, është e nevojshme të krijoni një server OpenVPN për të lejuar ndarjen e aplikacioneve dhe qasjen në ambientin lokal të rrjetit të serverit. Për ta arritur këtë, mjafton të çoni dyshe makina virtuale ose dy konteinerë: një për të kryer rolin e serverit/hostit dhe tjetrin për klientin. Krijimi i një VPN është një proces i ndërlikuar, prandaj ndoshta ia vlen të kaloni disa minuta për të përfytyruar imazhin e përgjithshëm.

Libri "Linux në Veprim"

10.1.1. Konfigurimi i serverit OpenVPN

Para se të filloni, do t'ju jap një këshillë të dobishme. Nëse po planifikoni të bëni gjithçka vetë (dhe unë e rekomandoj fuqishëm këtë), ndoshta do të zbuloni se po punoni me disa dritarja terminali të hapura në Desktop, secila prej të cilave është e lidhur me makinën e saj. Ka rrezik që në një moment të futni komandën në dritaren e gabuar. Për të shmangur këtë, mund të përdorni komandën hostname për të ndryshuar emrin e makinës që shfaqet në komandën e linjës në diçka që do t'ju thotë qartë se ku ndodheni. Sa herë ta bëni këtë, do t'ju duhet të dilni nga serveri dhe të hyni përsëri për të aktivizuar cilësimet e reja. Kështu duket:

Libri "Linux në Veprim"
Duke ndjekur këtë qasje dhe duke u dhënë emra përkatës çdo makine me të cilën punoni, do të jeni në gjendje të ndihmoni veten në gjurmimin se ku ndodheni.

Pas përdorimit të hostname, mund të hasni mesazhe nervozuese Unable to Resolve Host OpenVPN-Server gjatë ekzekutimit të komandave të tjera. Përditësimi i skedarit /etc/hosts me emrin e ri përkatës të hostit duhet të zgjidhë problemin.

Përgatitja e serverit tuaj për OpenVPN

Për të instaluar OpenVPN në serverin tuaj, nevojiten dy paketa: openvpn dhe easy-rsa (për menaxhimin e procesit të gjenerimit të çelësit të enkriptimit). Përdoruesit e CentOS duhet, nëse është e nevojshme, së pari të instalojnë depozitat epel-release, siç e bëtë në kapitullin 2. Për të pasur mundësinë të kontrolloni aksesin në aplikacionin e serverit, gjithashtu mund të instaloni serverin web Apache (apache2 për Ubuntu dhe httpd për CentOS).

Ndërsa po konfiguroni serverin, ju rekomandoj të aktivizoni firewal-in që bllokon të gjitha portet, përveç 22 (SSH) dhe 1194 (porti i paracaktuar për OpenVPN). Ky shembull ilustron se si do të funksionojë ufw në Ubuntu, por jam i sigurt që ende e mbani mend programin firewalld të CentOS nga kapitulli 9:

# ufw enable
# ufw allow 22
# ufw allow 1194

PĂ«r tĂ« lejuar ĐŒĐ°Ń€ŃˆŃ€ŃƒŃ‚ĐžĐ·Đ°Ń†ĐžŃŽ brenda ndĂ«rmjet interfaces tĂ« rrjetit nĂ« server, duhet tĂ« hiqni komentin nga njĂ« linjĂ« (net.ipv4.ip_forward = 1) nĂ« skedarin /etc/sysctl.conf. Kjo do tĂ« lejojĂ« qĂ« klientĂ«t e largĂ«t tĂ« redirektohen sipas nevojĂ«s pas lidhjes sĂ« tyre. PĂ«r tĂ« bĂ«rĂ« qĂ« parameteri i ri tĂ« funksionojĂ«, ekzekutoni sysctl -p:

# nano /etc/sysctl.conf
# sysctl -p

Tani mjedisi server është plotësisht i konfiguruar, por duhet të bëni diçka tjetër para se të jeni gati: do të duhet të kryeni hapat e mëposhtëm (ne do ti shqyrtojmë ato më në detaje më vonë).

  1. Krijoni në server një grup çelësh për infrastrukturën e çelësit publik (PKI) me ndihmën e skripteve që vijnë me paketën easy-rsa. Në thelb, serveri OpenVPN gjithashtu vepron si qendra e tij e certifikimit (CA).
  2. Përgatitni çelësat për klientin
  3. Konfiguroni skedarin server.conf për serverin
  4. Konfiguroni klientin tuaj OpenVPN
  5. Kontrolloni VPN-në tuaj

Gjenerimi i çelësave të enkriptimit

Për të mos e komplikuar jetën, mund të konfiguroheni infrastrukturën tuaj të çelësave në të njëjtin aparat ku funksionon serveri OpenVPN. Megjithatë, në rekomandimet për siguri zakonisht sugjerohet përdorimi i një serveri të veçantë CA për implementime në mjedise prodhimi. Procesi i gjenerimit dhe shpërndarjes së burimeve të çelësit të enkriptimit për t'u përdorur në OpenVPN tregohet në figurën 10.2.

Libri "Linux në Veprim"
Kur keni instaluar OpenVPN, u krijua automatikisht një katalog /etc/openvpn/, por për momentin nuk ka asgjë atje. Paketat openvpn dhe easy-rsa vijnë me shembuj të skedarëve të shablloneve, të cilat mund t'i përdorni si bazë për konfigurimin tuaj. Për të filluar procesin e certifikimit, kopjoni katalogun e shabllonit easy-rsa nga /usr/share/ në /etc/openvpn dhe kaloni në katalogun easy-rsa/:

# cp -r /usr/share/easy-rsa/ /etc/openvpn
$ cd /etc/openvpn/easy-rsa

Katalogu easy-rsa tani do të përmbajë një numër të konsiderueshëm skenarësh. Në tabelën 10.1 janë listuar mjetet që do të përdorni për të krijuar çelësat.

Libri "Linux në Veprim"

Operacionet e listuara kërkojnë autorizime root, prandaj përmes sudo su duhet të bëheni root.

Skedari i parë me të cilin do të punoni quhet vars dhe përmban variablat e mjedisit që easy-rsa përdor gjatë gjenerimit të çelësave. Duhet ta redaktoni skedarin për të përdorur vlerat tuaja në vend të atyre të paracaktuara që janë tashmë aty. Ja si do të duket skedari im (listimi 10.1).

Listimi 10.1. Fragmentet kryesore të skedarit /etc/openvpn/easy-rsa/vars

export KEY_COUNTRY="CA"
export KEY_PROVINCE="ON"
export KEY_CITY="Toronto"
export KEY_ORG="Bootstrap IT"
export KEY_EMAIL="info@bootstrap-it.com"
export KEY_OU="IT"

Ekzekutimi i skedarit vars do të lejojë kalimin e vlerave të tij në mjedisin e tharjes, nga ku do të përfshihen në përmbajtjen e çelësave tuaj të rinj. Pse komanda sudo vetë nuk funksionon? Sepse në fazën e parë po redaktojmë skenarin e quajtur vars dhe më pas e aplikojmë atë. Aplikimi nënkupton se skedari vars i kalon vlerat e tij në mjedisin e tharjes, nga ku ato do të përfshihen në përmbajtjen e çelësave tuaj të rinj.

Sigurohuni të ekzekutoni skedarin përsëri duke përdorur një mjedis të ri, për të përfunduar procesin e pezulluar. Kur të jetë bërë, skenari do t'ju ofrojë të ekzekutoni një skenar tjetër, clean-all, për të hequr çdo përmbajtje në katalogun /etc/openvpn/easy-rsa/keys/:

Libri "Linux në Veprim"
Natyrisht, hapi tjetër do të jetë ekzekutimi i skenarit clean-all, ndjekur nga build-ca, i cili përdor skenarin pkitool për të krijuar certifikatën rrënjësore. Do t'ju kërkohet të konfirmoni konfigurimet e identifikimit të ofruara nga vars:

# ./clean-all
# ./build-ca
Generating a 2048 bit RSA private key

MĂ« pas vjen skenari build-key-server. Duke qenĂ« se ai pĂ«rdor tĂ« njĂ«jtin skenar pkitool sĂ« bashku me certifikatĂ«n e re rrĂ«njĂ«sore, do tĂ« shihni tĂ« njĂ«jtat pyetje pĂ«r tĂ« konfirmuar krijimin e çiftit tĂ« çelĂ«save. ÇelĂ«sat do tĂ« emĂ«rohen nĂ« pĂ«rputhje me argumentet qĂ« ju kaloni, tĂ« cilat, pĂ«rveç nĂ«se po ekzekutoni disa VPN nĂ« kĂ«tĂ« kompjuter, zakonisht do tĂ« jenĂ« server, si nĂ« shembull:

# ./build-key-server server
[...]
Certificate is to be certified until Aug 15 23:52:34 2027 GMT (3650 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

OpenVPN përdor parametrat e gjeneruar me metodën e Diffie-Hellman (nëpërmjet build-dh) për të rënë dakord për autentikimin e lidhjeve të reja. Skedari i krijuar këtu nuk duhet të jetë sekret, por duhet të jetë gjeneruar duke përdorur skenarin build-dh për çelësat RSA, të cilët tani janë aktivë. Nëse krijoni çelësa të rinj RSA në të ardhmen, do t'ju nevojitet gjithashtu të përditësoni skedarin në bazë të metodës së Diffie-Hellman:

# ./build-dh

ÇelĂ«sat tuaj nĂ« anĂ«n e serverit tani do tĂ« pĂ«rfundojnĂ« nĂ« katalogun /etc/openvpn/easy-rsa/keys/, por OpenVPN nuk e di kĂ«tĂ«. NĂ« mĂ«nyrĂ« tĂ« paracaktuar, OpenVPN do tĂ« kĂ«rkojĂ« çelĂ«sat nĂ« /etc/openvpn/, prandaj kopjoni ato:

# cp /etc/openvpn/easy-rsa/keys/server* /etc/openvpn
# cp /etc/openvpn/easy-rsa/keys/dh2048.pem /etc/openvpn
# cp /etc/openvpn/easy-rsa/keys/ca.crt /etc/openvpn

Përgatitja e çelësave të enkriptimit të klientit

Siç keni parë, në enkriptimin TLS përdoren palë çelësash përkatës: një është e vendosur në server, ndërsa tjetra është në klientin e largët. Kjo do të thotë se do t'ju nevojiten çelësat e klientit. Mik i vjetër i yni pkitool është pikërisht ajo që na duhen për këtë. Në këtë shembull, duke e drejtuar programin në katalogun /etc/openvpn/easy-rsa/, i japim argumentin client për të gjeneruar skedarët e quajtur client.crt dhe client.key:

# ./pkitool client

Dy skedarët e klientit së bashku me skedarin origjinal ca.crt, i cili ende ndodhet në katalogun keys/, tani duhet të transmetohen në mënyrë të sigurt tek klienti juaj. Për shkak të përkatësisë dhe të drejtave të aksesit, kjo mund të jetë një punë e vështirë. Qasja më e thjeshtë është të kopjoni manualisht përmbajtjen e skedarit origjinal (dhe asgjë përveç përmbajtjes së tij) në terminalin që punon në Desktopin tuaj (zgjidhni tekstin, klikoni me të djathtën dhe zgjidhni Copy (Kopjo) nga menuja). Pastaj, ngjiteni këtë në një skedare të re me të njëjtin emër që krijoni në terminalin e dytë lidhur me klientin tuaj.

Por kushdo mund ta kopjojë dhe ngjisni. Ju mendoni si administrator, sepse nuk do të keni gjithmonë qasje në GUI, ku mund të realizoni operacionin e kopjimit/ngjitjes. Kopjoni skedaret në katalogun e shtëpisë së përdoruesit tuaj (që operacioni i largët scp të ketë qasje në to), dhe pastaj me chown ndryshoni pronarin e skedarëve nga root në një përdorues të zakonshëm pa privilegje root, në mënyrë që të mund të realizoni veprimin e largët scp. Sigurohuni që të gjithë skedaret tuaj deri në këtë pikë janë vendosur dhe të aksesueshëm. Në klient do t'i transferoni ato pak më vonë:

# cp /etc/openvpn/easy-rsa/keys/client.key /home/ubuntu/
# cp /etc/openvpn/easy-rsa/keys/ca.crt /home/ubuntu/
# cp /etc/openvpn/easy-rsa/keys/client.crt /home/ubuntu/
# chown ubuntu:ubuntu /home/ubuntu/client.key
# chown ubuntu:ubuntu /home/ubuntu/client.crt
# chown ubuntu:ubuntu /home/ubuntu/ca.crt

Me gjithë grupin e çelësave të enkriptimit të gatshëm për përdorim, ju duhet t'i tregoni serverit se si dëshironi të krijoni VPN. Kjo bëhet përmes skedarit server.conf.

Reduktojmë numrin e shtypjeve të çelësit

A keni shumĂ« pĂ«r tĂ« shkruar? Shtesa me kllapa do t'ju ndihmojĂ« tĂ« reduktoni kĂ«to gjashtĂ« komanda nĂ« dy. Jam i sigurt se do tĂ« jeni nĂ« gjendje tĂ« mĂ«soni kĂ«to dy shembuj dhe tĂ« kuptoni se çfarĂ« po ndodh. ÇfarĂ« Ă«shtĂ« edhe mĂ« e rĂ«ndĂ«sishme, do tĂ« jeni nĂ« gjendje tĂ« kuptoni se si tĂ« aplikoni kĂ«to principe nĂ« operacione qĂ« pĂ«rfshijnĂ« dhjetĂ«ra ose madje qindra elemente:

# cp /etc/openvpn/easy-rsa/keys/{ca.crt,client.{key,crt}} /home/ubuntu/
# chown ubuntu:ubuntu /home/ubuntu/{ca.crt,client.{key,crt}}

Konfigurimi i skedarit server.conf

Si mund ta dini si duhet të duket skedari server.conf? Mos harroni shabllonin e katalogut easy-rsa që keni kopjuar nga /usr/share/? Gjatë instalimit të OpenVPN mbeti një skedar i kompresuar shablloni konfigurimi që mund ta kopjoni në /etc/openvpn/. Do të bazohem në faktin se shablloni është arkivuar dhe do t'ju prezantoj me një vegël të dobishme: zcat.

Tashmë dini për shfaqjen e përmbajtjes tekstuale të skedarit në ekran duke përdorur komandën cat, por çfarë nëse skedari është e kompresuar me gzip? Ju gjithmonë mund ta shpërtheni skedarin dhe atëherë cat do ta shfaqë me kënaqësi, por kjo është një ose dy hapa më shumë sesa është e nevojshme. Në vend të kësaj, siç e keni ndjerë ndoshta, mund të shkruani komandën zcat për të ngarkuar tekstin e shpërthyer në memorje në një hap. Në shembullin e ardhshëm në vend që ta shfaqni tekstin në ekran, do ta redaktoni atë në një skedar të ri me emrin server.conf:

# zcat 
  /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz 
  > /etc/openvpn/server.conf
$ cd /etc/openvpn

Le të lëmë mënjanë dokumentacionin e gjerë dhe të dobishëm të bashkangjitur me skedarin dhe të shohim se si mund të duket kur të përfundoni redaktimin. Vini re se pika e presjes (;) i thotë OpenVPN të mos lexojë dhe të mos ekzekutojë rreshtin në vijim (listimi 10.2).

Libri "Linux në Veprim"
Të kalojmë përmes disa nga këtyre konfigurimeve.

  • NĂ« mĂ«nyrĂ« tĂ« parazgjedhur, OpenVPN punon nĂ« portin 1194. Ju mund ta ndryshoni kĂ«tĂ«, pĂ«r shembull, pĂ«r tĂ« fshehur edhe mĂ« shumĂ« veprimet tuaja ose pĂ«r tĂ« shmangur konflikte me tunellet e tjera aktive. Duke qenĂ« se 1194 kĂ«rkon koordinim minimal me klientĂ«t, Ă«shtĂ« mĂ« mirĂ« ta bĂ«ni kĂ«tĂ«.
  • OpenVPN aplikon pĂ«r transmetimin e tĂ« dhĂ«nave ose protokollin e kontrollit tĂ« transmetimit (TCP), ose protokollin e datagrafikave tĂ« pĂ«rdoruesve (UDP). TCP mund tĂ« jetĂ« pak mĂ« i ngadaltĂ«, por Ă«shtĂ« mĂ« i besueshĂ«m dhe ka mĂ« shumĂ« tĂ« ngjarĂ« tĂ« kuptohet nga aplikacionet qĂ« funksionojnĂ« nĂ« tĂ« dy skajet e tunelit.
  • Mund tĂ« specifikoni dev tun kur dĂ«shironi tĂ« krijoni njĂ« tunel IP mĂ« tĂ« thjeshtĂ« dhe mĂ« efikas qĂ« transmeton pĂ«rmbajtje tĂ« tĂ« dhĂ«nave dhe asgjĂ« mĂ« shumĂ«. NĂ«se, nga ana tjetĂ«r, ju nevojitet tĂ« lidheni me disa interfaca rrjeti (dhe rrjetet qĂ« ato paraqesin), duke krijuar njĂ« urĂ« Ethernet, atĂ«herĂ« do tĂ« duhet tĂ« zgjidhni dev tap. NĂ«se nuk kuptoni se çfarĂ« do tĂ« thotĂ« kjo, pĂ«rdorni argumentin tun.
  • KatĂ«r rreshtat e mĂ«poshtĂ«m i pĂ«rcjellin OpenVPN emrat e tre skedarĂ«ve tĂ« autentifikimit nĂ« server dhe skedarin e parametrave dh2048, tĂ« cilin e keni krijuar mĂ« parĂ«.
  • Rreshti server pĂ«rcakton gamĂ«n dhe maskĂ«n e nĂ«nrrjetit qĂ« do tĂ« pĂ«rdoren pĂ«r tĂ« dhĂ«nĂ« adresa IP klientĂ«ve gjatĂ« hyrjes nĂ« sistem.
  • Parametri i opcional push "route 10.0.3.0 255.255.255.0" lejon klientĂ«t e largĂ«t tĂ« kenĂ« qasje nĂ« nĂ«nrrjetet private pas serverit. PĂ«r tĂ« realizuar kĂ«tĂ«, Ă«shtĂ« e nevojshme gjithashtu njĂ« konfigurim rrjeti nĂ« vetĂ« serverin, nĂ« mĂ«nyrĂ« qĂ« nĂ«nrrjeti privat tĂ« dijĂ« pĂ«r nĂ«nrrjetin OpenVPN (10.8.0.0).
  • Rreshti port-share localhost 80 lejon qĂ« trafik klientĂ«sh qĂ« vjen pĂ«rmes portit 1194 tĂ« redirektojĂ« nĂ« serverin lokal tĂ« uebit qĂ« dĂ«gjon nĂ« portin 80. (Kjo do tĂ« jetĂ« e dobishme nĂ« rast se po planifikoni tĂ« angazhoni njĂ« server uebi pĂ«r testimin e VPN tuaj.) Kjo funksionon vetĂ«m kur protokolli tcp Ă«shtĂ« zgjedhur.
  • Rreshtat user nobody dhe group nogroup duhet tĂ« jenĂ« aktivĂ« — pĂ«r kĂ«tĂ« Ă«shtĂ« e nevojshme tĂ« hiqni piketat me presje (;). Detyrimi i punĂ«s sĂ« klientĂ«ve tĂ« largĂ«t nĂ«n nobody dhe nogroup garanton qĂ« seancat nĂ« server tĂ« jenĂ« pa privilegje.
  • log tregon se regjistrimet aktuale nĂ« ditar do tĂ« zĂ«vendĂ«sojnĂ« regjistrimet mĂ« tĂ« vjetra me çdo nisje tĂ« OpenVPN, ndĂ«rsa log-append shton regjistrimet e reja nĂ« skedarin ekzistues tĂ« ditarit. Skedari vetĂ« openvpn.log regjistrohet nĂ« katalogun /etc/openvpn/.

Për më tepër, në skedarin e konfigurimit shpesh shtohet vlera client-to-client, në mënyrë që disa klientë të mund të shohin njëri-tjetrin përveç serverit OpenVPN. Nëse jeni të kënaqur me konfigurimin tuaj, atëherë mund të nisni serverin OpenVPN:

# systemctl start openvpn

Për shkak të natyrës së ndryshimit të marrëdhënieve midis OpenVPN dhe systemd, për të nisur shërbimin, ndonjëherë mund të jetë e nevojshme një sintaksë e tillë: systemctl start openvpn@server.

Krunning ip addr për të shfaqur listën e interfacave rrjetërore të serverit tuaj tani duhet të dalë me një referencë për interfacin e ri me emrin tun0. OpenVPN do ta krijojë atë për të shërbyer klientët e ardhshëm:

$ ip addr
[...]
4: tun0: mtu 1500 qdisc [...]
      link/none
      inet 10.8.0.1 peer 10.8.0.2/32 scope global tun0
          valid_lft forever preferred_lft forever

Mund të nevojitet të ristartoni serverin përpara se gjithçka të fillojë të funksionojë plotësisht. N stopp tjetër është kompjuteri klient.

10.1.2. Konfigurimi i klientit OpenVPN

Tradicionalisht, tunellet ndĂ«rtohen me tĂ« paktĂ«n dy dalje (ndryshe do t’i quaheshin shpellĂ«). NjĂ« OpenVPN e konfiguruar siç duhet nĂ« server drejton trafik nĂ« tunel dhe jashtĂ« tij nga njĂ«ra anĂ«. Por ju gjithashtu do t’ju nevojitet njĂ« program qĂ« punon nĂ« anĂ«n e klientit, pra nĂ« skajin tjetĂ«r tĂ« tunelit.

Në këtë seksion do të përqendrohem në konfigurarjen manuale të një kompjuteri Linux të llojit të caktuar për të punuar si klient OpenVPN. Por ky nuk është përjashtimi i vetëm; OpenVPN mbështet aplikacione klientësh që mund të instalohen dhe përdoren në kompjuterët desktop dhe laptopët me Windows ose macOS, si dhe në smartphone dhe tabletë me Android dhe iOS. Detajet mund të gjenden në openvpn.net.

Pakoja OpenVPN do të duhet të instalohet në kompjuterin klient, siç u instalua në server, megjithatë këtu nuk ka nevojë për easy-rsa, pasi çelësat që po përdorni tashmë ekzistojnë. Ju duhet të kopjoni skedarin e modelit client.conf në katalogun /etc/openvpn/, i cili sapo u krijua. Këtë herë skedari nuk do të jetë e arkivuar, prandaj komanda e zakonshme cp do të përmbushë këtë detyrë:

# apt install openvpn
# cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf 
  /etc/openvpn/

Shumica e cilësimeve në skedarin tuaj client.conf do të jenë relativisht të qarta: ato duhet të përputhen me vlerat në server. Siç tregohet në shembujnë e mëposhtëm të skedarit, parametri unik është remote 192.168.1.23 1194, i cili i tregon klientit adresën IP të serverit. Përsëri sigurohuni që kjo të jetë adresa e serverit tuaj. Ju gjithashtu duhet të bëni që kompjuteri klient të verifikojë autentikimin e certifikatës së serverit për të parandaluar një sulm të mundshëm "njeri në mes". Një nga mënyrat për ta bërë këtë është të shtoni linjën remote-cert-tls server (lista 10.3).

Libri "Linux në Veprim"
Tani mund ta vizitoni katalogun /etc/openvpn/ dhe të nxirrni çelësat e certifikimit nga serveri. Zëvendësoni adresën IP të serverit ose emrin e domenit në shembull me vlerat tuaja:

Libri "Linux në Veprim"
Nuk ka ndodhur asgjĂ« emocionuese, ndoshta, derisa tĂ« nisni OpenVPN nĂ« klient. Duke qenĂ« se duhet tĂ« kaloni disa argumente, do ta bĂ«ni kĂ«tĂ« nga linja e komandĂ«s. Argumenti —tls-client i tregon OpenVPN se do tĂ« veproni si klient dhe do tĂ« lidheni nĂ«pĂ«rmjet enkriptimit TLS, ndĂ«rsa —config tregon pĂ«r skedarin tuaj tĂ« konfiguratĂ«s:

# openvpn --tls-client --config /etc/openvpn/client.conf

Lexoni me kujdes daljen e komandës për të siguruar që jeni lidhur siç duhet. Nëse diçka shkon keq për herë të parë, ndoshta është për shkak të mos përputhjes së konfigurimeve midis skedarëve të konfigurimit të serverit dhe klientit ose një problemi me lidhjen në rrjet/firewall. Këtu janë disa këshilla për të ndihmuar në zgjidhjen e problemeve.

  • Lexoni me kujdes daljen e operacionit OpenVPN nĂ« klient. Ajo shpesh pĂ«rmban kĂ«shilla tĂ« vlefshme se çfarĂ« saktĂ«sisht nuk mund tĂ« kryhet dhe pse.
  • Kontrolloni mesazhet e gabimeve nĂ« skedarĂ«t openvpn.log dhe openvpn-status.log nĂ« katalogun /etc/openvpn/ nĂ« server.
  • Kontrolloni mesazhet e lidhura me OpenVPN dhe ngjarjet pĂ«rkatĂ«se nĂ« kohĂ« nĂ« log-et sistemore nĂ« server dhe klient. (journalctl -ce do tĂ« shfaqĂ« regjistrimet mĂ« tĂ« fundit.)
  • Sigurohuni qĂ« keni njĂ« lidhje aktive rrjeti midis serverit dhe klientit (mĂ« shumĂ« — nĂ« kapitullin 14).

Rreth autorit

David Clinton — administrator sistemi, mĂ«sues dhe shkrimtar. Ai ka administruar, shkruar nĂ« lidhje me kĂ«tĂ« dhe ka krijuar materiale mĂ«simore pĂ«r shumĂ« disiplina teknike tĂ« rĂ«ndĂ«sishme, duke pĂ«rfshirĂ« sistemet Linux, kompiuterĂ«t nĂ« re (veçanĂ«risht AWS) dhe teknologjitĂ« e kontejnerĂ«ve si Docker. Ai ka shkruar librin Learn Amazon Web Services in a Month of Lunches (Manning, 2017). Shumica e videokurseve tĂ« tij mĂ«simore mund tĂ« gjenden nĂ« Pluralsight.com, dhe lidhjet pĂ«r librat e tij tĂ« tjerĂ« (nĂ« administrimin e Linux dhe virtualizimin e serverĂ«ve) janĂ« tĂ« disponueshme nĂ« bootstrap-it.com.

» Më shumë informacion mbi librin mund të gjendet në faqen e botuesit
» Përmbajtja
» Pjesa

PĂ«r anĂ«tarĂ«t e Habra ka njĂ« zbritje prej 25% me kodin — Linux
Pas pagesës për versionin në letër të librit, libri elektronik dërgohet në e-mail.

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster