3proxy və iptables / netfilterdən istifadə edərək şəffaf proxyin əsasları və ya "hər şeyi bir proxy vasitəsilə necə yerləşdirmək"

Bu yazıda, müştərilər tərəfindən tamamilə fərq edilmədən xarici proksi serverlər vasitəsilə trafikin hamısını və ya bir hissəsini yönləndirməyə imkan verən şəffaf proxyin imkanlarını açıqlamaq istərdim.

Bu problemi həll etməyə başlayanda onun həyata keçirilməsində bir əhəmiyyətli problemin - HTTPS protokolunun olması ilə qarşılaşdım. Köhnə yaxşı günlərdə şəffaf HTTP proksiinqi ilə bağlı heç bir xüsusi problem yox idi, lakin HTTPS proksi ilə brauzerlər protokola müdaxiləni bildirir və xoşbəxtlik burada bitir.

Squid proksi serveri üçün ümumi təlimatlarda onlar hətta öz sertifikatınızı yaratmağı və onu müştərilərə quraşdırmağı təklif edirlər, bu, ən azı tam cəfəngiyatdır, irrasionaldır və MITM hücumuna bənzəyir. Bilirəm ki, Squid artıq oxşar bir şey edə bilər, lakin bu məqalə hörmətli 3APA3A-dan 3proxy istifadə edərək sübut edilmiş və işləyən bir üsul haqqındadır.

Sonra mənbədən 3proxy-nin qurulması prosesini, onun konfiqurasiyasını, NAT-dan istifadə edərək tam və seçmə proksiləşdirməni, kanalların bir neçə xarici proksi serverə paylanmasını, həmçinin marşrutlaşdırıcının və statik marşrutların istifadəsini ətraflı nəzərdən keçirəcəyik. ƏS olaraq Debian 9 x64 istifadə edirik. Başlayın!

3proxy quraşdırmaq və adi bir proxy serveri işə salmaq

1. ifconfig quraşdırın (net-tools paketindən)
apt-get install net-tools
2. Midnight Commander proqramını quraşdırın
apt-get install mc
3. İndi 2 interfeysimiz var:
enp0s3 - xarici, İnternetə baxır
enp0s8 - daxili, yerli şəbəkəyə baxmaq lazımdır
Digər Debian əsaslı paylamalarda interfeyslər adətən eth0 və eth1 adlanır.
ifconfig -a

İnterfeysenp0s3: bayraqlar=4163 mtu 1500
inet 192.168.23.11 şəbəkə maskası 255.255.255.0 yayım 192.168.23.255
inet6 fe80::a00:27ff:fec2:bae4 prefiks 64 əhatə dairəsi 0x20 eter 08:00:27:c2:ba:e4 txqueuelen 1000 (Ethernet)
RX paketləri 6412 bayt 8676619 (8.2 MiB)
RX səhvləri 0 düşdü 0 həddi aşır 0 çərçivə 0
TX paketləri 1726 bayt 289128 (282.3 KiB)
TX səhvləri 0 azaldı 0 həddi aşır 0 daşıyıcı 0 toqquşma 0

enp0s8: bayraqlar=4098 mtu 1500
eter 08:00:27:79:a7:e3 txqueuelen 1000 (Ethernet)
RX paketləri 0 bayt 0 (0.0 B)
RX səhvləri 0 düşdü 0 həddi aşır 0 çərçivə 0
TX paketləri 0 bayt 0 (0.0 B)
TX səhvləri 0 azaldı 0 həddi aşır 0 daşıyıcı 0 toqquşma 0

aşağı: bayraqlar = 73 mtu 65536
inet 127.0.0.1 şəbəkə maskası 255.0.0.0
inet6 ::1 prefiks 128 əhatə dairəsi 0x10 loop txqueuelen 1 (Yerli geri dönmə)
RX paketləri 0 bayt 0 (0.0 B)
RX səhvləri 0 düşdü 0 həddi aşır 0 çərçivə 0
TX paketləri 0 bayt 0 (0.0 B)
TX səhvləri 0 azaldı 0 həddi aşır 0 daşıyıcı 0 toqquşma 0

enp0s8 interfeysi hazırda istifadə edilmir, biz Proxy NAT və ya NAT konfiqurasiyasından istifadə etmək istədikdə onu aktiv edəcəyik. Məhz bundan sonra ona statik IP təyin etmək məntiqli olardı.

4. Gəlin 3proxy-ni quraşdırmağa başlayaq

4.1 Mənbələrdən 3proxy tərtib etmək üçün əsas paketlərin quraşdırılması

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

4.2. Arxivi mənbələrlə yükləmək üçün qovluq yaradaq

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

4.3. Gəlin bu qovluğa gedək

root@debian9:~# cd /opt/proxy

4.4. İndi ən son 3proxy paketini endirək. Yazı zamanı ən son stabil versiya 0.8.12 idi (18) Onu rəsmi 04proxy saytından yükləyin

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

4.5. Yüklənmiş arxivi paketdən çıxaraq

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

4.6. Proqramı qurmaq üçün açılmamış qovluğa gedin

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

4.7. Sonra, başlıq faylına bir xətt əlavə etməliyik ki, serverimiz tamamilə anonim olsun (həqiqətən işləyir, hər şey yoxlanılır, müştəri IP-ləri gizlədilir)

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

Xətt əlavə edin

#define ANONYMOUS 1

Dəyişiklikləri saxlamaq üçün Ctrl+x və Enter düymələrini basın.

4.8. Proqramı yığmağa başlayaq

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

Makelogmake[2]: '/opt/proxy/3proxy-0.8.12/src/plugins/TransparentPlugin' kataloqu tərk edilir
make[1]: '/opt/proxy/3proxy-0.8.12/src' kataloqu tərk edilir

Səhv yoxdur, davam edək.

4.9. Proqramı sistemə quraşdırın

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

4.10. Kök qovluğuna gedin və proqramın harada quraşdırıldığını yoxlayın

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

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

4.11. İstifadəçinin ev kataloqunda konfiqurasiya faylları və qeydlər üçün qovluq yaradaq

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

4.12. Konfiqurasiyanın olması lazım olan qovluğa gedin

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

4.13. Boş bir fayl yaradın və konfiqurasiyanı oraya köçürün

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

3proxy.confdaemon
pidfile /home/joke/proxy/3proxy.pid
server 8.8.8.8
nscache 65536
istifadəçilər test cihazı: CL: 1234
fasilələr 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"
döndürün 3
güclüdür
qızarmaq
sınağa icazə verin
corablar -p3128
proxy -p8080

Saxlamaq üçün Ctrl + Z düymələrini basın

4.14. Bir pid faylı yaradaq ki, işə salma zamanı xəta olmasın.

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

Saxlamaq üçün Ctrl + Z düymələrini basın

4.15. Proksi serveri işə salaq!

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

4.16. Baxaq görək server portları dinləyir

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

netstat jurnalıAktiv İnternet bağlantıları (yalnız serverlər)
Proto Recv-Q Send-Q Yerli Ünvan Xarici Ünvan Dövlət PID/Proqram adı
tcp 0 0 0.0.0.0:8080 0.0.0.0:* DİNLƏ 504/3proxy
tcp 0 0 0.0.0.0:22 0.0.0.0:* DİNLƏ 338/sshd
tcp 0 0 0.0.0.0:3128 0.0.0.0:* DİNLƏ 504/3proxy
tcp6 0 0 :::22 :::* DİNLƏ 338/sshd
udp 0 0 0.0.0.0:68 0.0.0.0:* 352/dhclient

Konfiqurasiyada yazıldığı kimi, veb proksimiz 8080 portunu, Socks5 proksisi 3128 portunu dinləyir.

4.17. Yenidən başladıqdan sonra proksi xidmətini avtomatik işə salmaq üçün onu cron-a əlavə etməlisiniz.

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

Xətt əlavə edin

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

Enter düyməsini sıxırıq, çünki cron sətir simvolunun sonunu görməlidir və faylı saxlamalıdır.

Yeni crontab quraşdırmaq haqqında bir mesaj olmalıdır.

crontab: yeni crontab quraşdırılır

4.18. Gəlin sistemi yenidən başladın və brauzer vasitəsilə proxy-yə qoşulmağa çalışaq. Yoxlamaq üçün biz Firefox brauzerindən (veb proksi üçün) və identifikasiyası olan socks5 üçün FoxyProxy əlavəsindən istifadə edirik.

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

4.19. Yenidən başladıqdan sonra proksinin işini yoxladıqdan sonra qeydlərə baxa bilərsiniz. Bu, proxy server quraşdırmasını tamamlayır.

3 proksi jurnalı1542573996.018 PROXY.8080 00000 tester 192.168.23.10:50915 217.12.15.54:443 1193 6939 0 CONNECT_ads.yahoo.com/443_
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

Şəffaf Proksi NAT konfiqurasiyasının qurulması və işə salınması

Bu konfiqurasiyada daxili şəbəkədəki bütün qurğular uzaq proxy server vasitəsilə internetdə şəffaf şəkildə işləyəcək. Mütləq bütün TCP əlaqələri bir və ya daha çox (həqiqətən kanal genişliyini genişləndirir, konfiqurasiya nümunəsi № 2!) proksi serverlərə yönləndiriləcək. DNS xidməti 3proxy (dnspr) imkanlarından istifadə edəcək. UDP xaricə “getməyəcək”, çünki biz hələ irəli mexanizmdən istifadə etmirik (Linux nüvəsində standart olaraq qeyri-aktivdir).

1. Enp0s8 interfeysini işə salmağın vaxtıdır

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

/etc/network/interfaces faylı# Bu fayl sisteminizdə mövcud olan şəbəkə interfeyslərini təsvir edir
# və onları necə aktivləşdirmək olar. Əlavə məlumat üçün interfeyslərə baxın(5).

mənbə /etc/network/interfaces.d/*

# Geri dönmə şəbəkə interfeysi
maşını
iface lo inet loopback

# Əsas şəbəkə interfeysi
icazə-hotplug enp0s3
iface enp0s3 inet dhcp

# İkinci dərəcəli şəbəkə interfeysi
icazə-hotplug enp0s8
iface enp0s8 inet statik
ünvan 192.168.201.254
şəbəkə maskası 255.255.255.0

Burada biz enp0s8 interfeysinə 192.168.201.254 statik ünvan və 255.255.255.0 maskası təyin etdik.
Ctrl+X konfiqurasiyasını qeyd edin və yenidən başladın

root@debian9:~# reboot

2. İnterfeyslərin yoxlanılması

root@debian9:~# ifconfig

ifconfig jurnalıenp0s3: bayraqlar=4163 mtu 1500
inet 192.168.23.11 şəbəkə maskası 255.255.255.0 yayım 192.168.23.255
inet6 fe80::a00:27ff:fec2:bae4 prefiks 64 əhatə dairəsi 0x20 eter 08:00:27:c2:ba:e4 txqueuelen 1000 (Ethernet)
RX paketləri 61 bayt 7873 (7.6 KiB)
RX səhvləri 0 düşdü 0 həddi aşır 0 çərçivə 0
TX paketləri 65 bayt 10917 (10.6 KiB)
TX səhvləri 0 azaldı 0 həddi aşır 0 daşıyıcı 0 toqquşma 0

enp0s8: bayraqlar=4163 mtu 1500
inet 192.168.201.254 şəbəkə maskası 255.255.255.0 yayım 192.168.201.255
inet6 fe80::a00:27ff:fe79:a7e3 prefiks 64 əhatə dairəsi 0x20 eter 08:00:27:79:a7:e3 txqueuelen 1000 (Ethernet)
RX paketləri 0 bayt 0 (0.0 B)
RX səhvləri 0 düşdü 0 həddi aşır 0 çərçivə 0
TX paketləri 8 bayt 648 (648.0 B)
TX səhvləri 0 azaldı 0 həddi aşır 0 daşıyıcı 0 toqquşma 0

aşağı: bayraqlar = 73 mtu 65536
inet 127.0.0.1 şəbəkə maskası 255.0.0.0
inet6 ::1 prefiks 128 əhatə dairəsi 0x10 loop txqueuelen 1 (Yerli geri dönmə)
RX paketləri 0 bayt 0 (0.0 B)
RX səhvləri 0 düşdü 0 həddi aşır 0 çərçivə 0
TX paketləri 0 bayt 0 (0.0 B)
TX səhvləri 0 azaldı 0 həddi aşır 0 daşıyıcı 0 toqquşma 0

3. Hər şey düzəldi, indi şəffaf proxy üçün 3proxy konfiqurasiya etməlisiniz.

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

1 saylı şəffaf proxy serverin konfiqurasiyası nümunəsidaemon
pidfile /home/joke/proxy/3proxy.pid
server 8.8.8.8
nscache 65536
fasilələr 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"
döndürün 3
qızarmaq
auth iponly
dnspr
icazə *
valideyn 1000 corab5 EXTERNAL_PROXY 3128 İP_ADRESİ 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. İndi biz yeni konfiqurasiya ilə 3proxy-ni işə salırıq
root@debian9:/home/joke/proxy# /usr/local/bin/3proxy /home/joke/proxy/3proxytransp.conf

5. Yenidən crontab-a əlavə edin
root@debian9:/home/joke/proxy# crontab -e
@reboot /usr/local/bin/3proxy /home/joke/proxy/3proxytransp.conf

6. Gəlin görək proxyimiz indi nə dinləyir
root@debian9:~# netstat -nlp

netstat jurnalıAktiv İnternet bağlantıları (yalnız serverlər)
Proto Recv-Q Send-Q Yerli Ünvan Xarici Ünvan Dövlət PID/Proqram adı
tcp 0 0 0.0.0.0:22 0.0.0.0:* DİNLƏ 349/sshd
tcp 0 0 0.0.0.0:888 0.0.0.0:* DİNLƏ 354/3proxy
tcp6 0 0 :::22 :::* DİNLƏ 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. İndi proksi 888-ci portda istənilən TCP bağlantılarını, 53-cü portda DNS-ni qəbul etməyə hazırdır ki, onlar daha sonra uzaq socks5 proksi və DNS Google 8.8.8.8-ə yönləndirilə bilsinlər. Etməli olduğumuz yeganə şey ünvanların verilməsi üçün netfilter (iptables) və DHCP qaydalarını konfiqurasiya etməkdir.

8. iptables-persistent və dhcpd paketini quraşdırın

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

9. dhcpd başlanğıc faylını redaktə edin
root@debian9:~# nano /etc/dhcp/dhcpd.conf

dhcpd.conf# dhcpd.conf
#
# ISC dhcpd üçün nümunə konfiqurasiya faylı
#

Bütün dəstəklənən şəbəkələr üçün ümumi olan # seçim tərifləri…
seçim domen adı "example.org";
domen adı serverləri seçimi ns1.example.org, ns2.example.org;

borc icarə müddəti 600;
maksimum icarə müddəti 7200;

ddns-update-style none;

# Əgər bu DHCP server yerli üçün rəsmi DHCP serverdirsə
# şəbəkə, səlahiyyətli direktiv şərh edilməməlidir.

nüfuzlu;

# Daxili alt şəbəkə üçün bir az fərqli konfiqurasiya.
alt şəbəkə 192.168.201.0 netmask 255.255.255.0 {
sıra 192.168.201.10 192.168.201.250;
seçim domen adı serverləri 192.168.201.254;
seçim yönləndiriciləri 192.168.201.254;
seçim yayım ünvanı 192.168.201.255;
borc icarə müddəti 600;
maksimum icarə müddəti 7200;
}

11. 67-ci portda xidməti yenidən başladın və yoxlayın
root@debian9:~# reboot
root@debian9:~# netstat -nlp

netstat jurnalıAktiv İnternet bağlantıları (yalnız serverlər)
Proto Recv-Q Send-Q Yerli Ünvan Xarici Ünvan Dövlət PID/Proqram adı
tcp 0 0 0.0.0.0:22 0.0.0.0:* DİNLƏ 389/sshd
tcp 0 0 0.0.0.0:888 0.0.0.0:* DİNLƏ 310/3proxy
tcp6 0 0 :::22 :::* DİNLƏ 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
xam 0 0 0.0.0.0:1 0.0.0.0:* 393/dhcpd

12. Bütün tcp sorğularını 888 portuna yönləndirmək və qaydanı iptables-də saxlamaq qalır.

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. Kanalın bant genişliyini genişləndirmək üçün bir anda bir neçə proxy serverdən istifadə edə bilərsiniz. Cəmi 1000 olmalıdır. Yeni bağlantılar müəyyən edilmiş proxy serverlərə 0.2, 0.2, 0.2, 0.2, 0,1, 0,1 ehtimalı ilə qurulur.

Qeyd: əgər veb proksimiz varsa, o zaman corab5 əvəzinə connect, əgər corab4, o zaman corab4 yazmalıyıq (corab4 GİRİŞ/ŞİFRƏ AVTORİZASYASINI DƏSTƏKLƏMİR!)

2 saylı şəffaf proxy serverin konfiqurasiyası nümunəsidaemon
pidfile /home/joke/proxy/3proxy.pid
server 8.8.8.8
nscache 65536
maxconn 500
fasilələr 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"
döndürün 3
qızarmaq
auth iponly
dnspr
icazə *

valideyn 200 corab5 IP_ADDRESS_EXTERNAL_PROXY#1 3128 tester 1234
valideyn 200 corab5 IP_ADDRESS_EXTERNAL_PROXY#2 3128 tester 1234
valideyn 200 corab5 IP_ADDRESS_EXTERNAL_PROXY#3 3128 tester 1234
valideyn 200 corab5 IP_ADDRESS_EXTERNAL_PROXY#4 3128 tester 1234
valideyn 100 corab5 IP_ADDRESS_EXTERNAL_PROXY#5 3128 tester 1234
valideyn 100 corab5 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

NAT + Transparent Proxy konfiqurasiyasının qurulması və işə salınması

Bu konfiqurasiyada biz fərdi ünvanların və ya alt şəbəkələrin seçmə və ya tam şəffaf proxyləşdirilməsi ilə adi NAT mexanizmindən istifadə edəcəyik. Daxili şəbəkə istifadəçiləri hətta proksi vasitəsilə işlədiklərini fərq etmədən müəyyən xidmətlər/alt şəbəkələrlə işləyəcəklər. Bütün https bağlantıları yaxşı işləyir, sertifikatların yaradılmasına/dəyişdirilməsinə ehtiyac yoxdur.

Əvvəlcə hansı alt şəbəkələri/xidmətləri proksi etmək istədiyimizə qərar verək. Tutaq ki, xarici proksilər pandora.com kimi bir xidmətin işlədiyi yerdə yerləşir. İndi onun alt şəbəkələrini/ünvanlarını müəyyən etmək qalır.

1. Ping

root@debian9:~# ping pandora.com
PING pandora.com (208.85.40.20) 56(84) bayt məlumat.

2. Google-a BGP 208.85.40.20 yazın

Sayta gedək bgp.he.net/net/208.85.40.0/24#_netinfo
Göründüyü kimi, axtardığım alt şəbəkə AS40428 Pandora Media, Inc

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

v4 prefiksləri açılır

bgp.he.net/AS40428#_prefikslər

Budur tələb olunan alt şəbəkələr!

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. Alt şəbəkələrin sayını azaltmaq üçün siz birləşməni yerinə yetirməlisiniz. Sayta keçin ip-calculator.ru/aggregate və siyahımızı ora köçürün. Nəticədə - 6 əvəzinə 14 alt şəbəkə.

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 qaydalarını təmizləyin

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

İrəli və NAT mexanizmini aktivləşdirin

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

Yenidən başladıqdan sonra yönləndirmənin daimi olaraq aktiv olmasını təmin etmək üçün faylı dəyişdirək

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

Və xətti şərhdən çıxarın

net.ipv4.ip_forward = 1

Faylı saxlamaq üçün Ctrl+X

5. Biz pandora.com alt şəbəkələrini proksi ilə bağlayırıq

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. Qaydalara əməl edək

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

Router konfiqurasiyası vasitəsilə Şəffaf Proksinin qurulması və işə salınması

Bu konfiqurasiyada şəffaf proxy server ayrı bir kompüter və ya ev/korporativ marşrutlaşdırıcının arxasında virtual maşın ola bilər. Routerdə və ya cihazlarda statik marşrutları qeyd etmək kifayətdir və bütün alt şəbəkə heç bir əlavə parametrə ehtiyac olmadan proksidən istifadə edəcəkdir.

ƏHƏMİYYƏTLİ! Şlüzümüzün marşrutlaşdırıcıdan statik IP alması və ya özü statik olması üçün konfiqurasiya edilməsi lazımdır.

1. Statik şlüz ünvanını konfiqurasiya edin (enp0s3 adapteri)

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

/etc/network/interfaces faylı# Bu fayl sisteminizdə mövcud olan şəbəkə interfeyslərini təsvir edir
# və onları necə aktivləşdirmək olar. Əlavə məlumat üçün interfeyslərə baxın(5).

mənbə /etc/network/interfaces.d/*

# Geri dönmə şəbəkə interfeysi
maşını
iface lo inet loopback

# Əsas şəbəkə interfeysi
icazə-hotplug enp0s3
iface enp0s3 inet statik
ünvan 192.168.23.2
şəbəkə maskası 255.255.255.0
Gateway 192.168.23.254

# İkinci dərəcəli şəbəkə interfeysi
icazə-hotplug enp0s8
iface enp0s8 inet statik
ünvan 192.168.201.254
şəbəkə maskası 255.255.255.0

2. 192.168.23.0/24 alt şəbəkəsindən olan cihazlara proksidən istifadə etməyə icazə verin

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. Qaydalara əməl edək
root@debian9:~# iptables-save > /etc/iptables/rules.v4

4. Routerdə alt şəbəkələri qeyd edək

Router şəbəkə siyahısı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

İstifadə olunan materiallar/resurslar

1. 3proxy proqramının rəsmi saytı 3proxy.ru

2. Mənbədən 3proxy quraşdırmaq üçün təlimatlar www.ekzorchik.ru/2015/02/how-to-take-your-socks-proxy

3. GitHub-da 3proxy inkişaf şöbəsi github.com/z3APA3A/3proxy/issues/274

Mənbə: www.habr.com

Добавить комментарий