Knowledgebase Profitserver ဝန်ဆောင်မှုဖြင့် လုပ်ဆောင်ရန် ရိုးရှင်းသော ညွှန်ကြားချက်များ
အဓိက Knowledgebase CentOS/ArchLinux တွင် 3proxy ဖွဲ့စည်းမှုပုံစံ

CentOS/ArchLinux တွင် 3proxy ဖွဲ့စည်းမှုပုံစံ


ဤဆောင်းပါးတွင် ArchLinux/CentOS လည်ပတ်မှုစနစ်မှ ပံ့ပိုးပေးထားသော သီးခြားဆာဗာတစ်ခုတွင် 3proxy ဖွဲ့စည်းမှုပုံစံကို ပြသပါမည်။ 3proxy သည် အသက်ဆိုင်ဆုံးနှင့် လုပ်ဆောင်နိုင်သော ကိရိယာများထဲမှ တစ်ခုဖြစ်သည်။ ၎င်းသည် အမျိုးမျိုးသော ပရိုတိုကောများကို ပံ့ပိုးပေးသည်- HTTP၊ HTTPS၊ FTP၊ SOCKS နှင့် အခြားအရာများ။ မိနစ်အနည်းငယ်အတွင်း သင့်ကိုယ်ပိုင် proxy ဆာဗာကို စဖွင့်သတ်မှတ်ရန် ကူညီပေးပါမည်။

ဆောင်းပါးတွင် utility ထည့်သွင်းခြင်းနှင့် ၎င်း၏ နောက်ထပ် configuration အတွက် အဆင့်ဆင့် လမ်းညွှန်ချက်များ ပါရှိသည်။ တရားဝင်ရင်းမြစ်မှ ထည့်သွင်းခြင်း၊ configuration ဖိုင်များ စီစဉ်ခြင်း၊ စံမမီသော port များဖွင့်ခြင်းကဲ့သို့သော ပြဿနာများကို ထည့်သွင်းစဉ်းစားထားပြီး အဖြစ်များသော အမှားများကို ဖော်ပြထားပြီး ၎င်းတို့ကို ဖြေရှင်းရန် လက်တွေ့ကျသော အကြံပြုချက်များကိုလည်း ပေးထားသည်။ စတင်ခြင်းမပြုမီ CentOS သို့မဟုတ် ArchLinux operating system မှ ပါဝါပေးသော VPS သို့မဟုတ် dedicated server ကို မှာယူရမည် ။ ဥပမာတွင် လုပ်ဆောင်ချက်အားလုံးကို dedicated static public IP address တစ်ခုဖြင့် CentOS7 operating system မှ ပါဝါပေးသော dedicated server တွင် လုပ်ဆောင်မည်ဖြစ်သည်။

installation

အဆင့် 1

3proxy ကို source တွေကနေ တိုက်ရိုက် install လုပ်ပါတယ်။ gcc ကို compiler အနေနဲ့ အသုံးပြုပါမယ်။ root (superuser) အနေနဲ့ server ကို ချိတ်ဆက်ပြီး compiler ကို install လုပ်ပါမယ်။

yum install gcc

အဆင့် 2

ယခု 3proxy source files များကို download လုပ်ရန် လိုအပ်ပါသည်။ သင်သည် ၎င်းကို official website သို့သွားပြီး link ကို current version သို့ copy ကူးခြင်းဖြင့် လုပ်ဆောင်နိုင်သည်-

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

မော်ကွန်းတင်ထားသော ဗားရှင်း လိုအပ်ပါက GitHub မှ လင့်ခ်ကို တိုက်ရိုက်ဒေါင်းလုဒ်လုပ်နိုင်ပါသည် -

Github မှ 3proxy ကို ထည့်သွင်းခြင်း။

ဤဆောင်းပါးကိုရေးသားစဉ်တွင်၊ လက်ရှိဗားရှင်းသည် 0.9.3 ဖြစ်သည်။ ၎င်းကို ဒေါင်းလုဒ်လုပ်ပြီး ချက်ချင်း ထုပ်ပိုးလိုက်ပါ။

wget https://github.com/z3APA3A/3proxy/archive/0.9.3.tar.gz
tar -xvzf 0.9.3.tar.gz

အဆင့် 3

ထုပ်ပိုးထားသော ပရောဂျက်နှင့်အတူ လမ်းညွှန်သို့သွား၍ စုစည်းပါ-

cd 3proxy-0.9.3/
make -f Makefile.Linux

အဆင့် 4

ကျွန်ုပ်တို့သည် လမ်းညွှန်များကိုဖန်တီးပြီး 3proxy ဖိုင်ကို /usr/bin သို့ကူးယူပါ-

mkdir -p /var/log/3proxy
mkdir /etc/3proxy
cp bin/3proxy /usr/bin/

အဆင့် 5

ကျွန်ုပ်တို့သည် catalog နှင့်အလုပ်လုပ်ရန် user တစ်ခုကို ဖန်တီးပါသည်။ ဤကိစ္စတွင် username မှာ 3proxyuser ဖြစ်သည်။

useradd -s /usr/sbin/nologin -U -M -r 3proxyuser

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

chown -R 3proxyuser:3proxyuser /etc/3proxy
chown -R 3proxyuser:3proxyuser /var/log/3proxy
chown -R 3proxyuser:3proxyuser /usr/bin/3proxy

ယခု command ကိုအသုံးပြု၍ configuration file တစ်ခုကိုဖန်တီးကြပါစို့။

touch /etc/3proxy/3proxy.cfg

လိုအပ်ပါက root user အတွက် configuration file တွင် permission များကို သတ်မှတ်နိုင်ပါသည်။ ဤအဆင့်သည် မဖြစ်မနေလုပ်ရမည့်အဆင့်မဟုတ်သော်လည်း ကာကွယ်မှုကို ထည့်သွင်းပေးပါလိမ့်မည်။

chmod 600 /etc/3proxy/3proxy.cfg

3proxy ဖွဲ့စည်းမှု

အဆင့် 6

စောစောကဖန်တီးခဲ့တဲ့ configuration file ကို မှန်မှန်ကန်ကန်ဖြည့်ဖို့ လိုအပ်တယ်။ ပထမဦးစွာ command ဖြင့်အသုံးပြုသူ၏ uid နှင့် gid ကိုရှာဖွေပါ။

id 3proxyuser

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

uid နှင့် gid

configuration ဖိုင်ကိုဖြည့်ရန်အတွက်၊ သင်သည် အသင့်ပြင်ဆင်ထားသော configuration များကိုယူနိုင်သည် သို့မဟုတ် တရားဝင်ဝက်ဘ်ဆိုက်ရှိ စာရွက်စာတမ်းကို အသုံးပြုနိုင်သည် ။ ထို့အပြင် ဥပမာတစ်ခုပါသော ဖိုင်တစ်ခုကိုလည်း default အနေဖြင့် ကြိုတင်ထည့်သွင်းပြီးသားဖြစ်သည်။ ၎င်းကို လမ်းကြောင်းတစ်လျှောက်တွင် သင်ရှာတွေ့နိုင်သည်- /cfg/3proxy.cfg.sample

ဥပမာအနေနဲ့၊ ကျွန်ုပ်တို့ဟာ configuration အမျိုးအစား ၂ မျိုး- logging နဲ့ logging မလုပ်ဘဲနဲ့ logging မလုပ်ဘဲ ထားပါမယ် ။ စာကြောင်းတစ်ကြောင်းချင်းစီမှာ comment တွေ (“#” သင်္ကေတနဲ့ မှတ်သားထားပါတယ်) ပါရှိပါမယ်။

ဒါက logging မပါပဲ အဆင်သင့် config လုပ်ထားတဲ့ ဥပမာတစ်ခုပါ

# We specify the user's data that we found out in the previous command
setgid 995
setuid 997

# Type the NS-servers. It is possible to clarify your own servers at /etc/resolv.conf
nserver 1.1.1.1
nserver 8.8.8.8

# Cache size
nscache 65536

# Timeouts
timeouts 1 5 30 60 180 1800 15 60

# Authorization of users by login/password (if required). You may not to use it or specify the path to the file in which authorization data is stored, for example, users $/etc/3proxy/.authfile

# If you insert a password in md5 format, replace “CL” with “CR”, as indicated in the example. You can use 2 methods at the same time.
auth cache strong
users "userproxy:CL:passwordproxy"
users "userproxy2:CR:b89097a7ad0b94f13b3c313ae76699d4 "

# Launch mode. Daemon only.
Daemon

# We write the port through which the http connection will take place. The example shows the standard one. To establish a socks connection, use the command specified in the second line, the port is also standard.
proxy -p3128			
socks -p1080

ကျွန်ုပ်တို့သည် မှတ်တမ်းတင်ခြင်းမရှိဘဲ configuration ဖိုင်တစ်ခုပြုလုပ်ခြင်း ရွေးချယ်မှုကို ထည့်သွင်းစဉ်းစားခဲ့ပါသည်။ ယခု ကျွန်ုပ်တို့သည် မှတ်တမ်းတင်ခြင်းနှင့် အသုံးပြုသူခွင့်ပြုချက် ဖြင့် configuration ဖိုင်တစ်ခု ဖန်တီးပါမည် ။ ၎င်းကို server setup လုပ်နေစဉ်အတွင်း နောက်ပိုင်းတွင် အသုံးပြုပါမည်

စံမမီသော port များတွင်ပင် server ကို သိရှိနိုင်သောကြောင့် ခွင့်ပြုချက်အချက်အလက်များကို ပေးရန် သေချာပါစေ

# Configuring the server to launch from the userproxy user and the passwordproxy password.
users userproxy:CL:passwordproxy

# Specify the user's uid and gid
setgid 995
setuid 997

# Nameservers (NS-servers)
nserver 1.1.1.1
nserver 8.8.8.8

# Timeouts
timeouts 1 5 30 60 180 1800 15 60

# Cache size (standard)
nscache 65536

# Indicate the launch mode
daemon

# We install http proxy on a non-standard 50001 port. If there are several IP addresses on the server, be sure to specify a specific address for connecting the network. For example, "-e91.150.32.146". The argument "i" is a local address.
proxy –p50001	

# In a same way as socks proxy, we conduct the installation on a 50002 port.
socks –p50002			

# Path to the directory with logs, logs format and proxy rotation
Log /var/log/3proxy/3proxy.log D	
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
rotate 30

၎င်းသည် ပင်မဖွဲ့စည်းမှုပုံစံဖိုင်၏ စနစ်ထည့်သွင်းမှုကို အပြီးသတ်စေသည်။ ကျွန်ုပ်တို့သည် နောက်ဆုံးအဆင့်သို့ ကူးပြောင်းပြီး စတင်လိုက်ပါ။

အဆင့် 7

systemd အတွက် ကနဦး ဖိုင်တစ်ခု ဖန်တီးပါ

touch /etc/systemd/system/3proxy.service

လိုအပ်သောအခွင့်အရေးများကို ထုတ်ပြန်ပါ-

chmod 664 /etc/systemd/system/3proxy.service

အောက်ပါတန်ဖိုးများကို ဖိုင်ထဲသို့ ကူးယူပြီး သိမ်းဆည်းပါ-

[Unit]
Description=3proxy Proxy Server
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/3proxy /etc/3proxy/3proxy.cfg
ExecStop=/bin/kill `/usr/bin/pgrep 3proxyuser`
RemainAfterExit=yes
Restart=on-failure
[Install]
WantedBy=multi-user.target»

သတိပြုရန်- “ExecStop” တန်ဖိုးတွင် အဆင့် ၅ တွင် ဖန်တီးထားသော အသုံးပြုသူအမည်ကို သတ်မှတ်ပေးရမည်။

ထို့နောက်သင်သည် Daemon configuration ကို command ဖြင့် update လုပ်ရန်လိုအပ်သည်-

systemctl daemon-reload

အဆင့် 8

ကျွန်ုပ်တို့လိုအပ်သည်မှာ configured 3proxy ကိုဖွင့်ရန်၊ ၎င်းကို autostart သို့ထည့်ရန်နှင့် firewall အတွင်းရှိ port များကိုဖွင့်ရန်ဖြစ်သည်။

၎င်းကို အလိုအလျောက်စတင်ရန်၊ စတင်ရန်နှင့် အခြေအနေကို စစ်ဆေးရန်-

systemctl enable 3proxy
systemctl start 3proxy
systemctl status 3proxy

အခြေအနေကို စစ်ဆေးပြီးနောက်၊ 3proxy ကို အောင်မြင်စွာ စတင်လိုက်သည်ဟူသော အချက်အလက်ကို ကျွန်ုပ်တို့ တွေ့ရသည်-

ပရောက်စီသည် အလုပ်လုပ်နေသည်။

တစ်ခုတည်းသောအရာမှာ ports ကိုဖွင့်ရန်ဖြစ်သည်

firewall-cmd --zone=public --add-port=50001/tcp
firewall-cmd --zone=public --add-port=50002/tcp
firewall-cmd –reload

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

firewall-cmd --list-all

ဖြစ်သင့်သည်-

Firewall port များဖွင့်ပါ

ကျွန်ုပ်တို့မြင်ရသည့်အတိုင်း၊ ဆိပ်ကမ်းနှစ်ခုလုံးကို အောင်မြင်စွာဖွင့်ပြီး နားထောင်နေပါသည်။ http ချိတ်ဆက်မှုသည် ပထမအပေါက်တွင်ရှိပြီး ခြေအိတ်များသည် ဒုတိယအပေါက်တွင်ရှိသည်။

အဆင်ပြေသောဝန်ဆောင်မှုမှတဆင့်ချိတ်ဆက်မှုကိုစစ်ဆေးပါ

3proxy စနစ်ထည့်သွင်းခြင်း အောင်မြင်သည်။

အရာအားလုံး လည်ပတ်နေပါတယ်။ ကျွန်ုပ်တို့ဘက်မှ စံသတ်မှတ်ထားသော port များအပြင် login/password ခွင့်ပြုချက်မရှိဘဲ လုံခြုံမှုမရှိသော ချိတ်ဆက်မှုကို အသုံးပြုရန် အကြံပြုအပ်ပါသည် ။ configuration ဖိုင်ကို စီစဉ်နေစဉ် login တစ်ခုကို သတ်မှတ်ပြီး ရှုပ်ထွေးသော စကားဝှက်တစ်ခု ဖန်တီးထားကြောင်း သေချာစေပြီး port များကိုလည်း စံမဟုတ်သော စကားဝှက်များအဖြစ် ပြောင်းလဲပါ ။ ခြွင်းချက်အခြေအနေများတွင် IP address ခွင့်ပြုချက်ကို အသုံးပြုနိုင်မည်ဖြစ်သည်။

ဘုံပြproblemsနာများ

တစ်ခုခုမှားသွားပြီး proxy အလုပ်မလုပ်ဘူးလား။ 3proxy configuration ကို မှားယွင်းစွာ လုပ်ဆောင်ခဲ့ခြင်း ဖြစ်နိုင်သည်။ utility ကို install လုပ်ပြီး configure လုပ်နေစဉ်မှာ အဖြစ်အများဆုံး ပြဿနာတွေနဲ့ သူတို့ရဲ့ ဖြေရှင်းနည်းတွေကို စဉ်းစားကြည့်ရအောင်။

ဆက်သွယ်မှုမရှိပါ

အသုံးပြုသူများစွာအတွက် အဖြစ်များဆုံးပြဿနာမှာ configuration ဖိုင်များကို မှန်ကန်စွာပြင်ဆင်ထားပုံပေါ်သည့်အခါ လက်လှမ်းမမီနိုင်သော ချိတ်ဆက်မှုတစ်ခုဖြစ်သည်။ ဆက်တင်များအားလုံးကို မှန်ကန်စွာ စီစဉ်သတ်မှတ်ထားကြောင်း သေချာပါက၊ hosting ဝန်ဆောင်မှုပေးသူက ရွေးချယ်ထားသော ပို့တ်ကို ကန့်သတ်မထားဘဲ ဒေတာအားလုံးသည် အလုပ်လုပ်သော ဝန်ဆောင်မှုကို ညွှန်ပြသည်၊ ပြဿနာမှာ Firewall တွင် ရှိနိုင်သည်၊ သို့မဟုတ် အတိအကျပြောရလျှင် ၎င်း၏ မမှန်ကန်သော ဖွဲ့စည်းမှုပုံစံ။ ဥပမာအားဖြင့်၊ တစ်ခုနှင့်တစ်ခု ပဋိပက္ခဖြစ်စေမည့် စနစ်တွင် ထည့်သွင်းထားသည့် ပရိုဂရမ်နှစ်ခုထက်မက ရှိနိုင်သည်။ ပြဿနာကိုဖြေရှင်းရန်၊ သတ်မှတ်ထားသော Firewall တစ်ခုကိုအသုံးပြုရန်လုံလောက်သည်။ iptables သို့မဟုတ် firewall-cmd ကိုသာ ရွေးချယ်ရန် သင့်အား ကျွန်ုပ်တို့ အကြံပြုအပ်ပါသည်။

ဝန်ဆောင်မှုကို မစတင်ပါ။

လိုအပ်သော configuration ဖိုင်များအားလုံးကို စနစ်ထည့်သွင်းပြီးနောက် ဝန်ဆောင်မှုသည် စတင်မည်မဟုတ်ပါ။ ၎င်းသည် configuration အဆင့်တစ်ခု လွတ်သွားခြင်း၊ သင့်လျော်သော အခွင့်အရေးများ မပေးအပ်ခြင်း သို့မဟုတ် configuration ဖိုင်များတွင် အသေးစား အမှားအယွင်းတစ်ခု ပြုလုပ်မိခြင်းတို့ ဖြစ်ပေါ်ပါသည်။ ညွှန်ကြားချက်များကို တစ်ဆင့်ချင်းစီ သေချာစွာ ပြန်လည်လေ့လာရန် အကြံပြုအပ်ပါသည်၊ သင်သည် အဆင့်များထဲမှ တစ်ခုကို လွတ်သွားခြင်း ဖြစ်နိုင်ပါသည်။ တစ်စုံတစ်ရာ အကူအညီမရှိပါက OS ကို ပြန်လည်ထည့်သွင်းပြီး အစမှ အဆင့်အားလုံးကို လိုက်နာခြင်းသည် ကောင်းမွန်သော အကြံဥာဏ်တစ်ခု ဖြစ်ပါလိမ့်မည်။ /cfg/3proxy.cfg.sample တွင်ရှိသော နမူနာကို စမ်းသပ် configuration အဖြစ် အသုံးပြုရန်နှင့် ကြိုတင်ထည့်သွင်းထားသော firewall-cmd ကို firewall အဖြစ် အသုံးပြုရန် အကြံပြုအပ်ပါသည်။

သစ်ထုတ်လုပ်ရေး

နောက်ဆုံးအချက်မှာ ဖိုင်သိုလှောင်မှုနှင့် ပတ်သက်သော အရေးကြီးသောပြဿနာမရှိပါ။ 3proxy သည် ထည့်သွင်းစဉ်အတွင်း mb များစွာကြာသော်လည်း အချိန်ကြာလာသည်နှင့်အမျှ လော့ဂ်လုပ်ခြင်းဖြင့်သာ အရွယ်အစား သိသိသာသာ တိုးလာနိုင်သည်။ အမှန်မှာ အသုံးပြုသူအများအပြားသည် သီးခြားဖိုင်တစ်ခုတွင် မှတ်တမ်းမှတ်တမ်းတင်ခြင်းကို ဖွင့်ထားသော်လည်း လည်ပတ်မှုကို မသတ်မှတ်ဘဲ မသက်ဆိုင်သောမှတ်တမ်းများကို မဖျက်ပါနှင့်။ ဤပြဿနာကိုဖြေရှင်းရန်အတွက် ရွေးချယ်စရာသုံးခုကို အသုံးပြုနိုင်သည်။

  1. မှတ်တမ်းကိုဖွင့်ပါ;
  2. မသက်ဆိုင်သောမှတ်တမ်းများကို အခါအားလျော်စွာ ဖျက်ပါ။
  3. အပေါ်က configuration တွင် လုပ်ဆောင်ခဲ့သည့်အတိုင်း လှည့်ခြင်းကို ဖွင့်ပါ။ ဥပမာအားဖြင့်၊ configuration file တွင် "rotate 30" ဆိုသည်မှာ 3proxy သည် နောက်ဆုံးထွက်ဖိုင် 30 ကိုသာ သိမ်းဆည်းမည်ကို ဆိုလိုသည်။

ကောက်ချက်

CentOS နှင့် ArchLinux လည်ပတ်မှုစနစ်များပေါ်တွင် 3proxy ကို ထည့်သွင်းခြင်းနှင့် ပြင်ဆင်သတ်မှတ်ခြင်းသည် အတော်လေးရိုးရှင်းသော်လည်း တစ်ချိန်တည်းတွင် ထိရောက်သောအလုပ်ဖြစ်သည်။ ဆောင်းပါးတွင် လိုအပ်သော ပက်ကေ့ဂျ်များ ထည့်သွင်းရန် အဆင့်များ၊ ဖွဲ့စည်းမှုပုံစံဖိုင်များကို စီစဉ်သတ်မှတ်ခြင်းနှင့် ဝန်ဆောင်မှုကို စတင်ရန် အဆင့်များပါရှိသည်။ ရရှိလာသော အသိပညာသည် သင့်အား အခက်အခဲမရှိဘဲ သင့်ပရောက်စီဆာဗာကို သင်ကိုယ်တိုင်ထည့်သွင်းကာ ပြင်ဆင်သတ်မှတ်နိုင်စေမည်ဖြစ်သည်။

❮ ယခင်ဆောင်းပါး Windows စကားဝှက်ကို ပြန်လည်သတ်မှတ်နည်း
နောက်ဆောင်းပါး ❯ Windows OS တွင် disk partition ကိုဘယ်လိုတိုးမလဲ။

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

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