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
Có thể thấy subnet mình đang tìm là AS40428 Pandora Media, Inc
Mở tiền tố v4
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
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
2. Hướng dẫn cài đặt 3proxy từ nguồn
3. Nhánh phát triển 3proxy trên GitHub
Nguồn: www.habr.com