Lọlẹ OpenVPN ni Docker ni iṣẹju-aaya 2

Kaabo, awọn olugbe Khabrovsk! Njẹ o ti pade ipo kan nigba ti o fẹ gaan lati gbe lọ si ilu miiran, orilẹ-ede tabi kọnputa? Mo ni iwulo yii nigbagbogbo, nitorinaa aye lati ni olupin VPN ti ara mi, eyiti o le ṣe ifilọlẹ nibikibi, ni iṣẹju-aaya meji, jẹ iyara pupọ ninu nkan yii Mo fẹ lati sọrọ nipa iṣẹ akanṣe mi, eyiti Mo loyun nigbati Mo wa n wa ojutu ti a ti ṣetan, ninu ọran yii Docker aworan kan ti yoo gba ọ laaye lati ṣeto olupin OpenVPN ni kiakia, pẹlu awọn eto ti o kere ju ati ipele aabo itẹwọgba.

Lọlẹ OpenVPN ni Docker ni iṣẹju-aaya 2

prehistory

Agbara lati ṣiṣẹ iṣẹ naa lori ẹrọ eyikeyi - jẹ olupin ti ara, tabi olupin aladani foju kan, tabi paapaa aaye eiyan ninu eto iṣakoso eiyan miiran - ṣe pataki. Oju mi ​​lẹsẹkẹsẹ ṣubu lori Docker. Ni akọkọ, iṣẹ yii n gba olokiki, ati nitori naa awọn olupese siwaju ati siwaju sii n pese awọn solusan ti a ti ṣetan pẹlu fifi sori ẹrọ iṣaaju; Ni ẹẹkeji, ibi ipamọ aarin ti awọn aworan wa lati ibiti o ti le ṣe igbasilẹ ati ṣiṣẹ iṣẹ naa nipa lilo aṣẹ kan ni ebute naa. Awọn agutan ti iru ise agbese yẹ ki o tẹlẹ wa si mi ati ki o Mo wa lile. Ṣugbọn pupọ julọ awọn iṣẹ akanṣe ti Mo rii jẹ boya o lewu pupọ (o ni lati ṣẹda apoti kan fun ibi ipamọ data yẹ ki o ṣe ifilọlẹ eiyan pẹlu ohun elo ni ọpọlọpọ igba pẹlu awọn aye oriṣiriṣi), tabi laisi iwe mimọ, tabi kọsilẹ patapata. Ko ri ohunkohun ti o ṣe itẹwọgba. , Mo bẹrẹ iṣẹ lori iṣẹ rẹ. Awọn alẹ ti ko ni oorun wa niwaju ikẹkọ iwe, koodu kikọ ati ṣiṣatunṣe, ṣugbọn nikẹhin iṣẹ mi rii ina ti ọjọ o bẹrẹ si tan pẹlu gbogbo awọn awọ ti nronu monochrome LED nronu. Nitorinaa, Mo beere lọwọ rẹ lati nifẹ ati ojurere - Docker-OpenVPN. Mo paapaa wa pẹlu aami kan (loke, ṣaaju gige), ṣugbọn maṣe ṣe idajọ rẹ ni muna, nitori Emi kii ṣe apẹẹrẹ (mọ) Nigbati Mo ṣe imuse iṣẹ yii, Mo ṣe pataki iyara imuṣiṣẹ, o kere ju ti eto ati awọn ẹya itewogba ipele ti aabo. Nipasẹ idanwo ati aṣiṣe, Mo rii iwọntunwọnsi to dara julọ ti awọn ibeere wọnyi, sibẹsibẹ, ni awọn aaye kan Mo ni lati rubọ iyara imuṣiṣẹ nitori aabo, ati pe Mo ni lati sanwo fun gbigbe fun awọn eto ti o kere ju: ni iṣeto lọwọlọwọ, a eiyan ni kete ti a ṣẹda lori olupin kan ko le gbe ati ṣe ifilọlẹ lori omiiran. Fun apẹẹrẹ, gbogbo onibara ati awọn iwe-ẹri olupin ti wa ni ipilẹṣẹ nigbati iṣẹ ba bẹrẹ ati pe eyi yoo gba to iṣẹju meji 2. Sibẹsibẹ, iran ti faili Hellman Defi ni lati mu sinu akoko kikọ: o ṣẹda lakoko kikọ aworan docker ati pe o le ṣiṣe to iṣẹju mẹwa 10. Emi yoo fẹ gaan lati gba iṣayẹwo aabo ti iru ojutu kan lati agbegbe ti o bọwọ fun.

Запуск

Lati bẹrẹ iṣẹ a nilo awọn nkan pupọ:

  1. Olupin: ti ara tabi foju. O ṣee ṣe ni imọ-jinlẹ lati ṣiṣẹ ni ipo docker-laarin-docker, ṣugbọn Emi ko ṣe idanwo aṣayan yii lọpọlọpọ;
  2. Lootọ Docker. Ọpọlọpọ awọn olupese alejo gbigba pese awọn solusan ti a ti ṣetan pẹlu Docker lori ọkọ;
  3. Adirẹsi IP ti gbogbo eniyan.

Ti gbogbo awọn alaye ba wa ni aye, lẹhinna gbogbo ohun ti a ni lati ṣe ni ṣiṣe aṣẹ atẹle ni console olupin rẹ:

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

Oluka akiyesi le ti ṣe akiyesi pe adiresi IP olupin ti pinnu ni lilo laifọwọyi ipify.org. Ti o ba jẹ fun idi kan eyi ko ṣiṣẹ, lẹhinna o le pato adirẹsi naa pẹlu ọwọ.

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!

A wa nitosi ibi-afẹde: ni bayi a nilo lati daakọ example.com (ninu ọran rẹ yoo jẹ adirẹsi olupin rẹ) ki o si lẹẹmọ rẹ sinu ọpa adirẹsi ti ẹrọ aṣawakiri rẹ. Lẹhin ti o tẹ Tẹ, faili client.ovpn yoo ṣe igbasilẹ, ati olupin http funrararẹ yoo parẹ sinu igbagbe. Ti ojutu yii ba wa ni iyemeji, o le lo ẹtan atẹle: ṣiṣe aṣẹ iṣaaju ki o ṣafikun awọn asia zp ati ọrọigbaniwọle. Bayi, ti o ba lẹẹmọ ọna asopọ ti ipilẹṣẹ sinu ferese aṣawakiri kan, iwọ yoo gba ibi ipamọ zip pẹlu ọrọ igbaniwọle kan. Ni kete ti o ba ni faili iṣeto ni alabara, o le lo alabara eyikeyi ti o yẹ. Mo lo Tunnelblick fun Mac.

Video ikẹkọ

Ikẹkọ fidio yii ni awọn itọnisọna alaye fun gbigbe iṣẹ naa sori DigitalOcean.

PS Ti o ba rii pe iṣẹ akanṣe yii wulo, jọwọ fun ni irawọ lori GitHub, fi orita ki o sọ fun awọn ọrẹ rẹ. Awọn oluranlọwọ ati awọn iṣayẹwo aabo jẹ itẹwọgba pupọ.PPS Ti nkan yii ba pari lori Habr, lẹhinna Mo gbero lati kọ atẹle nipa bii MO ṣe ṣe ifilọlẹ docker-in-docker ati docker-in-docker-in-docker, kilode ti MO ṣe ati kini o jade.
EDIT1:

  1. Awọn aṣiṣe ti a ṣe atunṣe ni atẹjade,
  2. Ni idahun si awọn asọye, Mo pinnu lati fi alaye yii si ibi: asia ti o ni anfani ni a nilo lati ṣiṣẹ pẹlu awọn iptables

EDIT2:

  1. Ṣe ilọsiwaju pipaṣẹ ifilọlẹ aworan: ni bayi ko nilo asia –anfani
  2. Ṣafikun ọna asopọ kan si itọsọna fidio ede Russian: youtube.be/A8zvrHsT9A0

orisun: www.habr.com

Fi ọrọìwòye kun