3proxy ve iptables/netfilter kullanarak şeffaf proxy oluşturmanın temelleri veya "her şeyin bir proxy üzerinden nasıl aktarılacağı"

Bu makalede, trafiğin tamamını veya bir kısmını istemciler tarafından kesinlikle fark edilmeden harici proxy sunucuları üzerinden yönlendirmenize olanak tanıyan şeffaf proxy oluşturma olanaklarını ortaya çıkarmak istiyorum.

Bu sorunu çözmeye başladığımda, uygulamasında önemli bir sorun olduğu gerçeğiyle karşılaştım: HTTPS protokolü. Eski güzel günlerde, şeffaf HTTP proxy'si ile ilgili özel bir sorun yoktu, ancak HTTPS proxy'si ile tarayıcılar protokole müdahale edildiğini bildiriyor ve mutluluk burada bitiyor.

Squid proxy sunucusunun ortak talimatlarında, kendi sertifikanızı oluşturmanızı ve bunu istemcilere yüklemenizi bile öneriyorlar ki bu en azından tamamen saçmalıktır, mantıksızdır ve bir MITM saldırısına benzemektedir. Squid'in zaten benzer bir şey yapabileceğini biliyorum, ancak bu makale saygın 3APA3A'dan 3proxy kullanan kanıtlanmış ve çalışan bir yöntem hakkındadır.

Daha sonra, kaynaktan 3proxy oluşturma sürecini, yapılandırmasını, NAT kullanarak tam ve seçici proxy oluşturmayı, birkaç harici proxy sunucusuna kanal dağıtımını ve ayrıca bir yönlendirici ve statik yolların kullanımını ayrıntılı olarak inceleyeceğiz. İşletim sistemi olarak Debian 9 x64 kullanıyoruz. Başlamak!

3proxy'yi yükleme ve normal bir proxy sunucusu çalıştırma

1. ifconfig'i yükleyin (net-tools paketinden)
apt-get install net-tools
2. Midnight Commander'ı yükleyin
apt-get install mc
3. Artık 2 arayüzümüz var:
enp0s3 - harici, internete bakar
enp0s8 - dahili, yerel ağa bakılmalıdır
Diğer Debian tabanlı dağıtımlarda arayüzler genellikle eth0 ve eth1 olarak adlandırılır.
ifconfig -a

Arayüzlerenp0s3: bayraklar=4163 mtu 1500
inet 192.168.23.11 ağ maskesi 255.255.255.0 yayın 192.168.23.255
inet6 fe80::a00:27ff:fec2:bae4 prefixlen 64 kapsam kimliği 0x20 eter 08:00:27:c2:ba:e4 txqueuelen 1000 (Ethernet)
RX paketleri 6412 bayt 8676619 (8.2 MiB)
RX hataları 0 düştü 0 aşımı 0 kare 0
TX paketleri 1726 bayt 289128 (282.3 KiB)
TX hataları 0 düştü 0 taştı 0 taşıyıcı 0 çarpışma 0

enp0s8: bayraklar=4098 mtu 1500
eter 08:00:27:79:a7:e3 txqueuelen 1000 (Ethernet)
RX paketleri 0 bayt 0 (0.0 B)
RX hataları 0 düştü 0 aşımı 0 kare 0
TX paketleri 0 bayt 0 (0.0 B)
TX hataları 0 düştü 0 taştı 0 taşıyıcı 0 çarpışma 0

lo: bayraklar=73 mtu 65536
inet 127.0.0.1 ağ maskesi 255.0.0.0
inet6 ::1 öneklen 128 kapsam 0x10 döngü txqueuelen 1 (Yerel Geri Döngü)
RX paketleri 0 bayt 0 (0.0 B)
RX hataları 0 düştü 0 aşımı 0 kare 0
TX paketleri 0 bayt 0 (0.0 B)
TX hataları 0 düştü 0 taştı 0 taşıyıcı 0 çarpışma 0

Enp0s8 arayüzü şu anda kullanılmıyor, Proxy NAT veya NAT konfigürasyonunu kullanmak istediğimizde etkinleştireceğiz. O zaman ona statik bir IP atamak mantıklı olacaktır.

4. 3proxy'yi yüklemeye başlayalım

4.1 Kaynaklardan 3proxy'yi derlemek için temel paketleri kurma

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

4.2. Kaynakları içeren arşivi indirmek için bir klasör oluşturalım

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

4.3. Hadi bu klasöre gidelim

root@debian9:~# cd /opt/proxy

4.4. Şimdi en son 3proxy paketini indirelim. Bu yazı yazıldığı sırada en son kararlı sürüm 0.8.12 (18) idi. Resmi 04proxy web sitesinden indirin

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

4.5. İndirilen arşivi açalım

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

4.6. Programı oluşturmak için paketlenmemiş dizine gidin

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

4.7. Daha sonra, sunucumuzun tamamen anonim olması için başlık dosyasına bir satır eklememiz gerekiyor (gerçekten çalışıyor, her şey kontrol ediliyor, istemci IP'leri gizleniyor)

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

Satır ekle

#define ANONYMOUS 1

Değişiklikleri kaydetmek için Ctrl+x ve Enter tuşlarına basın.

4.8. Programı derlemeye başlayalım

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

Makelogmake[2]: '/opt/proxy/3proxy-0.8.12/src/plugins/TransparentPlugin' dizininden çıkılıyor
make[1]: '/opt/proxy/3proxy-0.8.12/src' dizininden çıkılıyor

Hata yok, devam edelim.

4.9. Programı sisteme yükleyin

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

4.10. Kök dizine gidin ve programın nereye kurulduğunu kontrol edin

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

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

4.11. Kullanıcının ana dizininde yapılandırma dosyaları ve günlükler için bir klasör oluşturalım

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

4.12. Yapılandırmanın olması gereken dizine gidin

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

4.13. Boş bir dosya oluşturun ve yapılandırmayı oraya kopyalayın

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

3proxy.confdaemon
pidfile /home/joke/proxy/3proxy.pid
sunucu 8.8.8.8
nscache 65536
kullanıcılar test cihazı:CL:1234
molalar 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"
3 döndür
yetkin güçlü
floş
test cihazına izin ver
çorap -p3128
vekil -p8080

Kaydetmek için Ctrl + Z tuşlarına basın

4.14. Başlatma sırasında hata oluşmaması için bir pid dosyası oluşturalım.

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

Kaydetmek için Ctrl + Z tuşlarına basın

4.15. Proxy sunucusunu başlatalım!

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

4.16. Sunucunun portları dinleyip dinlemediğini görelim

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

netstat günlüğüAktif İnternet bağlantıları (yalnızca sunucular)
Proto Recv-Q Send-Q Yerel Adres Yabancı Adres Durum PID/Program adı
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 504/3proxy
tcp 0 0 0.0.0.0:22 0.0.0.0:* DİNLE 338/sshd
tcp 0 0 0.0.0.0:3128 0.0.0.0:* LISTEN 504/3proxy
tcp6 0 0 :::22 :::* DİNLE 338/sshd
udp 0 0 0.0.0.0:68 0.0.0.0:* 352/dhclient

Yapılandırmada yazıldığı gibi, web proxy'miz 8080 numaralı bağlantı noktasını dinler, Socks5 proxy'miz ise 3128 numaralı bağlantı noktasını dinler.

4.17. Yeniden başlatmanın ardından proxy hizmetini otomatik olarak başlatmak için onu cron'a eklemeniz gerekir.

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

Satır ekle

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

Cron'un satır sonunu görmesi gerektiği için Enter'a basıyoruz ve dosyayı kaydediyoruz.

Yeni bir crontab kurulumuyla ilgili bir mesaj olmalı.

crontab: yeni crontab yükleme

4.18. Sistemi yeniden başlatalım ve tarayıcı üzerinden proxy'ye bağlanmayı deneyelim. Kontrol etmek için Firefox tarayıcısını (web proxy'si için) ve çorap5 için kimlik doğrulamalı FoxyProxy eklentisini kullanıyoruz.

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

4.19. Yeniden başlatmanın ardından proxy'nin çalışmasını kontrol ettikten sonra günlükleri görüntüleyebilirsiniz. Bu, proxy sunucu kurulumunu tamamlar.

3 proxy günlüğü1542573996.018 PROXY.8080 00000 test cihazı 192.168.23.10:50915 217.12.15.54:443 1193 6939 0 CONNECT_ads.yahoo.com:443_HTTP/1.1
1542574289.634 SOCK5.3128 00000 test cihazı 192.168.23.10:51193 54.192.13.69:443 0 0 0 CONNECT_normandy.cdn.mozilla.net:443

Transparent Proxy NAT yapılandırmasını kurma ve çalıştırma

Bu konfigürasyonda, iç ağdaki tüm cihazlar, uzak bir proxy sunucusu aracılığıyla İnternet üzerinde şeffaf bir şekilde çalışacaktır. Kesinlikle tüm TCP bağlantıları bir veya daha fazla (kanal genişliğini gerçekten genişletir, yapılandırma örneği No. 2!) proxy sunuculara yönlendirilecektir. DNS hizmeti 3proxy (dnspr) yeteneklerini kullanacaktır. Henüz ileri mekanizmayı kullanmadığımız için (Linux çekirdeğinde varsayılan olarak devre dışıdır) UDP dışarıya doğru "gitmeyecektir".

1. Enp0s8 arayüzünü etkinleştirmenin zamanı geldi

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

/etc/network/interfaces dosyası# Bu dosya sisteminizde bulunan ağ arayüzleri açıklar
# Peki onları aktif hale getirmek için. Daha fazla bilgi için, (5) arayüzleri bakın.

kaynak /etc/network/interfaces.d/*

# Döngü ağ arabirimi
otomatik lo
iface lo inet döngü

# Birincil ağ arayüzü
izin ver-hotplug enp0s3
iface enp0s3 inet dhcp

# İkincil ağ arayüzü
izin ver-hotplug enp0s8
iface enp0s8 inet statik
192.168.201.254 adresi
ağ maskesi 255.255.255.0

Burada enp0s8 arayüzüne 192.168.201.254 statik adresini ve 255.255.255.0 maskesini atadık.
Ctrl+X yapılandırmasını kaydedin ve yeniden başlatın

root@debian9:~# reboot

2. Arayüzlerin kontrol edilmesi

root@debian9:~# ifconfig

ifconfig günlüğüenp0s3: bayraklar=4163 mtu 1500
inet 192.168.23.11 ağ maskesi 255.255.255.0 yayın 192.168.23.255
inet6 fe80::a00:27ff:fec2:bae4 prefixlen 64 kapsam kimliği 0x20 eter 08:00:27:c2:ba:e4 txqueuelen 1000 (Ethernet)
RX paketleri 61 bayt 7873 (7.6 KiB)
RX hataları 0 düştü 0 aşımı 0 kare 0
TX paketleri 65 bayt 10917 (10.6 KiB)
TX hataları 0 düştü 0 taştı 0 taşıyıcı 0 çarpışma 0

enp0s8: bayraklar=4163 mtu 1500
inet 192.168.201.254 ağ maskesi 255.255.255.0 yayın 192.168.201.255
inet6 fe80::a00:27ff:fe79:a7e3 prefixlen 64 kapsam kimliği 0x20 eter 08:00:27:79:a7:e3 txqueuelen 1000 (Ethernet)
RX paketleri 0 bayt 0 (0.0 B)
RX hataları 0 düştü 0 aşımı 0 kare 0
TX paketleri 8 bayt 648 (648.0 B)
TX hataları 0 düştü 0 taştı 0 taşıyıcı 0 çarpışma 0

lo: bayraklar=73 mtu 65536
inet 127.0.0.1 ağ maskesi 255.0.0.0
inet6 ::1 öneklen 128 kapsam 0x10 döngü txqueuelen 1 (Yerel Geri Döngü)
RX paketleri 0 bayt 0 (0.0 B)
RX hataları 0 düştü 0 aşımı 0 kare 0
TX paketleri 0 bayt 0 (0.0 B)
TX hataları 0 düştü 0 taştı 0 taşıyıcı 0 çarpışma 0

3. Her şey yolunda gitti, şimdi şeffaf proxy için 3proxy'yi yapılandırmanız gerekiyor.

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

1 numaralı şeffaf proxy sunucusunun örnek yapılandırmasıdaemon
pidfile /home/joke/proxy/3proxy.pid
sunucu 8.8.8.8
nscache 65536
molalar 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"
3 döndür
floş
yalnızca ip ile kimlik doğrulama
dnspr
izin vermek *
ebeveyn 1000 çorap5 EXTERNAL_PROXY 3128 test cihazının IP_ADDRESS'i 1234
eklenti /opt/proxy/3proxy-0.8.12/src/TransparentPlugin.ld.so Transparent_plugin
tcppm -i0.0.0.0 888 127.0.0.1 11111

4. Şimdi 3proxy'yi yeni yapılandırmayla başlatıyoruz
root@debian9:/home/joke/proxy# /usr/local/bin/3proxy /home/joke/proxy/3proxytransp.conf

5. Crontab'a tekrar ekleyin
root@debian9:/home/joke/proxy# crontab -e
@reboot /usr/local/bin/3proxy /home/joke/proxy/3proxytransp.conf

6. Şimdi proxy'mizin ne dinlediğini görelim
root@debian9:~# netstat -nlp

netstat günlüğüAktif İnternet bağlantıları (yalnızca sunucular)
Proto Recv-Q Send-Q Yerel Adres Yabancı Adres Durum PID/Program adı
tcp 0 0 0.0.0.0:22 0.0.0.0:* DİNLE 349/sshd
tcp 0 0 0.0.0.0:888 0.0.0.0:* LISTEN 354/3proxy
tcp6 0 0 :::22 :::* DİNLE 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. Artık proxy, 888 numaralı bağlantı noktasındaki tüm TCP bağlantılarını, 53 numaralı bağlantı noktasındaki DNS bağlantılarını kabul etmeye hazırdır, böylece uzak çorap5 proxy'sine ve DNS Google 8.8.8.8'e yeniden yönlendirilebilirler. Tek yapmamız gereken, adresleri vermek için netfilter (iptables) ve DHCP kurallarını yapılandırmak.

8. iptables-persistent ve dhcpd paketini yükleyin

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

9. dhcpd başlangıç ​​dosyasını düzenleyin
root@debian9:~# nano /etc/dhcp/dhcpd.conf

dhcpd.conf#dhcpd.conf
#
# ISC dhcpd için örnek yapılandırma dosyası
#

# desteklenen tüm ağlarda ortak olan seçenek tanımları…
seçenek alan adı "example.org";
seçenek alan adı sunucuları ns1.example.org, ns2.example.org;

varsayılan kiralama süresi 600;
maksimum kiralama süresi 7200;

ddns-güncelleme stili yok;

# Bu DHCP sunucusu yerel için resmi DHCP sunucusuysa
# ağ, yetkili yönergeye yorum yapılmamalıdır.

yetkili;

# Dahili bir alt ağ için biraz farklı bir yapılandırma.
alt ağ 192.168.201.0 ağ maskesi 255.255.255.0 {
aralık 192.168.201.10 192.168.201.250;
seçenek alan adı sunucuları 192.168.201.254;
seçenek yönlendiriciler 192.168.201.254;
seçenek yayın adresi 192.168.201.255;
varsayılan kiralama süresi 600;
maksimum kiralama süresi 7200;
}

11. 67 numaralı bağlantı noktasındaki hizmeti yeniden başlatın ve kontrol edin
root@debian9:~# reboot
root@debian9:~# netstat -nlp

netstat günlüğüAktif İnternet bağlantıları (yalnızca sunucular)
Proto Recv-Q Send-Q Yerel Adres Yabancı Adres Durum PID/Program adı
tcp 0 0 0.0.0.0:22 0.0.0.0:* DİNLE 389/sshd
tcp 0 0 0.0.0.0:888 0.0.0.0:* LISTEN 310/3proxy
tcp6 0 0 :::22 :::* DİNLE 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
ham 0 0 0.0.0.0:1 0.0.0.0:* 393/dhcpd

12. Geriye kalan tek şey, tüm TCP isteklerini 888 numaralı bağlantı noktasına yönlendirmek ve kuralı iptables'a kaydetmektir.

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 bant genişliğini genişletmek için aynı anda birden fazla proxy sunucusu kullanabilirsiniz. Toplam 1000 olmalıdır. Belirtilen proxy sunuculara 0.2, 0.2, 0.2, 0.2, 0,1, 0,1 olasılıkla yeni bağlantılar kurulur.

Not: Bir web proxy'miz varsa, çorap5 yerine connect yazmamız gerekir, çorap4 ise çorap4 yazmamız gerekir (socks4, GİRİŞ/ŞİFRE YETKİLENDİRMEYİ DESTEKLEMEZ!)

2 numaralı şeffaf proxy sunucusunun örnek yapılandırmasıdaemon
pidfile /home/joke/proxy/3proxy.pid
sunucu 8.8.8.8
nscache 65536
maxconn 500
molalar 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"
3 döndür
floş
yalnızca ip ile kimlik doğrulama
dnspr
izin vermek *

ebeveyn 200 çorap5 IP_ADDRESS_EXTERNAL_PROXY#1 3128 test cihazı 1234
ebeveyn 200 çorap5 IP_ADDRESS_EXTERNAL_PROXY#2 3128 test cihazı 1234
ebeveyn 200 çorap5 IP_ADDRESS_EXTERNAL_PROXY#3 3128 test cihazı 1234
ebeveyn 200 çorap5 IP_ADDRESS_EXTERNAL_PROXY#4 3128 test cihazı 1234
ebeveyn 100 çorap5 IP_ADDRESS_EXTERNAL_PROXY#5 3128 test cihazı 1234
ebeveyn 100 çorap5 IP_ADDRESS_EXTERNAL_PROXY#6 3128 test cihazı 1234

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

NAT + Şeffaf Proxy yapılandırmasını kurma ve çalıştırma

Bu yapılandırmada, bireysel adreslerin veya alt ağların seçici veya tam şeffaf proxy'sini içeren olağan NAT mekanizmasını kullanacağız. Dahili ağ kullanıcıları, bir proxy aracılığıyla çalıştıklarının farkına bile varmadan belirli hizmetler/alt ağlarla çalışacaktır. Tüm https bağlantıları düzgün çalışıyor; sertifikaların oluşturulmasına/değiştirilmesine gerek yok.

Öncelikle hangi alt ağları/hizmetleri proxy yapmak istediğimize karar verelim. Pandora.com gibi bir hizmetin çalıştığı yerde harici proxy'lerin bulunduğunu varsayalım. Artık alt ağlarını/adreslerini belirlemeye devam ediyor.

1.Ping

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

2. Google'a BGP 208.85.40.20 yazın

hadi siteye gidelim bgp.he.net/net/208.85.40.0/24#_netinfo
Aradığım alt ağın AS40428 Pandora Media, Inc olduğu görülüyor

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

V4 öneklerini açma

bgp.he.net/AS40428#_prefixes

İşte gerekli alt ağlar!

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 ağ sayısını azaltmak için toplama işlemi yapmanız gerekir. Siteye git ip-calculator.ru/aggregate ve listemizi oraya kopyalayın. Sonuç olarak - 6 yerine 14 alt ağ.

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 kurallarını temizleyin

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

İletme ve NAT mekanizmasını etkinleştirin

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

Yeniden başlatmanın ardından iletmenin kalıcı olarak etkinleştirildiğinden emin olmak için dosyayı değiştirelim

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

Ve satırın yorumunu kaldırın

net.ipv4.ip_forward = 1

Dosyayı kaydetmek için Ctrl+X

5. Pandora.com alt ağlarını bir proxy'ye sarıyoruz

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. Kurallara uyalım

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

Şeffaf Proxy'yi yönlendirici yapılandırması aracılığıyla kurma ve çalıştırma

Bu yapılandırmada şeffaf proxy sunucusu, ayrı bir bilgisayar veya ev/kurumsal yönlendiricinin arkasındaki sanal makine olabilir. Statik rotaları yönlendiriciye veya cihazlara kaydetmeniz yeterlidir ve alt ağın tamamı, herhangi bir ek ayara gerek kalmadan bir proxy kullanacaktır.

ÖNEMLİ! Ağ geçidimizin yönlendiriciden statik bir IP alması veya kendisinin statik olacak şekilde yapılandırılması gerekir.

1. Statik bir ağ geçidi adresi yapılandırın (enp0s3 bağdaştırıcısı)

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

/etc/network/interfaces dosyası# Bu dosya sisteminizde bulunan ağ arayüzleri açıklar
# Peki onları aktif hale getirmek için. Daha fazla bilgi için, (5) arayüzleri bakın.

kaynak /etc/network/interfaces.d/*

# Döngü ağ arabirimi
otomatik lo
iface lo inet döngü

# Birincil ağ arayüzü
izin ver-hotplug enp0s3
iface enp0s3 inet statik
192.168.23.2 adresi
ağ maskesi 255.255.255.0
192.168.23.254 geçidi

# İkincil ağ arayüzü
izin ver-hotplug enp0s8
iface enp0s8 inet statik
192.168.201.254 adresi
ağ maskesi 255.255.255.0

2. 192.168.23.0/24 alt ağındaki cihazların proxy kullanmasına izin 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. Kurallara uyalım
root@debian9:~# iptables-save > /etc/iptables/rules.v4

4. Alt ağları yönlendiriciye kaydedelim

Yönlendirici ağ listesi+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

Kullanılan materyaller/kaynaklar

1. 3proxy programının resmi web sitesi 3proxy.ru

2. 3proxy'yi kaynaktan yükleme talimatları www.ekzorchik.ru/2015/02/how-to-take-your-socks-proxy

3. GitHub'da 3proxy geliştirme şubesi github.com/z3APA3A/3proxy/issues/274

Kaynak: habr.com

Yorum ekle