3proxy ۽ iptables/netfilter استعمال ڪندي شفاف پراڪسي جي بنياديات يا ڪيئن "پراڪسي ذريعي سڀڪنھن شيء کي رکڻ"

هن آرٽيڪل ۾ آئون شفاف پراکسينگ جي امڪانن کي ظاهر ڪرڻ چاهيان ٿو، جيڪا توهان کي اجازت ڏئي ٿي ٽريفڪ جو سڄو يا حصو خارجي پراکسي سرورز ذريعي ريڊائريڪٽ ڪرڻ جي مڪمل طور تي گراهڪن طرفان اڻڄاتل.

جڏهن مون هن مسئلي کي حل ڪرڻ شروع ڪيو، مون کي ان حقيقت سان منهن ڏيڻو پيو ته ان جي عمل درآمد ۾ هڪ اهم مسئلو هو - HTTPS پروٽوڪول. سٺن پراڻن ڏينهن ۾، شفاف HTTP پراکسينگ سان ڪي خاص مسئلا نه هئا، پر HTTPS پراکسينگ سان، برائوزر پروٽوڪول سان مداخلت جي رپورٽ ڪن ٿا ۽ اتي ئي خوشي ختم ٿي وڃي ٿي.

اسڪواڊ پراکسي سرور لاءِ عام هدايتن ۾، اهي پڻ توهان جي پنهنجي سرٽيفڪيٽ ٺاهي ۽ ان کي ڪلائنٽ تي انسٽال ڪرڻ جو مشورو ڏئي ٿو، جيڪو گهٽ ۾ گهٽ، غير معقول ۽ MITM حملي وانگر ڏسڻ ۾ اچي ٿو. مون کي خبر آهي ته اسڪواڊ اڳ ۾ ئي ڪجهه ڪري سگهي ٿو، پر هي مضمون هڪ ثابت ۽ ڪم ڪندڙ طريقي جي باري ۾ آهي 3 پروسي استعمال ڪندي معزز 3APA3A کان.

اڳيون، اسان تفصيل سان ڏسنداسين 3 پروڪسي جي تعمير جي عمل کي ماخذ کان، ان جي ترتيب، مڪمل ۽ چونڊيل پراکسينگ NAT استعمال ڪندي، ڪيترن ئي خارجي پراکسي سرورز تي چينل جي تقسيم، گڏوگڏ هڪ روٽر ۽ جامد رستن جي استعمال. اسان ڊيبين 9 x64 استعمال ڪندا آهيون OS طور. شروع ڪريو!

3 proxy انسٽال ڪرڻ ۽ باقاعده پراکسي سرور هلائڻ

1. انسٽال ڪريو ifconfig (net-tools پيڪيج مان)
apt-get install net-tools
2. نصب ڪريو اڌ رات جو ڪمانڊر
apt-get install mc
3. اسان وٽ ھاڻي 2 انٽرفيس آھن:
enp0s3 - خارجي، انٽرنيٽ تي نظر اچي ٿو
enp0s8 - اندروني، مقامي نيٽ ورڪ ۾ ڏسڻ گهرجي
ٻين ديبين جي بنياد تي تقسيم تي انٽرفيس عام طور تي سڏيو ويندو آهي eth0 ۽ eth1.
ifconfig -a

Interfacesenp0s3: پرچم = 4163 mtu 1500
inet 192.168.23.11 netmask 255.255.255.0 براڊڪاسٽ 192.168.23.255
inet6 fe80::a00:27ff:fec2:bae4 prefixlen 64 scopeid 0x20 ether 08:00:27:c2:ba:e4 txqueuelen 1000 (Ethernet)
RX پيڪٽس 6412 بائيٽ 8676619 (8.2 MiB)
RX غلطيون 0 ڇڏيا ويا 0 اووررنز 0 فريم 0
TX پيڪٽس 1726 بائيٽ 289128 (282.3 KiB)
TX غلطيون 0 گھٽجي ويو 0 اووررن 0 ڪيريئر 0 ٽڪر 0

enp0s8: پرچم = 4098 mtu 1500
ether 08:00:27:79:a7:e3 txqueuelen 1000 (Ethernet)
RX پيڪٽس 0 بائيٽ 0 (0.0 بي)
RX غلطيون 0 ڇڏيا ويا 0 اووررنز 0 فريم 0
TX پيڪٽس 0 بائيٽ 0 (0.0 بي)
TX غلطيون 0 گھٽجي ويو 0 اووررن 0 ڪيريئر 0 ٽڪر 0

lo: پرچم = 73 ايم ٽي يو 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1 (مقامي لوپ بيڪ)
RX پيڪٽس 0 بائيٽ 0 (0.0 بي)
RX غلطيون 0 ڇڏيا ويا 0 اووررنز 0 فريم 0
TX پيڪٽس 0 بائيٽ 0 (0.0 بي)
TX غلطيون 0 گھٽجي ويو 0 اووررن 0 ڪيريئر 0 ٽڪر 0

enp0s8 انٽرفيس في الحال استعمال نه ڪيو ويو آهي، اسان ان کي فعال ڪنداسين جڏهن اسان Proxy NAT يا NAT ترتيب استعمال ڪرڻ چاهيون ٿا. اهو پوءِ آهي ته اهو منطقي هوندو ته ان کي هڪ مستحڪم 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

ميڪلوگٺاهيو [2]: ڊاريڪٽري ڇڏڻ '/opt/proxy/3proxy-0.8.12/src/plugins/TransparentPlugin'
ٺاهيو [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. ڊاريڪٽري ڏانھن وڃو جتي config هجڻ گھرجي

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
nscache 65536
استعمال ڪندڙ ٽيسٽر: CL:1234
وقت ختم ٿيڻ 1 5 30 60 180 1800 16 60
log/home/joke/proxy/logs/3proxy.log ڊي
لاگ فارميٽ "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
3 XNUMXڻو
مضبوط ليکڪ
ڀاڙو
ٽيسٽ جي اجازت ڏيو
جراب -p3128
proxy -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/3proxy
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/3proxy
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. ريبوٽ کان پوء پراکسي سروس کي خودڪار ڪرڻ لاء، توهان کي ان کي شامل ڪرڻ جي ضرورت آهي ڪرن.

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

هڪ لڪير شامل ڪريو

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

اسان Enter کي دٻايو، ڇاڪاڻ ته ڪرون کي لائن جي ڪردار جي پڇاڙي ڏسڻ گهرجي، ۽ فائل کي محفوظ ڪريو.

اتي ھڪڙو پيغام ھئڻ گھرجي ھڪڙو نئون ڪرنٽاب نصب ڪرڻ بابت.

crontab: نئين crontab انسٽال ڪرڻ

4.18. اچو ته سسٽم کي ريبوٽ ڪريو ۽ برائوزر ذريعي پراکسي سان ڳنڍڻ جي ڪوشش ڪريو. چيڪ ڪرڻ لاءِ، اسان استعمال ڪريون ٿا Firefox برائوزر (ويب پراکسي لاءِ) ۽ FoxyProxy اضافو ساڪس 5 لاءِ تصديق سان.

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: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

شفاف پراکسي NAT ترتيب ترتيب ڏيڻ ۽ هلائڻ

هن ترتيب ۾، اندروني نيٽ ورڪ تي سڀئي ڊوائيس شفاف طور تي انٽرنيٽ تي ريموٽ پراکسي سرور ذريعي هلندا. بلڪل سڀ TCP ڪنيڪشن ھڪ يا وڌيڪ ڏانھن موٽايا ويندا (حقيقت ۾ چينل جي چوٽي کي وڌايو، ترتيب ڏيڻ جو مثال نمبر 2!) پراکسي سرورز. DNS سروس 3proxy (dnspr) صلاحيتون استعمال ڪندي. UDP ٻاهران ”وڃڻ“ نه ڏيندو، ڇو ته اسان اڃا تائين فارورڊ ميڪانيزم استعمال نه ڪري رهيا آهيون (لينڪس ڪنيل ۾ ڊفالٽ طور تي غير فعال).

1. اهو وقت آهي enp0s8 انٽرفيس کي فعال ڪرڻ جو

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

/etc/network/interfaces فائل# ھي فائل بيان ڪري ٿو توھان جي سسٽم تي موجود نيٽ ورڪ انٽرفيس
# ۽ انهن کي ڪيئن چالو ڪجي. وڌيڪ معلومات لاءِ، ڏسو انٽرفيس(5).

ذريعو /etc/network/interfaces.d/*

# لوپ بيڪ نيٽ ورڪ انٽرفيس
خود ڪار
اسڪوٽ لو انٽ لوڪ بیک

# بنيادي نيٽ ورڪ انٽرفيس
اجازت-هاٽ پلگ enp0s3
iface enp0s3 inet dhcp

# ثانوي نيٽ ورڪ انٽرفيس
اجازت-هاٽ پلگ enp0s8
iface enp0s8 inet جامد
ايڊريس 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

ifconfig لاگenp0s3: پرچم = 4163 mtu 1500
inet 192.168.23.11 netmask 255.255.255.0 براڊڪاسٽ 192.168.23.255
inet6 fe80::a00:27ff:fec2:bae4 prefixlen 64 scopeid 0x20 ether 08:00:27:c2:ba:e4 txqueuelen 1000 (Ethernet)
RX پيڪٽس 61 بائيٽ 7873 (7.6 KiB)
RX غلطيون 0 ڇڏيا ويا 0 اووررنز 0 فريم 0
TX پيڪٽس 65 بائيٽ 10917 (10.6 KiB)
TX غلطيون 0 گھٽجي ويو 0 اووررن 0 ڪيريئر 0 ٽڪر 0

enp0s8: پرچم = 4163 mtu 1500
inet 192.168.201.254 netmask 255.255.255.0 براڊڪاسٽ 192.168.201.255
inet6 fe80::a00:27ff:fe79:a7e3 prefixlen 64 scopeid 0x20 ether 08:00:27:79:a7:e3 txqueuelen 1000 (Ethernet)
RX پيڪٽس 0 بائيٽ 0 (0.0 بي)
RX غلطيون 0 ڇڏيا ويا 0 اووررنز 0 فريم 0
TX پيڪٽس 8 بائيٽ 648 (648.0 بي)
TX غلطيون 0 گھٽجي ويو 0 اووررن 0 ڪيريئر 0 ٽڪر 0

lo: پرچم = 73 ايم ٽي يو 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1 (مقامي لوپ بيڪ)
RX پيڪٽس 0 بائيٽ 0 (0.0 بي)
RX غلطيون 0 ڇڏيا ويا 0 اووررنز 0 فريم 0
TX پيڪٽس 0 بائيٽ 0 (0.0 بي)
TX غلطيون 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
nscache 65536
وقت ختم ٿيڻ 1 5 30 60 180 1800 16 60
log/home/joke/proxy/logs/3proxy.log ڊي
لاگ فارميٽ "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
3 XNUMXڻو
ڀاڙو
auth iponly
ڊي اين ايس پي آر
اجازت*
والدين 1000 جراب 5 IP_ADDRESS OF EXTERNAL_PROXY 3128 ٽيسٽر 1234
پلگ ان /opt/proxy/3proxy-0.8.12/src/TransparentPlugin.ld.so transparent_plugin
tcppm -i0.0.0.0 888 127.0.0.1 11111

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/3proxy
tcp6 0 0 :::22 :::* ٻڌو 349/sshd
udp 0 0 0.0.0.0:53 0.0.0.0:* 354/3proxy
udp 0 0 0.0.0.0:68 0.0.0.0:* 367/dhclient

7. ھاڻي پراڪسي پورٽ 888 تي، DNS بندرگاھ 53 تي ڪنھن به TCP ڪنيڪشن کي قبول ڪرڻ لاءِ تيار آھي، ته جيئن اھي وري ريموٽ ساڪس5 پراڪسي ۽ DNS گوگل 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 none؛

# جيڪڏھن ھي 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/3proxy
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/3proxy
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. باقي رهي ٿو سڀني tcp درخواستن کي پورٽ 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 جي بدران اسان کي ڪنيڪٽ لکڻ جي ضرورت آهي، جيڪڏهن socks4، پوءِ socks4 (socks4 لاگ ان/پاسورڊ جي اجازت جي حمايت نٿو ڪري!)

شفاف پراکسي سرور نمبر 2 جي تشڪيل جو مثالداون
pidfile/home/joke/proxy/3proxy.pid
سرور 8.8.8.8
nscache 65536
ميڪسڪن 500
وقت ختم ٿيڻ 1 5 30 60 180 1800 16 60
log/home/joke/proxy/logs/3proxy.log ڊي
لاگ فارميٽ "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
3 XNUMXڻو
ڀاڙو
auth iponly
ڊي اين ايس پي آر
اجازت*

والدين 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.so transparent_plugin
tcppm -i0.0.0.0 888 127.0.0.1 11111

NAT + شفاف پراکسي ترتيب ڏيڻ ۽ هلائڻ

هن تشڪيل ۾، اسان عام NAT ميڪانيزم کي استعمال ڪنداسين انفرادي پتي يا ذيلي نيٽ جي چونڊ يا مڪمل شفاف پراڪسينگ سان. اندروني نيٽ ورڪ استعمال ڪندڙ ڪجهه خدمتن/سبنيٽس سان ڪم ڪندا بغير اهو سمجهڻ جي ته اهي پراکسي ذريعي ڪم ڪري رهيا آهن. سڀئي https ڪنيڪشن ٺيڪ ڪم ڪن ٿا، ڪنهن به سرٽيفڪيٽ کي پيدا ڪرڻ/بدلڻ جي ضرورت ناهي.

پهرين، اچو ته فيصلو ڪريون ته ڪهڙن سبنيٽس/سروسز کي پراکسي ڪرڻ چاهيون ٿا. اچو ته فرض ڪريو ته ٻاهرين پراکسيون واقع آهن جتي هڪ خدمت جهڙوڪ pandora.com هلندي آهي. ھاڻي رھي ٿو ان جي سبنيٽس/پتا جو تعين ڪرڻ.

1. پنگ

root@debian9:~# ping pandora.com
PING pandora.com (208.85.40.20) 56 (84) بائيٽ ڊيٽا.

2. ٽائپ ڪريو 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. subnets جي تعداد کي گھٽائڻ لاء، توهان کي گڏ ڪرڻ جي ضرورت آهي. سائيٽ ڏانهن وڃو 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 فائل# ھي فائل بيان ڪري ٿو توھان جي سسٽم تي موجود نيٽ ورڪ انٽرفيس
# ۽ انهن کي ڪيئن چالو ڪجي. وڌيڪ معلومات لاءِ، ڏسو انٽرفيس(5).

ذريعو /etc/network/interfaces.d/*

# لوپ بيڪ نيٽ ورڪ انٽرفيس
خود ڪار
اسڪوٽ لو انٽ لوڪ بیک

# بنيادي نيٽ ورڪ انٽرفيس
اجازت-هاٽ پلگ enp0s3
iface enp0s3 inet جامد
ايڊريس 192.168.23.2
نيٽ ماسڪ 255.255.255.0
گيٽ ويٽ 192.168.23.254

# ثانوي نيٽ ورڪ انٽرفيس
اجازت-هاٽ پلگ enp0s8
iface enp0s8 inet جامد
ايڊريس 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. GitHub تي 3 پروسي ڊولپمينٽ برانچ github.com/z3APA3A/3proxy/issues/274

جو ذريعو: www.habr.com

تبصرو شامل ڪريو