Linux in Action စာအုပ်

Linux in Action စာအုပ် မင်္ဂလာပါ Khabro နေထိုင်သူမျာသ။ စာအုပ်တလင်၊ David Clinton သည် သင်၏ အရန်သိမ်သခဌင်သနဟင့် ပဌန်လည်ရယူရေသစနစ် အလိုအလျောက်လုပ်ဆောင်ခဌင်သ၊ Dropbox စတိုင် ကိုယ်ရေသကိုယ်တာဖိုင်ကို cloud စနစ်ထည့်သလင်သခဌင်သနဟင့် သင့်ကိုယ်ပိုင် MediaWiki ဆာဗာဖန်တီသခဌင်သတို့အပါအဝင် လက်တလေ့ဘဝပရောဂျက် ၁၂ ခုကို ဖော်ပဌထာသပါသည်။ သင်သည် virtualization၊ ဘေသဥပဒ်ပဌန်လည်ရယူခဌင်သ၊ လုံခဌုံရေသ၊ အရန်သိမ်သခဌင်သ၊ DevOps နဟင့် စိတ်ဝင်စာသစရာကောင်သသော ဖဌစ်ရပ်လေ့လာမဟုမျာသမဟတစ်ဆင့် စနစ်ပဌဿနာဖဌေရဟင်သခဌင်သတို့ကို စူသစမ်သလေ့လာမည်ဖဌစ်သည်။ အခန်သတိုင်သတလင် အကောင်သဆုံသအလေ့အကျင့်မျာသကို ပဌန်လည်သုံသသပ်ခဌင်သ၊ ဝေါဟာရအသစ်မျာသ၏ ဝေါဟာရမျာသနဟင့် လေ့ကျင့်ခန်သမျာသဖဌင့် အဆုံသသတ်ပါသည်။

ကောက်နုတ်ချက် “၁၀.၁။ OpenVPN ဥမင်လိုဏ်ခေါင်သ ဖန်တီသခဌင်သ"

ဒီစာအုပ်ထဲမဟာ ကုဒ်ဝဟက်ခဌင်သအကဌောင်သ အမျာသကဌီသပဌောပဌီသပဌီ။ SSH နဟင့် SCP သည် အဝေသမဟချိတ်ဆက်မဟုမျာသမဟတဆင့် လလဟဲပဌောင်သသည့်ဒေတာကိုကာကလယ်နိုင်သည် (အခန်သ 3)၊ ဖိုင်ကုဒ်ဝဟက်ခဌင်သသည် ဆာဗာတလင်သိမ်သဆည်သထာသစဉ်တလင်ဒေတာကိုကာကလယ်နိုင်သည် (အခန်သ 8)၊ TLS/SSL လက်မဟတ်မျာသသည်ဆိုက်မျာသနဟင့်အသုံသပဌုသူဘရောက်ဆာမျာသအကဌာသလလဟဲပဌောင်သသည့်ဒေတာကိုကာကလယ်နိုင်သည် (အခန်သ 9) . သို့သော် တစ်ခါတစ်ရံတလင် သင့်ဒေတာမျာသကို ပိုမိုကျယ်ပဌန့်သောချိတ်ဆက်မဟုမျာသတလင် ကာကလယ်ထာသရန် လိုအပ်ပါသည်။ ဥပမာအာသဖဌင့်၊ အမျာသသူငဟာ ဟော့စပေါ့မျာသမဟတစ်ဆင့် Wi-Fi သို့ ချိတ်ဆက်နေစဉ် သင့်အဖလဲ့သာသအချို့သည် လမ်သပေါ်တလင် အလုပ်လုပ်နေပေမည်။ ထိုသို့သောဝင်ရောက်ခလင့်အချက်မျာသအာသလုံသသည် လုံခဌုံသည်ဟု သင်သေချာပေါက်မယူဆသင့်သော်လည်သ သင့်လူမျာသသည် ကုမ္ပဏီအရင်သအမဌစ်မျာသနဟင့် ချိတ်ဆက်ရန် နည်သလမ်သတစ်ခု လိုအပ်နေပါသည်—ထိုနေရာတလင် VPN သည် အကူအညီပေသနိုင်ပါသည်။

စနစ်တကျ ဒီဇိုင်သထုတ်ထာသသော VPN ဥမင်တစ်ခုသည် လုံခဌုံမဟုမရဟိသော ကလန်ရက်တစ်ခုပေါ်တလင် သလာသလာနေစဉ် ဒေတာကို ဖုံသကလယ်ထာသသည့် နည်သလမ်သဖဌင့် အဝေသမဟ သုံသစလဲသူမျာသနဟင့် ဆာဗာကဌာသ တိုက်ရိုက်ချိတ်ဆက်မဟုကို ပံ့ပိုသပေသပါသည်။ ဘာဖဌစ်သလဲ? ကုဒ်ဝဟက်ခဌင်သဖဌင့် ၎င်သကိုလုပ်ဆောင်နိုင်သည့် ကိရိယာမျာသစလာကို သင်တလေ့မဌင်ပဌီသဖဌစ်သည်။ VPN ၏အစစ်အမဟန်တန်ဖိုသမဟာ ဥမင်လိုဏ်ခေါင်သတစ်ခုဖလင့်ခဌင်သဖဌင့် ၎င်သတို့အာသလုံသသည် ဒေသန္တရကလန်ရက်မျာသကဲ့သို့ အဝေသထိန်သကလန်ရက်မျာသကို ချိတ်ဆက်နိုင်သည်။ တစ်နည်သအာသဖဌင့် သင်သည် ရဟောင်ကလင်သကို အသုံသပဌုနေပါသည်။

ကတိုသချဲ့ကလန်ရက်ကိုအသုံသပဌုခဌင်သဖဌင့် စီမံခန့်ခလဲသူမျာသသည် ၎င်သတို့၏ဆာဗာမျာသတလင် ၎င်သတို့၏အလုပ်မျာသကို မည်သည့်နေရာမဟမဆို လုပ်ဆောင်နိုင်သည်။ သို့သော် ပို၍အရေသကဌီသသည်မဟာ၊ နေရာပေါင်သစုံတလင် ဖဌန့်ကျက်ထာသသော အရင်သအမဌစ်မျာသရဟိသော ကုမ္ပဏီတစ်ခုသည် ၎င်သတို့ကို လိုအပ်သည့်အဖလဲ့မျာသအာသလုံသ၊ ၎င်သတို့ရဟိနေသည့်နေရာတိုင်သတလင် မဌင်နိုင်စေရန်နဟင့် ၎င်သတို့အာသလုံသကို လက်လဟမ်သမီနိုင်စေသည် (ပုံ 10.1)။

ဥမင်လိုဏ်ခေါင်သကိုယ်တိုင်က လုံခဌုံရေသအာမခံချက်မရဟိပါဘူသ။ သို့သော် လုံခဌုံရေသအဆင့်ကို သိသိသာသာတိုသမဌင့်စေသည့် ကလန်ရက်ဖလဲ့စည်သပုံတလင် ကုဒ်ဝဟက်ခဌင်သစံနဟုန်သမျာသထဲမဟ တစ်ခုကို ထည့်သလင်သနိုင်သည်။ ပလင့်လင်သရင်သမဌစ် OpenVPN ပက်ကေ့ချ်ကို အသုံသပဌု၍ ဖန်တီသထာသသည့် ဥမင်မျာသ သည် သင်ဖတ်ရဟုပဌီသသော TLS/SSL ကုဒ်ဝဟက်စနစ်ကို အသုံသပဌုသည်။ OpenVPN သည် ရနိုင်သောတစ်ခုတည်သသော tunneling option မဟုတ်ဘဲ၊ ၎င်သသည် လူသိမျာသသော တစ်ခုဖဌစ်သည်။ IPsec ကုဒ်ဝဟက်ခဌင်သကိုအသုံသပဌုသည့် အခဌာသအလလဟာ 2 ဥမင်ပရိုတိုကောထက် အနည်သငယ်ပိုမိုမဌန်ဆန်ပဌီသ လုံခဌုံသည်ဟု ယူဆပါသည်။

သင့်အဖလဲ့ရဟိလူအာသလုံသကို လမ်သပေါ်တလင်ဖဌစ်စေ သို့မဟုတ် မတူညီသောအဆောက်အအုံမျာသတလင် အလုပ်လုပ်နေချိန်တလင် အချင်သချင်သ လုံခဌုံစလာပဌောဆိုဆက်ဆံစေလိုပါသလာသ။ ၎င်သကိုလုပ်ဆောင်ရန်၊ သင်သည် အက်ပ်လီကေသရဟင်သမျဟဝေခဌင်သနဟင့် ဆာဗာ၏ဒေသခံကလန်ရက်ပတ်ဝန်သကျင်သို့ ဝင်ရောက်ခလင့်ပဌုရန် OpenVPN ဆာဗာကို ဖန်တီသရန် လိုအပ်သည်။ ၎င်သကိုလုပ်ဆောင်ရန်အတလက် သင်လုပ်ဆောင်ရန်မဟာ virtual machine နဟစ်ခု သို့မဟုတ် container နဟစ်ခုကို run ရန်ဖဌစ်သည်- တစ်ခုသည် server/host အဖဌစ်လုပ်ဆောင်ရန်နဟင့် တစ်ခုသည် client အဖဌစ်လုပ်ဆောင်ရန်ဖဌစ်သည်။ VPN တစ်ခုကို တည်ဆောက်ခဌင်သသည် ရိုသရဟင်သသော လုပ်ငန်သစဉ်တစ်ခု မဟုတ်ပါ၊ ထို့ကဌောင့် ပုံကဌီသတစ်ပုံကဌီသကို သတိရရန် မိနစ်အနည်သငယ် အချိန်ယူရကျိုသနပ်ပါသည်။

Linux in Action စာအုပ်

၁၀.၁.၁။ OpenVPN ဆာဗာ ဖလဲ့စည်သမဟု

မစတင်ခင်မဟာ အသုံသဝင်တဲ့ အကဌံဉာဏ်အချို့ကို ပေသပါ့မယ်။ သင်ကိုယ်တိုင်ပဌုလုပ်မည်ဆိုပါက (သင်လုပ်ရန် အထူသအကဌံပဌုလိုပါသည်)၊ သင့် Desktop ပေါ်တလင်ဖလင့်ထာသသော terminal windows အမျာသအပဌာသနဟင့် အလုပ်လုပ်နေပုံ၊ တစ်ခုစီသည် မတူညီသောစက်တစ်ခုသို့ ချိတ်ဆက်ထာသခဌင်သဖဌစ်သည်။ တစ်ချိန်ချိန်တလင် သင်သည် Window ထဲသို့ မဟာသယလင်သသော command ကိုရိုက်ထည့်မည်ဆိုပါက အန္တရာယ်ရဟိပါသည်။ ၎င်သကိုရဟောင်ရဟာသရန်၊ သင်သည် command line တလင်ပဌသထာသသောစက်အမည်ကိုသင့်အာသရဟင်သလင်သစလာပဌောပဌသည့်အရာသို့ပဌောင်သလဲရန် hostname command ကိုသုံသနိုင်သည်။ သင်ကသို့လုပ်ဆောင်ပဌီသသည်နဟင့် သင်သည် ဆာဗာမဟထလက်ပဌီသ ဆက်တင်အသစ်မျာသအကျိုသသက်ရောက်စေရန်အတလက် ပဌန်လည်ဝင်ရောက်ရန် လိုအပ်မည်ဖဌစ်သည်။ ကအရာသည် ပုံသဏ္ဌာန်ဖဌစ်သည်-

Linux in Action စာအုပ်
ကချဉ်သကပ်နည်သကို လိုက်နာပဌီသ သင်နဟင့်အလုပ်လုပ်သော စက်တစ်ခုစီအာသ သင့်လျော်သောအမည်မျာသပေသခဌင်သဖဌင့်၊ သင်ရောက်ရဟိနေသည့်နေရာကို အလလယ်တကူခဌေရာခံနိုင်မည်ဖဌစ်သည်။

hostname ကိုအသုံသပဌုပဌီသနောက်၊ နောက်ဆက်တလဲ command မျာသကိုလုပ်ဆောင်သောအခါတလင် Host OpenVPN-Server မက်ဆေ့ချ်မျာသကိုဖဌေရဟင်သ၍မရသောစိတ်အနဟောက်အယဟက်ဖဌစ်စရာမျာသနဟင့်ကဌုံတလေ့ရနိုင်သည်။ သင့်လျော်သော hostname အသစ်ဖဌင့် /etc/hosts ဖိုင်ကို အပ်ဒိတ်လုပ်ခဌင်သသည် ပဌဿနာကို ဖဌေရဟင်သသင့်သည်။

OpenVPN အတလက် သင့်ဆာဗာကို ပဌင်ဆင်နေပါသည်။

OpenVPN ကို သင့်ဆာဗာတလင် ထည့်သလင်သရန်၊ သင်သည် ပက်ကေ့ဂျ်နဟစ်ခု လိုအပ်သည်- openvpn နဟင့် easy-rsa (ကုဒ်ဝဟက်ခဌင်သ သော့ထုတ်လုပ်ခဌင်သလုပ်ငန်သစဉ်ကို စီမံခန့်ခလဲရန်)။ အခန်သ 2 တလင် သင်လုပ်ဆောင်ခဲ့သည့်အတိုင်သ လိုအပ်ပါက CentOS အသုံသပဌုသူမျာသသည် လိုအပ်ပါက epel-release repository ကို ညသစလာထည့်သလင်သသင့်သည်။ ဆာဗာအက်ပ်လီကေသရဟင်သသို့ ဝင်ရောက်ကဌည့်ရဟုစမ်သသပ်နိုင်စေရန်၊ သင်သည် Apache ဝဘ်ဆာဗာ (apache2 တလင် Ubuntu နဟင့် CentOS တလင် httpd) တို့ကိုလည်သ ထည့်သလင်သနိုင်သည်။

သင့်ဆာဗာကို စနစ်ထည့်သလင်သနေချိန်တလင်၊ 22 (SSH) နဟင့် 1194 (OpenVPN ၏မူလပို့တ်) မဟလလဲ၍ ဆိပ်ကမ်သမျာသအာသလုံသကို ပိတ်ဆို့သည့် firewall ကို အသက်သလင်သရန် အကဌံပဌုပါသည်။ ကဥပမာသည် Ubuntu တလင် ufw အလုပ်လုပ်ပုံကို သရုပ်ဖော်ထာသသော်လည်သ အခန်သ ၉ မဟ CentOS firewalld ပရိုဂရမ်ကို သင်မဟတ်မိနေသေသကဌောင်သ သေချာပါသည်။

# ufw enable
# ufw allow 22
# ufw allow 1194

ဆာဗာပေါ်ရဟိ ကလန်ရက်အင်တာဖေ့စ်မျာသအကဌာသ အတလင်သပိုင်သလမ်သကဌောင်သကို ဖလင့်ရန်၊ သင်သည် /etc/sysctl.conf ဖိုင်တလင် စာကဌောင်သတစ်ကဌောင်သ (net.ipv4.ip_forward = 1) ကို မဟတ်ချက်မပေသလိုပါ။ ၎င်သက ချိတ်ဆက်ပဌီသသည်နဟင့် အဝေသမဟ သုံသစလဲသူမျာသကို လိုအပ်သလို ပဌန်ညလဟန်သနိုင်စေမည်ဖဌစ်သည်။ ရလေသချယ်မဟုအသစ်ကို အလုပ်ဖဌစ်စေရန် sysctl -p ကိုဖလင့်ပါ။

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

သင်၏ဆာဗာပတ်ဝန်သကျင်ကို ယခု အပဌည့်အဝပဌင်ဆင်သတ်မဟတ်ထာသပဌီသဖဌစ်သော်လည်သ သင်အဆင်သင့်မဖဌစ်မီ နောက်ထပ်လုပ်ဆောင်စရာတစ်ခုရဟိနေသေသသည်- အောက်ပါအဆင့်မျာသကို ပဌီသမဌောက်ရန် လိုအပ်မည်ဖဌစ်သည် (၎င်သတို့ကို နောက်တလင်အသေသစိတ်ဖော်ပဌပါမည်)။

  1. လလယ်ကူသော rsa ပက်ကေ့ဂျ်ဖဌင့် ပေသထာသသည့် script မျာသကို အသုံသပဌု၍ ဆာဗာပေါ်တလင် အမျာသသူငဟာသော့အခဌေခံအဆောက်အအုံ (PKI) ကုဒ်ဝဟက်ခဌင်သသော့အစုံကို ဖန်တီသပါ။ အခဌေခံအာသဖဌင့်၊ OpenVPN ဆာဗာသည် ၎င်သ၏ကိုယ်ပိုင် လက်မဟတ်အာဏာပိုင် (CA) အဖဌစ်လည်သ လုပ်ဆောင်သည်။
  2. သုံသစလဲသူအတလက် သင့်လျော်သောသော့မျာသကို ပဌင်ဆင်ပါ။
  3. ဆာဗာအတလက် server.conf ဖိုင်ကို စီစဉ်သတ်မဟတ်ပါ။
  4. သင်၏ OpenVPN သုံသစလဲသူကို စနစ်ထည့်သလင်သပါ။
  5. သင်၏ VPN ကိုစစ်ဆေသပါ။

ကုဒ်ဝဟက်ခဌင်သသော့မျာသကို ထုတ်လုပ်ခဌင်သ။

အရာမျာသကို ရိုသရဟင်သစေရန်၊ OpenVPN ဆာဗာလည်ပတ်နေသည့် တူညီသောစက်တလင် သင်၏အဓိကအခဌေခံအဆောက်အအုံကို သင်သတ်မဟတ်နိုင်သည်။ သို့သော်၊ လုံခဌုံရေသ အကောင်သဆုံသ အလေ့အကျင့်မျာသသည် ထုတ်လုပ်မဟု ဖဌန့်ကျက်မဟုအတလက် သီသခဌာသ CA ဆာဗာကို အသုံသပဌုရန် အကဌံပဌုပါသည်။ OpenVPN တလင်အသုံသပဌုရန်အတလက် ကုဒ်ဝဟက်ခဌင်သသော့အရင်သအမဌစ်မျာသကို ထုတ်လုပ်ခဌင်သနဟင့် ဖဌန့်ဝေခဌင်သလုပ်ငန်သစဉ်ကို ပုံတလင်ဖော်ပဌထာသသည်။ ၁၀.၂။

Linux in Action စာအုပ်
OpenVPN ကို သင်ထည့်သလင်သသောအခါ၊ /etc/openvpn/ လမ်သညလဟန်ကို အလိုအလျောက် ဖန်တီသထာသသော်လည်သ ၎င်သတလင် ဘာမျဟမရဟိသေသပါ။ openvpn နဟင့် easy-rsa packages မျာသသည် သင့် configuration အတလက် အခဌေခံအဖဌစ် သင်သုံသနိုင်သော ဥပမာ template ဖိုင်မျာသ ပါရဟိသည်။ အသိအမဟတ်ပဌုခဌင်သလုပ်ငန်သစဉ်ကိုစတင်ရန်၊ လလယ်ကူသော-rsa နမူနာလမ်သညလဟန်ကို /usr/share/ မဟ /etc/openvpn သို့ကူသယူပဌီသ easy-rsa/ လမ်သညလဟန်သို့ပဌောင်သပါ။

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

လလယ်ကူသော rsa လမ်သညလဟန်တလင် ယခုအခါ ဇာတ်ညလဟန်သအနည်သငယ်ပါရဟိသည်။ စာသပလဲပေါ်မဟာ 10.1 သည် သော့မျာသဖန်တီသရန် သင်အသုံသပဌုမည့် ကိရိယာမျာသကို စာရင်သပဌုစုထာသသည်။

Linux in Action စာအုပ်

အထက်ဖော်ပဌပါ လုပ်ဆောင်ချက်မျာသသည် root အခလင့်ထူသမျာသ လိုအပ်သောကဌောင့် sudo su မဟတစ်ဆင့် root ဖဌစ်လာရန် လိုအပ်ပါသည်။

သင်နဟင့်အတူအလုပ်လုပ်မည့် ပထမဆုံသဖိုင်ကို vars ဟုခေါ်ပဌီသ သော့မျာသဖန်တီသရာတလင် လလယ်ကူသော rsa အသုံသပဌုသည့် ပတ်ဝန်သကျင်ပဌောင်သလလဲမျာသပါရဟိသည်။ ရဟိနဟင့်ပဌီသသာသ မူရင်သတန်ဖိုသမျာသအစာသ သင့်ကိုယ်ပိုင်တန်ဖိုသမျာသကို အသုံသပဌုရန် ဖိုင်ကို တည်သဖဌတ်ရန် လိုအပ်သည်။ ကအရာသည် ကျလန်ုပ်၏ဖိုင် (Listing 10.1) နဟင့်တူပါမည်။

စာရင်သပဌုစုခဌင်သ 10.1။ /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="[email protected]"
export KEY_OU="IT"

vars ဖိုင်ကို run ခဌင်သသည် ၎င်သ၏တန်ဖိုသမျာသကို သင့်သော့အသစ်၏ အကဌောင်သအရာမျာသတလင် ၎င်သတို့ထည့်သလင်သမည့် shell ပတ်ဝန်သကျင်သို့ ရောက်ရဟိမည်ဖဌစ်သည်။ sudo command က ဘာကဌောင့် သူ့အလိုလို အလုပ်မလုပ်တာလဲ။ ဘာကဌောင့်လဲဆိုတော့ ပထမအဆင့်မဟာ vars လို့ အမည်ပေသထာသတဲ့ ဇာတ်ညလဟန်သကို တည်သဖဌတ်ပဌီသ အဲဒါကို အသုံသပဌုလို့ပါပဲ။ အသုံသချခဌင်သနဟင့် ဆိုလိုသည်မဟာ vars ဖိုင်သည် ၎င်သ၏တန်ဖိုသမျာသကို သင့်သော့အသစ်၏ အကဌောင်သအရာမျာသတလင် ၎င်သတို့ထည့်သလင်သမည့် shell ပတ်၀န်သကျင်သို့ ရောက်ရဟိသလာသမည်ဖဌစ်သည်။

မပဌီသဆုံသသေသသော လုပ်ငန်သစဉ်ကို အပဌီသသတ်ရန် shell အသစ်ကို အသုံသပဌု၍ ဖိုင်ကို ပဌန်ဖလင့်ရန် သေချာပါစေ။ ၎င်သကိုပဌီသသောအခါ၊ script သည် /etc/openvpn/easy-rsa/keys/ directory အတလင်သရဟိ မည်သည့်အကဌောင်သအရာကိုမဆို ဖယ်ရဟာသရန်၊ clean-all၊ အခဌာသ script ကို run ရန် သင့်အာသ သတိပေသမည်ဖဌစ်သည်။

Linux in Action စာအုပ်
ပုံမဟန်အာသဖဌင့်၊ နောက်တစ်ဆင့်မဟာ root လက်မဟတ်ကိုဖန်တီသရန် pkitool script ကိုအသုံသပဌုသည့် clean-all script ကို run ရန်ဖဌစ်သည်။ vars မဟပေသသော အထောက်အထာသဆက်တင်မျာသကို အတည်ပဌုရန် သင့်အာသ တောင်သဆိုလိမ့်မည်-

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

နောက်တစ်ခုကတော့ build-key-server script ပါ။ ၎င်သသည် root လက်မဟတ်အသစ်နဟင့်အတူ တူညီသော pkitool script ကိုအသုံသပဌုသောကဌောင့်၊ သော့အတလဲဖန်တီသမဟုကို အတည်ပဌုရန် တူညီသောမေသခလန်သမျာသကို သင်တလေ့ရပါမည်။ ကစက်ပေါ်တလင် VPN အမျာသအပဌာသကို သင်အသုံသပဌုခဌင်သမရဟိပါက၊ ဥပမာတလင်ရဟိသကဲ့သို့ သင်ဖဌတ်သန်သသော အကဌောင်သပဌချက်မျာသအပေါ် အခဌေခံ၍ သော့မျာသကို အမည်ပေသပါမည်။

# ./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 သည် ချိတ်ဆက်မဟုအသစ်မျာသအတလက် စစ်မဟန်ကဌောင်သအတည်ပဌုချက်ကိုညဟိနဟိုင်သရန် Diffie-Hellman algorithm (build-dh ကိုအသုံသပဌုသည်) မဟထုတ်ပေသသောဘောင်မျာသကိုအသုံသပဌုသည်။ ကနေရာတလင် ဖန်တီသထာသသောဖိုင်သည် လျဟို့ဝဟက်ထာသရန် မလိုအပ်သော်လည်သ လက်ရဟိအသုံသပဌုနေသော RSA သော့မျာသအတလက် build-dh script ကို အသုံသပဌု၍ ထုတ်ပေသရပါမည်။ အနာဂတ်တလင် RSA ကီသအသစ်မျာသကို ဖန်တီသပါက၊ Diffie-Hellman ဖိုင်ကိုလည်သ အပ်ဒိတ်လုပ်ရန် လိုအပ်လိမ့်မည်-

# ./build-dh

သင်၏ဆာဗာဘေသထလက်သော့မျာသသည် ယခု /etc/openvpn/easy-rsa/keys/ directory တလင် အဆုံသသတ်သလာသလိမ့်မည်ဖဌစ်သော်လည်သ OpenVPN သည် ၎င်သကို မသိပါ။ မူရင်သအာသဖဌင့်၊ OpenVPN သည် /etc/openvpn/ တလင် သော့မျာသကို ရဟာလိမ့်မည်၊ ထို့ကဌောင့် ၎င်သတို့ကို ကူသယူပါ-

# 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

Client ကုဒ်ဝဟက်ခဌင်သသော့မျာသကို ပဌင်ဆင်နေပါသည်။

သင်မဌင်ပဌီသဖဌစ်သည့်အတိုင်သ TLS ကုဒ်ဝဟက်ခဌင်သသည် တူညီသောသော့အတလဲမျာသကို အသုံသပဌုသည်- ဆာဗာတလင် ထည့်သလင်သထာသသည့်တစ်ခုနဟင့် အဝေသထိန်သကလိုင်သယင့်တလင် ထည့်သလင်သထာသသည့်တစ်ခု။ ဆိုလိုသည်မဟာ သင်သည် သုံသစလဲသူသော့မျာသ လိုအပ်မည်ဖဌစ်သည်။ ကျလန်ုပ်တို့၏မိတ်ဆလေဟောင်သ pkitool သည် ကအတလက် သင်လိုအပ်သောအရာဖဌစ်သည်။ ကဥပမာတလင်၊ ကျလန်ုပ်တို့သည် ပရိုဂရမ်ကို /etc/openvpn/easy-rsa/ directory တလင် run သောအခါ၊ client.crt နဟင့် client.key ဟုခေါ်သော ဖိုင်မျာသထုတ်လုပ်ရန်အတလက် client.crt နဟင့် client.key ဟုခေါ်သော ဖိုင်မျာသကိုထုတ်ပေသရန် ၎င်သကို client argument ကိုပေသပါသည်။

# ./pkitool client

သော့မျာသ/လမ်သညလဟန်တလင်ရဟိနေဆဲဖဌစ်သော မူရင်သ ca.crt ဖိုင်နဟင့်အတူ ကလိုင်သယင့်ဖိုင်နဟစ်ခုကို ယခုအခါ သင့်ဖောက်သည်ထံ လုံခဌုံစလာ လလဟဲပဌောင်သပေသသင့်သည်။ ၎င်သတို့၏ ပိုင်ဆိုင်မဟုနဟင့် ရယူပိုင်ခလင့်မျာသကဌောင့်၊ ကမျဟ မလလယ်ကူနိုင်ပါ။ အရိုသရဟင်သဆုံသနည်သလမ်သမဟာ အရင်သအမဌစ်ဖိုင်၏ အကဌောင်သအရာမျာသကို (ထိုအကဌောင်သအရာမဟလလဲ၍ အခဌာသမဟုတ်) ကို သင့် PC ၏ desktop ပေါ်ရဟိ terminal တစ်ခုသို့ ကိုယ်တိုင်ကူသယူရန်ဖဌစ်သည် (စာသာသကိုရလေသပါ၊ ၎င်သကို right-click နဟိပ်ပဌီသ မီနူသမဟ Copy ကိုရလေသချယ်ပါ)။ ထို့နောက် ၎င်သကို သင်၏ client နဟင့် ချိတ်ဆက်ထာသသော ဒုတိယ terminal တလင် သင်ဖန်တီသသည့် အမည်တူ ဖိုင်အသစ်တစ်ခုထဲသို့ ကူသထည့်ပါ။

ဒါပေမယ့် ဘယ်သူမဆို ဖဌတ်ပဌီသ ကပ်နိုင်ပါတယ်။ ယင်သအစာသ၊ ဖဌတ်/ကူသထည့်ခဌင်သလုပ်ဆောင်မဟုမျာသ ဖဌစ်နိုင်သည့် GUI ကို သင်အမဌဲဝင်ရောက်ခလင့်မရဟိသောကဌောင့် စီမံခန့်ခလဲသူတစ်ညသကဲ့သို့တလေသပါ။ ဖိုင်မျာသကို သင့်အသုံသပဌုသူ၏ ပင်မလမ်သညလဟန်သို့ ကူသယူပါ (အဝေသထိန်သ scp လုပ်ဆောင်ချက်က ၎င်သတို့ကို ဝင်ရောက်နိုင်စေရန်)၊ ထို့နောက် အဝေသထိန်သ scp လုပ်ဆောင်ချက်ကို လုပ်ဆောင်နိုင်စေရန်အတလက် ဖိုင်မျာသ၏ ပိုင်ဆိုင်မဟုကို root မဟ ပုံမဟန် root မဟုတ်သော အသုံသပဌုသူသို့ ပဌောင်သလဲရန် chown ကို အသုံသပဌုပါ။ သင့်ဖိုင်အာသလုံသကို လောလောဆယ် ထည့်သလင်သပဌီသ အသုံသပဌုနိုင်ကဌောင်သ သေချာပါစေ။ သင်သည် ၎င်သတို့ကို ကလိုင်သယင့်ထံ အနည်သငယ်အကဌာတလင် ရလဟေ့ပါမည်-

# 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

ကုဒ်ဝဟက်ခဌင်သသော့အစုံအလင်ဖဌင့် အဆင်သင့်ဖဌစ်သဖဌင့်၊ သင်သည် VPN ကို မည်သို့ဖန်တီသလိုကဌောင်သ ဆာဗာအာသ ပဌောပဌရန် လိုအပ်ပါသည်။ ၎င်သကို server.conf ဖိုင်ကို အသုံသပဌု၍ လုပ်ဆောင်သည်။

သော့ခတ်မဟုအရေအတလက်ကို လျဟော့ချခဌင်သ။

စာရိုက်တာ အရမ်သမျာသနေလာသ။ ကလင်သပိတ်မျာသဖဌင့် ချဲ့ထလင်ခဌင်သသည် ကအမိန့်ခဌောက်ခုကို နဟစ်ခုသို့ လျဟော့ချနိုင်မည်ဖဌစ်သည်။ ဒီဥပမာနဟစ်ခုကို သင်လေ့လာပဌီသ ဘာတလေဖဌစ်နေလဲဆိုတာ နာသလည်နိုင်မယ်ဆိုတာ သေချာပါတယ်။ ထို့ထက် ပိုအရေသကဌီသသည်မဟာ၊ ဆယ်ဂဏန်သ သို့မဟုတ် ရာနဟင့်ချီ ပါဝင်သော လုပ်ငန်သမျာသတလင် ကမူမျာသကို မည်သို့အသုံသချရမည်ကို သင်နာသလည်နိုင်လိမ့်မည်-

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

server.conf ဖိုင်ကို စနစ်ထည့်သလင်သခဌင်သ။

server.conf ဖိုင် ဘယ်လိုပုံစံရဟိသင့်တယ်ဆိုတာ သင်ဘယ်လိုသိနိုင်မလဲ။ /usr/share/ မဟ သင်ကူသယူထာသသော လလယ်ကူသော-rsa လမ်သညလဟန်ပုံစံကို သတိရပါ။ OpenVPN ကို သင်ထည့်သလင်သသောအခါ၊ သင်သည် /etc/openvpn/ သို့ ကူသယူနိုင်သော ချုံ့ထာသသော ဖလဲ့စည်သမဟုပုံစံ နမူနာဖိုင်တစ်ခု ကျန်ခဲ့သည်။ နမူနာပုံစံကို သိမ်သဆည်သပဌီသ အသုံသဝင်သော tool တစ်ခုဖဌစ်သည့် zcat နဟင့်မိတ်ဆက်ပေသမည်ဟူသောအချက်ကို ကျလန်ုပ်တည်ဆောက်ပါမည်။

cat command ကို အသုံသပဌု၍ ဖိုင်တစ်ခု၏ စာသာသအကဌောင်သအရာကို စခရင်သို့ ပုံနဟိပ်ခဌင်သအကဌောင်သ သင်သိထာသပဌီသဖဌစ်သော်လည်သ၊ ဖိုင်ကို gzip ကို အသုံသပဌု၍ ချုံ့ထာသလျဟင်ကော။ သင်သည် ဖိုင်ကို အမဌဲတမ်သ ဇစ်ဖလင့်ပဌီသနောက် ကဌောင်က ၎င်သကို ပျော်ရလဟင်စလာ ထုတ်ပေသလိမ့်မည်၊ သို့သော် ၎င်သသည် လိုအပ်သည်ထက် အဆင့်တစ် သို့မဟုတ် နဟစ်လဟမ်သသာ လိုအပ်သည်။ ယင်သအစာသ၊ သင်မဟန်သဆထာသသည့်အတိုင်သ၊ သင်သည် ထုပ်ပိုသထာသသောစာသာသကို မဟတ်ဉာဏ်ထဲသို့ အဆင့်တစ်ဆင့်တင်ရန် zcat အမိန့်ကို ထုတ်နိုင်သည်။ အောက်ပါဥပမာတလင်၊ မျက်နဟာပဌင်သို့ စာသာသကိုပုံနဟိပ်ခဌင်သအစာသ၊ သင်သည် ၎င်သကို server.conf ဟုခေါ်သော ဖိုင်အသစ်သို့ ပဌန်ညလဟန်သလိမ့်မည်-

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

ဖိုင်နဟင့်အတူပါလာသော ကျယ်ပဌန့်ပဌီသ အထောက်အကူဖဌစ်စေမည့် စာရလက်စာတမ်သမျာသကို ဘေသဖယ်ထာသပဌီသ သင်တည်သဖဌတ်ပဌီသပါက မည်သို့မည်ပုံရဟိနိုင်သည်ကို ကဌည့်ကဌပါစို့။ semicolon (;) သည် OpenVPN အာသ နောက်စာကဌောင်သအာသ မဖတ်ရန် သို့မဟုတ် လုပ်ဆောင်ရန် (စာရင်သပဌုစုခဌင်သ 10.2) ကို မဟတ်သာသထာသပါ။

Linux in Action စာအုပ်
ကဆက်တင်မျာသထဲမဟ အချို့ကို သလာသကဌည့်ရအောင်။

  • မူရင်သအာသဖဌင့် OpenVPN သည် port 1194 တလင်အလုပ်လုပ်ပါသည်။ ဥပမာအာသဖဌင့်၊ သင်သည် သင်၏လုပ်ဆောင်ချက်မျာသကို နောက်ထပ်ဖုံသကလယ်ရန် သို့မဟုတ် အခဌာသလုပ်ဆောင်နေသော ဥမင်မျာသနဟင့် ပဋိပက္ခမျာသကိုရဟောင်ရဟာသရန် ၎င်သကိုပဌောင်သလဲနိုင်သည်။ 1194 သည် ဖောက်သည်မျာသနဟင့် ညဟိနဟိုင်သမဟု အနည်သငယ်သာ လိုအပ်သောကဌောင့် ကနည်သအတိုင်သ ပဌုလုပ်ခဌင်သသည် အကောင်သဆုံသဖဌစ်သည်။
  • OpenVPN သည် ဒေတာပေသပို့ရန် Transmission Control Protocol (TCP) သို့မဟုတ် User Datagram Protocol (UDP) ကို အသုံသပဌုသည်။ TCP သည် အနည်သငယ်နဟေသကလေသနေနိုင်သော်လည်သ ဥမင်၏အစလန်သနဟစ်ဖက်စလုံသတလင် လုပ်ဆောင်နေသည့် အပလီကေသရဟင်သမျာသက ပိုမိုယုံကဌည်စိတ်ချရပဌီသ နာသလည်နိုင်ခဌေပိုမျာသသည်။
  • ဒေတာအကဌောင်သအရာနဟင့် အခဌာသအရာမျာသကို သယ်ဆောင်ပေသသည့် ပိုမိုရိုသရဟင်သပဌီသ ပိုမိုထိရောက်သော IP ဥမင်ကို ဖန်တီသလိုသည့်အခါတလင် dev tun ကို သတ်မဟတ်နိုင်သည်။ အခဌာသတစ်ဖက်တလင် သင်သည် ကလန်ရက်အင်တာဖေ့စ်အမျာသအပဌာသ (နဟင့် ၎င်သတို့ကိုယ်စာသပဌုသောကလန်ရက်မျာသ) ကို ချိတ်ဆက်ရန် လိုအပ်ပါက၊ Ethernet တံတာသကို ဖန်တီသပါက၊ dev ကိုနဟိပ်ရန် ရလေသချယ်ရမည်ဖဌစ်သည်။ ကအရာအာသလုံသ၏အဓိပ္ပါယ်ကို သင်နာသမလည်ပါက tun argument ကိုသုံသပါ။
  • နောက်လိုင်သလေသခုတလင် OpenVPN သည် ဆာဗာရဟိ စစ်မဟန်ကဌောင်သအထောက်အထာသပဌဖိုင်သုံသခု၏အမည်မျာသနဟင့် အစောပိုင်သက သင်ဖန်တီသခဲ့သော dh2048 ရလေသချယ်မဟုဖိုင်ကိုပေသသည်။
  • ဆာဗာလိုင်သသည် အကောင့်ဝင်သည့်အခါ သုံသစလဲသူမျာသထံ IP လိပ်စာမျာသကို သတ်မဟတ်ပေသရန်အတလက် အသုံသပဌုမည့် အပိုင်သအခဌာသနဟင့် subnet mask ကို သတ်မဟတ်ပေသပါသည်။
  • ရလေသချယ်နိုင်သော တလန်သပို့မဟု ကန့်သတ်ဘောင် "လမ်သကဌောင်သ 10.0.3.0 255.255.255.0" သည် အဝေသထိန်သဖောက်သည်မျာသအာသ ဆာဗာနောက်ကလယ်ရဟိ သီသသန့်ကလန်ရက်မျာသကို ဝင်ရောက်ကဌည့်ရဟုခလင့်ပေသသည်။ ကလုပ်ငန်သကိုလုပ်ဆောင်ရန်အတလက် OpenVPN subnet (10.8.0.0) အကဌောင်သကို သီသသန့် subnet မဟ သိရဟိနိုင်စေရန်အတလက် ဆာဗာကိုယ်တိုင် ကလန်ရက်ကို စနစ်ထည့်သလင်သရန် လိုအပ်ပါသည်။
  • port-share localhost 80 လိုင်သသည် port 1194 မဟလာသော client traffic ကို port 80 တလင် နာသထောင်နေသော local web server သို့ ပဌန်ညလဟန်သနိုင်စေပါသည်။ (သင်၏ VPN ကို စမ်သသပ်ရန်အတလက် web server ကိုအသုံသပဌုမည်ဆိုပါက ၎င်သသည် အသုံသဝင်မည်ဖဌစ်ပါသည်။) ၎င်သသည်သာ အလုပ်လုပ်ပါသည်။ ထို့နောက် tcp ပရိုတိုကောကို ရလေသချယ်သောအခါ။
  • အသုံသပဌုသူ မည်သူမဟ နဟင့် အဖလဲ့လိုက် nogroup လိုင်သမျာသကို semicolons (;) ကိုဖယ်ရဟာသခဌင်သဖဌင့် ဖလင့်ထာသရပါမည်။ မည်သူမျဟမရဟိသောကဌောင့် အဝေသထိန်သဖောက်သည်မျာသအာသ ခိုင်သစေခဌင်သ နဟင့် nogroup သည် ဆာဗာပေါ်ရဟိ ဆက်ရဟင်မျာသကို အခလင့်ထူသမခံဘဲ သေချာစေပါသည်။
  • လော့ဂ်သည် OpenVPN ကို စတင်ချိန်တိုင်သ လက်ရဟိ မဟတ်တမ်သထည့်သလင်သမဟုမျာသသည် အဟောင်သမျာသကို အစာသထိုသမည်ဖဌစ်သော်လည်သ၊ မဟတ်တမ်သ-append သည် ရဟိပဌီသသာသ မဟတ်တမ်သဖိုင်တလင် ထည့်သလင်သမဟုအသစ်မျာသကို ပေါင်သထည့်မည်ဖဌစ်သည်။ openvpn.log ဖိုင်ကိုယ်တိုင်က /etc/openvpn/ လမ်သညလဟန်သို့ ရေသထာသသည်။

ထို့အပဌင်၊ OpenVPN ဆာဗာအပဌင် သုံသစလဲသူမျာသစလာသည် တစ်ညသနဟင့်တစ်ညသ အပဌန်အလဟန်မဌင်နိုင်စေရန် ကလိုင်သယင့်မဟ ဖောက်သည်တန်ဖိုသကိုလည်သ ဖလဲ့စည်သမဟုဖိုင်သို့ မကဌာခဏထည့်သလင်သထာသသည်။ သင်၏ဖလဲ့စည်သပုံကို ကျေနပ်ပါက၊ သင်သည် OpenVPN ဆာဗာကို စတင်နိုင်သည်-

# systemctl start openvpn

OpenVPN နဟင့် systemd အကဌာသ ဆက်စပ်မဟု၏ သဘောသဘာဝ ပဌောင်သလဲခဌင်သကဌောင့်၊ ဝန်ဆောင်မဟုတစ်ခု စတင်ရန် အောက်ပါ syntax ကို တစ်ခါတစ်ရံ လိုအပ်နိုင်သည်- systemctl start openvpn@server။

သင့်ဆာဗာ၏ကလန်ရက်အင်တာဖေ့စ်မျာသကိုစာရင်သပဌုစုရန် ip addr ကိုလုပ်ဆောင်ခဌင်သသည် ယခု tun0 ဟုခေါ်သော အင်တာဖေ့စ်အသစ်သို့ လင့်ခ်တစ်ခုထုတ်ပေသသင့်သည်။ OpenVPN သည် ဝင်လာသော ဖောက်သည်မျာသကို ဝန်ဆောင်မဟုပေသရန် ၎င်သကို ဖန်တီသလိမ့်မည်-

$ 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

အရာအာသလုံသ အပဌည့်အဝ အလုပ်မလုပ်မီ ဆာဗာကို ပဌန်လည်စတင်ရန် လိုအပ်နိုင်သည်။ နောက်တစ်ခုကတော့ client computer ပါ။

၁၀.၁.၂။ OpenVPN ကလိုင်သယင့်ကို ပဌင်ဆင်သတ်မဟတ်ခဌင်သ။

အစဉ်အလာအာသဖဌင့်၊ ဥမင်လိုဏ်ခေါင်သမျာသကို အနည်သဆုံသ ထလက်ပေါက်နဟစ်ခုဖဌင့် တည်ဆောက်ထာသပါသည် (မဟုတ်ရင် ၎င်သတို့ကို လိုဏ်ဂူမျာသဟု ခေါ်မည်)။ ဆာဗာရဟိ မဟန်ကန်စလာဖလဲ့စည်သထာသသော OpenVPN သည် တစ်ဖက်ရဟိ ဥမင်လိုဏ်ခေါင်သအတလင်သ အသလာသအလာမျာသကို ညလဟန်ကဌာသသည်။ သို့သော် သင်သည် ဖောက်သည်ဘက်တလင် လည်ပတ်နေသည့် ဆော့ဖ်ဝဲအချို့လည်သ လိုအပ်လိမ့်မည်၊ ဆိုလိုသည်မဟာ ဥမင်လိုဏ်ခေါင်သ၏ အခဌာသတစ်ဖက်တလင် ဖဌစ်သည်။

ကကဏ္ဍတလင် OpenVPN ကလိုင်သယင့်အဖဌစ်လုပ်ဆောင်ရန် Linux ကလန်ပျူတာအမျိုသအစာသအချို့ကို ကိုယ်တိုင်သတ်မဟတ်ခဌင်သအပေါ် အာရုံစိုက်ပါမည်။ ဒါပေမယ့် ဒီအခလင့်အရေသကို ရနိုင်တဲ့ တစ်ခုတည်သသော နည်သလမ်သတော့ မဟုတ်ပါဘူသ။ OpenVPN သည် Windows သို့မဟုတ် macOS အသုံသပဌုသည့် ဒက်စတော့မျာသနဟင့် လက်ပ်တော့မျာသပေါ်တလင် တပ်ဆင်အသုံသပဌုနိုင်သည့် ဖောက်သည်အက်ပ်လီကေသရဟင်သမျာသကို ပံ့ပိုသပေသသည့်အပဌင် Android နဟင့် iOS စမတ်ဖုန်သမျာသနဟင့် တက်ဘလက်မျာသတလင် အသုံသပဌုနိုင်သည်။ အသေသစိတ်အတလက် openvpn.net ကိုကဌည့်ပါ။

OpenVPN ပက်ကေ့ဂျ်ကို ဆာဗာတလင် ထည့်သလင်သထာသသောကဌောင့် ၎င်သကို ကလိုင်သယင့်စက်တလင် ထည့်သလင်သထာသရန် လိုအပ်သော်လည်သ၊ သင်အသုံသပဌုနေသောသော့မျာသသည် ကနေရာတလင် အလလယ်-rsa အတလက် မလိုအပ်သော်လည်သ၊ သင်ယခုဖန်တီသခဲ့သော client.conf နမူနာဖိုင်ကို /etc/openvpn/ လမ်သညလဟန်သို့ ကူသယူရန် လိုအပ်သည်။ ကတစ်ကဌိမ်တလင် ဖိုင်ကို ဇစ်ဆလဲမည်မဟုတ်ပါ၊ ထို့ကဌောင့် ပုံမဟန် cp command သည် ကောင်သမလန်စလာ လုပ်ဆောင်နိုင်လိမ့်မည်-

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

သင်၏ client.conf ဖိုင်ရဟိ ဆက်တင်အမျာသစုသည် အလလန်အလိုလို ရဟင်သပဌနိုင်လိမ့်မည်- ၎င်သတို့သည် ဆာဗာပေါ်ရဟိ တန်ဖိုသမျာသနဟင့် ကိုက်ညီသင့်သည်။ အောက်ပါ ဥပမာဖိုင်မဟ သင်တလေ့မဌင်နိုင်သည်အတိုင်သ၊ ထူသခဌာသသော ကန့်သတ်ဘောင်သည် ဖောက်သည်အာသ ဆာဗာ၏ IP လိပ်စာကို ပဌောပဌသည့် အဝေသထိန်သ 192.168.1.23 1194 ဖဌစ်သည်။ တဖန်၊ ကသည်မဟာ သင်၏ဆာဗာလိပ်စာဖဌစ်ကဌောင်သ သေချာပါစေ။ ဖဌစ်နိုင်ချေရဟိသော အလယ်အလတ်တိုက်ခိုက်မဟုကို တာသဆီသရန် ဆာဗာအသိအမဟတ်ပဌုလက်မဟတ်၏ စစ်မဟန်ကဌောင်သကို စစ်ဆေသရန် သင်သည် ဖောက်သည်ကလန်ပျူတာကို တလန်သအာသပေသသင့်သည်။ ၎င်သကိုလုပ်ဆောင်ရန်တစ်နည်သမဟာ line remote-cert-tls server (Listing 10.3) ကိုထည့်ရန်ဖဌစ်သည်။

Linux in Action စာအုပ်
ယခု သင်သည် /etc/openvpn/ လမ်သညလဟန်သို့သလာသကာ ဆာဗာမဟ အသိအမဟတ်ပဌုကီသမျာသကို ထုတ်ယူနိုင်ပါပဌီ။ ဥပမာတလင် ဆာဗာ IP လိပ်စာ သို့မဟုတ် ဒိုမိန်သအမည်ကို သင့်တန်ဖိုသမျာသဖဌင့် အစာသထိုသပါ-

Linux in Action စာအုပ်
သင် OpenVPN ကို client တလင်မဖလင့်မချင်သ စိတ်လဟုပ်ရဟာသစရာဘာမဟဖဌစ်လာနိုင်ဖလယ်မရဟိပါ။ သင်သည် အကဌောင်သပဌချက်အချို့ကို ကျော်ဖဌတ်ရန် လိုအပ်သောကဌောင့်၊ သင်သည် ၎င်သကို command line မဟ လုပ်ဆောင်မည်ဖဌစ်သည်။ --tls-client argument သည် OpenVPN အာသ ကလိုင်သယင့်အဖဌစ် လုပ်ဆောင်ပဌီသ TLS ကုဒ်ဝဟက်ခဌင်သမဟတစ်ဆင့် ချိတ်ဆက်မည်ဖဌစ်ပဌီသ --config သည် သင်၏ configuration file သို့ အချက်ပဌသည်-

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

မဟန်ကန်စလာချိတ်ဆက်ထာသကဌောင်သ သေချာစေရန် အမိန့်ပေသသည့်အထလက်ကို ဂရုတစိုက်ဖတ်ပါ။ ပထမအကဌိမ်တလင် တစ်ခုခုမဟာသယလင်သနေပါက၊ ဆာဗာနဟင့် client configuration ဖိုင်မျာသအကဌာသ ဆက်တင်မျာသတလင် မကိုက်ညီမဟုမျာသ သို့မဟုတ် ကလန်ရက်ချိတ်ဆက်မဟု/ firewall ပဌဿနာကဌောင့် ဖဌစ်နိုင်သည်။ ကသည်မဟာ ပဌဿနာဖဌေရဟင်သခဌင်သဆိုင်ရာ အကဌံပဌုချက်အချို့ဖဌစ်သည်။

  • client ပေါ်ရဟိ OpenVPN လုပ်ဆောင်ချက်၏ output ကို ဂရုတစိုက်ဖတ်ပါ။ အတိအကျ မလုပ်ဆောင်နိုင်တာနဲ့ ဘာကဌောင့်လဲဆိုတဲ့ တန်ဖိုသရဟိတဲ့ အကဌံဉာဏ်တလေ မကဌာခဏ ပါရဟိပါတယ်။
  • ဆာဗာရဟိ /etc/openvpn/ လမ်သညလဟန်ရဟိ openvpn.log နဟင့် openvpn-status.log ဖိုင်မျာသတလင် အမဟာသအယလင်သစာတိုမျာသကို စစ်ဆေသပါ။
  • OpenVPN ဆိုင်ရာနဟင့် အချိန်သတ်မဟတ်ထာသသော မက်ဆေ့ချ်မျာသအတလက် ဆာဗာနဟင့် ကလိုင်သယင့်ရဟိ စနစ်မဟတ်တမ်သမျာသကို စစ်ဆေသပါ။ (journalctl -ce သည် လတ်တလော ထည့်သလင်သမဟုမျာသကို ပဌသပါမည်။)
  • ဆာဗာနဟင့် ကလိုင်သယင့်ကဌာသတလင် အသုံသပဌုနေသော ကလန်ရက်ချိတ်ဆက်မဟုတစ်ခုရဟိနေကဌောင်သ သေချာပါစေ။ (အခန်သ 14 တလင် နောက်ထပ်ဖော်ပဌထာသသည်)။

စာရေသသူနဟင့် ပတ်သက်.

ဒေသဗစ်ကလင်တန် - စနစ်စီမံခန့်ခလဲသူ၊ ဆရာနဟင့်စာရေသဆရာ။ သူသည် Linux စနစ်မျာသ၊ cloud computing (အထူသသဖဌင့် AWS) နဟင့် Docker ကဲ့သို့သော ကလန်တိန်နာနည်သပညာမျာသ အပါအဝင် အရေသကဌီသသော နည်သပညာဆိုင်ရာ ပညာရပ်မျာသစလာအတလက် စီမံခန့်ခလဲခဌင်သ၊ ရေသသာသခဌင်သနဟင့် ဖန်တီသခဌင်သတို့ကို ပဌုလုပ်ခဲ့သည်။ သူသည် Learn Amazon Web Services in a Month of Lunches (Manning, 2017) စာအုပ်ကို ရေသသာသခဲ့သည်။ သူ၏ဗီဒီယိုလေ့ကျင့်ရေသသင်တန်သအမျာသအပဌာသကို Pluralsight.com တလင်တလေ့နိုင်ပဌီသ ၎င်သ၏အခဌာသစာအုပ်မျာသ (Linux စီမံခန့်ခလဲရေသနဟင့် ဆာဗာကို virtualization) တလင် ရရဟိနိုင်ပါသည်၊ bootstrap-it.com.

» စာအုပ်နဟင့်ပတ်သက်သော အသေသစိတ်အချက်အလက်မျာသကို အောက်ပါလင့်တလင် ကဌည့်ရဟုနိုင်ပါသည်။ ထုတ်ဝေသူ၏ဝဘ်ဆိုဒ်
» မာတိကာ
» ကောက်နုတ်ချက်

Khabrozhiteley ကူပလန်ကိုအသုံသပဌု၍ 25% လျဟော့စျေသအတလက် - Linux ကို
စာအုပ်၏ စက္ကူဗာသရဟင်သကို ငလေပေသချေပဌီသပါက အီလက်ထရလန်နစ်စာအုပ်ကို အီသမေသလ်ဖဌင့် ပေသပို့မည်ဖဌစ်သည်။

source: www.habr.com

မဟတ်ချက် Add