Knowledgebase Profitserver ဝန်ဆောင်မှုဖြင့် လုပ်ဆောင်ရန် ရိုးရှင်းသော ညွှန်ကြားချက်များ
အဓိက Knowledgebase AmneziaWG ဆာဗာ ဖြန့်ကျက်မှုလမ်းညွှန်

AmneziaWG ဆာဗာ ဖြန့်ကျက်မှုလမ်းညွှန်


လူအများစုဟာ အခကြေးငွေပေးရတဲ့၊ အသင့်သုံးဝန်ဆောင်မှုတွေကို အားကိုးမယ့်အစား ကိုယ်ပိုင် VPN ကို အသုံးပြုလာကြပါတယ်။ ဈေးသက်သာပြီး ကိုယ်ရေးကိုယ်တာအတွက် ပိုကောင်းတဲ့အပြင် server ကို အပြည့်အဝထိန်းချုပ်နိုင်ပါတယ်။ ကွန်ရက်ပိတ်ဆို့တဲ့ ဒေသတွေအတွက် အထိရောက်ဆုံးရွေးချယ်မှုတစ်ခုကတော့ WireGuard အပေါ်မှာ Amnezia ပရောဂျက်က တီထွင်ထားတဲ့ protocol တစ်ခုဖြစ်တဲ့ AmneziaWG ပါပဲ။

Classic WireGuard ဟာ မြန်ဆန်ပြီး ယုံကြည်စိတ်ချရပေမယ့် ပုံသေ packet structure နဲ့ ခန့်မှန်းနိုင်တဲ့ handshake ရှိပြီး DPI (Deep Packet Inspection) စနစ်တွေက ယုံကြည်စိတ်ချစွာ fingerprint နဲ့ block လုပ်နိုင်ပါတယ်။ AmneziaWG က ဒါကို ဖြေရှင်းပေးပါတယ်- သာမန် WireGuard connection ထဲကို junk packets တွေ ထည့်ပေးပြီး headers တွေကို randomize လုပ်ကာ handshake fields တွေရဲ့ အရွယ်အစားကို ပြောင်းလဲပေးပါတယ် — ဒါကြောင့် WireGuard ရဲ့ ထူးခြားတဲ့ signature ပျောက်ကွယ်သွားပြီး traffic ဟာ သာမန် UDP traffic နဲ့ မထင်ရှားတော့ပါဘူး။

ဂန္ထဝင် tunnel တစ်ခုကို လည်ပတ်နေပြီး ပြောင်းလဲသင့်မသင့် တွေးနေပါသလား။ ၎င်းကို Linux ပေါ်ရှိ VPN server setup တွင် ရိုးရိုး OpenVPN/PPTP setup နှင့် နှိုင်းယှဉ်ပါ - PPTP သို့မဟုတ် OpenVPN? သို့မဟုတ် သင့် server တွင် Wireguard VPN ကို မည်သို့တပ်ဆင်ရမည်နည်း တွင် vanilla WireGuard (ရှုပ်ထွေးမှုမရှိပါ) နှင့် နှိုင်းယှဉ်ပါ ။

ဒီလမ်းညွှန်ချက်က Docker ဒါမှမဟုတ် web panel မပါဘဲ AmneziaWG server ကို ကိုယ်တိုင်တည်ဆောက်ပါတယ် — VPS မှာ အသေးဆုံး footprint ဖြစ်ပြီး command line ကနေ အပြည့်အဝ configure လုပ်ထားပါတယ်။ အပေါ့ပါးဆုံး option ဖြစ်ပြီး GUI၊ database နဲ့ reverse proxy မလိုအပ်တဲ့အတွက် budget VPS မှာ ကောင်းကောင်းအလုပ်လုပ်ပါတယ်။ အောက်က ဥပမာ server က placeholder IP address ကိုသုံးပါတယ် — ပေါ်လာတဲ့နေရာတိုင်းမှာ သင့်ရဲ့ကိုယ်ပိုင် VPS ရဲ့ address နဲ့ အစားထိုးလိုက်ပါ။

လိုအပ်မည့်အရာများ- Ubuntu 22.04/24.04 သို့မဟုတ် Debian 11/12 ကို အသုံးပြုထားသော VPS တစ်ခု၊ root access နှင့် သင့် VPS ၏ IP address။ domain name မလိုအပ်ပါ - AmneziaWG သည် certificates များကို အသုံးမပြုသောကြောင့် သက်တမ်းတိုးရန် ဘာမှမလိုအပ်ပါ၊ DPI အနေဖြင့် TLS handshake အဖြစ် flag လုပ်ရန် ဘာမှမလိုအပ်ပါ။

ဆာဗာမရှိသေးဘူးလား။ ဆာဗာမှာယူနည်းကို ကြည့်ပါ

မာတိကာ
minimize

ဆာဗာသို့ ချိတ်ဆက်ခြင်း

ဝင်းဒိုး (PuTTY)

PuTTY ကိုဖွင့်ပြီး Host Name နေရာမှာ သင့်ရဲ့ VPS IP address ကိုရိုက်ထည့်ပြီး port ကို 22 သတ်မှတ်ပြီး သင့်ရဲ့ VPS provider က email ပို့လိုက်တဲ့ password ကိုသုံးပြီး root အနေနဲ့ login ဝင်ပါ။

ဆာဗာ IP လိပ်စာ: သင့် IP လိပ်စာ

root အနေဖြင့် ဝင်ရောက်ပါ

စကားဝှက်: သင့်စကားဝှက်

၁။ PuTTY ကိုဖွင့်ပြီး Host Name နေရာမှာ သင့်ရဲ့ VPS IP address ကို ရိုက်ထည့်ပါ။  

ချိတ်ဆက်မှုအသေးစိတ်အချက်အလက်များကို မထည့်သွင်းမီ၊ ပုံသေ PuTTY Configuration ဝင်းဒိုး။

၂။ port ကို ၂၂ သို့ သတ်မှတ်ပါ။ 

session သည် VPS IP address နှင့် port 22 ဖြင့် ဖြည့်သွင်းထားပြီး၊ သိမ်းဆည်းထားသော session “My VPS” ကို ရွေးချယ်ကာ Open ကို နှိပ်ရန် အဆင်သင့်ဖြစ်နေပါပြီ။

၃။ root အနေဖြင့် login ဝင်ပါ။ 

SSH session ကိုဖွင့်ပြီး login username ကိုတောင်းတဲ့ PuTTY terminal window အသစ်။

၄။ သင့် VPS ပံ့ပိုးပေးသူက သင့်ထံ အီးမေးလ်ပို့ထားသော စကားဝှက်ကို အသုံးပြုခြင်း။

root လို့ ရိုက်ထည့်ပြီးရင် PuTTY က အကောင့်ရဲ့ password ကို တောင်းပါလိမ့်မယ်။

ရလဒ်က အောက်ပါအတိုင်း ဖြစ်သင့်ပါတယ်။

အောင်မြင်စွာ ဝင်ရောက်နိုင်ခြင်း- Debian message-of-the-day banner ပြီးနောက် root shell prompt (root@copywr:~#) ပေါ်လာပါမည်။

PuTTY/SSH မှတစ်ဆင့် ချိတ်ဆက်ခြင်းအကြောင်း အသေးစိတ်လမ်းညွှန်ချက်အတွက် SSH မှတစ်ဆင့် Linux server သို့ မည်သို့ချိတ်ဆက်ရမည်ကို ကြည့်ပါ။

Linux / macOS (တာမီနယ်)

ssh root@YOUR_SERVER_IP

အောက်ဖော်ပြပါ command အားလုံးကို ဤ SSH session တွင် server ပေါ်တွင် run သည် — အပိုင်း ၂ မှ ၅ အထိနှင့် အပိုင်း ၉ ရှိ server-side check များကို လွှမ်းခြုံထားသည်။ အပိုင်း ၆ မှ ၈ (VPN client ကို install လုပ်ပြီး configure လုပ်ခြင်း) သည် သင့်ကိုယ်ပိုင် Windows/macOS/Linux device တွင် ဖြစ်ပေါ်သည်၊ အဘယ်ကြောင့်ဆိုသော် VPN run ရန် လိုအပ်သော device ဖြစ်သောကြောင့်ဖြစ်သည်။ ထိုအပိုင်းတစ်ခုစီတွင် မည်သည့်စာကြောင်းများရှိပါက server ကို ထိနေသေးသည်ကို ရှင်းရှင်းလင်းလင်း ဖော်ပြထားသည်။

Server ပြင်ဆင်ခြင်း

စနစ်အဆင့်မြှင့်တင်ပါ

ဘာမှမထည့်သွင်းမီ၊ package list ကို refresh လုပ်ပြီး install လုပ်ထားတဲ့ package တွေကို upgrade လုပ်ပါ-

apt update -y && apt upgrade -y

အကယ်၍ ၎င်းသည် kernel ကို အဆင့်မြှင့်တင်ပါက၊ အပိုင်း ၃ ရှိ AmneziaWG kernel module ကို မတည်ဆောက်မီ reboot လုပ်ပါ၊ မဟုတ်ပါက DKMS သည် မှားယွင်းသော kernel headers များကို ဆန့်ကျင်၍ တည်ဆောက်နိုင်ပြီး module ကို load လုပ်၍မရပါ။ (apt နှင့် Linux package managers များ မည်သို့အလုပ်လုပ်ပုံအကြောင်း ပြန်လည်လေ့လာရန် Linux Package Managers ကို ကြည့်ပါ ။) အောက်ပါဖြင့် စစ်ဆေးပါ-

cat /var/run/reboot-required
စနစ်အပ်ဒိတ်လုပ်နေစဉ်အတွင်း kernel package အသစ် (linux-image-6.1.0-52-amd64) ကို ဒေါင်းလုဒ်လုပ်နေစဉ် Apt အဆင့်မြှင့်တင်ခြင်း။ Apt အဆင့်မြှင့်တင်မှုပြီးဆုံးခြင်း- initramfs ကို ပြန်လည်ထုတ်လုပ်ပြီး ထိခိုက်ခံရသော ဝန်ဆောင်မှုများကို ပြန်လည်စတင်ပါသည်။

IP forwarding ကိုဖွင့်ပါ

ဤဆက်တင်သည် ဆာဗာအား client များ၏ packet များကို အင်တာနက်သို့ ထပ်ဆင့်ပို့ခွင့်ပြုသည် - ၎င်းမရှိလျှင် tunnel ပေါ်လာမည်ဖြစ်သော်လည်း traffic သည် ၎င်းမှတစ်ဆင့် ဖြတ်သန်းမည်မဟုတ်ပါ။

echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/00-amnezia.conf
sysctl --system

ပထမ command က dedicated config file တစ်ခု ဖန်တီးပေးပြီး ဒုတိယ command ကတော့ server ကို reboot မလုပ်ဘဲ apply လုပ်ပါတယ်။

sysctl --system သည် sysctl.d config ဖိုင်တိုင်းကို အသုံးပြုနေပြီး၊ net.ipv4.ip_forward = 1 သည် ယခု အသက်ဝင်နေကြောင်း အတည်ပြုပါသည်။

firewall (UFW) ကို configure လုပ်ပါ။

UFW စည်းမျဉ်းများအကြောင်း ပိုမိုသိရှိလိုပါက Linux တွင် Firewall ကို ပြင်ဆင်ခြင်းကို ကြည့်ပါ။

လိုအပ်မည့် port နှစ်ခုကို ဖွင့်ပါ- SSH အတွက် 22/tcp (ဤစည်းမျဉ်းကို ကျော်သွားပါက server သို့ ဝင်ရောက်ခွင့် ဆုံးရှုံးနိုင်ခြေရှိသည်) နှင့် 42666/udp၊ AmneziaWG နားထောင်မည့် port။

apt install ufw -y
ufw allow 22/tcp
ufw allow 42666/udp
ufw --force enable
ufw status

စည်းမျဉ်းနှစ်ခုစလုံးကို ufw status output တွင် ALLOW အဖြစ်ပြသသင့်သည်။

firewall ဖွင့်ထားချိန်တွင် IPv4 နှင့် IPv6 နှစ်မျိုးလုံးအတွက် 22/tcp နှင့် 42666/udp ကို အတည်ပြုသည့် Ufw status ကို ခွင့်ပြုထားသည်။

AmneziaWG ကို ထည့်သွင်းခြင်း

Debian သည် Ubuntu ပုံစံ PPA များကို တိုက်ရိုက်မပံ့ပိုးသောကြောင့် repository ကို add-apt-repository ဖြင့်ထည့်မည့်အစား ကိုယ်တိုင်ထည့်သွင်းရမည်ဖြစ်သည်။ ၎င်းသည် Ubuntu တွင်လည်း အလားတူအလုပ်လုပ်ပါသည်။

repository ကို ကိုယ်တိုင်ထည့်ပါ

သိုလှောင်ရုံကိုထည့်ပါ
echo "deb [arch=amd64] https://ppa.launchpadcontent.net/amnezia/ppa/ubuntu jammy main" > /etc/apt/sources.list.d/amnezia.list

GPG လက်မှတ်ထိုးသော့ကို ထည့်ပါ

အသုံးမပြုတော့သော apt-key command အစား dearmored keyring file ကိုသုံးပြီး PPA ရဲ့ အစစ်အမှန် signing key (fingerprint 75C9DD72C799870E310542E24166F2C257290828): ကို ရယူပါ။

apt install -y gnupg2
gpg --keyserver keyserver.ubuntu.com --recv-keys 57290828
gpg --export 57290828 | tee /usr/share/keyrings/amnezia.gpg > /dev/null
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/amnezia.gpg] https://ppa.launchpadcontent.net/amnezia/ppa/ubuntu jammy main" > /etc/apt/sources.list.d/amnezia.list

အပ်ဒိတ်လုပ်ပြီး ထည့်သွင်းပါ

apt update
apt install -y amneziawg
Apt install -y amneziawg output: DKMS သည် လည်ပတ်နေသော kernel နှင့် ကိုက်ညီသော amneziawg kernel module ကို တည်ဆောက်ပြီး ထည့်သွင်းမှုကို ပြီးမြောက်အောင် လုပ်ဆောင်သည်။

တင်ထားသော module ကိုစစ်ဆေးပါ

modprobe amneziawg
lsmod | grep amnezia
Modprobe လုပ်ပြီး amneziawg module နှင့် ၎င်း၏ dependencies (curve25519၊ chacha20poly1305၊ etc.) ကို load လုပ်ထားကြောင်း အတည်ပြုပါသည်။

Server နှင့် Client Configuration ကို ဖန်တီးခြင်း

အကူအညီပေးသည့် utilities များကို ထည့်သွင်းပါ

qrcode dependency ကို install လုပ်ပြီး dedicated working directory တစ်ခု ဖန်တီးပြီး community config-generator script ကို download လုပ်ပါ။

apt install -y python3-qrcode
mkdir -p ~/awg && cd ~/awg
wget -O awgcfg.py \
  https://gist.githubusercontent.com/remittor/8c3d9ff293b2ba4b13c367cc1a69f9eb/raw/awgcfg.py

python3-qrcode ကို သင့် distro ရဲ့ repos မှာ မရနိုင်ဘူးဆိုရင် pip3 install qrcode --break-system-packages ကို ပြန်သုံးပါ (Debian 12+/Ubuntu 24.04 မှာ flag လိုအပ်ပြီး default အနေနဲ့ unmanaged pip install တွေကို block လုပ်ပါတယ်)။ install နှစ်ခုလုံးကို မ run ပါနဲ့ — တစ်ခုကို ရွေးပါ။

Awgcfg.py သည် တရားဝင်မဟုတ်သော၊ ပြင်ပအဖွဲ့အစည်း script တစ်ခု (GitHub အသုံးပြုသူ "remittor" မှ) ဖြစ်ပြီး တရားဝင် Amnezia ပရောဂျက် tool မဟုတ်ပါ။ အထက်ပါ URL သည် gist ၏ raw content ကို revision hash မပါဘဲ ညွှန်ပြနေသောကြောင့် ၎င်းသည် author နောက်ဆုံးတွန်းအားပေးသည့် မည်သည့်အရာကိုမဆို အမြဲဆွဲယူသည် - silent update (သို့မဟုတ် gist ကို ဖျက်လိုက်ခြင်း) သည် သတိပေးချက်မရှိဘဲ သင့် setup ကို ပျက်စီးစေနိုင်သည်။ ဖြစ်နိုင်သည့်နေရာတွင်၊ ၎င်းကို သတ်မှတ်ထားသော revision တွင် pin လုပ်ပါ- gist ၏ revision history ကိုဖွင့်ပါ၊ သင်စမ်းသပ်ထားသော version အတွက် commit hash ကိုကူးယူပါ၊ ပြီးနောက် a ကိုသုံးပါ။ URL ကို ဤလမ်းညွှန်ပုံစံ။ 

ဆာဗာဖွဲ့စည်းပုံကို ဖန်တီးပါ

/etc/amnezia/amneziawg/awg0.conf ကို ဖန်တီးပါ။ tunnel ရဲ့ internal subnet နဲ့ UDP port ကို default အနေနဲ့ထားခဲ့နိုင်သလို ကိုယ်ပိုင် port ကိုလည်း သတ်မှတ်နိုင်ပါတယ်။

python3 awgcfg.py --make /etc/amnezia/amneziawg/awg0.conf \
  -i 10.10.8.1/24 -p 42666

-i flag သည် tunnel ၏ internal network address နှင့် mask ကို သတ်မှတ်ပေးပြီး -p သည် server ၏ UDP port (အဆင့် 2.3 တွင် ဖွင့်လှစ်ခဲ့သော UDP port) ကို သတ်မှတ်ပေးသည်။

Awgcfg.py --make /etc/amnezia/amneziawg/awg0.conf ကို ဖန်တီးပြီး server ၏ main network interface (ens3) ကို ရှာဖွေသည်။

client-config template ကို ဖန်တီးပါ

python3 awgcfg.py --create

၎င်းက template တစ်ခုကို client config တစ်ခုချင်းစီတည်ဆောက်ထားသည့် folder တစ်ခုတည်းတွင် သိမ်းဆည်းသည် - ၎င်းတွင် server ၏ public key၊ ၎င်း၏ IP address နှင့် AmneziaWG ကို ရိုးရိုး WireGuard နှင့် ခွဲခြားသိမြင်စေသော obfuscation parameters (Jc၊ Jmin၊ Jmax၊ S1၊ S2၊ H1–H4) တို့ ပါဝင်ပြီးသားဖြစ်သည်။

Awgcfg.py --create _defclient.config ကိုရေးသားခြင်းဖြင့် template အသစ်ကို client config များမှ ထုတ်ပေးမည်ဖြစ်သည်။

ဖောက်သည်များ ထည့်ပါ

စက်ပစ္စည်းတစ်ခုလျှင် entry တစ်ခုဖန်တီးပါ — အမည်သည် မည်သည့်အရာမဆိုဖြစ်နိုင်သည်၊ ဥပမာ စက်ပစ္စည်းအမည်-

python3 awgcfg.py -a "laptop"
python3 awgcfg.py -a "phone"
Awgcfg.py -a သည် “laptop” နှင့် “phone” client များကို မှတ်ပုံတင်ပြီး တစ်ခုချင်းစီတွင် ၎င်းတို့၏ကိုယ်ပိုင် tunnel IP (10.10.8.2/32 နှင့် 10.10.8.3/32) ကို သတ်မှတ်ပေးထားသည်။

client ဖိုင်များနှင့် QR ကုဒ်များကို ဖန်တီးပါ

python3 awgcfg.py -c -q

~/awg ဖိုဒါမှာ laptop.conf နဲ့ phone.conf လိုမျိုး ဖိုင်တွေအပြင် မိုဘိုင်းအက်ပ်ထဲကို တိုက်ရိုက်စကင်ဖတ်နိုင်တဲ့ ကိုက်ညီတဲ့ PNG QR ကုဒ်တွေ ပါဝင်ပါလိမ့်မယ်။

ဒီ community script မှာ ထူးခြားချက်တစ်ခုရှိပါတယ်။ ဒါကို run လိုက်ရင် တူညီတဲ့ folder ထဲမှာထည့်ထားနိုင်တဲ့ တခြား .init/state ဖိုင်တွေကို ဖျက်ပစ်နိုင်ပါတယ်။ ~/awg ကို AmneziaWG ဖိုင်တွေအတွက်ပဲ သီးသန့်ထားပြီး config တွေကို ပြန်မထုတ်ပေးခင် server key တွေ (awg0.conf ထဲက [Interface] PrivateKey) ကို တခြားနေရာမှာ backup လုပ်ထားပါ။
ထုတ်လုပ်ထားသော laptop.conf ၏ အကြောင်းအရာများမှာ- client ၏ Address၊ DNS၊ obfuscation parameters များနှင့် server ကို ပြန်ညွှန်ပြနေသော [Peer] အပိုင်းတို့ဖြစ်သည်။

~/awg ဖိုဒါမှာ laptop.conf နဲ့ phone.conf လိုမျိုး ဖိုင်တွေအပြင် မိုဘိုင်းအက်ပ်ထဲကို တိုက်ရိုက်စကင်ဖတ်နိုင်တဲ့ ကိုက်ညီတဲ့ PNG QR ကုဒ်တွေ ပါဝင်ပါလိမ့်မယ်။

ဒီ community script မှာ လူသိများတဲ့ ထူးခြားချက်တစ်ခုရှိပါတယ်- ၎င်းကို run ခြင်းဖြင့် သင်တူညီတဲ့ folder ထဲမှာထည့်ထားနိုင်တဲ့ တခြား .init/state ဖိုင်တွေကို ဖျက်ပစ်နိုင်ပါတယ်။ AmneziaWG ဖိုင်တွေအတွက်သာ ~/awg ကို သီးသန့်ထားပြီး config တွေကို ပြန်လည်ထုတ်လုပ်ခြင်းမပြုမီ server key များ (awg0.conf ရှိ [Interface] PrivateKey) ကို အခြားနေရာမှာ backup လုပ်ထားပါ။

ဝန်ဆောင်မှုစတင်ခြင်းနှင့် Autostart ကိုဖွင့်ခြင်း

awg0 interface ကိုဖွင့်ပြီး reboot လုပ်တဲ့အခါ အလိုအလျောက်စတင်နိုင်အောင် enable လုပ်ပါ-

systemctl enable --now awg-quick@awg0
systemctl restart [email protected]
systemctl status [email protected]

အခြေအနေက ယူနစ်ကို boot လုပ်ချိန်မှာ enable လုပ်ထားတဲ့အချိန်မှာ active (exited) လို့ပြနေသင့်ပါတယ်။ console က log တွေပြပြီး "hang" နေတယ်လို့ထင်ရရင် ထွက်ဖို့ Q ကိုနှိပ်ပါ။

awg-quick@awg0.service သည် အသက်ဝင်ပြီး (ထွက်ပြီး) နှင့် enable ဖြစ်နေကြောင်း အတည်ပြုသည့် Systemctl အခြေအနေ၊ interface ၏ ip/iptables setup command များကို log တွင် ပြသထားသည်။

active peers စာရင်းနှင့် per-peer traffic ကို အောက်ပါတို့ဖြင့် စစ်ဆေးပါ-

awg show
Awg သည် awg0 interface ၏ obfuscation parameters များနှင့် ၎င်း၏ configure လုပ်ထားသော peer နှစ်ခု (laptop နှင့် phone) ကို စာရင်းပြုစုထားပြီး၊ တစ်ခုချင်းစီတွင် ၎င်း၏ ခွင့်ပြုထားသော IP ပါရှိသည်။

Windows မှချိတ်ဆက်ခြင်း။

ဒီအပိုင်းမှာ ပါတဲ့အရာအားလုံးဟာ SSH ကနေမဟုတ်ဘဲ သင့်ရဲ့ Windows PC မှာ ဖြစ်ပျက်ပါတယ် — VPN client ကို tunnel ကို တကယ်အသုံးပြုမယ့် device မှာ install လုပ်ရပါမယ်။ server ကို ထိထိမိမိဖြစ်စေမယ့် တစ်ခုတည်းသောအဆင့်ကတော့ 6.2 မှာ scp download လုပ်ခြင်းပဲဖြစ်ပြီး အဲဒီ command ကိုတောင် သင့်ရဲ့ PC မှာ ရိုက်ထည့်ရမှာဖြစ်ပြီး Section 4 မှာ server က generate လုပ်ပြီးသား file ကို ဆွဲယူပေးပါလိမ့်မယ်။

client ကို install လုပ်ပါ။

AmneziaWG မှာ သီးသန့် Windows app တစ်ခုရှိပါတယ် — ၎င်းရဲ့ interface က standard WireGuard client ကို ထင်ဟပ်စေပေမယ့် obfuscation parameters တွေကို နားလည်ပါတယ်။ installer ကို project ရဲ့ official repository ကနေ download လုပ်ပါ။

https://github.com/amnezia-vpn/amneziawg-windows-client/releases

အထက်ဖော်ပြပါလင့်ခ်သည် ထိန်းသိမ်းထားသော Windows client ၏ ထုတ်ဝေမှုစာမျက်နှာဖြစ်သည် — နောက်ဆုံးထွက် .msi/.exe ပိုင်ဆိုင်မှုကို ထိုနေရာမှ ဒေါင်းလုဒ်လုပ်ပါ။ ၎င်းသည် သင့်ဘရောက်ဆာတွင် ဖွင့်ရမည့် စာမျက်နှာဖြစ်ပြီး terminal ထဲသို့ ကူးထည့်ရန် command မဟုတ်ပါ။

ထည့်သွင်းသူကို လုပ်ဆောင်ပြီး setup wizard မှတစ်ဆင့် လုပ်ဆောင်ပါ။ default များကို ပြောင်းလဲရန် မလိုအပ်ပါ။

ပြင်ဆင်ချက်ကို တင်သွင်းပါ

client config ဖိုင်ကို server မှ သင့်ကွန်ပျူတာသို့ ကူးယူပါ - အလွယ်ကူဆုံးနည်းလမ်းမှာ scp ဖြစ်ပြီး server တွင်မဟုတ်ဘဲ သင့်ကွန်ပျူတာတွင် PowerShell တွင် run ပါ။

client PC မှာ အောက်က scp command ကို run ဖို့ အဆင်သင့်ဖြစ်နေတဲ့ Windows PowerShell prompt ဗလာတစ်ခု။
scp root@YOUR_SERVER_IP:~/awg/laptop.conf .

AmneziaWG အက်ပ်တွင် "Import tunnel(s) from file" ကို နှိပ်ပြီး laptop.conf ကို ရွေးချယ်ကာ tunnel အသစ်ဘေးရှိ toggle ကို ဖွင့်ပါ။

macOS မှ ချိတ်ဆက်နေသည်။

ဒီမှာရှိတဲ့အရာအားလုံးဟာ SSH မှတစ်ဆင့်မဟုတ်ဘဲ သင့် Mac မှာဖြစ်ပျက်ပါတယ်။ အောက်က scp လိုင်းကို Mac ရဲ့ကိုယ်ပိုင် Terminal မှာရိုက်ထည့်ပြီး Section 4 မှာ server ကထုတ်ပေးပြီးသား config ကိုဆွဲယူပါတယ် - ၎င်းသည် VPS ရှိ သင့် root SSH session အတွင်းမှာ မလည်ပတ်ပါဘူး။

ပံ့ပိုးပေးထားသော ရွေးချယ်စရာနှစ်ခု ရှိသည်-

  • AmneziaWG (Mac App Store): ပေါ့ပါးသော client တစ်ခုဖြစ်ပြီး macOS 12 နှင့် နောက်ပိုင်းဗားရှင်းများတွင် အလုပ်လုပ်ပါသည်။ App Store တွင် "AmneziaWG" ကိုရှာပြီး install လုပ်ပါ၊ ထို့နောက် "Import tunnel(s) from file" ကိုသုံးပြီး Windows client နှင့် workflow တူညီသော .conf ဖိုင်ကိုရွေးပါ။
  • AmneziaVPN (အက်ပ်အပြည့်အစုံ၊ macOS 14+): ပေါ့ပါးသော AmneziaWG-only client အစား အင်္ဂါရပ်အပြည့်အစုံပါသော Amnezia အက်ပ်ကို အသုံးပြုလိုပါက github.com/amnezia-vpn/amnezia-client/releases/latest မှ .pkg ကို ဒေါင်းလုဒ်လုပ်ပါ။

လိုအပ်ပါက client config ကို ဦးစွာကူးယူပါ၊ အဆင့် ၆.၂ တွင်ကဲ့သို့ပင်-

scp root@YOUR_SERVER_IP:~/awg/laptop.conf .

Linux မှ ချိတ်ဆက်နေသည်။

အောက်ဖော်ပြပါ ရွေးချယ်မှုနှစ်ခုစလုံးသည် သင့် Linux desktop/laptop တွင် လုပ်ဆောင်ပါသည်၊ ဆိုလိုသည်မှာ ထိုစက်ပေါ်ရှိ သီးခြား SSH session (သို့မဟုတ် local shell) တစ်ခု — အပိုင်း ၁ မှ VPS ရှိ root SSH session မဟုတ်ပါ။ command များသည် server-side များနှင့် တူညီပုံရပါသည်၊ အဘယ်ကြောင့်ဆိုသော် amneziawg-tools package ကို နှစ်ဖက်စလုံးတွင် အသုံးပြုထားသောကြောင့်ဖြစ်သည်၊ သို့သော် ဤနေရာတွင် ၎င်းတို့ကို လုပ်ဆောင်ခြင်းသည် server တွင်မဟုတ်ဘဲ သင့်ကိုယ်ပိုင်စက်တွင် client tunnel တစ်ခုကို install လုပ်ပြီး စတင်ခြင်းဖြစ်သည်။

Linux desktop သို့မဟုတ် laptop တွင် ရွေးချယ်စရာနှစ်ခုရှိသည်-

  • GUI: github.com/amnezia-vpn/amnezia-client/releases မှ AmneziaVPN desktop client အပြည့်အစုံကို ထည့်သွင်းပြီးနောက် Windows/macOS တွင်ကဲ့သို့ပင် .conf ဖိုင်ကို import လုပ်ပါ။
  • CLI သည် server တွင်အသုံးပြုသော amneziawg-tools များကိုအသုံးပြုသည် (awg / awg-quick):
apt install -y amneziawg
cp laptop.conf /etc/amnezia/amneziawg/awg0.conf
awg-quick up awg0

ချိတ်ဆက်မှုဖြုတ်ရန် ဤကုဒ်ကို လုပ်ဆောင်ပါ။

awg-quick down awg0 

login ဝင်တဲ့အခါ tunnel ကို အလိုအလျောက် ပေါ်လာစေဖို့အတွက် service အနေနဲ့ enable လုပ်ပါ-

systemctl enable --now awg-quick@awg0

ချိတ်ဆက်မှုကို စစ်ဆေးခြင်း။

အပိုင်း ၆၊ ၇ သို့မဟုတ် ၈ မှ tunnel ကို အသက်ဝင်နေချိန်တွင် သင့်ကိုယ်ပိုင် device (SSH session မဟုတ်ပါ) သို့ ပြန်သွားပြီး browser တွင် “what's my IP” checker ကို ဖွင့်ပါ — ပြသထားသော address သည် သင့် VPS ၏ IP address နှင့် ကိုက်ညီရပါမည်။ ယင်းအစား SSH session အတွင်းမှ အတည်ပြုရန် server တွင် awg show ကို လုပ်ဆောင်ပြီး client ၏ peer သည် မကြာသေးမီက handshake နှင့် non-zero traffic ကို ပြသကြောင်း အတည်ပြုပါ။

ကိုးကားစရာ:

လယ်ယာ

အဘိုး

လိပ်စာ

YOUR_TUNNEL_IP (ဥမင်အတွင်းရှိ client ၏လိပ်စာ၊ ဥပမာ 10.10.8.2/32 — အဆင့် 4.4 တွင် client ကိုထည့်သွင်းသောအခါ အလိုအလျောက်သတ်မှတ်ပေးသည်)

အဆုံးမှတ်

YOUR_SERVER_IP:၄၂၆၆၆ (ဆာဗာ၏ ပြင်ပ IP လိပ်စာနှင့် client ချိတ်ဆက်သည့် UDP port။)

DNS ကို

8.8.8.8

ဂျေစီ / ဂျီမင်း / ဂျေမက်စ်

လက်ဆွဲနှုတ်ဆက်ခြင်းမပြုမီ ပေးပို့ခဲ့သော “အမှိုက်” ပက်ကက်များ၏ အရေအတွက်နှင့် အရွယ်အစား — ချိတ်ဆက်မှုကို မဖြတ်တောက်ဘဲ ဆာဗာနှင့် client အကြား ကွဲပြားနိုင်သည်

S1/S2

handshake padding field များ၏ အရွယ်အစား — server နှင့် client တိုင်းကြားရှိ byte-for-byte ကိုက်ညီရမည်

H1-H4

ပရိုတိုကောကို သာမန်အသွားအလာအဖြစ် ဖုံးကွယ်ထားသော packet အမျိုးအစား header များသည်လည်း တစ်ထပ်တည်းကျရမည်ဖြစ်ပြီး တစ်ခုနှင့်တစ်ခု ထူးခြားရမည်။

S1/S2 နှင့် H1–H4 တို့သည်သာ tunnel ၏ အစွန်းနှစ်ဖက်စလုံးတွင် တစ်ထပ်တည်းကျရန် လိုအပ်ပါသည်။ Jc၊ Jmin နှင့် Jmax တို့သည် တစ်ဖက်စီ၏ ကိုယ်ပိုင် junk traffic ကို မည်သို့ pad လုပ်သည်ဆိုသည့် သက်သက်အတွက်သာဖြစ်သောကြောင့် client နှင့် server တန်ဖိုးများသည် အထက်ပါ ဥပမာတွင်ကဲ့သို့ပင် တရားဝင်ကွဲပြားနိုင်ပါသည်။

ကောက်ချက်

ဤလမ်းညွှန်ချက်ကို လိုက်နာခြင်းဖြင့် သင့် VPS သည် ၎င်း၏ကိုယ်ပိုင် AmneziaWG server ကို ဆက်လက်လည်ပတ်နေစေသည်- WireGuard နှင့် တွဲဖက်အသုံးပြုနိုင်သော protocol တစ်ခုဖြစ်ပြီး DPI စနစ်များအတွက် ရိုးရိုး WireGuard ထက် သာမန် UDP traffic နှင့် ခွဲခြားရန် သိသိသာသာခက်ခဲသော traffic obfuscation ပါရှိသည်။ ဝန်ဆောင်မှုသည် systemd unit awg-quick@awg0 အဖြစ် လည်ပတ်ပြီး သင့်ဘက်မှ မည်သည့်လုပ်ဆောင်ချက်မျှမပါဘဲ server reboot လုပ်သည်အထိ ခံနိုင်ရည်ရှိသည်။

~/awg ရှိ ရရှိလာသော .conf ဖိုင်များနှင့် QR ကုဒ်များသည် Windows client နှင့်သာမက Android၊ iOS၊ macOS နှင့် Linux အတွက် AmneziaWG သို့မဟုတ် Amnezia အက်ပ်များအပြင် Keenetic နှင့် OpenWrt router များထဲသို့လည်း import လုပ်နိုင်ပါသည်။

အဆင့် ၄.၄–၄.၅ (python3 awgcfg.py -a "name", ထို့နောက် awgcfg.py -c -q) ကို ပြန်လုပ်ခြင်းဖြင့် မည်သည့်အချိန်တွင်မဆို client အသစ်များကို ထည့်ပါ။ systemctl restart [email protected] ဖြင့် interface ကို restart လုပ်ပါ ။

ဆာဗာလည်ပတ်နေချိန်တွင် လိုက်နာသင့်သော အလေ့အထအချို့-

  • စနစ်ကို ပြင်ဆင်ထားပါ။ apt update -y && apt upgrade -y ကို အခါအားလျော်စွာ ပြန်ဖွင့်ပြီး kernel upgrade လုပ်ပြီးသည်နှင့် DKMS သည် amneziawg module ကို kernel အသစ်နှင့် ပြန်လည်တည်ဆောက်ပါ။
  • ~/awg ကို အရန်ကူးယူပါ။ ၎င်းသည် awg0.conf တွင် client တိုင်း၏ private key နှင့် server ၏ကိုယ်ပိုင် key pair တို့ကို သိမ်းဆည်းထားသည်။ ၎င်းကို ဆုံးရှုံးသွားခြင်းသည် device တိုင်းအတွက် config များကို ပြန်လည်ထုတ်လုပ်ခြင်းဟု ဆိုလိုသည်။
  • ပျောက်ဆုံးသွားသော စက်ပစ္စည်းများကို ချက်ချင်းပြန်လည်ရုပ်သိမ်းပါ။ /etc/amnezia/amneziawg/awg0.conf မှ သက်ဆိုင်ရာ [Peer] block ကို ဖယ်ရှားပြီး systemctl restart ကို လုပ်ဆောင်ပါ။ [အီးမေးလ်ကိုကာကွယ်ထားသည်].

ချိတ်ဆက်မှု မတက်လာပါက၊ အစီအစဉ်အတိုင်း စစ်ဆေးပါ-

  • ဝန်ဆောင်မှုအခြေအနေ (systemctl အခြေအနေ) [အီးမေးလ်ကိုကာကွယ်ထားသည်])
  • firewall စည်းမျဉ်းများ (ufw အခြေအနေ — port 42666/udp ကို ဖွင့်ထားရမည်)
  • interface က မစတင်ဘူးဆိုရင် DKMS/module status ကို ပြပါတယ် (dkms status, lsmod | grep amnezia)
  • ဆာဗာပေါ်ရှိ တက်ကြွသော peer များစာရင်း (awg show)
  • client config က မှန်ကန်သော external server IP address ကို ညွှန်ပြသည်

AmneziaWG ကို အခြားရွေးချယ်စရာများနှင့် နှိုင်းယှဉ်ခြင်းမပြုမီ Linux တွင် VPN server setup ကိုကြည့်ပါ- PPTP သို့မဟုတ် OpenVPN? နှင့် သင့် server တွင် Wireguard VPN ကို မည်သို့ setup လုပ်ရမည်နည်း ။ VPN tunnel အပြည့်အစုံအစား ရိုးရှင်းသော proxy တစ်ခုသာ လိုအပ်ပါက CentOS/ArchLinux တွင် 3proxy configuration သည် ပိုမိုပေါ့ပါးသော ရွေးချယ်စရာတစ်ခုဖြစ်သည်။ VPN live ဖြစ်ပြီးနောက် ယေဘုယျ server hardening အတွက် Linux Users: Management and Permissions ကို ကြည့်ပါ ။

❮ ယခင်ဆောင်းပါး Hysteria2 နှင့် TUIC စနစ်ထည့်သွင်းမှု
နောက်ဆောင်းပါး ❯ Xray VLESS အဖြစ်မှန်လမ်းညွှန်- VPS၊ Windows၊ Mac၊ Android၊ iPhone

VPS အကြောင်း ကျွန်ုပ်တို့ကို မေးပါ။

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