2 စက္ကန့်အတွင်း Docker တွင် OpenVPN ကိုဖွင့်ပါ။

မင်္ဂလာပါ Khabrovsk နေထိုင်သူများ။ အခြားမြို့၊ နိုင်ငံ သို့မဟုတ် တိုက်ကြီးသို့ အမှန်တကယ် ပို့ဆောင်လိုသည့် အခြေအနေမျိုး ကြုံဖူးပါသလား။ ကျွန်တော့်မှာ ဒီလိုအပ်ချက်တွေ မကြာခဏရှိနေတာကြောင့် စက္ကန့်အနည်းငယ်အတွင်း ဘယ်နေရာမှာမဆို လွှင့်တင်နိုင်တဲ့ ကိုယ်ပိုင် VPN ဆာဗာရှိဖို့ အခွင့်အရေးက အတော်လေး အရေးတကြီးပါပဲ။ ဒီဆောင်းပါးမှာ ကျွန်တော် စိတ်ကူးယဉ်ခဲ့တဲ့ ကျွန်တော့်ရဲ့ ပရောဂျက်အကြောင်း ပြောပြချင်ပါတယ်။ အဆင်သင့်လုပ်ထားသည့် ဖြေရှင်းချက်ကို ရှာဖွေနေသည်၊ ဤကိစ္စတွင် Docker သည် အနည်းဆုံး ဆက်တင်များနှင့် လက်ခံနိုင်သော လုံခြုံရေးအဆင့်ဖြင့် OpenVPN ဆာဗာကို လျင်မြန်စွာ သတ်မှတ်နိုင်စေမည့် ပုံတစ်ခုဖြစ်သည်။

2 စက္ကန့်အတွင်း Docker တွင် OpenVPN ကိုဖွင့်ပါ။

စောပိုငျးကာလ

မည်သည့်စက်တွင်မဆို ဝန်ဆောင်မှုကို လုပ်ဆောင်နိုင်မှု - ရုပ်ပိုင်းဆိုင်ရာဆာဗာ သို့မဟုတ် လျှို့ဝှက်သီးသန့်ဆာဗာ သို့မဟုတ် အခြားသော ကွန်တိန်နာစီမံခန့်ခွဲမှုစနစ်အတွင်းရှိ ကွန်တိန်နာနေရာများပင်ဖြစ်စေ - အရေးကြီးပါသည်။ ကျွန်တော့်အကြည့်က Docker ကို ချက်ချင်းရောက်သွားတယ်။ ပထမဦးစွာ၊ ဤဝန်ဆောင်မှုသည် ရေပန်းစားလာခြင်းကြောင့် ဝန်ဆောင်မှုပေးသူများသည် ၎င်း၏ကြိုတင်ထည့်သွင်းခြင်းနှင့်အတူ အဆင်သင့်လုပ်ထားသော ဖြေရှင်းချက်များကို ပေးဆောင်နေကြသည် ။ ဒုတိယအနေဖြင့်၊ သင်သည် terminal ရှိ command တစ်ခုတည်းကိုအသုံးပြု၍ ဝန်ဆောင်မှုကိုဒေါင်းလုဒ်လုပ်ပြီး run နိုင်သည့်နေရာမှပုံများကိုဗဟိုချုပ်ကိုင်ထားသောသိုလှောင်မှုရှိသည်။ အဲဒီလို ပရောဂျက်တစ်ခု ရှိပြီးသားဖြစ်သင့်တယ်ဆိုတဲ့ အတွေးက ကျွန်တော့်ဆီရောက်လာပြီး ခက်ခက်ခဲခဲ ရှာဖွေခဲ့တယ်။ ဒါပေမယ့် ကျွန်တော်တွေ့ခဲ့ရတဲ့ ပရောဂျက်အများစုဟာ ခက်ခဲလွန်းပါတယ် (အမြဲတမ်းဒေတာသိုလှောင်မှုအတွက် ကွန်တိန်နာတစ်ခုကို ဖန်တီးပြီး မတူညီတဲ့ကန့်သတ်ဘောင်တွေနဲ့ အပလီကေးရှင်းကို အကြိမ်ပေါင်းများစွာ ဖွင့်ရပါမယ်)၊ ဒါမှမဟုတ် မှန်ကန်တဲ့စာရွက်စာတမ်းမရှိရင် ဒါမှမဟုတ် လုံးဝစွန့်လွှတ်လိုက်ပါ။ လက်ခံနိုင်စရာ ဘာမှမတွေ့ပါဘူး။ မင်းရဲ့ ပရောဂျက်ကို ငါစလုပ်တယ်။ စာရွက်စာတမ်း၊ ကုဒ်ရေးခြင်းနှင့် အမှားရှာပြင်ခြင်းတို့ကို လေ့လာခြင်းမပြုမီ အိပ်မပျော်သောညများ ရှိခဲ့သော်လည်း နောက်ဆုံးတွင် ကျွန်ုပ်၏ဝန်ဆောင်မှုသည် နေ့အလင်းရောင်ကိုမြင်ရပြီး Router ၏ monochrome LED panel ၏ အရောင်အားလုံးနှင့် စတင်တောက်ပလာသည်။ ဒါ​ကြောင့်​ ချစ်​ခင်​ဖို့ ​မေတ္တာရပ်​ခံပါတယ်​- Docker-OpenVPN. ကျွန်ုပ်သည် (အထက်၊ မဖြတ်မီ) လိုဂိုတစ်ခုပါလာသော်လည်း၊ ကျွန်ုပ်သည် ဒီဇိုင်နာတစ်ဦးမဟုတ်တော့သောကြောင့် ၎င်းကို တင်းကြပ်စွာမဆုံးဖြတ်ပါနှင့်။ ဤပရောဂျက်ကို အကောင်အထည်ဖော်သောအခါတွင် ဖြန့်ကျက်မှုအရှိန်ကို ဦးစားပေးခဲ့သည်၊ ဆက်တင်များနှင့် လက်ခံနိုင်သော လုံခြုံရေးအဆင့်။ စမ်းသပ်မှုနှင့် အမှားအယွင်းများမှတစ်ဆင့် ဤစံသတ်မှတ်ချက်များ၏ အကောင်းဆုံးချိန်ခွင်လျှာကို ကျွန်ုပ်တွေ့ရှိခဲ့သော်လည်း၊ အချို့နေရာများတွင် လုံခြုံရေးအတွက် ကျွန်ုပ်သည် ဖြန့်ကျက်မှုအမြန်နှုန်းကို စွန့်လွှတ်ခဲ့ရပြီး ဆက်တင်များ၏ အနည်းဆုံးအတွက် သယ်ဆောင်ရလွယ်ကူမှုအတွက် ပေးဆောင်ခဲ့ရပါသည်- လက်ရှိဖွဲ့စည်းပုံတွင်၊ ဆာဗာတစ်ခုတွင် ဖန်တီးပြီးသည်နှင့် တစ်ပြိုင်နက် ကွန်တိန်နာကို လွှဲပြောင်းပြီး အခြားတစ်ခုတွင် ဖွင့်၍မရပါ။ ဥပမာအားဖြင့်၊ ဝန်ဆောင်မှုစတင်သောအခါတွင် client နှင့် server လက်မှတ်များအားလုံးကိုထုတ်ပေးပြီး ၎င်းသည် 2 စက္ကန့်ခန့်ကြာမည်ဖြစ်သည်။ သို့သော်၊ Hellman Defi ဖိုင်၏ မျိုးဆက်ကို တည်ဆောက်ချိန်အတွင်း လုပ်ဆောင်ရပါမည်- ၎င်းကို docker ပုံတည်ဆောက်စဉ်တွင် ဖန်တီးထားပြီး 10 မိနစ်အထိ ကြာရှည်နိုင်သည်။ လေးစားထိုက်သောအသိုင်းအဝန်းမှ ထိုသို့သောဖြေရှင်းချက်ကို လုံခြုံရေးစစ်ဆေးမှုခံယူလိုပါသည်။

ပစ်လွှတ်

ဝန်ဆောင်မှုကို စတင်ရန် ကျွန်ုပ်တို့သည် အရာများစွာ လိုအပ်သည်-

  1. ဆာဗာ- ရုပ်ပိုင်းဆိုင်ရာ သို့မဟုတ် အတုအယောင်။ သီအိုရီအရ docker-အတွင်း-docker မုဒ်တွင် အလုပ်လုပ်ရန် ဖြစ်နိုင်သည်၊ သို့သော် ဤရွေးချယ်မှုကို ကျွန်ုပ် အကျယ်တဝင့် မစမ်းသပ်ခဲ့ပါ။
  2. တကယ်တော့ Docker။ များစွာသော hosting ဝန်ဆောင်မှုပေးသူများသည် သင်္ဘောပေါ်တွင် Docker ဖြင့် အဆင်သင့်လုပ်ထားသော ဖြေရှင်းချက်များကို ပေးဆောင်သည်။
  3. အများသူငှာ IP လိပ်စာ။

အသေးစိတ်အချက်များ အားလုံးရှိနေပါက၊ ကျွန်ုပ်တို့လုပ်ဆောင်ရမည့်အရာမှာ သင့်ဆာဗာ၏ ကွန်ဆိုးလ်တွင် အောက်ပါ command ကို လုပ်ဆောင်ရန်ဖြစ်သည်။

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

ဆာဗာ IP လိပ်စာကို အသုံးပြု၍ အလိုအလျောက် ဆုံးဖြတ်ကြောင်း အာရုံစူးစိုက်ဖတ်ရှုသူမှ သတိပြုမိပေမည်။ ipify.org. အကြောင်းတစ်ခုခုကြောင့် အလုပ်မလုပ်ပါက လိပ်စာကို ကိုယ်တိုင်သတ်မှတ်နိုင်ပါသည်။ ယခင်အဆင့်များအားလုံးကို မှန်ကန်စွာ ပြီးမြောက်ပါက၊ ကွန်ဆိုးလ်တွင် အလားတူတစ်ခုခုကို ကျွန်ုပ်တို့တွေ့မြင်ရပါမည်-

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!

ကျွန်ုပ်တို့သည် ပန်းတိုင်နှင့် နီးကပ်နေပါပြီ- ယခု ကျွန်ုပ်တို့ ကူးယူရန် လိုအပ်ပါသည်။ example.com (သင်၏ကိစ္စတွင်၎င်းသည်သင်၏ဆာဗာ၏လိပ်စာဖြစ်လိမ့်မည်) နှင့်၎င်းကိုသင်၏ဘရောက်ဆာ၏လိပ်စာဘားတွင်ကူးထည့်ပါ။ Enter နှိပ်ပြီးနောက်၊ client.ovpn ဖိုင်ကို ဒေါင်းလုဒ်လုပ်မည်ဖြစ်ပြီး http server ကိုယ်တိုင်က မေ့ပျောက်သွားမည်ဖြစ်သည်။ ဤဖြေရှင်းချက်သည် သံသယဖြစ်လျှင် အောက်ပါလှည့်ကွက်ကို သင်သုံးနိုင်သည်- ယခင် command ကိုဖွင့်ပြီး အလံများထည့်ပါ။ zp နှင့် စကားဝှက်။ ယခု၊ သင်ထုတ်လုပ်လိုက်သောလင့်ခ်ကို ဘရောက်ဆာဝင်းဒိုးတွင် ကူးထည့်ပါက၊ စကားဝှက်ဖြင့် zip archive ကို လက်ခံရရှိမည်ဖြစ်သည်။ သင့်တွင် client configuration ဖိုင်တစ်ခုရရှိပြီးသည်နှင့် သင့်လျော်သော client ကိုမဆိုအသုံးပြုနိုင်ပါသည်။ Mac အတွက် Tunnelblick သုံးပါတယ်။

ဗီဒီယိုသင်ခန်းစာ

ဤဗီဒီယိုသင်ခန်းစာတွင် DigitalOcean တွင် ဝန်ဆောင်မှုကိုအသုံးပြုရန် အသေးစိတ်လမ်းညွှန်ချက်များပါရှိသည်။

PS ဤပရောဂျက်သည် အသုံးဝင်သည်ဟု သင်တွေ့ရှိပါက GitHub တွင် ကြယ်တစ်ပွင့်ပေး၍ ၎င်းကို လမ်းခွဲပြီး သင့်သူငယ်ချင်းများကို ပြောပြပါ။ ပံ့ပိုးကူညီသူများနှင့် လုံခြုံရေးစစ်ဆေးမှုများကိုလည်း ကျယ်ကျယ်ပြန့်ပြန့် ကြိုဆိုပါသည်။PPS ဤဆောင်းပါးသည် Habr တွင်အဆုံးသတ်ပါက၊ ကျွန်ုပ်သည် docker-in-docker နှင့် docker-in-docker-in-docker ကိုစတင်ပုံအကြောင်း နောက်တစ်ပုဒ်ကိုရေးရန်စီစဉ်ထားပြီး၊ ၎င်းကိုဘာကြောင့်လုပ်ခဲ့သနည်း၊ ၎င်းမှထွက်လာသည့်အရာများအကြောင်း နောက်တစ်ပုဒ်ရေးရန်စီစဉ်ထားသည်။
EDIT1:

  1. စာစောင်များတွင် အမှားများကို ပြင်ပေးခြင်း၊
  2. မှတ်ချက်များကို တုံ့ပြန်သည့်အနေဖြင့် ဤအချက်အလက်ကို ဤနေရာတွင်ထားရန် ဆုံးဖြတ်ခဲ့သည်- iptables များနှင့် အလုပ်လုပ်ရန် —privileged အလံ လိုအပ်သည်

EDIT2:

  1. ပုံစတင်ခြင်းအမိန့်ကို ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ထားသည်- ယခု ၎င်းသည် -privileged အလံမလိုအပ်ပါ။
  2. ရုရှားဘာသာစကား ဗီဒီယိုလမ်းညွှန်သို့ လင့်ခ်တစ်ခု ပေါင်းထည့်ထားသည်- youtu.be/A8zvrHsT9A0

source: www.habr.com

မှတ်ချက် Add