Khái niệm cơ bản về ủy quyền minh bạch bằng 3proxy và iptables/netfilter hoặc cách “đặt mọi thứ thông qua proxy”

Trong bài viết này, tôi muốn tiết lộ khả năng của proxy minh bạch, cho phép bạn chuyển hướng tất cả hoặc một phần lưu lượng truy cập thông qua các máy chủ proxy bên ngoài mà khách hàng hoàn toàn không chú ý.

Khi tôi bắt đầu giải quyết vấn đề này, tôi phải đối mặt với thực tế là việc triển khai nó có một vấn đề nghiêm trọng - giao thức HTTPS. Trước đây, không có vấn đề đặc biệt nào với proxy HTTP minh bạch, nhưng với proxy HTTPS, các trình duyệt báo cáo sự can thiệp vào giao thức và đó là lúc niềm hạnh phúc kết thúc.

Trong các hướng dẫn chung dành cho máy chủ proxy Squid, họ thậm chí còn đề xuất tạo chứng chỉ của riêng bạn và cài đặt nó trên máy khách, điều này ít nhất là hoàn toàn vô nghĩa, phi lý và trông giống như một cuộc tấn công MITM. Tôi biết rằng Squid đã có thể làm điều gì đó tương tự, nhưng bài viết này nói về một phương pháp đã được chứng minh và hoạt động bằng cách sử dụng 3proxy từ 3APA3A được tôn trọng.

Tiếp theo, chúng ta sẽ xem xét chi tiết quá trình xây dựng 3proxy từ nguồn, cấu hình của nó, ủy quyền đầy đủ và chọn lọc bằng NAT, phân phối kênh đến một số máy chủ proxy bên ngoài, cũng như việc sử dụng bộ định tuyến và các tuyến tĩnh. Chúng tôi sử dụng Debian 9 x64 làm hệ điều hành. Bắt đầu!

Cài đặt 3proxy và chạy máy chủ proxy thông thường

1. Cài đặt ifconfig (từ gói công cụ mạng)
apt-get install net-tools
2. Cài đặt Chỉ Huy Nửa Đêm
apt-get install mc
3. Hiện tại chúng ta có 2 giao diện:
enp0s3 - bên ngoài, nhìn vào Internet
enp0s8 - nội bộ, phải nhìn vào mạng cục bộ
Trên các bản phân phối dựa trên Debian khác, giao diện thường được đặt tên là eth0 và eth1.
ifconfig -a

Giao diệnenp0s3: flag=4163 mtu 1500
inet 192.168.23.11 mặt nạ mạng 255.255.255.0 phát sóng 192.168.23.255
inet6 fe80::a00:27ff:fec2:bae4 prefixlen 64 phạm vi 0x20 ether 08:00:27:c2:ba:e4 txqueuelen 1000 (Ethernet)
Gói RX 6412 byte 8676619 (8.2 MiB)
Lỗi RX 0 giảm 0 vượt quá 0 khung hình 0
Gói TX 1726 byte 289128 (282.3 KiB)
Lỗi TX 0 giảm 0 vượt quá 0 tàu sân bay 0 va chạm 0

enp0s8: flag=4098 mtu 1500
ether 08:00:27:79:a7:e3 txqueuelen 1000 (Ethernet)
Gói RX 0 byte 0 (0.0 B)
Lỗi RX 0 giảm 0 vượt quá 0 khung hình 0
Gói TX 0 byte 0 (0.0 B)
Lỗi TX 0 giảm 0 vượt quá 0 tàu sân bay 0 va chạm 0

lo: cờ=73 mtu 65536
inet 127.0.0.1 mặt nạ mạng 255.0.0.0
inet6 ::1 tiền tốlen 128 phạm vi 0x10 vòng lặp txqueuelen 1 (Vòng lặp cục bộ)
Gói RX 0 byte 0 (0.0 B)
Lỗi RX 0 giảm 0 vượt quá 0 khung hình 0
Gói TX 0 byte 0 (0.0 B)
Lỗi TX 0 giảm 0 vượt quá 0 tàu sân bay 0 va chạm 0

Giao diện enp0s8 hiện không được sử dụng, chúng tôi sẽ kích hoạt nó khi muốn sử dụng cấu hình Proxy NAT hoặc NAT. Khi đó, sẽ hợp lý hơn nếu gán cho nó một IP tĩnh.

4. Hãy bắt đầu cài đặt 3proxy

4.1 Cài đặt các gói cơ bản để biên dịch 3proxy từ các nguồn

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

4.2. Hãy tạo một thư mục để tải xuống kho lưu trữ với các nguồn

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

4.3. Chúng ta hãy đi đến thư mục này

root@debian9:~# cd /opt/proxy

4.4. Bây giờ hãy tải xuống gói 3proxy mới nhất. Tại thời điểm viết bài, phiên bản ổn định mới nhất là 0.8.12 (18/04/2018) Tải xuống từ trang web chính thức của 3proxy

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

4.5. Hãy giải nén kho lưu trữ đã tải xuống

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

4.6. Vào thư mục giải nén để build chương trình

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

4.7. Tiếp theo, chúng ta cần thêm một dòng vào tệp tiêu đề để máy chủ của chúng ta hoàn toàn ẩn danh (nó thực sự hoạt động, mọi thứ đều được kiểm tra, IP máy khách bị ẩn)

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

Thêm một dòng

#define ANONYMOUS 1

Nhấn Ctrl+x và Enter để lưu các thay đổi.

4.8. Hãy bắt đầu lắp ráp chương trình

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

Makelogmake[2]: Rời khỏi thư mục '/opt/proxy/3proxy-0.8.12/src/plugins/TransparentPlugin'
make[1]: Rời khỏi thư mục '/opt/proxy/3proxy-0.8.12/src'

Không có lỗi, hãy tiếp tục.

4.9. Cài đặt chương trình vào hệ thống

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

4.10. Vào thư mục gốc và kiểm tra xem chương trình đã được cài đặt ở đâu

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

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

4.11. Hãy tạo một thư mục cho các tập tin cấu hình và nhật ký trong thư mục chính của người dùng

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

4.12. Chuyển đến thư mục chứa cấu hình

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

4.13. Tạo một tập tin trống và sao chép cấu hình ở đó

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

3proxy.confdaemon
pidfile /home/joke/proxy/3proxy.pid
máy chủ 8.8.8.8
nscache 65536
người kiểm tra:CL:1234
thời gian chờ 1 5 30 60 180 1800 16 60
đăng nhập /home/joke/proxy/logs/3proxy.log D
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
xoay 3
xác thực mạnh mẽ
tuôn ra
cho phép người kiểm tra
tất -p3128
proxy -p8080

Để lưu nhấn Ctrl + Z

4.14. Hãy tạo một tệp pid để không có lỗi trong quá trình khởi động.

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

Để lưu nhấn Ctrl + Z

4.15. Hãy khởi chạy máy chủ proxy!

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

4.16. Hãy xem máy chủ có đang lắng nghe trên các cổng không

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

nhật ký mạngKết nối Internet đang hoạt động (chỉ máy chủ)
Proto Recv-Q Send-Q Địa chỉ cục bộ Địa chỉ nước ngoài Trạng thái PID/Tên chương trình
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LẮNG NGHE 504/3proxy
tcp 0 0 0.0.0.0:22 0.0.0.0:* NGHE 338/sshd
tcp 0 0 0.0.0.0:3128 0.0.0.0:* LẮNG NGHE 504/3proxy
tcp6 0 0 :::22 :::* NGHE 338/sshd
udp 0 0 0.0.0.0:68 0.0.0.0:* 352/dhclient

Như đã được viết trong cấu hình, proxy web của chúng tôi lắng nghe cổng 8080, proxy Vớ5 lắng nghe cổng 3128.

4.17. Để tự khởi động dịch vụ proxy sau khi khởi động lại, bạn cần thêm nó vào cron.

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

Thêm một dòng

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

Chúng ta nhấn Enter, vì cron sẽ thấy ký tự cuối dòng và lưu tệp.

Sẽ có thông báo về việc cài đặt crontab mới.

crontab: cài đặt crontab mới

4.18. Hãy khởi động lại hệ thống và thử kết nối thông qua trình duyệt với proxy. Để kiểm tra, chúng tôi sử dụng trình duyệt Firefox (dành cho proxy web) và tiện ích bổ sung FoxyProxy dành cho vớ5 có xác thực.

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

4.19. Sau khi kiểm tra hoạt động của proxy sau khi khởi động lại, bạn có thể xem nhật ký. Điều này hoàn tất việc thiết lập máy chủ proxy.

3 nhật ký proxy1542573996.018 PROXY.8080 00000 người kiểm tra 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 người kiểm tra 192.168.23.10:51193 54.192.13.69:443 0 0 0 CONNECT_normandy.cdn.mozilla.net:443

Thiết lập và chạy cấu hình Transparent Proxy NAT

Trong cấu hình này, tất cả các thiết bị trên mạng nội bộ sẽ hoạt động minh bạch trên Internet thông qua máy chủ proxy từ xa. Tuyệt đối tất cả các kết nối TCP sẽ được chuyển hướng đến một hoặc nhiều máy chủ proxy (thực sự mở rộng độ rộng kênh, ví dụ cấu hình số 2!). Dịch vụ DNS sẽ sử dụng khả năng của 3proxy (dnspr). UDP sẽ không “đi” ra ngoài vì chúng ta chưa sử dụng cơ chế chuyển tiếp (bị tắt theo mặc định trong nhân Linux).

1. Đã đến lúc kích hoạt giao diện enp0s8

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

tập tin /etc/mạng/giao diện# Tập tin này mô tả các giao diện mạng có sẵn trên hệ thống của bạn
# Hoạt và làm thế nào để Them. Để biết thêm thông tin, xem các giao diện (5).

nguồn /etc/network/interfaces.d/*

# Giao diện mạng loopback
xe nó
iface lo inet loopback

# Giao diện mạng chính
cho phép cắm nóng enp0s3
iface enp0s3 inet dhcp

# Giao diện mạng thứ cấp
cho phép cắm nóng enp0s8
iface enp0s8 inet tĩnh
địa chỉ 192.168.201.254
mặt nạ mạng 255.255.255.0

Ở đây chúng tôi đã gán cho giao diện enp0s8 một địa chỉ tĩnh 192.168.201.254 và mặt nạ 255.255.255.0
Lưu cấu hình Ctrl+X và khởi động lại

root@debian9:~# reboot

2. Kiểm tra các giao diện

root@debian9:~# ifconfig

nhật ký ifconfigenp0s3: flag=4163 mtu 1500
inet 192.168.23.11 mặt nạ mạng 255.255.255.0 phát sóng 192.168.23.255
inet6 fe80::a00:27ff:fec2:bae4 prefixlen 64 phạm vi 0x20 ether 08:00:27:c2:ba:e4 txqueuelen 1000 (Ethernet)
Gói RX 61 byte 7873 (7.6 KiB)
Lỗi RX 0 giảm 0 vượt quá 0 khung hình 0
Gói TX 65 byte 10917 (10.6 KiB)
Lỗi TX 0 giảm 0 vượt quá 0 tàu sân bay 0 va chạm 0

enp0s8: flag=4163 mtu 1500
inet 192.168.201.254 mặt nạ mạng 255.255.255.0 phát sóng 192.168.201.255
inet6 fe80::a00:27ff:fe79:a7e3 prefixlen 64 phạm vi 0x20 ether 08:00:27:79:a7:e3 txqueuelen 1000 (Ethernet)
Gói RX 0 byte 0 (0.0 B)
Lỗi RX 0 giảm 0 vượt quá 0 khung hình 0
Gói TX 8 byte 648 (648.0 B)
Lỗi TX 0 giảm 0 vượt quá 0 tàu sân bay 0 va chạm 0

lo: cờ=73 mtu 65536
inet 127.0.0.1 mặt nạ mạng 255.0.0.0
inet6 ::1 tiền tốlen 128 phạm vi 0x10 vòng lặp txqueuelen 1 (Vòng lặp cục bộ)
Gói RX 0 byte 0 (0.0 B)
Lỗi RX 0 giảm 0 vượt quá 0 khung hình 0
Gói TX 0 byte 0 (0.0 B)
Lỗi TX 0 giảm 0 vượt quá 0 tàu sân bay 0 va chạm 0

3. Mọi thứ đã ổn, bây giờ bạn cần định cấu hình 3proxy để ủy quyền minh bạch.

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

Cấu hình ví dụ của proxy server minh bạch số 1daemon
pidfile /home/joke/proxy/3proxy.pid
máy chủ 8.8.8.8
nscache 65536
thời gian chờ 1 5 30 60 180 1800 16 60
đăng nhập /home/joke/proxy/logs/3proxy.log D
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
xoay 3
tuôn ra
xác thực ionly
dnspr
cho phép *
cha mẹ 1000 vớ5 IP_ADDRESS CỦA EXTERNAL_PROXY 3128 người kiểm tra 1234
plugin /opt/proxy/3proxy-0.8.12/src/TransparentPlugin.ld.so minh bạch_plugin
tcppm -i0.0.0.0 888 127.0.0.1 11111

4. Bây giờ chúng ta khởi chạy 3proxy với cấu hình mới
root@debian9:/home/joke/proxy# /usr/local/bin/3proxy /home/joke/proxy/3proxytransp.conf

5. Thêm vào crontab lần nữa
root@debian9:/home/joke/proxy# crontab -e
@reboot /usr/local/bin/3proxy /home/joke/proxy/3proxytransp.conf

6. Hãy xem proxy của chúng tôi hiện đang nghe gì
root@debian9:~# netstat -nlp

nhật ký mạngKết nối Internet đang hoạt động (chỉ máy chủ)
Proto Recv-Q Send-Q Địa chỉ cục bộ Địa chỉ nước ngoài Trạng thái PID/Tên chương trình
tcp 0 0 0.0.0.0:22 0.0.0.0:* NGHE 349/sshd
tcp 0 0 0.0.0.0:888 0.0.0.0:* LẮNG NGHE 354/3proxy
tcp6 0 0 :::22 :::* NGHE 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. Bây giờ proxy đã sẵn sàng chấp nhận mọi kết nối TCP trên cổng 888, DNS trên cổng 53, để sau đó chúng có thể được chuyển hướng đến proxy vớ5 từ xa và DNS Google 8.8.8.8. Tất cả những gì chúng ta phải làm là định cấu hình các quy tắc netfilter (iptables) và DHCP để cấp địa chỉ.

8. Cài đặt gói iptables-persistent và dhcpd

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

9. Chỉnh sửa file khởi động dhcpd
root@debian9:~# nano /etc/dhcp/dhcpd.conf

dhcpd.conf#dhcpd.conf
#
# File cấu hình mẫu cho ISC dhcpd
#

# định nghĩa tùy chọn chung cho tất cả các mạng được hỗ trợ…
tùy chọn tên miền "example.org";
tên miền tùy chọn-máy chủ ns1.example.org, ns2.example.org;

thời gian thuê mặc định 600;
thời gian thuê tối đa 7200;

ddns-update-style không có;

# Nếu máy chủ DHCP này là máy chủ DHCP chính thức cho cục bộ
# network, lệnh có thẩm quyền sẽ không được chú thích.

có thẩm quyền;

# Một cấu hình hơi khác cho mạng con nội bộ.
mạng con 192.168.201.0 netmask 255.255.255.0 {
phạm vi 192.168.201.10 192.168.201.250;
tùy chọn tên miền-tên-máy chủ 192.168.201.254;
bộ định tuyến tùy chọn 192.168.201.254;
địa chỉ quảng bá tùy chọn 192.168.201.255;
thời gian thuê mặc định 600;
thời gian thuê tối đa 7200;
}

11. Khởi động lại và kiểm tra dịch vụ trên cổng 67
root@debian9:~# reboot
root@debian9:~# netstat -nlp

nhật ký mạngKết nối Internet đang hoạt động (chỉ máy chủ)
Proto Recv-Q Send-Q Địa chỉ cục bộ Địa chỉ nước ngoài Trạng thái PID/Tên chương trình
tcp 0 0 0.0.0.0:22 0.0.0.0:* NGHE 389/sshd
tcp 0 0 0.0.0.0:888 0.0.0.0:* LẮNG NGHE 310/3proxy
tcp6 0 0 :::22 :::* NGHE 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
thô 0 0 0.0.0.0:1 0.0.0.0:* 393/dhcpd

12. Tất cả những gì còn lại là chuyển hướng tất cả các yêu cầu tcp đến cổng 888 và lưu quy tắc vào 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. Để mở rộng băng thông kênh, bạn có thể sử dụng nhiều máy chủ proxy cùng một lúc. Tổng số phải là 1000. Các kết nối mới được thiết lập với xác suất 0.2, 0.2, 0.2, 0.2, 0,1, 0,1 tới các máy chủ proxy được chỉ định.

Lưu ý: nếu chúng ta có proxy web, thì thay vì vớ5, chúng ta cần viết kết nối, nếu bít tất4 thì bít tất4 (socks4 KHÔNG HỖ TRỢ XÁC QUYỀN ĐĂNG NHẬP/MẬT KHẨU!)

Cấu hình ví dụ của proxy server minh bạch số 2daemon
pidfile /home/joke/proxy/3proxy.pid
máy chủ 8.8.8.8
nscache 65536
maxconn 500
thời gian chờ 1 5 30 60 180 1800 16 60
đăng nhập /home/joke/proxy/logs/3proxy.log D
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
xoay 3
tuôn ra
xác thực ionly
dnspr
cho phép *

cha mẹ 200 vớ5 IP_ADDRESS_EXTERNAL_PROXY#1 3128 người kiểm tra 1234
cha mẹ 200 vớ5 IP_ADDRESS_EXTERNAL_PROXY#2 3128 người kiểm tra 1234
cha mẹ 200 vớ5 IP_ADDRESS_EXTERNAL_PROXY#3 3128 người kiểm tra 1234
cha mẹ 200 vớ5 IP_ADDRESS_EXTERNAL_PROXY#4 3128 người kiểm tra 1234
cha mẹ 100 vớ5 IP_ADDRESS_EXTERNAL_PROXY#5 3128 người kiểm tra 1234
cha mẹ 100 vớ5 IP_ADDRESS_EXTERNAL_PROXY#6 3128 người kiểm tra 1234

plugin /opt/proxy/3proxy-0.8.12/src/TransparentPlugin.ld.so minh bạch_plugin
tcppm -i0.0.0.0 888 127.0.0.1 11111

Thiết lập và chạy cấu hình NAT + Proxy trong suốt

Trong cấu hình này, chúng tôi sẽ sử dụng cơ chế NAT thông thường với ủy quyền có chọn lọc hoặc minh bạch hoàn toàn cho các địa chỉ hoặc mạng con riêng lẻ. Người dùng mạng nội bộ sẽ làm việc với một số dịch vụ/mạng con nhất định mà không hề nhận ra rằng họ đang làm việc thông qua proxy. Tất cả các kết nối https đều hoạt động tốt, không cần tạo/thay thế chứng chỉ.

Trước tiên, hãy quyết định mạng con/dịch vụ nào chúng tôi muốn ủy quyền. Giả sử rằng các proxy bên ngoài được đặt ở nơi một dịch vụ như pandora.com hoạt động. Bây giờ việc còn lại là xác định mạng con/địa chỉ của nó.

1. Ping

root@debian9:~# ping pandora.com
PING pandora.com (208.85.40.20) 56(84) byte dữ liệu.

2. Gõ BGP 208.85.40.20 vào Google

Hãy đi đến trang web bgp.he.net/net/208.85.40.0/24#_netinfo
Có thể thấy subnet mình đang tìm là AS40428 Pandora Media, Inc

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

Mở tiền tố v4

bgp.he.net/AS40428#_prefixes

Dưới đây là các mạng con cần thiết!

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. Để giảm số lượng mạng con, bạn cần thực hiện tổng hợp. Đi đến trang web ip-computer.ru/aggregate và sao chép danh sách của chúng tôi ở đó. Kết quả là - 6 mạng con thay vì 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. Xóa quy tắc iptables

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

Kích hoạt cơ chế chuyển tiếp và 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

Để đảm bảo tính năng chuyển tiếp được bật vĩnh viễn sau khi khởi động lại, hãy thay đổi tệp

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

Và bỏ ghi chú dòng

net.ipv4.ip_osystem = 1

Ctrl + X để lưu tập tin

5. Chúng tôi gói các mạng con pandora.com trong một 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. Hãy giữ nguyên tắc

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

Thiết lập và chạy Proxy minh bạch thông qua cấu hình bộ định tuyến

Trong cấu hình này, máy chủ proxy trong suốt có thể là một PC riêng biệt hoặc một máy ảo phía sau bộ định tuyến gia đình/công ty. Chỉ cần đăng ký các tuyến tĩnh trên bộ định tuyến hoặc thiết bị là đủ và toàn bộ mạng con sẽ sử dụng proxy mà không cần bất kỳ cài đặt bổ sung nào.

QUAN TRỌNG! Điều cần thiết là cổng của chúng tôi nhận được IP tĩnh từ bộ định tuyến hoặc được cấu hình ở trạng thái tĩnh.

1. Định cấu hình địa chỉ cổng tĩnh (bộ điều hợp enp0s3)

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

tập tin /etc/mạng/giao diện# Tập tin này mô tả các giao diện mạng có sẵn trên hệ thống của bạn
# Hoạt và làm thế nào để Them. Để biết thêm thông tin, xem các giao diện (5).

nguồn /etc/network/interfaces.d/*

# Giao diện mạng loopback
xe nó
iface lo inet loopback

# Giao diện mạng chính
cho phép cắm nóng enp0s3
iface enp0s3 inet tĩnh
địa chỉ 192.168.23.2
mặt nạ mạng 255.255.255.0
cổng 192.168.23.254

# Giao diện mạng thứ cấp
cho phép cắm nóng enp0s8
iface enp0s8 inet tĩnh
địa chỉ 192.168.201.254
mặt nạ mạng 255.255.255.0

2. Cho phép các thiết bị từ mạng con 192.168.23.0/24 sử dụng proxy

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. Hãy giữ nguyên tắc
root@debian9:~# iptables-save > /etc/iptables/rules.v4

4. Hãy đăng ký mạng con trên bộ định tuyến

Danh sách mạng bộ định tuyến199.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

Vật liệu/tài nguyên được sử dụng

1. Trang web chính thức của chương trình 3proxy 3proxy.ru

2. Hướng dẫn cài đặt 3proxy từ nguồn www.ekzorchik.ru/2015/02/how-to-take-your-socks-proxy

3. Nhánh phát triển 3proxy trên GitHub github.com/z3APA3A/3proxy/issues/274

Nguồn: www.habr.com

Thêm một lời nhận xét