La bazoj de travidebla prokurado uzante 3proxy kaj iptables/netfilter aŭ kiel "meti ĉion tra prokurilo"

En ĉi tiu artikolo, mi ŝatus malkaŝi la eblecojn de travidebla prokurado, kiu permesas al vi tute nerimarkite de klientoj redirekti la tutan aŭ parton de la trafiko per eksteraj prokuraj serviloj.

Kiam mi komencis solvi ĉi tiun problemon, mi renkontis la fakton, ke ĝia efektivigo havas unu gravan problemon - la HTTPS-protokolo. En la bonaj malnovaj tempoj, ne estis apartaj problemoj kun travidebla HTTP-prokuro, sed kun HTTPS-prokuro, retumiloj raportas protokolinterferon kaj tie estas kie la feliĉo finiĝas.

En oftaj instrukcioj por la prokura servilo Squid, ili eĉ proponas generi sian propran atestilon kaj instali ĝin sur klientoj, kio estas kompleta sensencaĵo almenaŭ neracia kaj aspektas kiel MITM-atako. Mi scias, ke Squid jam scias kiel fari ion similan, sed ĉi tiu artikolo temas pri pruvita kaj labormetodo uzante 3proxy de la respektata 3APA3A.

Poste, ni rigardos pli detale la procezon de konstruado de 3proxy el fontoj, ĝia agordo, plena kaj selektema prokurado per NAT, distribuado de la kanalo al pluraj eksteraj prokurserviloj, kaj ankaŭ la uzo de enkursigilo kaj statikaj itineroj. Ni uzas Debian 9 x64 kiel OS. Komencu!

Instalante 3proxy kaj rulante normalan prokurilon

1. Instalu ifconfig (el la pako net-tools)
apt-get install net-tools
2. Instalu Midnight Commander
apt-get install mc
3. Ni nun havas 2 interfacojn:
enp0s3 - ekstera, rigardas la Interreton
enp0s8 - interna, devas rigardi en la lokan reton
En aliaj Debian-bazitaj distribuoj, la interfacoj estas kutime nomitaj eth0 kaj eth1.
ifconfig -a

interfacojenp0s3: flagoj=4163 mtu 1500
inet 192.168.23.11 retmasko 255.255.255.0 elsendo 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-pakoj 6412 bajtoj 8676619 (8.2 MiB)
RX-eraroj 0 faligis 0 transpasi 0 kadro 0
TX-pakoj 1726 bajtoj 289128 (282.3 KiB)
TX-eraroj 0 faligis 0 transpasi 0 portanto 0 kolizioj 0

enp0s8: flagoj=4098 mtu 1500
etero 08:00:27:79:a7:e3 txqueuelen 1000 (Ethernet)
RX-pakoj 0 bajtoj 0 (0.0 B)
RX-eraroj 0 faligis 0 transpasi 0 kadro 0
TX-pakoj 0 bajtoj 0 (0.0 B)
TX-eraroj 0 faligis 0 transpasi 0 portanto 0 kolizioj 0

jen: flagoj=73 mtu 65536
inet 127.0.0.1 retmasko 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10 buklo txqueuelen 1 (Loka Loopback)
RX-pakoj 0 bajtoj 0 (0.0 B)
RX-eraroj 0 faligis 0 transpasi 0 kadro 0
TX-pakoj 0 bajtoj 0 (0.0 B)
TX-eraroj 0 faligis 0 transpasi 0 portanto 0 kolizioj 0

La interfaco enp0s8 nuntempe ne estas uzata, ni ebligos ĝin kiam ni volas uzi la NAT aŭ NAT-Prokuran agordon. Estas tiam ke estus logike atribui al ĝi statikan ip.

4. Ni komencu instali 3proxy

4.1 Instalado de bazaj pakoj por kompili 3proxy el la fonto

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

4.2. Kreu dosierujon por elŝuti la arkivon kun fontoj

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

4.3. Ni iru al ĉi tiu dosierujo

root@debian9:~# cd /opt/proxy

4.4. Nun ni elŝutu la lastan 3proxy-pakaĵon. En la momento de ĉi tiu skribado, la plej nova stabila versio estis 0.8.12 (18/04/2018) Elŝutu ĝin de la oficiala retejo de 3proxy.

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

4.5. Malpaku la elŝutitan arkivon

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

4.6. Iru al la malpakita dosierujo por konstrui la programon

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

4.7. Poste, vi devas aldoni linion al la kapdosiero por ke nia servilo estu tute anonima (ĝi vere funkcias, ĉio estas kontrolita, klientaj ipoj estas kaŝitaj)

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

Aldonante linion

#define ANONYMOUS 1

Premu Ctrl+x kaj Enter por konservi ŝanĝojn.

4.8. Ni konstruu la programon

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

makelogmake[2]: Forlasante dosierujon '/opt/proxy/3proxy-0.8.12/src/plugins/TransparentPlugin'
make[1]: Forlasante dosierujon '/opt/proxy/3proxy-0.8.12/src'

Neniuj eraroj, daŭrigu.

4.9. Instalu la programon sur la sistemo

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

4.10. Iru al la radika dosierujo kaj kontrolu kie la programo estis instalita

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

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

4.11. Ni kreu dosierujon por agordaj dosieroj kaj protokoloj en la hejma dosierujo de la uzanto

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

4.12. Iru al la dosierujo kie devus esti la agordo

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

4.13. Kreu malplenan dosieron kaj kopiu la agordon tie

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

3proxy.konfdemono
pidfile /home/joke/proxy/3proxy.pid
servilo 8.8.8.8
nscache 65536
uzanto-testilo:CL:1234
tempoforpasoj 1 5 30 60 180 1800 16 60
ensalutu /home/joke/proxy/logs/3proxy.log D
logformato "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
turni 3
aŭth forta
flui
permesi testilon
ŝtrumpetoj -p3128
prokurilo -p8080

Por konservi, premu Ctrl + Z

4.14. Ni kreu pid-dosieron por ke ne estu lanĉaj eraroj.

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

Por konservi, premu Ctrl + Z

4.15. Ni komencu la prokuran servilon!

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

4.16. Ni vidu ĉu la servilo aŭskultas en havenoj

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

netstat protokoloAktivaj interretaj konektoj (nur serviloj)
Proto Recv-Q Send-Q Loka Adreso Fremda Adreso Ŝtata PID/Programnomo
tcp 0 0 0.0.0.0:8080 0.0.0.0:* aŭskultu 504/3proxy
tcp 0 0 0.0.0.0:22 0.0.0.0:* aŭskultu 338/sshd
tcp 0 0 0.0.0.0:3128 0.0.0.0:* aŭskultu 504/3proxy
tcp6 0 0 :::22 :::* aŭskultu 338/sshd
udp 0 0 0.0.0.0:68 0.0.0.0:* 352/dhclient

Kiel ĝi estis skribita en la agordo, la retprokurilo aŭskultas sur haveno 8080, Socks5 prokurilo - 3128.

4.17. Por aŭtomate lanĉi la prokuran servon post rekomenco, vi devas aldoni ĝin al cron.

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

Aldonante linion

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

Ni premas Enen, ĉar cron devus vidi la finlinian signon kaj konservi la dosieron.

Devus esti mesaĝo pri instalado de nova crontab.

crontab: instali novan crontab

4.18. Ni rekomencu la sistemon kaj provu konekti per la retumilo al la prokurilo. Por konfirmo, ni uzas la retumilon Fajrovulpo (por retprokurilo) kaj la aldonaĵon FoxyProxy por ŝtrumpetoj5 kun aŭtentikigo.

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

4.19. Post kontrolo de la laboro de la prokurilo post la rekomenco, vi povas vidi la protokolojn. Ĉi tio kompletigas la agordon de prokurservilo.

3 prokurilo prokurilo1542573996.018 PROXY.8080 00000 testilo 192.168.23.10:50915 217.12.15.54:443 1193 6939 0 CONNECT_ads.yahoo.com:443_HT
1542574289.634 SOCK5.3128 00000 testilo 192.168.23.10:51193 54.192.13.69:443 0 0 0 CONNECT_normandy.cdn.mozilla.net:443

Agordo kaj funkciado de la Travidebla Prokura NAT-agordo

En ĉi tiu agordo, ĉiuj aparatoj en la interna reto travideble funkcios en la Interreto per fora prokura servilo. Absolute ĉiuj tcp-konektoj estos alidirektitaj al unu aŭ pluraj (vere vastigas la kanalan larĝon, agordan ekzemplon n-ro 2!) prokuraj serviloj. La DNS-servo uzos 3proxy (dnspr) kapablojn. UDP ne "iros" eksteren, ĉar ni ankoraŭ ne uzas la antaŭenan mekanismon (malŝaltita defaŭlte en la Linukso-kerno).

1. Estas tempo por ebligi la interfacon enp0s8

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

/etc/network/interfaces dosiero# Ĉi tiu dosiero priskribas la retajn interfacojn disponeblajn en via sistemo
# kaj kiel aktivigi ilin. Por pliaj informoj, vidu interfacoj(5).

fonto /etc/network/interfaces.d/*

# La loopback reto-interfaco
aŭti ĝin
iface lo inet loopback

# La ĉefa reta interfaco
permesi-hotplug enp0s3
iface enp0s3 inet dhcp

# La malĉefa retinterfaco
permesi-hotplug enp0s8
iface enp0s8 inet statika
adreso 192.168.201.254
retmasko 255.255.255.0

Ĉi tie ni asignis al la interfaco enp0s8 statikan adreson 192.168.201.254 kaj maskon 255.255.255.0
Konservu agordon Ctrl+X kaj rekomencu

root@debian9:~# reboot

2. Kontrolante interfacojn

root@debian9:~# ifconfig

ifconfig protokoloenp0s3: flagoj=4163 mtu 1500
inet 192.168.23.11 retmasko 255.255.255.0 elsendo 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-pakoj 61 bajtoj 7873 (7.6 KiB)
RX-eraroj 0 faligis 0 transpasi 0 kadro 0
TX-pakoj 65 bajtoj 10917 (10.6 KiB)
TX-eraroj 0 faligis 0 transpasi 0 portanto 0 kolizioj 0

enp0s8: flagoj=4163 mtu 1500
inet 192.168.201.254 retmasko 255.255.255.0 elsendo 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-pakoj 0 bajtoj 0 (0.0 B)
RX-eraroj 0 faligis 0 transpasi 0 kadro 0
TX-pakoj 8 bajtoj 648 (648.0 B)
TX-eraroj 0 faligis 0 transpasi 0 portanto 0 kolizioj 0

jen: flagoj=73 mtu 65536
inet 127.0.0.1 retmasko 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10 buklo txqueuelen 1 (Loka Loopback)
RX-pakoj 0 bajtoj 0 (0.0 B)
RX-eraroj 0 faligis 0 transpasi 0 kadro 0
TX-pakoj 0 bajtoj 0 (0.0 B)
TX-eraroj 0 faligis 0 transpasi 0 portanto 0 kolizioj 0

3. Ĉio funkciis, nun vi devas agordi 3proxy por travidebla prokurado.

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

Travidebla Prokura Agordo Ekzemplo #1demono
pidfile /home/joke/proxy/3proxy.pid
servilo 8.8.8.8
nscache 65536
tempoforpasoj 1 5 30 60 180 1800 16 60
ensalutu /home/joke/proxy/logs/3proxy.log D
logformato "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
turni 3
flui
aŭth unike
dnspr
permesi *
patro 1000 ŝtrumpetoj5 EXTERNAL_PROXY IP_ADDRESS 3128 testilo 1234
kromaĵo /opt/proxy/3proxy-0.8.12/src/TransparentPlugin.ld.so transparent_plugin
tcppm -i0.0.0.0 888 127.0.0.1 11111

4. Nun rulu 3proxy kun nova agordo
root@debian9:/home/joke/proxy# /usr/local/bin/3proxy /home/joke/proxy/3proxytransp.conf

5. Aldonu al crontab denove
root@debian9:/home/joke/proxy# crontab -e
@reboot /usr/local/bin/3proxy /home/joke/proxy/3proxytransp.conf

6. Ni vidu, kion nia prokurilo aŭskultas nun
root@debian9:~# netstat -nlp

netstat protokoloAktivaj interretaj konektoj (nur serviloj)
Proto Recv-Q Send-Q Loka Adreso Fremda Adreso Ŝtata PID/Programnomo
tcp 0 0 0.0.0.0:22 0.0.0.0:* aŭskultu 349/sshd
tcp 0 0 0.0.0.0:888 0.0.0.0:* aŭskultu 354/3proxy
tcp6 0 0 :::22 :::* aŭskultu 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. Nun la prokurilo pretas akcepti iujn ajn TCP-konektojn sur la haveno 888, DNS sur la haveno 53, por redirekti ilin al malproksimaj ŝtrumpetoj5 - prokurilo kaj DNS Google 8.8.8.8. Restas al ni agordi la netfiltrilon (iptables) kaj DHCP-regulojn por elsendi adresojn.

8. Instalu la pakaĵon iptables-persistent kaj dhcpd

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

9. Redaktu la dhcpd-komencdosieron
root@debian9:~# nano /etc/dhcp/dhcpd.conf

dhcpd.conf# dhcpd.conf
#
# Ekzempla agorda dosiero por ISC dhcpd
#

# opciodifinoj komunaj al ĉiuj subtenataj retoj...
opcio domajna-nomo "ekzemplo.org";
opcio domain-name-servers ns1.example.org, ns2.example.org;

defaŭlt-lizkontrakta tempo 600;
maks-lease-tempo 7200;

ddns-update-style neniu;

# Se ĉi tiu DHCP-servilo estas la oficiala DHCP-servilo por la loka
# reto, la aŭtoritata direktivo estu nekomentita.

aŭtoritata;

# Iomete malsama agordo por interna subreto.
subreto 192.168.201.0 retmasko 255.255.255.0 {
gamo 192.168.201.10 192.168.201.250;
opcio domajna-nomo-serviloj 192.168.201.254;
opcio-enkursigiloj 192.168.201.254;
opcio elsendadreso 192.168.201.255;
defaŭlt-lizkontrakta tempo 600;
maks-lease-tempo 7200;
}

11. Rekomencu kaj kontrolu la servon ĉe la haveno 67
root@debian9:~# reboot
root@debian9:~# netstat -nlp

netstat protokoloAktivaj interretaj konektoj (nur serviloj)
Proto Recv-Q Send-Q Loka Adreso Fremda Adreso Ŝtata PID/Programnomo
tcp 0 0 0.0.0.0:22 0.0.0.0:* aŭskultu 389/sshd
tcp 0 0 0.0.0.0:888 0.0.0.0:* aŭskultu 310/3proxy
tcp6 0 0 :::22 :::* aŭskultu 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
kruda 0 0 0.0.0.0:1 0.0.0.0:* 393/dhcpd

12. Restas redirekti ĉiujn tcp-petojn al pordo 888 kaj konservi la regulon en 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. Por pligrandigi la larĝan bandon de la kanalo, vi povas uzi plurajn prokurajn servilojn samtempe. La totala kvanto devus esti 1000. Novaj rilatoj estas establitaj kun probableco de 0.2, 0.2, 0.2, 0.2, 0,1, 0,1 al la specifitaj prokurserviloj.

Noto: se ni havas retan prokurilon, tiam anstataŭ socks5 vi devas skribi connect, se socks4, tiam socks4 (ŝtrumpetoj4 NE SUBTENAS ENSALUTON / PASORDON AVALON!)

Travidebla Prokura Agordo Ekzemplo #2demono
pidfile /home/joke/proxy/3proxy.pid
servilo 8.8.8.8
nscache 65536
maxconn 500
tempoforpasoj 1 5 30 60 180 1800 16 60
ensalutu /home/joke/proxy/logs/3proxy.log D
logformato "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
turni 3
flui
aŭth unike
dnspr
permesi *

patro 200 ŝtrumpetoj5 IP_ADDRESS_EXTERNAL_PROXY#1 3128 testilo 1234
patro 200 ŝtrumpetoj5 IP_ADDRESS_EXTERNAL_PROXY#2 3128 testilo 1234
patro 200 ŝtrumpetoj5 IP_ADDRESS_EXTERNAL_PROXY#3 3128 testilo 1234
patro 200 ŝtrumpetoj5 IP_ADDRESS_EXTERNAL_PROXY#4 3128 testilo 1234
patro 100 ŝtrumpetoj5 IP_ADDRESS_EXTERNAL_PROXY#5 3128 testilo 1234
patro 100 ŝtrumpetoj5 IP_ADDRESS_EXTERNAL_PROXY#6 3128 testilo 1234

kromaĵo /opt/proxy/3proxy-0.8.12/src/TransparentPlugin.ld.so transparent_plugin
tcppm -i0.0.0.0 888 127.0.0.1 11111

Agordo kaj funkciado de la agordo NAT + Travidebla Prokurado

En ĉi tiu agordo, ni uzos la kutiman NAT-mekanismon kun selektema aŭ plena travidebla prokurado de individuaj adresoj aŭ subretoj. Uzantoj de la interna reto laboros kun iuj servoj / subretoj eĉ sen rimarki, ke ili laboras per prokurilo. Ĉiuj https-konektoj funkcias bone, neniuj atestiloj devas esti generitaj / anstataŭigitaj.

Unue, ni decidu kiujn subretojn/servojn ni volas prokurigi. Ni supozu, ke eksteraj prokuriloj troviĝas kie servo kiel pandora.com funkcias. Nun restas determini ĝiajn subretojn / adresojn.

1. Ping

root@debian9:~# ping pandora.com
PING pandora.com (208.85.40.20) 56(84) bajtoj da datumoj.

2. Ni tajpas Google BGP 208.85.40.20

Ni iru al la retejo bgp.he.net/net/208.85.40.0/24#_netinfo
Videblas, ke la subreto, kiun mi serĉas, estas AS40428 Pandora Media, Inc.

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

Malfermante prefiksojn v4

bgp.he.net/AS40428#_prefiksoj

Jen la bezonataj subretoj!

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. Por redukti la nombron da subretoj, vi devas fari agregadon. Ni iru al la retejo ip-kalkulilo.ru/aggregate kaj kopiu nian liston tie. Rezulte - 6 subretoj anstataŭ 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. Purigi regulojn de iptables

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

Ebligu la antaŭenan mekanismon kaj 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

Por ke antaŭen estu konstante ebligita post rekomenco, ni ŝanĝos la dosieron

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

Kaj malkomenti la linion

net.ipv4.ip_forward = 1

Ctrl+X por konservi dosieron

5. Envolvu pandora.com-subretojn en prokurilo

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. Konservu la regulojn

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

Agordante kaj funkciigante la Travideblan Prokurilon per enkursigilo-agordo

En ĉi tiu agordo, la travidebla prokura servilo povas esti aparta komputilo aŭ virtuala maŝino malantaŭ hejma/kompania enkursigilo. Sufiĉas registri statikajn itinerojn sur la enkursigilo aŭ aparatoj, kaj la tuta subreto uzos la prokurilon sen bezono de aldonaj agordoj.

GRAVA! Necesas, ke nia enirejo ricevu statikan IP de la enkursigilo, aŭ estu agordita por statika mem.

1. Agordu statikan enirejan adreson (adaptilo enp0s3)

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

/etc/network/interfaces dosiero# Ĉi tiu dosiero priskribas la retajn interfacojn disponeblajn en via sistemo
# kaj kiel aktivigi ilin. Por pliaj informoj, vidu interfacoj(5).

fonto /etc/network/interfaces.d/*

# La loopback reto-interfaco
aŭti ĝin
iface lo inet loopback

# La ĉefa reta interfaco
permesi-hotplug enp0s3
iface enp0s3 inet statika
adreso 192.168.23.2
retmasko 255.255.255.0
enirejo 192.168.23.254

# La malĉefa retinterfaco
permesi-hotplug enp0s8
iface enp0s8 inet statika
adreso 192.168.201.254
retmasko 255.255.255.0

2. Permesu aparatojn de la subreto 192.168.23.0/24 uzi prokuradon

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. Konservu la regulojn
root@debian9:~# iptables-save > /etc/iptables/rules.v4

4. Ni skribu subretojn sur la enkursigilo

Listo de enkursigiloj199.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

Uzitaj materialoj/rimedoj

1. Oficiala retejo de la programo 3proxy 3proxy.ru

2. Instrukcioj por instali 3proxy el fontoj www.ekzorchik.ru/2015/02/how-to-take-your-socks-proxy

3. 3proxy programisto branĉo sur GitHub github.com/z3APA3A/3proxy/issues/274

fonto: www.habr.com

Aldoni komenton