الخادم الوكيل هو جهاز كمبيوتر مخصص أو نظام برمجي يعمل على جهاز كمبيوتر يعمل كوسيط بين جهاز نقطة النهاية.
مثل جهاز كمبيوتر ، وخادم آخر يطلب منه المستخدم أو العميل خدمة.
قد يكون الخادم الوكيل موجودًا في نفس الجهاز مثل خادم جدار الحماية أو قد يكون على خادم منفصل ، والذي يعيد توجيه الطلبات عبر جدار الحماية.
عندما يتلقى الخادم الوكيل طلبًا لمورد الإنترنت (مثل صفحة ويب) ، فإنه يبحث في ذاكرة التخزين المؤقت المحلية للصفحات السابقة.
إذا عثر على الصفحة ، فإنه يعيدها إلى المستخدم دون الحاجة إلى إعادة توجيه الطلب إلى الإنترنت.
إذا لم تكن الصفحة في ذاكرة التخزين المؤقت ، فإن الخادم الوكيل ، الذي يعمل كعميل نيابة عن المستخدم.
يستخدم أحد عناوين IP الخاصة به لطلب الصفحة من الخادم خارج الإنترنت.
عند إرجاع الصفحة ، يربطها الخادم الوكيل بالطلب الأصلي ويعيد توجيهها إلى المستخدم.
توفر بروكسيات Socks 4 و 5 خدمة الوكيل لبيانات UDP وعمليات البحث عن DNS بالإضافة إلى حركة مرور الويب.
تقدم بعض الخوادم الوكيلة كلا بروتوكولي Socks.
تركيب وتكوين الوكيل
بالنسبة لهذا الإعداد ، نستخدم جهازًا قائمًا على Centos 7 ، وقد تختلف الأوامر اعتمادًا على نظام التشغيل الأساسي المستخدم.
تثبيت الحزم المطلوبة لتجميع الكود المصدري.
yum install gcc make -y yum install wget -y
عمل دليل مؤقت.
mkdir /tmp/proxy cd /tmp/proxy
تنزيل الكود المصدري واستخراج الحزمة.
wget http://3proxy.ru/0.7.1.2/3proxy-0.7.1.2.tgz tar -xvzf 3proxy-0.7.1.2.tgz
انتقل إلى المجلد المستخرج.
cd 3proxy/
تجميع وتركيب 3proxy.
make -f Makefile.Linux make -f Makefile.Linux install
إنشاء دليل لتثبيت ملف التكوين.
mkdir /usr/local/etc/3proxy/config
تثبيت ملف التكوين.
/usr/bin/install -m 644 scripts/3proxy.cfg scripts/add3proxyuser.sh /usr/local/etc/3proxy/config
نسخ ملف التكوين إلى الدليل الأصل.
cp /usr/local/etc/3proxy/config/3proxy.cfg /usr/local/etc/3proxy/3proxy.cfg
إنشاء دليل “bin” للملف القابل للتنفيذ.
mkdir /usr/local/etc/3proxy/bin
قم بتغيير الدليل وانسخ الملفات الثنائية إلى دليل bin.
cd src/ cp -af 3proxy countersutil dighosts ftppr icqpr msnpr mycrypt pop3p proxy smtpp socks tcppm udppm /usr/local/etc/3proxy/bin
إنشاء دليل لملف السجل.
mkdir -p /usr/local/etc/3proxy/log/
قم بتغيير دليل العمل الحالي إلى دليل التثبيت 3proxy.
cd /usr/local/etc/3proxy/
إنشاء تسجيل دخول مستخدم مصرح به للمصادقة المستندة إلى كلمة المرور.
echo username:`/usr/local/etc/3proxy/bin/mycrypt $$ password` >> /usr/local/etc/3proxy/passwd
افتح ملف التكوين 3proxy وقم بتحرير الكود المشابه للرمز الوارد أدناه.
vi 3proxy.cfg
ملف التكوين معطى أدناه.
#!/usr/local/bin/3proxy daemon pidfile /usr/local/etc/3proxy/3proxy.pid nscache 65536 nserver 127.0.0.1 config /usr/local/etc/3proxy/3proxy.cfg monitor /usr/local/etc/3proxy/3proxy.cfg monitor /usr/local/etc/3proxy/counters monitor /usr/local/etc/3proxy/passwd monitor /usr/local/etc/3proxy/bandlimiters log /usr/local/etc/3proxy/log/log D rotate 60 counter /usr/local/etc/3proxy/3proxy.3cf users $/usr/local/etc/3proxy/passwd include /usr/local/etc/3proxy/counters include /usr/local/etc/3proxy/bandlimiters deny * * 127.0.0.1 #socks5# auth strong allow username flush socks
هنا يعمل بروكسي socks مع المنفذ الافتراضي 1080 ، ويمكن تمكين المنفذ المخصص لخدمة الوكيل عن طريق إضافة علامة “-p” مع رقم المنفذ مثل socks -p1880.
المصادقة المستندة إلى كلمة المرور هي عربات التي تجرها الدواب وينصح دائمًا باستخدام المصادقة القائمة على IP والتي ستجعل الوصول إلى الخادم الوكيل فقط من IP المحدد مسبقًا.
يمكن تمكين المصادقة القائمة على IP في 3proxy عن طريق إضافة IP المطلوب بعد تغيير قيمة المصادقة إلى iponly في ملف التكوين 3proxy. يتم إعطاء عينة التكوين أدناه كمرجع.
#socks5# auth iponly ##allowing IP eg. allow * <IP> allow * 1.2.3.4 ##deny all connections from other IP to the proxy port deny * * flush socks
هنا يتم تحويل المصادقة إلى IP المستندة إلى IP وسيقبل الوكيل الطلب من عنوان IP هذا فقط سيتم رفض جميع الطلبات الأخرى من عناوين IP الأخرى.
ابدأ الوكيل بتنفيذ الأمر التالي.
3proxy
تحقق من بدء تشغيل خدمة 3proxy وأن المنفذ المعين يستمع للاتصال الوارد باستخدام الأوامر التالية.
ps aux | grep 3proxy netstat -tuplan | grep 3proxy
سيكون إخراج عينة هذه الأوامر
# ps aux | grep 3proxy root 5748 0.0 0.5 77324 4336 ? Ssl 13:42 0:00 3proxy # netstat -tuplan | grep 3proxy tcp 0 0 0.0.0.0:1880 0.0.0.0:* LISTEN 5748/3proxy
إدارة 3proxy
لبدء تشغيل الوكيل ، قم بتنفيذ الأمر:
3proxy
لإيقاف الوكيل ، قم بإيقاف العملية بعد إمساك PID.
ps aux | grep 3proxy kill -9 PID
التحقق من خدمة الوكيل
تعمل هذه الطريقة فقط في الإعداد 3proxy مع المصادقة القائمة على IP.
يمكن التحقق من خدمة الوكيل باستخدام الأمر من عناوين IP المدرجة في القائمة البيضاء في ملف التكوين 3proxy.
curl<space>--socks5<space>ipaddress of proxy server:port of proxy server<space>url
فمثلا
curl –socks5 1.2.3.4:1080 google.com