OpenVPN-ê li Docker-ê di 2 hûrdeman de dest pê bikin

Silav, niştecîhên Khabrovsk! Ma we carî rastî rewşek hat ku we bi rastî xwest ku hûn bi rastî veguhezînin bajarek, welatek an parzemînek din? Vê hewcedariya min pir caran heye, ji ber vê yekê fersenda ku ez servera xweya VPN-ê hebe, ku dikare li her deverê, di nav çend hûrdeman de were destpêkirin, di vê gotarê de ez dixwazim li ser projeya xwe biaxivim, ya ku min dema ku ez pê hesiyam li çareseriyek amade digerin, di vê rewşê de Docker wêneyek ku dihêle hûn zû serverek OpenVPN-ê, bi hindiktirîn mîhengan û astek ewlehiyê ya pejirandî saz bikin.

OpenVPN-ê li Docker-ê di 2 hûrdeman de dest pê bikin

pêşdîrok

Qabiliyeta xebitandina karûbarê li ser her makîneyê - ew serverek laşî be, an serverek taybet a virtual, an tewra cîhek konteynir di hundurê pergalek rêveberiya konteynerek din de be - krîtîk bû. Çavê min yekser li Docker ket. Ya yekem, ev karûbar populerbûna xwe bi dest dixe, û ji ber vê yekê bêtir û bêtir pêşkêşvan bi pêş-sazkirina wê re çareseriyên amade peyda dikin; ya duyemîn, hilanînek navendî ya wêneyan heye ku ji wir hûn dikarin karûbarê bi karanîna yek fermanê di termînalê de dakêşin û bimeşînin. Fikra ku divê jixwe projeyek weha hebe ji min re hat û ez gelek geriyam. Lê piraniya projeyên ku min dîtin an pir giran bûn (diviya bû ku hûn ji bo hilanîna daneya daîmî konteynir biafirînin û bi sepanê re çend caran bi parametreyên cihêreng konteynir bidin destpêkirin), an bêyî belgeyên saxlem, an jî bi tevahî nehatin terikandin , Min dest bi xebata projeya te kir. Li pêşiya xwendina belgekirinê, nivîsandina kodê û xeletkirinê şevên bê xew hebûn, lê di dawiyê de karûbarê min ronahiya rojê dît û bi hemî rengên panela LED-ya monokrome ya routerê dest pê kir. Ji ber vê yekê, ez ji we dipirsim ku hûn hez bikin û qenc bikin - Docker-OpenVPN. Tewra min logoyek derxist (li jor, berî qutkirinê), lê wê bi tundî dadbar nekin, ji ber ku ez ne sêwirandar im (îdî gava ku min ev proje bicîh anî, min leza birêkûpêkkirinê, herî kêm) pêşanî da mîheng û astek meqbûl a ewlehiyê. Di nav ceribandin û xeletiyê de, min hevsengiya herî baş a van pîvanan dît, lêbelê, li hin deveran min neçar ma ku ji bo ewlehiyê leza bicîhkirinê feda bikim, û min neçar ma ku ji bo mîhengên hindiktirîn heqê barkirinê bidim: di veavakirina heyî de, konteynir ku carekê li ser serverek hatî çêkirin nikare li ser serverek din were veguheztin û destpêkirin. Mînakî, hemî sertîfîkayên xerîdar û serverê dema ku karûbar dest pê dike têne çêkirin û ev ê bi qasî 2 çirkeyan bigire. Lêbelê, nifşa pelê Hellman Defi pêdivî bû ku di dema çêkirinê de were girtin: ew di dema avakirina wêneya docker de tête çêkirin û dikare heya 10 hûrdeman bidome. Ez bi rastî dixwazim ji civata rêzdar vekolînek ewlehiyê ya çareseriyek wusa bistînim.

Berdaye

Ji bo destpêkirina karûbarê em hewceyê çend tiştan in:

  1. Server: fîzîkî an virtual. Ji hêla teorîkî ve gengaz e ku meriv di moda docker-di nav-docker de bixebite, lê min ev vebijark bi berfirehî ceribandiye;
  2. Bi rastî Docker. Gelek pêşkêşkerên mêvandariyê bi Docker re çareseriyên amade peyda dikin;
  3. Navnîşana IP-ya gelemperî.

Ger hemî hûrgulî di cîh de bin, wê hingê ya ku em bikin ev e ku emrê jêrîn di konsolê servera we de bimeşînin:

docker run --cap-add=NET_ADMIN 
-it -p 1194:1194/udp -p 80:8080/tcp 
-e HOST_ADDR=$(curl -s https://api.ipify.org) 
alekslitvinenk/openvpn

Dibe ku xwendevanek baldar ferq kiriye ku navnîşana IP-ya serverê bixweber bi karanîna tê destnîşankirin ipify.org. Ger ji ber hin sedeman ev nexebite, wê hingê hûn dikarin navnîşan bi destan diyar bikin Ger hemî gavên berê rast hatine qedandin, wê hingê divê em di konsolê de tiştek wusa bibînin.

Sun Jun  9 08:56:11 2019 Initialization Sequence Completed
Sun Jun  9 08:56:12 2019 Client.ovpn file has been generated
Sun Jun  9 08:56:12 2019 Config server started, download your client.ovpn config at http://example.com/
Sun Jun  9 08:56:12 2019 NOTE: After you download you client config, http server will be shut down!

Em nêzîkî armancê ne: naha em hewce ne kopî bikin example.com (di doza we de ew ê navnîşana servera we be) û wê li barika navnîşana geroka xwe bixin. Piştî ku hûn Enter pêl bikin, pelê client.ovpn dê were dakêşandin, û servera http bixwe dê di nav jibîrkirinê de winda bibe. Ger ev çareserî di gumanê de ye, hûn dikarin xapandina jêrîn bikar bînin: Fermana berê bimeşînin û alayan lê zêde bikin zp û şîfre. Naha, heke hûn zencîreya çêkirî di pencereyek gerokê de bixin, hûn ê arşîvek zip bi şîfreyek bistînin. Ez Tunnelblick ji bo Mac bikar tîne.

Vîdyo tutorial

Vê dersa vîdyoyê rêwerzên berfireh ji bo bicîhkirina karûbarê li ser DigitalOcean vedihewîne.

Vîdyoyê lîstin
PS Ger hûn vê projeyê bikêr dibînin, ji kerema xwe stêrkek li ser GitHub bidin, wê bişkînin û ji hevalên xwe re bêjin. Beşdar û kontrolên ewlehiyê jî bi berfirehî têne pêşwazî kirin.PPS Ger ev gotar li ser Habrê biqede, wê hingê ez plan dikim ku ya din binivîsim ka min çawa docker-in-docker û docker-in-docker-in-docker dest pê kir, çima min ew kir û çi jê derket.
EDIT1:
  1. Di weşanê de xeletiyên rast kirin,
  2. Bersiva şîroveyan, min biryar da ku ez vê agahiyê bidim vir: -ala îmtiyazê ji bo xebatê bi iptables re hewce ye

EDIT2:

  1. Fermana destpêkirina wêneyê baştir kir: naha ew ala -îmtiyaz hewce nake
  2. Girêdanek ji rêberê vîdyoya bi zimanê rûsî re zêde kir: youtu.be/A8zvrHsT9A0

Source: www.habr.com

Add a comment