3proxy మరియు iptables/netfilterని ఉపయోగించి పారదర్శక ప్రాక్సీయింగ్ యొక్క ప్రాథమిక అంశాలు లేదా “ప్రతిదీ ప్రాక్సీ ద్వారా ఉంచడం” ఎలా

ఈ కథనంలో నేను పారదర్శక ప్రాక్సీయింగ్ యొక్క అవకాశాలను బహిర్గతం చేయాలనుకుంటున్నాను, ఇది క్లయింట్‌లచే ఖచ్చితంగా గుర్తించబడని బాహ్య ప్రాక్సీ సర్వర్‌ల ద్వారా ట్రాఫిక్‌లో మొత్తం లేదా కొంత భాగాన్ని దారి మళ్లించడానికి మిమ్మల్ని అనుమతిస్తుంది.

నేను ఈ సమస్యను పరిష్కరించడం ప్రారంభించినప్పుడు, దాని అమలులో ఒక ముఖ్యమైన సమస్య ఉందని నేను ఎదుర్కొన్నాను - HTTPS ప్రోటోకాల్. మంచి పాత రోజుల్లో, పారదర్శక HTTP ప్రాక్సీయింగ్‌తో ప్రత్యేక సమస్యలు లేవు, కానీ HTTPS ప్రాక్సీయింగ్‌తో, బ్రౌజర్‌లు ప్రోటోకాల్‌తో జోక్యాన్ని నివేదిస్తాయి మరియు అక్కడే ఆనందం ముగుస్తుంది.

స్క్విడ్ ప్రాక్సీ సర్వర్‌కు సంబంధించిన సాధారణ సూచనలలో, వారు మీ స్వంత సర్టిఫికేట్‌ను రూపొందించాలని మరియు క్లయింట్‌లపై ఇన్‌స్టాల్ చేసుకోవాలని కూడా సూచిస్తున్నారు, ఇది కనీసం పూర్తిగా అర్ధంలేనిది, అహేతుకం మరియు MITM దాడిలా కనిపిస్తుంది. స్క్విడ్ ఇప్పటికే ఇలాంటిదే చేయగలదని నాకు తెలుసు, కానీ ఈ కథనం గౌరవనీయమైన 3APA3A నుండి 3ప్రాక్సీని ఉపయోగించి నిరూపితమైన మరియు పని చేసే పద్ధతి గురించి.

తరువాత, మూలం నుండి 3ప్రాక్సీని నిర్మించే ప్రక్రియ, దాని కాన్ఫిగరేషన్, NATని ఉపయోగించి పూర్తి మరియు ఎంపిక చేసిన ప్రాక్సీయింగ్, అనేక బాహ్య ప్రాక్సీ సర్వర్‌లకు ఛానెల్ పంపిణీ, అలాగే రూటర్ మరియు స్టాటిక్ రూట్‌ల వినియోగాన్ని మేము వివరంగా పరిశీలిస్తాము. మేము డెబియన్ 9 x64ని OSగా ఉపయోగిస్తాము. ప్రారంభం!

3ప్రాక్సీని ఇన్‌స్టాల్ చేస్తోంది మరియు సాధారణ ప్రాక్సీ సర్వర్‌ని అమలు చేస్తోంది

1. ifconfigని ఇన్‌స్టాల్ చేయండి (నెట్-టూల్స్ ప్యాకేజీ నుండి)
apt-get install net-tools
2. మిడ్నైట్ కమాండర్‌ను ఇన్‌స్టాల్ చేయండి
apt-get install mc
3. ఇప్పుడు మనకు 2 ఇంటర్‌ఫేస్‌లు ఉన్నాయి:
enp0s3 - బాహ్య, ఇంటర్నెట్‌ను చూస్తుంది
enp0s8 - అంతర్గత, తప్పనిసరిగా స్థానిక నెట్‌వర్క్‌ని చూడాలి
ఇతర డెబియన్-ఆధారిత పంపిణీలలో ఇంటర్‌ఫేస్‌లు సాధారణంగా eth0 మరియు eth1 అని పేరు పెట్టబడతాయి.
ifconfig -a

ఇంటర్ఫేసెస్enp0s3: జెండాలు=4163 mtu 1500
inet 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 MiB)
RX లోపాలు 0 పడిపోయాయి 0 ఓవర్‌రన్ 0 ఫ్రేమ్ 0
TX ప్యాకెట్లు 1726 బైట్లు 289128 (282.3 KiB)
TX లోపాలు 0 పడిపోయాయి 0 ఓవర్‌రన్‌లు 0 క్యారియర్ 0 ఘర్షణలు 0

enp0s8: జెండాలు=4098 mtu 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)
TX లోపాలు 0 పడిపోయాయి 0 ఓవర్‌రన్‌లు 0 క్యారియర్ 0 ఘర్షణలు 0

లో: జెండాలు=73 mtu 65536
inet 127.0.0.1 నెట్‌మాస్క్ 255.0.0.0
inet6 ::1 ఉపసర్గ 128 స్కోపిడ్ 0x10 లూప్ txqueuelen 1 (స్థానిక లూప్‌బ్యాక్)
RX ప్యాకెట్లు 0 బైట్లు 0 (0.0 B)
RX లోపాలు 0 పడిపోయాయి 0 ఓవర్‌రన్ 0 ఫ్రేమ్ 0
TX ప్యాకెట్లు 0 బైట్లు 0 (0.0 B)
TX లోపాలు 0 పడిపోయాయి 0 ఓవర్‌రన్‌లు 0 క్యారియర్ 0 ఘర్షణలు 0

enp0s8 ఇంటర్‌ఫేస్ ప్రస్తుతం ఉపయోగించబడలేదు, మేము ప్రాక్సీ NAT లేదా NAT కాన్ఫిగరేషన్‌ని ఉపయోగించాలనుకున్నప్పుడు దాన్ని ప్రారంభిస్తాము. ఇది స్టాటిక్ IP ని కేటాయించడం తార్కికంగా ఉంటుంది.

4. 3ప్రాక్సీని ఇన్‌స్టాల్ చేయడం ప్రారంభిద్దాం

4.1 మూలాల నుండి 3ప్రాక్సీని కంపైల్ చేయడానికి ప్రాథమిక ప్యాకేజీలను ఇన్‌స్టాల్ చేస్తోంది

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 ఇప్పుడు సరికొత్త 3ప్రాక్సీ ప్యాకేజీని డౌన్‌లోడ్ చేద్దాం. వ్రాసే సమయంలో, తాజా స్థిరమైన వెర్షన్ 0.8.12 (18/04/2018) అధికారిక 3ప్రాక్సీ వెబ్‌సైట్ నుండి డౌన్‌లోడ్ చేసుకోండి

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 తరువాత, మేము హెడర్ ఫైల్‌కు ఒక పంక్తిని జోడించాలి, తద్వారా మా సర్వర్ పూర్తిగా అనామకంగా ఉంటుంది (ఇది నిజంగా పనిచేస్తుంది, ప్రతిదీ తనిఖీ చేయబడింది, క్లయింట్ IPలు దాచబడ్డాయి)

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

3ప్రాక్సీ: /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
nserver 8.8.8.8
nscache 65536
వినియోగదారులు టెస్టర్:CL:1234
గడువు ముగిసింది 1 5 30 60 180 1800 16 60
లాగ్ /home/joke/proxy/logs/3proxy.log D
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
3 ను తిప్పండి
auth బలమైన
ఫ్లష్
టెస్టర్‌ని అనుమతించండి
సాక్స్ -p3128
ప్రాక్సీ -p8080

సేవ్ చేయడానికి, Ctrl + Z నొక్కండి

4.14 స్టార్టప్ సమయంలో ఎలాంటి ఎర్రర్‌లు ఉండకుండా పిడ్ ఫైల్‌ని క్రియేట్ చేద్దాం.

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ప్రాక్సీని వినండి
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ప్రాక్సీని వినండి
tcp6 0 0 :::22 :::* 338/sshd వినండి
udp 0 0 0.0.0.0:68 0.0.0.0:* 352/dhclient

ఇది కాన్ఫిగరేషన్‌లో వ్రాయబడినట్లుగా, మా వెబ్ ప్రాక్సీ పోర్ట్ 8080ని వింటుంది, సాక్స్ 5 ప్రాక్సీ పోర్ట్ 3128ని వింటుంది.

4.17 రీబూట్ చేసిన తర్వాత ప్రాక్సీ సేవను ఆటోస్టార్ట్ చేయడానికి, మీరు దాన్ని క్రాన్‌కి జోడించాలి.

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

ఒక లైన్ జోడించండి

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

క్రాన్ పంక్తి అక్షరం ముగింపును చూసి, ఫైల్‌ను సేవ్ చేయాలి కాబట్టి మేము ఎంటర్‌ను నొక్కండి.

కొత్త క్రాంటాబ్‌ను ఇన్‌స్టాల్ చేయడం గురించి సందేశం ఉండాలి.

crontab: కొత్త crontab ని ఇన్‌స్టాల్ చేస్తోంది

4.18 సిస్టమ్‌ను రీబూట్ చేసి, బ్రౌజర్ ద్వారా ప్రాక్సీకి కనెక్ట్ చేయడానికి ప్రయత్నిద్దాం. తనిఖీ చేయడానికి, మేము Firefox బ్రౌజర్ (వెబ్ ప్రాక్సీ కోసం) మరియు ప్రమాణీకరణతో సాక్స్5 కోసం FoxyProxy యాడ్-ఆన్‌ని ఉపయోగిస్తాము.

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:P/443HTT
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 సేవ 3ప్రాక్సీ (dnspr) సామర్థ్యాలను ఉపయోగిస్తుంది. UDP బయటికి "వెళ్ళదు", ఎందుకంటే మేము ఇంకా ఫార్వర్డ్ మెకానిజంను ఉపయోగించలేదు (Linux కెర్నల్‌లో డిఫాల్ట్‌గా డిసేబుల్ చేయబడింది).

1. ఇది enp0s8 ఇంటర్‌ఫేస్‌ను ప్రారంభించే సమయం

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

/etc/network/interfaces ఫైల్# ఈ ఫైల్ మీ సిస్టమ్‌లో అందుబాటులో ఉన్న నెట్‌వర్క్ ఇంటర్‌ఫేస్‌లను వివరిస్తుంది
# మరియు వాటిని ఎలా యాక్టివేట్ చేయాలి. మరింత సమాచారం కోసం, ఇంటర్‌ఫేస్‌లు(5) చూడండి.

మూలం /etc/network/interfaces.d/*

# లూప్‌బ్యాక్ నెట్‌వర్క్ ఇంటర్‌ఫేస్
ఆటో లో
iface lo inet loopback

# ప్రాథమిక నెట్‌వర్క్ ఇంటర్‌ఫేస్
అనుమతించు-హాట్‌ప్లగ్ 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 నెట్‌మాస్క్ 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 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 నెట్‌మాస్క్ 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)
TX లోపాలు 0 పడిపోయాయి 0 ఓవర్‌రన్‌లు 0 క్యారియర్ 0 ఘర్షణలు 0

లో: జెండాలు=73 mtu 65536
inet 127.0.0.1 నెట్‌మాస్క్ 255.0.0.0
inet6 ::1 ఉపసర్గ 128 స్కోపిడ్ 0x10 లూప్ txqueuelen 1 (స్థానిక లూప్‌బ్యాక్)
RX ప్యాకెట్లు 0 బైట్లు 0 (0.0 B)
RX లోపాలు 0 పడిపోయాయి 0 ఓవర్‌రన్ 0 ఫ్రేమ్ 0
TX ప్యాకెట్లు 0 బైట్లు 0 (0.0 B)
TX లోపాలు 0 పడిపోయాయి 0 ఓవర్‌రన్‌లు 0 క్యారియర్ 0 ఘర్షణలు 0

3. ప్రతిదీ పని చేసింది, ఇప్పుడు మీరు పారదర్శక ప్రాక్సీయింగ్ కోసం 3ప్రాక్సీని కాన్ఫిగర్ చేయాలి.

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

పారదర్శక ప్రాక్సీ సర్వర్ నం. 1 యొక్క ఉదాహరణ కాన్ఫిగరేషన్డెమోన్
pidfile /home/joke/proxy/3proxy.pid
nserver 8.8.8.8
nscache 65536
గడువు ముగిసింది 1 5 30 60 180 1800 16 60
లాగ్ /home/joke/proxy/logs/3proxy.log D
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
3 ను తిప్పండి
ఫ్లష్
auth iponly
dnspr
అనుమతించు *
పేరెంట్ 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. ఇప్పుడు మేము కొత్త కాన్ఫిగరేషన్‌తో 3ప్రాక్సీని ప్రారంభించాము
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ప్రాక్సీని వినండి
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లో ఏవైనా TCP కనెక్షన్‌లను ఆమోదించడానికి సిద్ధంగా ఉంది, పోర్ట్ 53లో DNS, తద్వారా అవి రిమోట్ సాక్స్5 ప్రాక్సీ మరియు DNS Google 8.8.8.8కి మళ్లించబడతాయి. మనం చేయాల్సిందల్లా నెట్‌ఫిల్టర్ (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";
ఎంపిక domain-name-servers 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/3ప్రాక్సీని వినండి
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 సంభావ్యతతో కొత్త కనెక్షన్‌లు ఏర్పాటు చేయబడ్డాయి.

గమనిక: మనకు వెబ్ ప్రాక్సీ ఉంటే, సాక్స్ 5కి బదులుగా మనం కనెక్ట్ అని వ్రాయాలి, సాక్స్ 4 అయితే, సాక్స్ 4 (సాక్స్ 4 లాగిన్/పాస్‌వర్డ్ ఆథరైజేషన్‌కు మద్దతు ఇవ్వదు!)

పారదర్శక ప్రాక్సీ సర్వర్ నం. 2 యొక్క ఉదాహరణ కాన్ఫిగరేషన్డెమోన్
pidfile /home/joke/proxy/3proxy.pid
nserver 8.8.8.8
nscache 65536
maxconn 500
గడువు ముగిసింది 1 5 30 60 180 1800 16 60
లాగ్ /home/joke/proxy/logs/3proxy.log D
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
3 ను తిప్పండి
ఫ్లష్
auth iponly
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.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. 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

రూటర్ కాన్ఫిగరేషన్ ద్వారా పారదర్శక ప్రాక్సీని సెటప్ చేయడం మరియు అమలు చేయడం

ఈ కాన్ఫిగరేషన్‌లో, పారదర్శక ప్రాక్సీ సర్వర్ ప్రత్యేక PC లేదా హోమ్/కార్పొరేట్ రూటర్ వెనుక ఉన్న వర్చువల్ మెషీన్ కావచ్చు. రూటర్ లేదా పరికరాలలో స్టాటిక్ రూట్‌లను నమోదు చేయడం సరిపోతుంది మరియు మొత్తం సబ్‌నెట్ అదనపు సెట్టింగ్‌లు అవసరం లేకుండా ప్రాక్సీని ఉపయోగిస్తుంది.

ముఖ్యమైనది! మా గేట్‌వే రూటర్ నుండి స్టాటిక్ IPని పొందడం లేదా స్థిరంగా ఉండేలా కాన్ఫిగర్ చేయడం అవసరం.

1. స్టాటిక్ గేట్‌వే చిరునామాను కాన్ఫిగర్ చేయండి (enp0s3 అడాప్టర్)

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

/etc/network/interfaces ఫైల్# ఈ ఫైల్ మీ సిస్టమ్‌లో అందుబాటులో ఉన్న నెట్‌వర్క్ ఇంటర్‌ఫేస్‌లను వివరిస్తుంది
# మరియు వాటిని ఎలా యాక్టివేట్ చేయాలి. మరింత సమాచారం కోసం, ఇంటర్‌ఫేస్‌లు(5) చూడండి.

మూలం /etc/network/interfaces.d/*

# లూప్‌బ్యాక్ నెట్‌వర్క్ ఇంటర్‌ఫేస్
ఆటో లో
iface lo inet loopback

# ప్రాథమిక నెట్‌వర్క్ ఇంటర్‌ఫేస్
అనుమతించు-హాట్‌ప్లగ్ 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. 3ప్రాక్సీ ప్రోగ్రామ్ యొక్క అధికారిక వెబ్‌సైట్ 3proxy.ru

2. మూలం నుండి 3ప్రాక్సీని ఇన్‌స్టాల్ చేయడానికి సూచనలు www.ekzorchik.ru/2015/02/how-to-take-your-socks-proxy

3. GitHubలో 3ప్రాక్సీ అభివృద్ధి శాఖ github.com/z3APA3A/3proxy/issues/274

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి