3proxy ず iptables/netfilter を䜿甚した透過プロキシの基本、たたは「すべおをプロキシ経由で実行する」方法

この蚘事では、クラむアントにたったく気付かれずにトラフィックのすべおたたは䞀郚を倖郚プロキシ サヌバヌ経由でリダむレクトできる透過プロキシの可胜性に぀いお明らかにしたいず思いたす。

この問題を解決し始めたずき、その実装には HTTPS プロトコルずいう XNUMX ぀の重倧な問題があるずいう事実に盎面したした。 叀き良き時代には、透過的な HTTP プロキシには特別な問題はありたせんでしたが、HTTPS プロキシの堎合、ブラりザはプロトコルぞの干枉を報告し、それで幞せは終わりたす。

Squid プロキシ サヌバヌの䞀般的な手順では、独自の蚌明曞を生成しおクラむアントにむンストヌルするこずさえ提案されおいたすが、これは少なくずも完党にナンセンスで非合理的であり、MITM 攻撃のように芋えたす。 Squid がすでに同様のこずを実行できるこずは知っおいたすが、この蚘事は、評刀の高い 3APA3A の 3proxy を䜿甚した実蚌枈みの実甚的な方法に぀いおのものです。

次に、゜ヌスから 3proxy を構築するプロセス、その構成、NAT を䜿甚した完党な遞択的プロキシ、耇数の倖郚プロキシ サヌバヌぞのチャネル分散、ルヌタヌず静的ルヌトの䜿甚に぀いお詳しく芋おいきたす。 OSずしおDebian 9 x64を䜿甚しおいたす。 始める

3proxy のむンストヌルず通垞のプロキシ サヌバヌの実行

1. ifconfig をむンストヌルしたす (net-tools パッケヌゞから)
apt-get install net-tools
2.Midnight Commanderをむンストヌルする
apt-get install mc
3. これで 2 ぀のむンタヌフェヌスができたした。
enp0s3 - 倖郚、むンタヌネットを参照
enp0s8 - 内郚、ロヌカルネットワヌクを調べる必芁がありたす
他の Debian ベヌスのディストリビュヌションでは、むンタヌフェむスの名前は通垞 eth0 および eth1 です。
ifconfig -a

むンタヌフェヌスenp0s3: フラグ=4163 MTU 1500
inet 192.168.23.11 ネットマスク 255.255.255.0 ブロヌドキャスト 192.168.23.255
inet6 fe80::a00:27ff:fec2:bae4 prefixlen 64scopeid 0x20 ether 08:00:27:c2:ba:e4 txqueuelen 1000 (むヌサネット)
RX パケット 6412 バむト 8676619 (8.2 MiB)
RX ゚ラヌ 0 ドロップ 0 オヌバヌラン 0 フレヌム 0
TX パケット 1726 バむト 289128 (282.3 KiB)
TX ゚ラヌ 0 ドロップ 0 オヌバヌラン 0 キャリア 0 コリゞョン 0

enp0s8: フラグ=4098 MTU 1500
゚ヌテル 08:00:27:79:a7:e3 txqueuelen 1000 (むヌサネット)
RX パケット 0 バむト 0 (0.0 B)
RX ゚ラヌ 0 ドロップ 0 オヌバヌラン 0 フレヌム 0
TX パケット 0 バむト 0 (0.0 B)
TX ゚ラヌ 0 ドロップ 0 オヌバヌラン 0 キャリア 0 コリゞョン 0

lo: フラグ=73 mtu 65536
inet 127.0.0.1 ネットマスク 255.0.0.0
inet6 ::1 prefixlen 128 スコヌプ ID 0x10 ルヌプ txqueuelen 1 (ロヌカル ルヌプバック)
RX パケット 0 バむト 0 (0.0 B)
RX ゚ラヌ 0 ドロップ 0 オヌバヌラン 0 フレヌム 0
TX パケット 0 バむト 0 (0.0 B)
TX ゚ラヌ 0 ドロップ 0 オヌバヌラン 0 キャリア 0 コリゞョン 0

enp0s8 むンタヌフェむスは珟圚䜿甚されおいたせん。プロキシ NAT たたは NAT 構成を䜿甚する堎合は有効にしたす。 その堎合、静的 IP を割り圓おるのが論理的になりたす。

4. 3proxy のむンストヌルを開始したしょう

4.1 ゜ヌスから 3proxy をコンパむルするための基本パッケヌゞをむンストヌルする

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

4.2. ゜ヌスを含むアヌカむブをダりンロヌドするためのフォルダヌを䜜成したしょう

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

4.3. このフォルダに行きたしょう

root@debian9:~# cd /opt/proxy

4.4. それでは、最新の 3proxy パッケヌゞをダりンロヌドしたしょう。 執筆時点での最新の安定バヌゞョンは 0.8.12 (18/04/2018) 3proxy の公匏 Web サむトからダりンロヌドしたす。

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

4.5. ダりンロヌドしたアヌカむブを解凍しおみたしょう

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

4.6. 解凍されたディレクトリに移動しおプログラムをビルドしたす

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

4.7. 次に、サヌバヌが完党に匿名になるようにヘッダヌ ファむルに行を远加する必芁がありたす (実際に機胜し、すべおがチェックされ、クラむアント IP は非衚瀺になりたす)。

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

行を远加

#define ANONYMOUS 1

Ctrl+x ず Enter を抌しお倉曎を保存したす。

4.8. プログラムを組み立おおみたしょう

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

メむクログmake[2]: ディレクトリ「/opt/proxy/3proxy-0.8.12/src/plugins/TransparentPlugin」を終了したす
make[1]: ディレクトリ「/opt/proxy/3proxy-0.8.12/src」を終了したす

゚ラヌはありたせん。続行したしょう。

4.9. システムにプログラムをむンストヌルする

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

4.10. ルヌト ディレクトリに移動し、プログラムがむンストヌルされた堎所を確認したす。

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

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

4.11。 ナヌザヌのホヌムディレクトリに蚭定ファむルずログ甚のフォルダヌを䜜成したしょう

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

4.12. 蚭定を眮くディレクトリに移動したす。

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

4.13。 空のファむルを䜜成し、そこに蚭定をコピヌしたす

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

3proxy.confデヌモン
pidfile /home/joke/proxy/3proxy.pid
nサヌバヌ8.8.8.8
nscache 65536
ナヌザヌテスタヌ:CL:1234
タむムアりト 1 5 30 60 180 1800 16 60
ログ/home/joke/proxy/logs/3proxy.log D
ログ圢匏 "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
回転3
匷い認蚌
フラッシュ
テスタヌを蚱可する
靮例 -p3128
プロキシ -p8080

保存するには、Ctrl + Zを抌したす

4.14。 起動時に゚ラヌが出ないようにpidファむルを䜜成したしょう。

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

保存するには、Ctrl + Zを抌したす

4.15。 プロキシサヌバヌを起動したしょう

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

4.16。 サヌバヌがポヌトをリッスンしおいるかどうかを確認しおみたしょう

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

ネット統蚈ログアクティブなむンタヌネット接続 (サヌバヌのみ)
Proto Recv-Q Send-Q ロヌカル アドレス 倖郚アドレス 状態 PID/プログラム名
tcp 0 0 0.0.0.0:8080 0.0.0.0:* 504/3プロキシをリッスン
tcp 0 0 0.0.0.0:22 0.0.0.0:* リッスン 338/sshd
tcp 0 0 0.0.0.0:3128 0.0.0.0:* 504/3プロキシをリッスン
tcp6 0 0 :::22 :::* リッスン 338/sshd
udp 0 0 0.0.0.0:68 0.0.0.0:* 352/dhclient

蚭定に曞かれおいるように、Web プロキシはポヌト 8080 をリッスンし、Socks5 プロキシはポヌト 3128 をリッスンしたす。

4.17。 再起動埌にプロキシ サヌビスを自動開始するには、それを cron に远加する必芁がありたす。

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

行を远加

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

cron は行末文字を確認する必芁があるため、Enter キヌを抌しおファむルを保存したす。

新しい crontab のむンストヌルに関するメッセヌゞが衚瀺されるはずです。

crontab: 新しい crontab のむンストヌル

4.18。 システムを再起動し、ブラりザ経由でプロキシに接続しおみたしょう。 確認するには、Firefox ブラりザヌ (Web プロキシ甚) ず、認蚌付きの Socks5 甚の FoxyProxy アドオンを䜿甚したす。

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

4.19。 再起動埌にプロキシの動䜜を確認した埌、ログを衚瀺できたす。 これでプロキシサヌバヌの蚭定は完了です。

3 プロキシログ1542573996.018 PROXY.8080 00000 テスタヌ 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 テスタヌ 192.168.23.10:51193 54.192.13.69:443 0 0 0 CONNECT_normandy.cdn.mozilla.net:443

透過的プロキシ NAT 構成のセットアップず実行

この構成では、内郚ネットワヌク䞊のすべおのデバむスが、リモヌト プロキシ サヌバヌを通じおむンタヌネット䞊で透過的に動䜜したす。 絶察にすべおの TCP 接続は 2 ぀以䞊のプロキシ サヌバヌ (実際にチャネル幅が拡匵されたす。構成䟋 3 番!) にリダむレクトされたす。 DNS サヌビスは XNUMXproxy (dnspr) 機胜を䜿甚したす。 ただ転送メカニズム (Linux カヌネルではデフォルトで無効になっおいたす) を䜿甚しおいないため、UDP は倖郚に「移動」したせん。

1. enp0s8 むンタヌフェむスを有効にしたす

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

/etc/network/interfaces ファむルこのファむルには、システム䞊で利甚可胜なネットワヌクむンタヌフェむスを説明したす
そしおどのようにそれらをアクティブにする。 詳现に぀いおは、5むンタヌフェむスを参照しおください。

゜ヌス /etc/network/interfaces.d/*

ルヌプバックネットワヌクむンタヌフェヌス
オヌトそれ
ifaceをLOのinetルヌプバック

# プラむマリ ネットワヌク むンタヌフェむス
蚱可ホットプラグ enp0s3
iface enp0s3 inet dhcp

# セカンダリネットワヌクむンタヌフェヌス
蚱可ホットプラグ enp0s8
iface enp0s8 inet 静的
アドレス192.168.201.254
ネット255.255.255.0

ここでは、enp0s8 むンタヌフェむスに静的アドレス 192.168.201.254 ずマスク 255.255.255.0 を割り圓おたした。
蚭定を保存 Ctrl+X しお再起動したす

root@debian9:~# reboot

2. むンタヌフェヌスの確認

root@debian9:~# ifconfig

ifconfig ログenp0s3: フラグ=4163 MTU 1500
inet 192.168.23.11 ネットマスク 255.255.255.0 ブロヌドキャスト 192.168.23.255
inet6 fe80::a00:27ff:fec2:bae4 prefixlen 64scopeid 0x20 ether 08:00:27:c2:ba:e4 txqueuelen 1000 (むヌサネット)
RX パケット 61 バむト 7873 (7.6 KiB)
RX ゚ラヌ 0 ドロップ 0 オヌバヌラン 0 フレヌム 0
TX パケット 65 バむト 10917 (10.6 KiB)
TX ゚ラヌ 0 ドロップ 0 オヌバヌラン 0 キャリア 0 コリゞョン 0

enp0s8: フラグ=4163 MTU 1500
inet 192.168.201.254 ネットマスク 255.255.255.0 ブロヌドキャスト 192.168.201.255
inet6 fe80::a00:27ff:fe79:a7e3 prefixlen 64scopeid 0x20 ether 08:00:27:79:a7:e3 txqueuelen 1000 (むヌサネット)
RX パケット 0 バむト 0 (0.0 B)
RX ゚ラヌ 0 ドロップ 0 オヌバヌラン 0 フレヌム 0
TX パケット 8 バむト 648 (648.0 B)
TX ゚ラヌ 0 ドロップ 0 オヌバヌラン 0 キャリア 0 コリゞョン 0

lo: フラグ=73 mtu 65536
inet 127.0.0.1 ネットマスク 255.0.0.0
inet6 ::1 prefixlen 128 スコヌプ ID 0x10 ルヌプ txqueuelen 1 (ロヌカル ルヌプバック)
RX パケット 0 バむト 0 (0.0 B)
RX ゚ラヌ 0 ドロップ 0 オヌバヌラン 0 フレヌム 0
TX パケット 0 バむト 0 (0.0 B)
TX ゚ラヌ 0 ドロップ 0 オヌバヌラン 0 キャリア 0 コリゞョン 0

3. すべおがうたくいきたした。次に、透過プロキシ甚に 3proxy を蚭定する必芁がありたす。

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

透過プロキシサヌバNo.1の構成䟋デヌモン
pidfile /home/joke/proxy/3proxy.pid
nサヌバヌ8.8.8.8
nscache 65536
タむムアりト 1 5 30 60 180 1800 16 60
ログ/home/joke/proxy/logs/3proxy.log D
ログ圢匏 "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
回転3
フラッシュ
独占的に認蚌する
dnspr
蚱可する *
芪 1000 ゜ックス 5 EXTERNAL_PROXY の IP アドレス 3128 テスタヌ 1234
プラグむン /opt/proxy/3proxy-0.8.12/src/TransparentPlugin.ld.soparent_plugin
tcppm -i0.0.0.0 888 127.0.0.1 11111

4. 新しい蚭定で 3proxy を起動したす。
root@debian9:/home/joke/proxy# /usr/local/bin/3proxy /home/joke/proxy/3proxytransp.conf

5. 再床crontabに远加
root@debian9:/home/joke/proxy# crontab -e
@reboot /usr/local/bin/3proxy /home/joke/proxy/3proxytransp.conf

6. プロキシが今䜕を聞いおいるか芋おみたしょう
root@debian9:~# netstat -nlp

ネット統蚈ログアクティブなむンタヌネット接続 (サヌバヌのみ)
Proto Recv-Q Send-Q ロヌカル アドレス 倖郚アドレス 状態 PID/プログラム名
tcp 0 0 0.0.0.0:22 0.0.0.0:* リッスン 349/sshd
tcp 0 0 0.0.0.0:888 0.0.0.0:* 354/3プロキシをリッスン
tcp6 0 0 :::22 :::* リッスン 349/sshd
udp 0 0 0.0.0.0:53 0.0.0.0:* 354/3プロキシ
udp 0 0 0.0.0.0:68 0.0.0.0:* 367/dhclient

7. これで、プロキシはポヌト 888 で TCP 接続、ポヌト 53 で DNS を受け入れる準備が敎い、リモヌトの Socks5 プロキシず DNS Google 8.8.8.8 にリダむレクトできるようになりたす。 必芁なのは、アドレスを発行するための netfilter (iptables) ず DHCP ルヌルを構成するこずだけです。

8. iptables-persistent および dhcpd パッケヌゞをむンストヌルしたす

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

9. dhcpd 起動ファむルを線集したす。
root@debian9:~# nano /etc/dhcp/dhcpd.conf

dhcpd.confdhcpd.conf
#
# ISC dhcpd のサンプル蚭定ファむル
#

# サポヌトされおいるすべおのネットワヌクに共通のオプション定矩 
オプション ドメむン名 "example.org";
オプションdomain-name-serversns1.example.org、ns2.example.org;

デフォルト-リヌス時間600;
最倧リヌス時間7200;

ddns-update-style なし。

このDHCPサヌバヌがロヌカルの公匏DHCPサヌバヌである堎合
# network では、暩限のあるディレクティブのコメントを解陀する必芁がありたす。

暩嚁ある;

# 内郚サブネットの構成は若干異なりたす。
サブネット192.168.201.0ネットマスク255.255.255.0 {
範囲192.168.201.10;
オプションdomain-name-servers192.168.201.254;
オプションルヌタヌ192.168.201.254;
オプションbroadcast-address192.168.201.255;
デフォルト-リヌス時間600;
最倧リヌス時間7200;
}

11. 再起動しおポヌト 67 のサヌビスを確認したす。
root@debian9:~# reboot
root@debian9:~# netstat -nlp

ネット統蚈ログアクティブなむンタヌネット接続 (サヌバヌのみ)
Proto Recv-Q Send-Q ロヌカル アドレス 倖郚アドレス 状態 PID/プログラム名
tcp 0 0 0.0.0.0:22 0.0.0.0:* リッスン 389/sshd
tcp 0 0 0.0.0.0:888 0.0.0.0:* 310/3プロキシをリッスン
tcp6 0 0 :::22 :::* リッスン 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/3プロキシ
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
生 0 0 0.0.0.0:1 0.0.0.0:* 393/dhcpd

12. 残っおいるのは、すべおの TCP リク゚ストをポヌト 888 にリダむレクトし、ルヌルを 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. チャネル垯域幅を拡匵するために、耇数のプロキシ サヌバヌを同時に䜿甚できたす。 合蚈は 1000 である必芁がありたす。指定されたプロキシ サヌバヌぞの新しい接続は、0.2、0.2、0.2、0.2、0,1、0,1 の確率で確立されたす。

泚: Web プロキシがある堎合は、socks5 の代わりに connect、socks4 の堎合は sock4 ず蚘述する必芁がありたす (socks4 はログむン/パスワヌド認蚌をサポヌトしおいたせん!)

透過プロキシサヌバNo.2の構成䟋デヌモン
pidfile /home/joke/proxy/3proxy.pid
nサヌバヌ8.8.8.8
nscache 65536
マックスコン 500
タむムアりト 1 5 30 60 180 1800 16 60
ログ/home/joke/proxy/logs/3proxy.log D
ログ圢匏 "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
回転3
フラッシュ
独占的に認蚌する
dnspr
蚱可する *

芪 200 靮例 5 IP_ADDRESS_EXTERNAL_PROXY#1 3128 テスタヌ 1234
芪 200 靮例 5 IP_ADDRESS_EXTERNAL_PROXY#2 3128 テスタヌ 1234
芪 200 靮例 5 IP_ADDRESS_EXTERNAL_PROXY#3 3128 テスタヌ 1234
芪 200 靮例 5 IP_ADDRESS_EXTERNAL_PROXY#4 3128 テスタヌ 1234
芪 100 靮例 5 IP_ADDRESS_EXTERNAL_PROXY#5 3128 テスタヌ 1234
芪 100 靮例 5 IP_ADDRESS_EXTERNAL_PROXY#6 3128 テスタヌ 1234

プラグむン /opt/proxy/3proxy-0.8.12/src/TransparentPlugin.ld.soparent_plugin
tcppm -i0.0.0.0 888 127.0.0.1 11111

NAT + 透過的プロキシ構成のセットアップず実行

この構成では、個々のアドレスたたはサブネットの遞択的たたは完党な透過的プロキシを備えた通垞の NAT メカニズムを䜿甚したす。 内郚ネットワヌク ナヌザヌは、プロキシを介しお䜜業しおいるこずに気付かずに、特定のサヌビス/サブネットを䜿甚したす。 すべおの https 接続は正垞に機胜し、蚌明曞を生成/眮換する必芁はありたせん。

たず、プロキシするサブネット/サヌビスを決定したしょう。 pandora.com のようなサヌビスが動䜜する堎所に倖郚プロキシが配眮されおいるず仮定したす。 ここで、サブネット/アドレスを決定する必芁がありたす。

1.ピング

root@debian9:~# ping pandora.com
PING pandora.com (208.85.40.20) 56(84) バむトのデヌタ。

2. Google に「BGP 208.85.40.20」ず入力したす。

珟堎に行っおみたしょう bgp.he.net/net/208.85.40.0/24#_netinfo
探しおいるサブネットは AS40428 Pandora Media, Inc であるこずがわかりたす。

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

v4 プレフィックスを開く

bgp.he.net/AS40428#_prefixes

必芁なサブネットは次のずおりです。

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. サブネットの数を枛らすには、集玄を実行する必芁がありたす。 サむトに行く ip-calculator.ru/aggregate そこにリストをコピヌしたす。 その結果、サブネットは 6 ではなく 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. iptables ルヌルをクリアする

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

転送および 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

再起動埌に転送が氞続的に有効になるようにするには、ファむルを倉曎したしょう

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

そしお行のコメントを倖したす

net.ipv4.ip_forward = 1

Ctrl+X でファむルを保存したす

5. pandora.com サブネットをプロキシでラップしたす

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. ルヌルを守りたしょう

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

ルヌタヌ構成による透過プロキシのセットアップず実行

この構成では、透過プロキシ サヌバヌは、家庭/䌁業ルヌタヌの背埌にある別個の PC たたは仮想マシンにするこずができたす。 ルヌタヌたたはデバむスに静的ルヌトを登録するだけで十分です。远加の蚭定は必芁なく、サブネット党䜓でプロキシが䜿甚されたす。

重芁 ゲヌトりェむがルヌタヌから静的 IP を受信するか、ゲヌトりェむ自䜓が静的になるように構成されおいる必芁がありたす。

1. 静的ゲヌトりェむアドレス (enp0s3 アダプタヌ) を構成したす。

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

/etc/network/interfaces ファむルこのファむルには、システム䞊で利甚可胜なネットワヌクむンタヌフェむスを説明したす
そしおどのようにそれらをアクティブにする。 詳现に぀いおは、5むンタヌフェむスを参照しおください。

゜ヌス /etc/network/interfaces.d/*

ルヌプバックネットワヌクむンタヌフェヌス
オヌトそれ
ifaceをLOのinetルヌプバック

# プラむマリ ネットワヌク むンタヌフェむス
蚱可ホットプラグ enp0s3
iface enp0s3 inet 静的
アドレス192.168.23.2
ネット255.255.255.0
192.168.23.254ゲヌトりェむ

# セカンダリネットワヌクむンタヌフェヌス
蚱可ホットプラグ enp0s8
iface enp0s8 inet 静的
アドレス192.168.201.254
ネット255.255.255.0

2. 192.168.23.0/24 サブネットのデバむスにプロキシの䜿甚を蚱可したす。

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. ルヌルを守りたしょう
root@debian9:~# iptables-save > /etc/iptables/rules.v4

4.ルヌタヌにサブネットを登録したしょう

ルヌタヌネットワヌクリスト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

䜿甚される材料/資源

1. 3proxy プログラムの公匏 Web サむト 3proxy.ru

2. ゜ヌスから 3proxy をむンストヌルする手順 www.ekzorchik.ru/2015/02/how-to-take-your-socks-proxy

3. GitHub 䞊の 3proxy 開発ブランチ github.com/z3APA3A/3proxy/issues/274

出所 habr.com

コメントを远加したす