أساسيات البروكسي الشفاف باستخدام 3proxy و iptables / netfilter أو كيفية "وضع كل شيء من خلال وكيل"

في هذه المقالة ، أود الكشف عن إمكانيات البروكسيات الشفافة ، والتي تسمح لك دون أن يلاحظها أحد تمامًا من قبل العملاء لإعادة توجيه كل أو جزء من حركة المرور عبر خوادم بروكسي خارجية.

عندما بدأت في حل هذه المشكلة ، واجهت حقيقة أن تنفيذها بها مشكلة واحدة مهمة - بروتوكول HTTPS. في الأيام الخوالي ، لم تكن هناك مشاكل معينة مع بروكسيات HTTP الشفافة ، ولكن مع بروكسيات HTTPS ، أبلغت المتصفحات عن تداخل البروتوكول وهذا هو المكان الذي تنتهي فيه السعادة.

في التعليمات الشائعة لخادم وكيل Squid ، يعرضون حتى إنشاء شهادتهم الخاصة وتثبيتها على العملاء ، وهو هراء كامل على الأقل غير منطقي ويبدو وكأنه هجوم MITM. أعلم أن Squid يعرف بالفعل كيف يفعل شيئًا مشابهًا ، لكن هذه المقالة تدور حول طريقة مجربة وفعالة باستخدام 3proxy من 3APA3A المحترم.

بعد ذلك ، سوف نلقي نظرة فاحصة على عملية بناء 3proxy من المصادر ، وتكوينها ، والوكيل الكامل والانتقائي باستخدام NAT ، وتوزيع القناة على عدة خوادم بروكسي خارجية ، وكذلك استخدام جهاز توجيه ومسارات ثابتة. نحن نستخدم Debian 9 x64 كنظام تشغيل. يبدأ!

تركيب 3proxy وتشغيل البروكسي العادي

1. تثبيت ifconfig (من حزمة net-tools)
apt-get install net-tools
2. تثبيت قائد منتصف الليل
apt-get install mc
3. لدينا الآن واجهتان:
enp0s3 - خارجي ، ينظر إلى الإنترنت
enp0s8 - داخلي ، يجب أن ننظر في الشبكة المحلية
في التوزيعات الأخرى المبنية على دبيان ، تُسمى الواجهات عادةً eth0 و eth1.
ifconfig -a

واجهاتenp0s3: الأعلام = 4163 طن متري 1500
إنت 192.168.23.11 قناع الشبكة 255.255.255.0 بث 192.168.23.255
inet6 fe80 :: a00: 27ff: fec2: bae4 prefixlen 64 نطاق 0x20 إيثر 08: 00: 27: c2: ba: e4 txqueuelen 1000 (إيثرنت)
حزم RX 6412 بايت 8676619 (8.2 ميجابايت)
أخطاء RX 0 أسقطت 0 تجاوزات 0 إطار 0
حزم TX 1726 بايت 289128 (282.3 كيلوبايت)
أسقطت أخطاء الإرسال 0 0 تجاوزات 0 تصادم الناقل 0 0

enp0s8: الأعلام = 4098 طن متري 1500
الأثير 08: 00: 27: 79: a7: e3 txqueuelen 1000 (إيثرنت)
حزم RX 0 بايت 0 (0.0 B)
أخطاء RX 0 أسقطت 0 تجاوزات 0 إطار 0
حزم TX 0 بايت 0 (0.0 B)
أسقطت أخطاء الإرسال 0 0 تجاوزات 0 تصادم الناقل 0 0

الصغرى: الأعلام = 73 طن متري 65536
إنت 127.0.0.1 قناع الشبكة 255.0.0.0
inet6 :: 1 prefixlen 128 نطاق الحلقة 0x10 txqueuelen 1 (الاسترجاع المحلي)
حزم RX 0 بايت 0 (0.0 B)
أخطاء RX 0 أسقطت 0 تجاوزات 0 إطار 0
حزم TX 0 بايت 0 (0.0 B)
أسقطت أخطاء الإرسال 0 0 تجاوزات 0 تصادم الناقل 0 0

واجهة enp0s8 غير مستخدمة حاليًا ، سنقوم بتمكينها عندما نريد استخدام تهيئة NAT أو NAT Proxy. عندها سيكون من المنطقي تعيين عنوان IP ثابت لها.

4. لنبدأ في تثبيت 3proxy

4.1 تثبيت الحزم الأساسية لتجميع 3proxy من المصدر

root@debian9:~# apt-get install build-essential libevent-dev libssl-dev -y

4.2 قم بإنشاء مجلد لتنزيل الأرشيف بالمصادر

root@debian9:~# mkdir -p /opt/proxy

4.3 دعنا نذهب إلى هذا المجلد

root@debian9:~# cd /opt/proxy

4.4 لنقم الآن بتنزيل أحدث حزمة 3proxy. في وقت كتابة هذه السطور ، كان أحدث إصدار ثابت هو 0.8.12 (18/04/2018) قم بتنزيله من موقع 3proxy الرسمي

root@debian9:/opt/proxy# wget https://github.com/z3APA3A/3proxy/archive/0.8.12.tar.gz

4.5 فك ضغط الأرشيف الذي تم تنزيله

root@debian9:/opt/proxy# tar zxvf 0.8.12.tar.gz

4.6 انتقل إلى الدليل غير المضغوط لإنشاء البرنامج

root@debian9:/opt/proxy# cd 3proxy-0.8.12

4.7 بعد ذلك ، تحتاج إلى إضافة سطر إلى ملف الرأس بحيث يكون خادمنا مجهول الهوية تمامًا (إنه يعمل بالفعل ، ويتم فحص كل شيء ، ويتم إخفاء ips للعميل)

root@debian9:/opt/proxy/3proxy-0.8.12# nano +29 src/proxy.h

أضف سطرًا

#define ANONYMOUS 1

اضغط على Ctrl + x و Enter لحفظ التغييرات.

4.8 دعونا نبني البرنامج

root@debian9:/opt/proxy/3proxy-0.8.12# make -f Makefile.Linux

ماكيلوجmake [2]: مغادرة الدليل "/opt/proxy/3proxy-0.8.12/src/plugins/TransparentPlugin"
make [1]: مغادرة الدليل "/opt/proxy/3proxy-0.8.12/src"

لا أخطاء ، تابع.

4.9 قم بتثبيت البرنامج على النظام

root@debian9:/opt/proxy/3proxy-0.8.12# make -f Makefile.Linux install

4.10. انتقل إلى الدليل الجذر وتحقق من مكان تثبيت البرنامج

root@debian9:/opt/proxy/3proxy-0.8.12# cd ~/
root@debian9:~# whereis 3proxy

3proxy: / usr / local / bin / 3proxy / usr / local / etc / 3proxy

4.11. لنقم بإنشاء مجلد لملفات التكوين والسجلات في الدليل الرئيسي للمستخدم

root@debian9:~# mkdir -p /home/joke/proxy/logs

4.12. انتقل إلى الدليل حيث يجب أن يكون التكوين

root@debian9:~# cd /home/joke/proxy/

4.13. قم بإنشاء ملف فارغ وانسخ التكوين هناك

root@debian9:/home/joke/proxy# cat > 3proxy.conf

3proxy.confالخفي
pidfile / home/joke/proxy/3proxy.pid
الخادم 8.8.8.8
نسكاش 65536
اختبار المستخدم: CL: 1234
المهلات 1 5 30 60 180 1800 16
log /home/joke/proxy/logs/3proxy.log د
تنسيق السجل "- + _L٪ t.٪.٪ N.٪ p٪ E٪ U٪ C:٪ c٪ R:٪ r٪ O٪ I٪ h٪ T"
استدارة 3
المصادقة قوية
تدفق
السماح للاختبار
جورب 3128
الوكيل -p8080

للحفظ ، اضغط على Ctrl + Z

4.14. لنقم بإنشاء ملف pid بحيث لا توجد أخطاء في بدء التشغيل.

root@debian9:/home/joke/proxy# cat > 3proxy.pid

للحفظ ، اضغط على Ctrl + Z

4.15. لنبدأ الخادم الوكيل!

root@debian9:/home/joke/proxy# 3proxy /home/joke/proxy/3proxy.conf

4.16. دعونا نرى ما إذا كان الخادم يستمع على المنافذ

root@debian9:~/home/joke/proxy# netstat -nlp

سجل netstatاتصالات الإنترنت النشطة (الخوادم فقط)
Proto Recv-Q Send-Q العنوان المحلي حالة العنوان الخارجي PID/اسم البرنامج
tcp 0 0 0.0.0.0:8080 0.0.0.0:* استمع 504/3 proxy
tcp 0 0 0.0.0.0:22 0.0.0.0:* استمع 338 / sshd
tcp 0 0 0.0.0.0:3128 0.0.0.0:* استمع 504/3 proxy
tcp6 0 0 ::: 22 ::: * الاستماع 338 / sshd
UDP 0 0 0.0.0.0:68 0.0.0.0:* 352 / dhclient

كما هو مكتوب في التكوين ، يستمع وكيل الويب إلى المنفذ 8080 ، وكيل Socks5 - 3128.

4.17. لبدء تشغيل خدمة الوكيل تلقائيًا بعد إعادة التشغيل ، تحتاج إلى إضافتها إلى cron.

root@debian9:/home/joke/proxy# crontab -e

أضف سطرًا

@reboot /usr/local/bin/3proxy /home/joke/proxy/3proxy.conf

نضغط على Enter ، نظرًا لأن cron يجب أن يرى حرف نهاية السطر ويحفظ الملف.

يجب أن تكون هناك رسالة حول تثبيت crontab جديد.

crontab: تثبيت crontab الجديد

4.18 دعنا نعيد تشغيل النظام ونحاول الاتصال بالبروكسي عبر المتصفح. للتحقق ، نستخدم متصفح Firefox (لوكيل الويب) والوظيفة الإضافية FoxyProxy لـ socks5 مع المصادقة.

root@debian9:/home/joke/proxy# reboot

4.19. بعد التحقق من عمل الوكيل بعد إعادة التشغيل ، يمكنك رؤية السجلات. هذا يكمل إعداد الخادم الوكيل.

3 سجل الوكيل1542573996.018 PROXY.8080 00000 فاحص 192.168.23.10:50915 217.12.15.54:443 1193 6939 0 CONNECT_ads.yahoo.com:443_HTTP/1.1
1542574289.634 SOCK5.3128 00000 فاحص 192.168.23.10:51193 54.192.13.69:443 0 0 0 CONNECT_normandy.cdn.mozilla.net:443

إعداد وتشغيل تكوين Transparent Proxy NAT

في هذا التكوين ، ستعمل جميع الأجهزة الموجودة على الشبكة الداخلية بشفافية على الإنترنت من خلال خادم وكيل بعيد. بالتأكيد سيتم إعادة توجيه جميع اتصالات tcp إلى خادم وكيل واحد أو أكثر (يوسع بالفعل عرض القناة ، مثال التكوين رقم 2!). ستستخدم خدمة DNS إمكانات 3proxy (dnspr). لن "يذهب" UDP للخارج ، لأننا لا نستخدم آلية إعادة التوجيه (معطلة افتراضيًا في Linux kernel).

1. حان الوقت لتمكين واجهة enp0s8

root@debian9:~# nano /etc/network/interfaces

/ etc / network / interfaces fileيصف # هذا الملف واجهات شبكة الاتصال المتاحة على النظام الخاص بك
# وكيفية تفعيلها. لمزيد من المعلومات، راجع واجهات (5).

المصدر /etc/network/interfaces.d/*

# واجهة الشبكة الاسترجاع
السيارات الصغرى
iface الاسترجاع لو آينت

# واجهة الشبكة الأساسية
السماح هوتبلوغ enp0s3
iface enp0s3 إنت dhcp

# واجهة الشبكة الثانوية
السماح هوتبلوغ enp0s8
iface enp0s8 إنت ثابت
عنوان 192.168.201.254
قناع الشبكة 255.255.255.0

هنا قمنا بتعيين واجهة enp0s8 بعنوان ثابت 192.168.201.254 وقناع 255.255.255.0
احفظ التكوين Ctrl + X وأعد التشغيل

root@debian9:~# reboot

2. فحص الواجهات

root@debian9:~# ifconfig

سجل ifconfigenp0s3: الأعلام = 4163 طن متري 1500
إنت 192.168.23.11 قناع الشبكة 255.255.255.0 بث 192.168.23.255
inet6 fe80 :: a00: 27ff: fec2: bae4 prefixlen 64 نطاق 0x20 إيثر 08: 00: 27: c2: ba: e4 txqueuelen 1000 (إيثرنت)
حزم RX 61 بايت 7873 (7.6 كيلوبايت)
أخطاء RX 0 أسقطت 0 تجاوزات 0 إطار 0
حزم TX 65 بايت 10917 (10.6 كيلوبايت)
أسقطت أخطاء الإرسال 0 0 تجاوزات 0 تصادم الناقل 0 0

enp0s8: الأعلام = 4163 طن متري 1500
إنت 192.168.201.254 قناع الشبكة 255.255.255.0 بث 192.168.201.255
inet6 fe80 :: a00: 27ff: fe79: a7e3 prefixlen 64 نطاق 0x20 إيثر 08: 00: 27: 79: a7: e3 txqueuelen 1000 (إيثرنت)
حزم RX 0 بايت 0 (0.0 B)
أخطاء RX 0 أسقطت 0 تجاوزات 0 إطار 0
حزم TX 8 بايت 648 (648.0 B)
أسقطت أخطاء الإرسال 0 0 تجاوزات 0 تصادم الناقل 0 0

الصغرى: الأعلام = 73 طن متري 65536
إنت 127.0.0.1 قناع الشبكة 255.0.0.0
inet6 :: 1 prefixlen 128 نطاق الحلقة 0x10 txqueuelen 1 (الاسترجاع المحلي)
حزم RX 0 بايت 0 (0.0 B)
أخطاء RX 0 أسقطت 0 تجاوزات 0 إطار 0
حزم TX 0 بايت 0 (0.0 B)
أسقطت أخطاء الإرسال 0 0 تجاوزات 0 تصادم الناقل 0 0

3. نجح كل شيء ، الآن أنت بحاجة إلى تكوين 3proxy للحصول على وكلاء بشفافية.

root@debian9:~# cd /home/joke/proxy/
root@debian9:/home/joke/proxy# cat > 3proxytransp.conf

مثال تكوين الوكيل الشفاف # 1الخفي
pidfile / home/joke/proxy/3proxy.pid
الخادم 8.8.8.8
نسكاش 65536
المهلات 1 5 30 60 180 1800 16
log /home/joke/proxy/logs/3proxy.log د
تنسيق السجل "- + _L٪ t.٪.٪ N.٪ p٪ E٪ U٪ C:٪ c٪ R:٪ r٪ O٪ I٪ h٪ T"
استدارة 3
تدفق
المصادقة بشكل فريد
com.dnspr
يسمح *
الأم 1000 الجوارب 5 EXTERNAL_PROXY IP_ADDRESS 3128 اختبار 1234
البرنامج المساعد /opt/proxy/3proxy-0.8.12/src/TransparentPlugin.ld.sotransparent_plugin
tcppm -i0.0.0.0 888 127.0.0.1

4. الآن قم بتشغيل 3proxy مع التكوين الجديد
root@debian9:/home/joke/proxy# /usr/local/bin/3proxy /home/joke/proxy/3proxytransp.conf

5. أضف إلى كرونتاب مرة أخرى
root@debian9:/home/joke/proxy# crontab -e
@reboot /usr/local/bin/3proxy /home/joke/proxy/3proxytransp.conf

6. دعونا نرى ما يستمع إليه وكيلنا الآن
root@debian9:~# netstat -nlp

سجل netstatاتصالات الإنترنت النشطة (الخوادم فقط)
Proto Recv-Q Send-Q العنوان المحلي حالة العنوان الخارجي PID/اسم البرنامج
tcp 0 0 0.0.0.0:22 0.0.0.0:* استمع 349 / sshd
tcp 0 0 0.0.0.0:888 0.0.0.0:* استمع 354/3 proxy
tcp6 0 0 ::: 22 ::: * الاستماع 349 / sshd
UDP 0 0 0.0.0.0:53 0.0.0.0:* 354/3 proxy
UDP 0 0 0.0.0.0:68 0.0.0.0:* 367 / dhclient

7. الآن البروكسي جاهز لقبول أي اتصالات TCP على المنفذ 888 ، DNS على المنفذ 53 ، من أجل إعادة توجيههم إلى بعيد socks5 - proxy و DNS Google 8.8.8.8. يبقى بالنسبة لنا تكوين قواعد netfilter (iptables) و DHCP لإصدار العناوين.

8. قم بتثبيت الحزمة iptables-persistent و dhcpd

root@debian9:~# apt-get install iptables-persistent isc-dhcp-server

9. قم بتحرير ملف بدء تشغيل dhcpd
root@debian9:~# nano /etc/dhcp/dhcpd.conf

dhcpd.conf#dhcpd.conf
#
# نموذج ملف التكوين لـ ISC dhcpd
#

# تعريفات خيارات مشتركة لجميع الشبكات المدعومة ...
اسم المجال الخيار "example.org" ؛
الخيار خوادم اسم المجال ns1.example.org ، ns2.example.org ؛

التقصير في التأجير وقت 600 ؛
الحد الأقصى لوقت الإيجار 7200 ؛

ddns-update-style لا شيء ؛

# إذا كان خادم DHCP هذا هو خادم DHCP الرسمي للمحلي
# الشبكة ، يجب عدم التعليق على التوجيه الرسمي.

موثوق.

# تكوين مختلف قليلاً لشبكة فرعية داخلية.
الشبكة الفرعية 192.168.201.0 قناع الشبكة 255.255.255.0 {
النطاق 192.168.201.10 192.168.201.250 ؛
الخيار خوادم اسم المجال 192.168.201.254 ؛
أجهزة التوجيه الخيار 192.168.201.254 ؛
خيار عنوان البث 192.168.201.255 ؛
التقصير في التأجير وقت 600 ؛
الحد الأقصى لوقت الإيجار 7200 ؛
}

11. إعادة التشغيل والتحقق من الخدمة على المنفذ 67
root@debian9:~# reboot
root@debian9:~# netstat -nlp

سجل netstatاتصالات الإنترنت النشطة (الخوادم فقط)
Proto Recv-Q Send-Q العنوان المحلي حالة العنوان الخارجي PID/اسم البرنامج
tcp 0 0 0.0.0.0:22 0.0.0.0:* استمع 389 / sshd
tcp 0 0 0.0.0.0:888 0.0.0.0:* استمع 310/3 proxy
tcp6 0 0 ::: 22 ::: * الاستماع 389 / sshd
UDP 0 0 0.0.0.0:20364 0.0.0.0:* 393 / dhcpd
UDP 0 0 0.0.0.0:53 0.0.0.0:* 310/3 proxy
UDP 0 0 0.0.0.0:67 0.0.0.0:* 393 / dhcpd
UDP 0 0 0.0.0.0:68 0.0.0.0:* 405 / dhclient
udp6 0 0 ::: 31728 ::: * 393 / dhcpd
خام 0 0 0.0.0.0:1 0.0.0.0:* 393 / dhcpd

12. يبقى إعادة توجيه جميع طلبات برنامج التعاون الفني إلى المنفذ 888 وحفظ القاعدة في iptables

root@debian9:~# iptables -t nat -A PREROUTING -s 192.168.201.0/24 -p tcp -j REDIRECT --to-ports 888

root@debian9:~# iptables-save > /etc/iptables/rules.v4

13. لتوسيع النطاق الترددي للقناة ، يمكنك استخدام عدة خوادم بروكسي في وقت واحد. يجب أن يكون المبلغ الإجمالي 1000. يتم إنشاء اتصالات جديدة مع احتمال 0.2 ، 0.2 ، 0.2 ، 0.2 ، 0,1 ، 0,1 لخوادم الوكيل المحددة.

ملحوظة: إذا كان لدينا وكيل ويب ، فبدلاً من socks5 تحتاج إلى كتابة connect ، إذا socks4 ، ثم socks4 (socks4 لا تدعم ترخيص تسجيل الدخول / كلمة المرور!)

مثال تكوين الوكيل الشفاف # 2الخفي
pidfile / home/joke/proxy/3proxy.pid
الخادم 8.8.8.8
نسكاش 65536
ماكسكون 500
المهلات 1 5 30 60 180 1800 16
log /home/joke/proxy/logs/3proxy.log د
تنسيق السجل "- + _L٪ t.٪.٪ N.٪ p٪ E٪ U٪ C:٪ c٪ R:٪ r٪ O٪ I٪ h٪ T"
استدارة 3
تدفق
المصادقة بشكل فريد
com.dnspr
يسمح *

الوالدين 200 الجوارب 5 IP_ADDRESS_EXTERNAL_PROXY # 1 3128 فاحص 1234
الوالدين 200 الجوارب 5 IP_ADDRESS_EXTERNAL_PROXY # 2 3128 فاحص 1234
الوالدين 200 الجوارب 5 IP_ADDRESS_EXTERNAL_PROXY # 3 3128 فاحص 1234
الوالدين 200 الجوارب 5 IP_ADDRESS_EXTERNAL_PROXY # 4 3128 فاحص 1234
الوالدين 100 الجوارب 5 IP_ADDRESS_EXTERNAL_PROXY # 5 3128 فاحص 1234
الوالدين 100 الجوارب 5 IP_ADDRESS_EXTERNAL_PROXY # 6 3128 فاحص 1234

البرنامج المساعد /opt/proxy/3proxy-0.8.12/src/TransparentPlugin.ld.sotransparent_plugin
tcppm -i0.0.0.0 888 127.0.0.1

إعداد وتشغيل تهيئة NAT + Transparent Proxy

في هذا التكوين ، سنستخدم آلية NAT المعتادة مع وكلاء انتقائي أو شفاف كامل للعناوين الفردية أو الشبكات الفرعية. سيعمل مستخدمو الشبكة الداخلية مع خدمات / شبكات فرعية معينة دون أن يدركوا أنهم يعملون من خلال وكيل. تعمل جميع اتصالات https بشكل جيد ، ولا يلزم إنشاء / استبدال أي شهادات.

أولاً ، دعنا نقرر الشبكات الفرعية / الخدمات التي نريد توكيلها. لنفترض أن الوكلاء الخارجيين يقعون في مكان تشغيل خدمة مثل pandora.com. الآن يبقى تحديد الشبكات الفرعية / العناوين.

1. بينغ

root@debian9:~# ping pandora.com
PING pandora.com (208.85.40.20) 56 (84) بايت من البيانات.

2. نكتب في Google BGP 208.85.40.20

دعنا نذهب إلى الموقع bgp.he.net/net/208.85.40.0/24#_netinfo
يمكن ملاحظة أن الشبكة الفرعية التي أبحث عنها هي AS40428 Pandora Media، Inc.

bgp.he.net/net/208.85.40.0/24#_netinfo

فتح البادئات v4

bgp.he.net/AS40428#_prefixes

ها هي الشبكات الفرعية المطلوبة!

199.116.161.0/24
199.116.162.0/24
199.116.164.0/23
199.116.164.0/24
199.116.165.0/24
208.85.40.0/24
208.85.41.0/24
208.85.42.0/23
208.85.42.0/24
208.85.43.0/24
208.85.44.0/24
208.85.46.0/23
208.85.46.0/24
208.85.47.0/24

3. لتقليل عدد الشبكات الفرعية ، تحتاج إلى إجراء التجميع. دعنا نذهب إلى الموقع ip-calculator.ru/aggregate وانسخ قائمتنا هناك. نتيجة لذلك - 6 شبكات فرعية بدلاً من 14.

199.116.161.0/24
199.116.162.0/24
199.116.164.0/23
208.85.40.0/22
208.85.44.0/24
208.85.46.0/23

4. تنظيف قواعد iptables

root@debian9:~# iptables -F
root@debian9:~# iptables -X
root@debian9:~# iptables -t nat -F
root@debian9:~# iptables -t nat -X

قم بتمكين آلية التوجيه و NAT

root@debian9:~# echo 1 > /proc/sys/net/ipv4/ip_forward
root@debian9:~# iptables -A FORWARD -i enp0s3 -o enp0s8 -j ACCEPT
root@debian9:~# iptables -A FORWARD -i enp0s8 -o enp0s3 -j ACCEPT
root@debian9:~# iptables -t nat -A POSTROUTING -o enp0s3 -s 192.168.201.0/24 -j MASQUERADE

لكي يتم تمكين إعادة التوجيه بشكل دائم بعد إعادة التشغيل ، سنقوم بتغيير الملف

root@debian9:~# nano /etc/sysctl.conf

وأزل التعليق على الخط

net.ipv4.ip_forward = 1

Ctrl + X لحفظ الملف

5. لف الشبكات الفرعية لـ pandora.com في وكيل

root@debian9:~# iptables -t nat -A PREROUTING -s 192.168.201.0/24 -d 199.116.161.0/24,199.116.162.0/24,199.116.164.0/23,208.85.40.0/22,208.85.44.0/24,208.85.46.0/23 -p tcp -j REDIRECT --to-ports 888

6. احفظ القواعد

root@debian9:~# iptables-save > /etc/iptables/rules.v4

إعداد وتشغيل الوكيل الشفاف عبر تكوين جهاز التوجيه

في هذا التكوين ، يمكن أن يكون الخادم الوكيل الشفاف جهاز كمبيوتر منفصل أو جهازًا افتراضيًا خلف جهاز توجيه منزلي / شركة. يكفي تسجيل المسارات الثابتة على جهاز التوجيه أو الأجهزة ، وستستخدم الشبكة الفرعية بأكملها الوكيل دون الحاجة إلى أي إعدادات إضافية.

مهم! من الضروري أن تتلقى بوابتنا عنوان IP ثابتًا من جهاز التوجيه ، أو أن يتم تكوينه ليكون ثابتًا نفسه.

1. قم بإعداد عنوان بوابة ثابتة (محول enp0s3)

root@debian9:~# nano /etc/network/interfaces

/ etc / network / interfaces fileيصف # هذا الملف واجهات شبكة الاتصال المتاحة على النظام الخاص بك
# وكيفية تفعيلها. لمزيد من المعلومات، راجع واجهات (5).

المصدر /etc/network/interfaces.d/*

# واجهة الشبكة الاسترجاع
السيارات الصغرى
iface الاسترجاع لو آينت

# واجهة الشبكة الأساسية
السماح هوتبلوغ enp0s3
iface enp0s3 إنت ثابت
عنوان 192.168.23.2
قناع الشبكة 255.255.255.0
بوابة 192.168.23.254

# واجهة الشبكة الثانوية
السماح هوتبلوغ enp0s8
iface enp0s8 إنت ثابت
عنوان 192.168.201.254
قناع الشبكة 255.255.255.0

2. اسمح للأجهزة من الشبكة الفرعية 192.168.23.0/24 باستخدام البروكسي

root@debian9:~# iptables -t nat -A PREROUTING -s 192.168.23.0/24 -d 199.116.161.0/24,199.116.162.0/24,199.116.164.0/23,208.85.40.0/22,208.85.44.0/24,208.85.46.0/23 -p tcp -j REDIRECT --to-ports 888

3. احفظ القواعد
root@debian9:~# iptables-save > /etc/iptables/rules.v4

4. لنكتب شبكات فرعية على جهاز التوجيه

قائمة شبكة الموجه199.116.161.0 255.255.255.0 192.168.23.2
199.116.162.0 255.255.255.0 192.168.23.2
199.116.164.0 255.255.254.0 192.168.23.2
208.85.40.0 255.255.252.0 192.168.23.2
208.85.44.0 255.255.255.0 192.168.23.2
208.85.46.0 255.255.254.0 192.168.23.2

المواد / الموارد المستخدمة

1. الموقع الرسمي لبرنامج 3proxy 3proxy.ru

2. تعليمات لتثبيت 3proxy من المصادر www.ekzorchik.ru/2015/02/how-to-take-your-socks-proxy

3. فرع المطور 3proxy على جيثب github.com/z3APA3A/3proxy/issues/274

المصدر: www.habr.com

إضافة تعليق