Knowledgebase Profitserver سروس کے ساتھ کام کرنے کے لیے آسان ہدایات
مین Knowledgebase CentOS/ArchLinux پر 3 پراکسی کنفیگریشن

CentOS/ArchLinux پر 3 پراکسی کنفیگریشن


اس مضمون میں ہم ArchLinux/CentOS آپریٹنگ سسٹم کے ذریعے چلنے والے وقف سرور پر 3proxy کنفیگریشن دکھائیں گے۔ 3proxy سب سے زیادہ متعلقہ اور فعال ٹولز میں سے ایک ہے۔ یہ مختلف قسم کے پروٹوکولز کو سپورٹ کرتا ہے: HTTP، HTTPS، FTP، SOCKS، اور دیگر۔ یہ آپ کو چند منٹوں میں اپنا پراکسی سرور ترتیب دینے میں مدد کرے گا۔

مضمون میں یوٹیلیٹی کی تنصیب اور اس کی مزید ترتیب کے بارے میں مرحلہ وار رہنمائی شامل ہے۔ سرکاری ذرائع سے انسٹالیشن، کنفیگریشن فائلوں کو ترتیب دینے، غیر معیاری بندرگاہوں کو کھولنے جیسے مسائل پر غور کیا جاتا ہے، ساتھ ہی عام غلطیاں بیان کی جاتی ہیں اور ان کے حل کے لیے عملی سفارشات دی جاتی ہیں۔ لانچ کرنے سے پہلے، آپ کو CentOS یا ArchLinux آپریٹنگ سسٹم سے چلنے والے VPS یا سرشار سرور کا آرڈر دینا چاہیے ۔ مثال میں موجود تمام کارروائیاں CentOS7 آپریٹنگ سسٹم کے ذریعے چلنے والے ایک سرشار سرور پر ایک وقف شدہ جامد عوامی IP ایڈریس کے ساتھ انجام دی جائیں گی۔

تنصیب

مرحلہ 1

3 پراکسی براہ راست ذرائع سے انسٹال کی گئی ہے۔ gcc کو کمپائلر کے طور پر استعمال کیا جائے گا۔ ہم سرور سے جڑ (سپر یوزر) کے طور پر جڑتے ہیں اور کمپائلر انسٹال کرتے ہیں۔

yum install gcc

مرحلہ 2

اب 3 پراکسی سورس فائلوں کو ڈاؤن لوڈ کرنا ضروری ہے۔ آپ سرکاری ویب سائٹ پر جا کر اور موجودہ ورژن کے لنک کو کاپی کر کے ایسا کر سکتے ہیں :

یوٹیلائٹ انسٹال کرنا

اگر آرکائیو شدہ ورژن کی ضرورت ہو تو، آپ GitHub سے براہ راست لنک بھی ڈاؤن لوڈ کر سکتے ہیں :

گیتھب سے 3 پراکسی انسٹال کرنا

اس مضمون کو لکھنے کے وقت، موجودہ ورژن 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

ہم ڈائریکٹریز بناتے ہیں اور 3 پراکسی فائل کو /usr/bin میں کاپی کرتے ہیں:

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

مرحلہ 5

ہم کیٹلاگ کے ساتھ کام کرنے کے لیے ایک صارف بناتے ہیں۔ اس صورت میں صارف کا نام 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

اب کمانڈ کا استعمال کرتے ہوئے ایک کنفیگریشن فائل بنائیں:

touch /etc/3proxy/3proxy.cfg

اگر ضروری ہو تو، آپ روٹ صارف کے لیے کنفیگریشن فائل پر اجازتیں سیٹ کر سکتے ہیں۔ یہ قدم واجب نہیں ہے، لیکن تحفظ میں اضافہ کرے گا:

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

3 پراکسی کنفیگریشن

مرحلہ 6

پہلے بنائی گئی کنفیگریشن فائل کو درست طریقے سے پُر کرنا ضروری ہے۔ پہلے، کمانڈ کے ذریعے صارف کی uid اور gid معلوم کریں:

id 3proxyuser

ہمارے معاملے میں یہ درج ذیل اقدار ہیں:

uid اور gid

کنفیگریشن فائل کو پُر کرنے کے لیے، آپ ریڈی میڈ کنفیگریشن لے سکتے ہیں یا آفیشل ویب سائٹ پر موجود دستاویزات کا استعمال کر سکتے ہیں۔ اس کے علاوہ ایک مثال کے ساتھ فائل پہلے سے ہی ڈیفالٹ کے طور پر پہلے سے انسٹال ہے؛ آپ اسے راستے میں تلاش کر سکتے ہیں: /cfg/3proxy.cfg.sample

مثال کے طور پر، ہم کنفیگریشن کی 2 اقسام پر غور کریں گے: لاگنگ کے ساتھ اور بغیر ۔ ہر لائن کے ساتھ تبصرے ہوں گے (وہ "#" علامت کے ساتھ نشان زد ہیں)۔

یہ بغیر لاگنگ کے ریڈی میڈ ترتیب کی ایک مثال ہے :

# 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

ہم نے لاگ ان کیے بغیر کنفیگریشن فائل کے آپشن پر غور کیا۔ اب ہم لاگنگ اور صارف کی اجازت کے ساتھ ایک کنفیگریشن فائل بنائیں گے ۔ اسے بعد میں سرور سیٹ اپ کے دوران استعمال کیا جائے گا ۔

یقینی بنائیں کہ آپ اجازت کی معلومات فراہم کرتے ہیں، کیونکہ غیر معیاری بندرگاہوں پر بھی سرور کا پتہ لگایا جا سکتا ہے ۔

# 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" قدر میں آپ کو وہ صارف نام بتانا ہوگا جو مرحلہ نمبر 5 میں بنایا گیا تھا۔

جس کے بعد آپ کو کمانڈ کے ساتھ ڈیمون کنفیگریشن کو اپ ڈیٹ کرنے کی ضرورت ہے:

systemctl daemon-reload

مرحلہ 8

ہمیں صرف کنفیگر شدہ 3 پراکسی کو لانچ کرنے، اسے آٹو اسٹارٹ میں شامل کرنے اور فائر وال میں بندرگاہوں کو کھولنے کی ضرورت ہے۔

اسے آٹو اسٹارٹ میں شامل کریں، لانچ کریں اور اسٹیٹس چیک کریں:

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

اسٹیٹس چیک کرنے کے بعد، ہم یہ معلومات دیکھتے ہیں کہ 3 پراکسی کامیابی کے ساتھ لانچ کی گئی ہے:

پراکسی چل رہی ہے۔

بندرگاہوں کو کھولنے کے لئے صرف ایک چیز باقی ہے:

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

اگر ضروری ہو تو، سرور کو دوبارہ شروع کریں. یہ چیک کرنا ممکن ہے کہ آیا بندرگاہیں کمانڈ کے ساتھ کھلی ہیں:

firewall-cmd --list-all

کیا ہونا چاہئے:

فائر وال پورٹس کھولیں۔

جیسا کہ ہم دیکھ سکتے ہیں، دونوں بندرگاہوں کو کامیابی کے ساتھ کھول دیا گیا ہے اور انہیں سنا جا رہا ہے۔ HTTP کنکشن پہلی بندرگاہ پر ہے، جرابیں دوسری بندرگاہ پر ہیں۔

کسی بھی آسان سروس کے ذریعے کنکشن چیک کریں:

کامیاب 3 پراکسی سیٹ اپ

سب کچھ کام کر رہا ہے۔ ہماری طرف سے، ہم لاگ ان/پاس ورڈ کی اجازت کے بغیر غیر محفوظ کنکشن کے ساتھ ساتھ بندرگاہوں کے معیاری سیٹ کے ساتھ استعمال کرنے کی سفارش نہیں کرتے ہیں ۔ کنفیگریشن فائل کو ترتیب دیتے وقت، لاگ ان کی وضاحت کرنا اور ایک پیچیدہ پاس ورڈ بنانا یقینی بنائیں، اور بندرگاہوں کو بھی غیر معیاری میں تبدیل کریں ۔ غیر معمولی معاملات میں، IP ایڈریس کی اجازت کا استعمال ممکن ہے۔

عام مسائل

کچھ غلط ہو گیا اور پراکسی کام نہیں کر رہی ہے؟ شاید 3 پراکسی کنفیگریشن غلط طریقے سے کی گئی تھی۔ آئیے یوٹیلیٹی کو انسٹال کرنے اور ترتیب دینے کے دوران سب سے عام مسائل اور ان کے حل پر غور کریں۔

کوئی رابطہ نہیں

بہت سے صارفین کے لیے سب سے عام مسئلہ ایک ناقابل رسائی کنکشن ہے جب لگتا ہے کہ کنفیگریشن فائلیں درست طریقے سے ترتیب دی گئی ہیں۔ اگر آپ کو یقین ہے کہ تمام ترتیبات درست طریقے سے ترتیب دی گئی ہیں، ہوسٹنگ فراہم کنندہ منتخب کردہ پورٹ کو محدود نہیں کرتا ہے اور تمام ڈیٹا کام کرنے والی سروس کی نشاندہی کرتا ہے، مسئلہ فائر وال میں ہو سکتا ہے، یا، زیادہ واضح طور پر، اس کی غلط ترتیب۔ مثال کے طور پر، سسٹم پر دو سے زیادہ پروگرام انسٹال ہو سکتے ہیں جو ایک دوسرے سے متصادم ہوں گے۔ مسئلہ کو حل کرنے کے لیے، ایک مخصوص فائر وال استعمال کرنا کافی ہے۔ ہم آپ کو مشورہ دیتے ہیں کہ صرف iptables یا firewall-cmd منتخب کریں۔

سروس شروع نہیں ہوتی

تمام ضروری کنفیگریشن فائلوں کو ترتیب دینے کے بعد سروس شروع نہیں ہوتی ہے۔ ایسا اس وقت ہوتا ہے جب کنفیگریشن سٹیپ چھوٹ جاتا ہے، مناسب حقوق نہیں دیے جاتے، یا کنفیگریشن فائلوں میں معمولی غلطی ہو جاتی ہے۔ ہم آپ کو مشورہ دیتے ہیں کہ آپ احتیاط سے ہدایات کا مرحلہ وار مطالعہ کریں، شاید آپ نے ان میں سے کوئی ایک مرحلہ چھوڑ دیا ہو۔ اگر کچھ مدد نہیں کرتا ہے تو، OS کو دوبارہ انسٹال کرنا اور شروع سے ہی تمام مراحل پر عمل کرنا اچھا خیال ہوگا۔ ہم ٹیسٹ کنفیگریشن کے طور پر /cfg/3proxy.cfg.sample پر موجود نمونے اور فائر وال کے طور پر پہلے سے نصب فائر وال-cmd استعمال کرنے کی تجویز کرتے ہیں۔

لاگنگ

حتمی، لیکن کوئی کم اہم مسئلہ فائل اسٹوریج سے متعلق نہیں ہے۔ 3proxy انسٹالیشن کے دوران کئی ایم بی لیتا ہے، لیکن وقت گزرنے کے ساتھ لاگنگ کے ذریعے ہی سائز میں نمایاں اضافہ کیا جا سکتا ہے۔ حقیقت یہ ہے کہ بہت سے صارفین الگ فائل میں لاگ ریکارڈنگ کو فعال کرتے ہیں، لیکن روٹیشن سیٹ نہیں کرتے اور غیر متعلقہ لاگز کو حذف نہیں کرتے۔ اس مسئلے کے حل کے لیے تین آپشنز استعمال کیے جا سکتے ہیں:

  1. لاگنگ کو فعال کریں؛
  2. وقفے وقفے سے غیر متعلقہ لاگز کو حذف کریں؛
  3. گردش کو فعال کریں، جیسا کہ اوپر کی ترتیب میں کیا گیا تھا۔ مثال کے طور پر، کنفیگریشن فائل میں "30 گھمائیں" کا مطلب ہے کہ 3proxy صرف جدید ترین 30 فائلوں کو اسٹور کرے گا۔

نتیجہ

CentOS اور ArchLinux آپریٹنگ سسٹمز پر 3proxy کو انسٹال اور کنفیگر کرنا کافی آسان ہے، لیکن ساتھ ہی موثر کام ہے۔ مضمون میں ضروری پیکجز کو انسٹال کرنے، کنفیگریشن فائلوں کو ترتیب دینے اور سروس شروع کرنے کے اقدامات کا احاطہ کیا گیا ہے۔ حاصل کردہ علم آپ کو بغیر کسی دقت کے اپنے پراکسی سرور کو خود انسٹال اور ترتیب دینے کی اجازت دے گا۔

❮ پچھلا مضمون ونڈوز پاس ورڈ کو دوبارہ ترتیب دینے کا طریقہ
اگلا مضمون ❯ ونڈوز OS پر ڈسک پارٹیشن کو کیسے بڑھایا جائے۔

ہم سے VPS کے بارے میں پوچھیں۔

ہم دن یا رات کے کسی بھی وقت آپ کے سوالات کا جواب دینے کے لیے ہمیشہ تیار ہیں۔