Ndewo, Khabrovits! Ị nwetụla ọnọdụ ebe ị ga-achọ n'ezie ka ebuga gị n'obodo ọzọ, obodo ma ọ bụ kọntinent ọzọ? Enwere m mkpa dị otú ahụ mgbe mgbe, ya mere ikike inwe ihe nkesa VPN nke m nwere ike ịmalite ebe ọ bụla, n'ime sekọnd ole na ole, dị oke njọ. N'isiokwu a, achọrọ m ikwu banyere ọrụ m, nke m tụrụ ime mgbe m dị. na-achọ ihe ngwọta emebere, na nke a, docker ihe oyiyi nke ga-enye gị ohere ibulite ihe nkesa OpenVPN ngwa ngwa, yana opekempe ntọala yana ọkwa nchekwa dị mma.
prehistory
Ikike iji rụọ ọrụ na igwe ọ bụla-ma ọ bụ ihe nkesa anụ ahụ, ma ọ bụ ihe nkesa nkeonwe, ma ọ bụ ọbụna oghere akpa n'ime sistemụ njikwa akpa ọzọ-dị oke mkpa. Anya m ozugbo dakwasịrị Docker. Firstly, ọrụ a na-enweta ewu ewu, ya mere, ọtụtụ na ndị ọzọ na-enye ihe ngwọta na njikere mere ya tupu echichi; Nke abuo, enwere ebe nchekwa ihe onyonyo site na ebe ị nwere ike budata ma jiri otu iwu rụọ ọrụ na ọdụ. Echiche na ụdị ọrụ ahụ kwesịrị ịdị adị letara m ma chọsie ike. Ma, ọtụtụ n'ime ọrụ m chọpụtara bụ ma dị oke egwu (ọ dị mkpa ịmepụta akpa maka nchekwa data na-adịgide adịgide ma na-eji ngwa ahụ na-eji ngwa ahụ ọtụtụ ugboro na paramita dị iche iche), ma ọ bụ na-enweghị akwụkwọ mara mma, ma ọ bụ gbahapụrụ kpamkpam. Ọ dịghị ihe na-anabata, amalitere m ọrụ na ọrụ gị. Enwere abalị na-enweghị ụra nke ịmụ akwụkwọ, koodu ederede na debugging n'ihu, mana n'ikpeazụ, ọrụ m hụrụ ìhè nke ụbọchị wee jiri agba niile nke monochrome LED panel nke rawụta. Yabụ, a na m arịọ gị ka ị hụ n'anya na ihu ọma - docker-openvpn. M ọbụna wee na a logo (n'elu, tupu ịkpụ), ma ekpela ikpe ya nke ọma, n'ihi na m na-abụghị a mmebe (ama) Mgbe m mejuputa atumatu a, m tinye deployment ọsọ, a kacha nta nke ntọala na. ọkwa nchekwa nke a na-anabata n'ihu. Site na nnwale na njehie, achọpụtara m nguzozi kachasị mma nke njirisi ndị a, agbanyeghị, n'ebe ụfọdụ m ga-achụrịrị ọsọ mbugharị n'ihi nchekwa, na a ga-akwụrịrị ọdụ ụgbọ ala maka opekempe ntọala: na nhazi ugbu a, ozugbo emebere ya. enweghị ike ibufe akpa n'otu ihe nkesa wee gbaa ọsọ na nke ọzọ. Dịka ọmụmaatụ, ndị ahịa niile na asambodo nkesa na-emepụta mgbe ọrụ malitere na ọ na-ewe ihe dịka 2 sekọnd. Otú ọ dị, ekwesịrị ịkwaga ọgbọ nke faịlụ Defi Hellman iji wuo oge: a na-emepụta ya n'oge a na-ewu ihe oyiyi docker ma nwee ike iwe ihe dị ka nkeji iri. Ọ ga-amasị m ịnweta nyocha nchekwa nke ngwọta dị otú ahụ site na obodo a na-akwanyere ùgwù nke ukwuu.
Mwepụta
Iji malite ọrụ ahụ, anyị chọrọ ihe ole na ole:
Ihe nkesa: anụ ahụ ma ọ bụ mebere. Ọ ga-ekwe omume ịgba ọsọ na ọnọdụ docker-in-docker, mana anwalebeghị m nhọrọ a nke ukwuu;
Onye na-agụ nke ọma nwere ike chọpụtala na a na-ekpebi adreesị IP nke ihe nkesa na-akpaghị aka ipify.org. Ọ bụrụ n'ihi ihe ụfọdụ nke a anaghị arụ ọrụ, mgbe ahụ ị nwere ike iji aka kọwaa adreesị ahụ, ọ bụrụ na emere usoro niile gara aga nke ọma, yabụ anyị kwesịrị ịhụ ihe yiri ya na njikwa:
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!
Anyị dị nso na ihe mgbaru ọsọ: ugbu a, anyị kwesịrị iṅomi example.com (n'ọnọdụ gị ọ ga-abụ adreesị nke ihe nkesa gị) ma mado ya n'ime adreesị mmanya nke ihe nchọgharị ahụ. Mgbe ịpịrị Tinye, a ga-ebudata faịlụ client.ovpn, na sava http n'onwe ya ga-abanye na nchefu. Ọ bụrụ na mkpebi a nwere obi abụọ, mgbe ahụ ị nwere ike iji aghụghọ a: mee iwu gara aga ma gbakwunye ọkọlọtọ zp na paswọọdụ. Ugbu a, ọ bụrụ na ị mado njikọ emepụtara n'ime mpio ihe nchọgharị, ị ga-enweta ebe nchekwa zip nwere paswọọdụ mgbe ị nwere faịlụ nwere nhazi onye ahịa, ịnwere ike iji onye ahịa ọ bụla dabara adaba. M na-eji Tunnelblick maka Mac.
Nkuzi vidiyo
Nkuzi vidiyo a nwere ntuziaka zuru ezu maka itinye ọrụ na DigitalOcean.
PS Ọ bụrụ na ịchọtara na ọrụ a bara uru, biko nye ya kpakpando na GitHub, gbanye ya ma gwa ndị enyi gị. A na-anabatakwa ndị ntinye aka na nyocha nchekwa.Pps Ọ bụrụ na edemede a kwụsịrị na Habr, m na-eme atụmatụ ide nke na-esote banyere otu m si agba ọsọ docker-in-docker na docker-in-docker-in-docker, ihe kpatara m ji mee ya na ihe si na ya pụta. EDIT1:
Njehie nbipute edobere
N'ịzaghachi okwu, ekpebiri m itinye ozi a ebe a: ọkọlọtọ --privileged dị mkpa iji rụọ ọrụ na iptables.
EDIT2:
Emelitere iwu mbido onyonyo: ugbu a ọ chọghị ọkọlọtọ --privileged