Mga pangunahing kaalaman sa transparent na proxying gamit ang 3proxy at iptables/netfilter o kung paano "ilagay ang lahat sa pamamagitan ng isang proxy"

Sa artikulong ito, nais kong ipakita ang mga posibilidad ng transparent na proxying, na nagbibigay-daan sa iyong i-redirect ang lahat o bahagi ng trapiko sa pamamagitan ng mga panlabas na proxy server na ganap na hindi napapansin ng mga kliyente.

Noong sinimulan kong lutasin ang problemang ito, nahaharap ako sa katotohanan na ang pagpapatupad nito ay may isang malaking problema - ang HTTPS protocol. Noong unang panahon, walang mga espesyal na problema sa transparent na HTTP proxying, ngunit sa HTTPS proxying, ang mga browser ay nag-uulat ng pagkagambala sa protocol at doon nagtatapos ang kaligayahan.

Sa karaniwang mga tagubilin para sa Squid proxy server, iminumungkahi pa nila ang pagbuo ng iyong sariling sertipiko at pag-install nito sa mga kliyente, na kung saan ay ganap na walang kapararakan, hindi makatwiran at mukhang isang pag-atake ng MITM. Alam ko na magagawa na ng Squid ang isang katulad, ngunit ang artikulong ito ay tungkol sa isang napatunayan at gumaganang pamamaraan gamit ang 3proxy mula sa respetadong 3APA3A.

Susunod, titingnan natin nang detalyado ang proseso ng pagbuo ng 3proxy mula sa pinagmulan, pagsasaayos nito, buo at pumipili ng proxying gamit ang NAT, pamamahagi ng channel sa ilang mga panlabas na proxy server, pati na rin ang paggamit ng isang router at mga static na ruta. Ginagamit namin ang Debian 9 x64 bilang OS. Magsimula na!

Pag-install ng 3proxy at pagpapatakbo ng isang regular na proxy server

1. I-install ang ifconfig (mula sa net-tools package)
apt-get install net-tools
2. I-install ang Midnight Commander
apt-get install mc
3. Mayroon na kaming 2 interface:
enp0s3 - panlabas, tumitingin sa Internet
enp0s8 - panloob, dapat tumingin sa lokal na network
Sa iba pang mga distribusyon na nakabatay sa Debian, ang mga interface ay karaniwang pinangalanang eth0 at eth1.
ifconfig -a

interfaceenp0s3: mga flag=4163 mtu 1500
inet 192.168.23.11 netmask 255.255.255.0 broadcast 192.168.23.255
inet6 fe80::a00:27ff:fec2:bae4 prefixlen 64 scopeid 0x20 ether 08:00:27:c2:ba:e4 txqueuelen 1000 (Ethernet)
Mga RX packet 6412 bytes 8676619 (8.2 MiB)
Ang mga error sa RX 0 ay bumaba 0 lumampas sa 0 frame 0
Mga TX packet na 1726 bytes 289128 (282.3 KiB)
Ang mga error sa TX 0 ay bumaba 0 lumampas 0 carrier 0 banggaan 0

enp0s8: mga flag=4098 mtu 1500
eter 08:00:27:79:a7:e3 txqueuelen 1000 (Ethernet)
RX packet 0 bytes 0 (0.0 B)
Ang mga error sa RX 0 ay bumaba 0 lumampas sa 0 frame 0
Mga TX packet 0 bytes 0 (0.0 B)
Ang mga error sa TX 0 ay bumaba 0 lumampas 0 carrier 0 banggaan 0

lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1 (Lokal na Loopback)
RX packet 0 bytes 0 (0.0 B)
Ang mga error sa RX 0 ay bumaba 0 lumampas sa 0 frame 0
Mga TX packet 0 bytes 0 (0.0 B)
Ang mga error sa TX 0 ay bumaba 0 lumampas 0 carrier 0 banggaan 0

Kasalukuyang hindi ginagamit ang interface ng enp0s8, paganahin namin ito kapag gusto naming gumamit ng configuration ng Proxy NAT o NAT. Ito ay pagkatapos na ito ay magiging lohikal na italaga ito ng isang static na IP.

4. Simulan natin ang pag-install ng 3proxy

4.1 Pag-install ng mga pangunahing pakete para sa pag-compile ng 3proxy mula sa mga mapagkukunan

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

4.2. Gumawa tayo ng folder para sa pag-download ng archive na may mga mapagkukunan

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

4.3. Pumunta tayo sa folder na ito

root@debian9:~# cd /opt/proxy

4.4. Ngayon, i-download natin ang pinakabagong 3proxy package. Sa oras ng pagsulat, ang pinakabagong stable na bersyon ay 0.8.12 (18/04/2018) I-download ito mula sa opisyal na website ng 3proxy

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

4.5. I-unpack natin ang na-download na archive

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

4.6. Pumunta sa naka-unpack na direktoryo upang buuin ang programa

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

4.7. Susunod, kailangan naming magdagdag ng isang linya sa header file upang ang aming server ay ganap na hindi nagpapakilala (talagang gumagana ito, lahat ay nasuri, ang mga IP ng kliyente ay nakatago)

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

Magdagdag ng linya

#define ANONYMOUS 1

Pindutin ang Ctrl+x at Enter para i-save ang mga pagbabago.

4.8. Simulan natin ang pag-assemble ng programa

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

Makelogmake[2]: Umalis sa direktoryo na '/opt/proxy/3proxy-0.8.12/src/plugins/TransparentPlugin'
make[1]: Umalis sa direktoryo na '/opt/proxy/3proxy-0.8.12/src'

Walang mga pagkakamali, magpatuloy tayo.

4.9. I-install ang program sa system

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

4.10. Pumunta sa root directory at suriin kung saan naka-install ang program

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

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

4.11. Gumawa tayo ng folder para sa mga configuration file at mga log sa home directory ng user

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

4.12. Pumunta sa direktoryo kung saan dapat ang config

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

4.13. Gumawa ng isang walang laman na file at kopyahin ang config doon

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

3proxy.confdemonyo
pidfile /home/joke/proxy/3proxy.pid
nserver 8.8.8.8
nscache 65536
tagasubok ng mga gumagamit:CL:1234
mga timeout 1 5 30 60 180 1800 16 60
log /home/joke/proxy/logs/3proxy.log D
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
paikutin ang 3
malakas ang auth
Kapantay
payagan ang tester
medyas -p3128
proxy -p8080

Upang i-save, pindutin ang Ctrl + Z

4.14. Gumawa tayo ng pid file upang walang mga error sa pagsisimula.

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

Upang i-save, pindutin ang Ctrl + Z

4.15. Ilunsad natin ang proxy server!

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

4.16. Tingnan natin kung ang server ay nakikinig sa mga port

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

netstat logMga aktibong koneksyon sa Internet (mga server lamang)
Proto Recv-Q Send-Q Local Address Foreign Address Pangalan ng PID/Programa ng Estado
tcp 0 0 0.0.0.0:8080 0.0.0.0:* MAKINIG 504/3proxy
tcp 0 0 0.0.0.0:22 0.0.0.0:* MAKINIG 338/sshd
tcp 0 0 0.0.0.0:3128 0.0.0.0:* MAKINIG 504/3proxy
tcp6 0 0 :::22 :::* MAKINIG 338/sshd
udp 0 0 0.0.0.0:68 0.0.0.0:* 352/dhclient

Gaya ng isinulat sa config, ang aming web proxy ay nakikinig sa port 8080, ang Socks5 proxy ay nakikinig sa port 3128.

4.17. Para i-autostart ang proxy service pagkatapos ng reboot, kailangan mo itong idagdag sa cron.

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

Magdagdag ng linya

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

Pinindot namin ang Enter, dahil dapat makita ng cron ang dulo ng character na linya, at i-save ang file.

Dapat mayroong mensahe tungkol sa pag-install ng bagong crontab.

crontab: pag-install ng bagong crontab

4.18. I-reboot natin ang system at subukang kumonekta sa pamamagitan ng browser sa proxy. Upang suriin, ginagamit namin ang Firefox browser (para sa isang web proxy) at ang FoxyProxy add-on para sa socks5 na may authentication.

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

4.19. Pagkatapos suriin ang pagpapatakbo ng proxy pagkatapos ng pag-reboot, maaari mong tingnan ang mga log. Kinukumpleto nito ang pag-setup ng proxy server.

3 proxy log1542573996.018 PROXY.8080 00000 tester 192.168.23.10:50915 217.12.15.54:443 1193 6939 0 CONNECT_ads.yahoo.com:443_HTTP
1542574289.634 SOCK5.3128 00000 tester 192.168.23.10:51193 54.192.13.69:443 0 0 0 CONNECT_normandy.cdn.mozilla.net:443

Pag-set up at pagpapatakbo ng Transparent Proxy NAT configuration

Sa pagsasaayos na ito, ang lahat ng mga aparato sa panloob na network ay malinaw na gagana sa Internet sa pamamagitan ng isang malayuang proxy server. Ganap na lahat ng koneksyon sa TCP ay ire-redirect sa isa o higit pa (talagang nagpapalawak ng lapad ng channel, halimbawa ng configuration No. 2!) na mga proxy server. Ang serbisyo ng DNS ay gagamit ng 3proxy (dnspr) na mga kakayahan. Ang UDP ay hindi "pumupunta" palabas, dahil hindi pa namin ginagamit ang pasulong na mekanismo (naka-disable bilang default sa kernel ng Linux).

1. Oras na para paganahin ang interface ng enp0s8

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

/etc/network/interfaces file# Inilalarawan ng file na ito ang mga interface ng network na magagamit sa iyong system
# at kung paano i-activate ang mga ito. Para sa higit pang impormasyon, tingnan ang mga interface(5).

pinagmulan /etc/network/interfaces.d/*

# Ang loopback na interface ng network
sasakyan ito
iface lo inet loopback

# Ang pangunahing interface ng network
payagan-hotplug enp0s3
iface enp0s3 inet dhcp

# Ang pangalawang interface ng network
payagan-hotplug enp0s8
iface enp0s8 inet static
address 192.168.201.254
netmask 255.255.255.0

Dito namin itinalaga ang enp0s8 interface ng isang static na address na 192.168.201.254 at isang mask na 255.255.255.0
I-save ang config Ctrl+X at i-reboot

root@debian9:~# reboot

2. Sinusuri ang mga interface

root@debian9:~# ifconfig

ifconfig logenp0s3: mga flag=4163 mtu 1500
inet 192.168.23.11 netmask 255.255.255.0 broadcast 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 packet 61 bytes 7873 (7.6 KiB)
Ang mga error sa RX 0 ay bumaba 0 lumampas sa 0 frame 0
Mga TX packet na 65 bytes 10917 (10.6 KiB)
Ang mga error sa TX 0 ay bumaba 0 lumampas 0 carrier 0 banggaan 0

enp0s8: mga flag=4163 mtu 1500
inet 192.168.201.254 netmask 255.255.255.0 broadcast 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 packet 0 bytes 0 (0.0 B)
Ang mga error sa RX 0 ay bumaba 0 lumampas sa 0 frame 0
Mga TX packet 8 bytes 648 (648.0 B)
Ang mga error sa TX 0 ay bumaba 0 lumampas 0 carrier 0 banggaan 0

lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1 (Lokal na Loopback)
RX packet 0 bytes 0 (0.0 B)
Ang mga error sa RX 0 ay bumaba 0 lumampas sa 0 frame 0
Mga TX packet 0 bytes 0 (0.0 B)
Ang mga error sa TX 0 ay bumaba 0 lumampas 0 carrier 0 banggaan 0

3. Lahat ay gumana, ngayon kailangan mong i-configure ang 3proxy para sa transparent na proxying.

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

Halimbawang configuration ng transparent proxy server No. 1demonyo
pidfile /home/joke/proxy/3proxy.pid
nserver 8.8.8.8
nscache 65536
mga timeout 1 5 30 60 180 1800 16 60
log /home/joke/proxy/logs/3proxy.log D
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
paikutin ang 3
Kapantay
auth iponly
dnspr
payagan *
magulang 1000 medyas5 IP_ADDRESS NG EXTERNAL_PROXY 3128 tester 1234
plugin /opt/proxy/3proxy-0.8.12/src/TransparentPlugin.ld.so transparent_plugin
tcppm -i0.0.0.0 888 127.0.0.1 11111

4. Ngayon inilunsad namin ang 3proxy na may bagong config
root@debian9:/home/joke/proxy# /usr/local/bin/3proxy /home/joke/proxy/3proxytransp.conf

5. Idagdag muli sa crontab
root@debian9:/home/joke/proxy# crontab -e
@reboot /usr/local/bin/3proxy /home/joke/proxy/3proxytransp.conf

6. Tingnan natin kung ano ang pinakikinggan ngayon ng ating proxy
root@debian9:~# netstat -nlp

netstat logMga aktibong koneksyon sa Internet (mga server lamang)
Proto Recv-Q Send-Q Local Address Foreign Address Pangalan ng PID/Programa ng Estado
tcp 0 0 0.0.0.0:22 0.0.0.0:* MAKINIG 349/sshd
tcp 0 0 0.0.0.0:888 0.0.0.0:* MAKINIG 354/3proxy
tcp6 0 0 :::22 :::* MAKINIG 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. Ngayon ang proxy ay handa nang tanggapin ang anumang mga koneksyon sa TCP sa port 888, DNS sa port 53, upang sila ay mai-redirect sa malayong socks5 proxy at DNS Google 8.8.8.8. Ang kailangan lang nating gawin ay i-configure ang netfilter (iptables) at mga panuntunan ng DHCP para sa pag-isyu ng mga address.

8. I-install ang iptables-persistent at dhcpd package

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

9. I-edit ang dhcpd startup file
root@debian9:~# nano /etc/dhcp/dhcpd.conf

dhcpd.conf# dhcpd.conf
#
# Sample na configuration file para sa ISC dhcpd
#

# mga kahulugan ng opsyon na karaniwan sa lahat ng sinusuportahang network...
opsyon domain-name na "example.org";
opsyon domain-name-servers ns1.example.org, ns2.example.org;

default-lease-time 600;
max-lease-time 7200;

ddns-update-style none;

# Kung ang DHCP server na ito ay ang opisyal na DHCP server para sa lokal
# network, ang awtoritatibong direktiba ay dapat na walang komento.

may kapangyarihan;

# Isang bahagyang naiibang pagsasaayos para sa isang panloob na subnet.
subnet 192.168.201.0 netmask 255.255.255.0 {
saklaw 192.168.201.10 192.168.201.250;
opsyon domain-name-servers 192.168.201.254;
mga router ng pagpipilian 192.168.201.254;
pagpipilian broadcast-address 192.168.201.255;
default-lease-time 600;
max-lease-time 7200;
}

11. I-reboot at suriin ang serbisyo sa port 67
root@debian9:~# reboot
root@debian9:~# netstat -nlp

netstat logMga aktibong koneksyon sa Internet (mga server lamang)
Proto Recv-Q Send-Q Local Address Foreign Address Pangalan ng PID/Programa ng Estado
tcp 0 0 0.0.0.0:22 0.0.0.0:* MAKINIG 389/sshd
tcp 0 0 0.0.0.0:888 0.0.0.0:* MAKINIG 310/3proxy
tcp6 0 0 :::22 :::* MAKINIG 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
raw 0 0 0.0.0.0:1 0.0.0.0:* 393/dhcpd

12. Ang natitira na lang ay i-redirect ang lahat ng tcp request sa port 888 at i-save ang panuntunan sa 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. Upang palawakin ang bandwidth ng channel, maaari kang gumamit ng ilang proxy server nang sabay-sabay. Ang kabuuan ay dapat na 1000. Ang mga bagong koneksyon ay naitatag na may posibilidad na 0.2, 0.2, 0.2, 0.2, 0,1, 0,1 sa tinukoy na mga proxy server.

Tandaan: kung mayroon kaming isang web proxy, pagkatapos ay sa halip na socks5 kailangan naming magsulat ng kumonekta, kung socks4, pagkatapos ay socks4 (socks4 AY HINDI SUPPORT LOGIN/PASSWORD AUTHORIZATION!)

Halimbawang configuration ng transparent proxy server No. 2demonyo
pidfile /home/joke/proxy/3proxy.pid
nserver 8.8.8.8
nscache 65536
maxconn 500
mga timeout 1 5 30 60 180 1800 16 60
log /home/joke/proxy/logs/3proxy.log D
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
paikutin ang 3
Kapantay
auth iponly
dnspr
payagan *

magulang 200 medyas5 IP_ADDRESS_EXTERNAL_PROXY#1 3128 tester 1234
magulang 200 medyas5 IP_ADDRESS_EXTERNAL_PROXY#2 3128 tester 1234
magulang 200 medyas5 IP_ADDRESS_EXTERNAL_PROXY#3 3128 tester 1234
magulang 200 medyas5 IP_ADDRESS_EXTERNAL_PROXY#4 3128 tester 1234
magulang 100 medyas5 IP_ADDRESS_EXTERNAL_PROXY#5 3128 tester 1234
magulang 100 medyas5 IP_ADDRESS_EXTERNAL_PROXY#6 3128 tester 1234

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

Pag-set up at pagpapatakbo ng NAT + Transparent Proxy configuration

Sa pagsasaayos na ito, gagamitin namin ang karaniwang mekanismo ng NAT na may pumipili o ganap na transparent na proxying ng mga indibidwal na address o subnet. Ang mga internal na gumagamit ng network ay gagana sa ilang mga serbisyo/subnet nang hindi man lang napagtatanto na sila ay nagtatrabaho sa pamamagitan ng isang proxy. Lahat ng https na koneksyon ay gumagana nang maayos, walang mga sertipiko na kailangang mabuo/palitan.

Una, magpasya tayo kung aling mga subnet/serbisyo ang gusto nating i-proxy. Ipagpalagay natin na ang mga panlabas na proxy ay matatagpuan kung saan gumagana ang isang serbisyo tulad ng pandora.com. Ngayon ay nananatili itong matukoy ang mga subnet/address nito.

1. Ping

root@debian9:~# ping pandora.com
PING pandora.com (208.85.40.20) 56(84) bytes ng data.

2. I-type ang BGP 208.85.40.20 sa Google

Pumunta sa site bgp.he.net/net/208.85.40.0/24#_netinfo
Makikita na ang subnet na hinahanap ko ay AS40428 Pandora Media, Inc

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

Pagbubukas ng mga v4 prefix

bgp.he.net/AS40428#_prefixes

Narito ang mga kinakailangang subnet!

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. Upang bawasan ang bilang ng mga subnet, kailangan mong magsagawa ng pagsasama-sama. Pumunta sa site ip-calculator.ru/aggregate at kopyahin ang aming listahan doon. Bilang resulta - 6 na subnet sa halip na 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. I-clear ang mga panuntunan sa iptables

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

Paganahin ang pasulong at mekanismo ng 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

Para matiyak na permanenteng pinagana ang forward pagkatapos ng reboot, baguhin natin ang file

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

At i-uncomment ang linya

net.ipv4.ip_forward = 1

Ctrl+X para i-save ang file

5. Binabalot namin ang mga subnet ng pandora.com sa isang proxy

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. Sundin natin ang mga tuntunin

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

Pag-set up at pagpapatakbo ng Transparent Proxy sa pamamagitan ng configuration ng router

Sa configuration na ito, ang transparent na proxy server ay maaaring isang hiwalay na PC o isang virtual machine sa likod ng isang home/corporate router. Ito ay sapat na upang magrehistro ng mga static na ruta sa router o mga aparato at ang buong subnet ay gagamit ng isang proxy nang hindi nangangailangan ng anumang karagdagang mga setting.

MAHALAGA! Kinakailangan na ang aming gateway ay makatanggap ng isang static na IP mula sa router, o na-configure upang maging static mismo.

1. Mag-configure ng static na gateway address (enp0s3 adapter)

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

/etc/network/interfaces file# Inilalarawan ng file na ito ang mga interface ng network na magagamit sa iyong system
# at kung paano i-activate ang mga ito. Para sa higit pang impormasyon, tingnan ang mga interface(5).

pinagmulan /etc/network/interfaces.d/*

# Ang loopback na interface ng network
sasakyan ito
iface lo inet loopback

# Ang pangunahing interface ng network
payagan-hotplug enp0s3
iface enp0s3 inet static
address 192.168.23.2
netmask 255.255.255.0
gateway 192.168.23.254

# Ang pangalawang interface ng network
payagan-hotplug enp0s8
iface enp0s8 inet static
address 192.168.201.254
netmask 255.255.255.0

2. Payagan ang mga device mula sa 192.168.23.0/24 subnet na gumamit ng proxying

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. Sundin natin ang mga tuntunin
root@debian9:~# iptables-save > /etc/iptables/rules.v4

4. Magrehistro tayo ng mga subnet sa router

Listahan ng network ng router+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

Mga materyales/ mapagkukunang ginamit

1. Opisyal na website ng 3proxy program 3proxy.ru

2. Mga tagubilin para sa pag-install ng 3proxy mula sa pinagmulan www.ekzorchik.ru/2015/02/how-to-take-your-socks-proxy

3. 3proxy development branch sa GitHub github.com/z3APA3A/3proxy/issues/274

Pinagmulan: www.habr.com

Magdagdag ng komento