3proxy ๋ฐ iptables/netfilter๋ฅผ ์‚ฌ์šฉํ•œ ํˆฌ๋ช… ํ”„๋ก์‹œ์˜ ๊ธฐ๋ณธ ์‚ฌํ•ญ ๋˜๋Š” "๋ชจ๋“  ๊ฒƒ์„ ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•ด ์ฒ˜๋ฆฌ"ํ•˜๋Š” ๋ฐฉ๋ฒ•

์ด ๊ธฐ์‚ฌ์—์„œ๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ „ํ˜€ ๋ˆˆ์น˜์ฑ„์ง€ ๋ชปํ•˜๊ฒŒ ์™ธ๋ถ€ ํ”„๋ก์‹œ ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ํŠธ๋ž˜ํ”ฝ์˜ ์ „๋ถ€ ๋˜๋Š” ์ผ๋ถ€๋ฅผ ๋ฆฌ๋””๋ ‰์…˜ํ•  ์ˆ˜ ์žˆ๋Š” ํˆฌ๋ช…ํ•œ ํ”„๋ก์‹œ์˜ ๊ฐ€๋Šฅ์„ฑ์„ ๋ฐํžˆ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์„ ๋•Œ ๊ตฌํ˜„์— HTTPS ํ”„๋กœํ† ์ฝœ์ด๋ผ๋Š” ์ค‘์š”ํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์— ์ง๋ฉดํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ์ „์—๋Š” ํˆฌ๋ช…ํ•œ HTTP ํ”„๋ก์‹œ์— ํŠน๋ณ„ํ•œ ๋ฌธ์ œ๊ฐ€ ์—†์—ˆ์ง€๋งŒ HTTPS ํ”„๋ก์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํ”„๋กœํ† ์ฝœ ๊ฐ„์„ญ์„ ๋ณด๊ณ ํ•˜๊ณ  ๊ฑฐ๊ธฐ์„œ ํ–‰๋ณต์ด ๋๋‚ฉ๋‹ˆ๋‹ค.

Squid ํ”„๋ก์‹œ ์„œ๋ฒ„์— ๋Œ€ํ•œ ์ผ๋ฐ˜์ ์ธ ์ง€์นจ์—์„œ๋Š” ์ž์ฒด ์ธ์ฆ์„œ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ์— ์„ค์น˜ํ•˜๋„๋ก ์ œ์•ˆํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ตœ์†Œํ•œ ์™„์ „ํ•œ ๋„Œ์„ผ์Šค์ด๊ณ  ๋น„ํ•ฉ๋ฆฌ์ ์ด๋ฉฐ MITM ๊ณต๊ฒฉ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” Squid๊ฐ€ ์ด๋ฏธ ๋น„์Šทํ•œ ์ผ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์ง€๋งŒ ์ด ๊ธฐ์‚ฌ๋Š” ์กด๊ฒฝ๋ฐ›๋Š” 3APA3A์˜ 3proxy๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž…์ฆ๋˜๊ณ  ์ž‘๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๊ด€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‹ค์Œ์œผ๋กœ ์†Œ์Šค์—์„œ 3proxy๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๊ณผ์ •, ๊ตฌ์„ฑ, NAT๋ฅผ ์‚ฌ์šฉํ•œ ์ „์ฒด ๋ฐ ์„ ํƒ์  ํ”„๋ก์‹œ, ์—ฌ๋Ÿฌ ์™ธ๋ถ€ ํ”„๋ก์‹œ ์„œ๋ฒ„๋กœ์˜ ์ฑ„๋„ ๋ฐฐํฌ, ๋ผ์šฐํ„ฐ ๋ฐ ๊ณ ์ • ๊ฒฝ๋กœ ์‚ฌ์šฉ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” Debian 9 x64๋ฅผ OS๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์‹œ์ž‘ํ•˜๋‹ค!

3proxy ์„ค์น˜ ๋ฐ ์ผ๋ฐ˜ ํ”„๋ก์‹œ ์„œ๋ฒ„ ์‹คํ–‰

1. ifconfig ์„ค์น˜(net-tools ํŒจํ‚ค์ง€์—์„œ)
apt-get install net-tools
2. ๋ฏธ๋“œ๋‚˜์ž‡ ์ปค๋งจ๋” ์„ค์น˜
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 64 ๋ฒ”์œ„ ID 0x20 ์—ํ…Œ๋ฅด 08:00:27:c2:ba:e4 txqueuelen 1000(์ด๋”๋„ท)
RX ํŒจํ‚ท 6412๋ฐ”์ดํŠธ 8676619(8.2MiB)
RX ์˜ค๋ฅ˜ 0 ์‚ญ์ œ 0 ์˜ค๋ฒ„๋Ÿฐ 0 ํ”„๋ ˆ์ž„ 0
TX ํŒจํ‚ท 1726๋ฐ”์ดํŠธ 289128(282.3KiB)
TX ์˜ค๋ฅ˜ 0 ์‚ญ์ œ 0 ์˜ค๋ฒ„๋Ÿฐ 0 ์บ๋ฆฌ์–ด 0 ์ถฉ๋Œ 0

enp0s8: ํ”Œ๋ž˜๊ทธ=4098 MTU 1500
์—ํ…Œ๋ฅด 08:00:27:79:a7:e3 txqueuelen 1000(์ด๋”๋„ท)
RX ํŒจํ‚ท 0๋ฐ”์ดํŠธ 0(0.0B)
RX ์˜ค๋ฅ˜ 0 ์‚ญ์ œ 0 ์˜ค๋ฒ„๋Ÿฐ 0 ํ”„๋ ˆ์ž„ 0
TX ํŒจํ‚ท 0๋ฐ”์ดํŠธ 0(0.0B)
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.0B)
RX ์˜ค๋ฅ˜ 0 ์‚ญ์ œ 0 ์˜ค๋ฒ„๋Ÿฐ 0 ํ”„๋ ˆ์ž„ 0
TX ํŒจํ‚ท 0๋ฐ”์ดํŠธ 0(0.0B)
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 ๊ณต์‹ ํ™ˆํŽ˜์ด์ง€์—์„œ ๋‹ค์šด๋กœ๋“œํ•˜์„ธ์š”.

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

Makelogmake[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

3ํ”„๋ก์‹œ: /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

netstat ๋กœ๊ทธํ™œ์„ฑ ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ(์„œ๋ฒ„๋งŒ ํ•ด๋‹น)
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/dhํด๋ผ์ด์–ธํŠธ

๊ตฌ์„ฑ์— ์ž‘์„ฑ๋œ ๋Œ€๋กœ ์›น ํ”„๋ก์‹œ๋Š” ํฌํŠธ 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 ๋ธŒ๋ผ์šฐ์ €(์›น ํ”„๋ก์‹œ์šฉ)์™€ ์ธ์ฆ์„ ํ†ตํ•ด ์–‘๋ง5์šฉ 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๋ฒˆ!). DNS ์„œ๋น„์Šค๋Š” 3proxy(dnspr) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์•„์ง ์ „๋‹ฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜(Linux ์ปค๋„์—์„œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์Œ)์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— UDP๋Š” ์™ธ๋ถ€๋กœ "์ด๋™"ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

1. ์ด์ œ enp0s8 ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ™œ์„ฑํ™”ํ•  ์ฐจ๋ก€์ž…๋‹ˆ๋‹ค.

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

/etc/network/์ธํ„ฐํŽ˜์ด์Šค ํŒŒ์ผ#์ด ํŒŒ์ผ์€ ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค ์„ค๋ช…
# ๊ทธ๋ฆฌ๊ณ  ์–ด๋–ป๊ฒŒ ๊ทธ๋“ค์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ (5) ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

์†Œ์Šค /etc/network/interfaces.d/*

# ๋ฃจํ”„๋ฐฑ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค
์ž๋™ ์ด์˜ค
iface ๊ทธ๋ƒฅ ... 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 64 ๋ฒ”์œ„ ID 0x20 ์—ํ…Œ๋ฅด 08:00:27:c2:ba:e4 txqueuelen 1000(์ด๋”๋„ท)
RX ํŒจํ‚ท 61๋ฐ”์ดํŠธ 7873(7.6KiB)
RX ์˜ค๋ฅ˜ 0 ์‚ญ์ œ 0 ์˜ค๋ฒ„๋Ÿฐ 0 ํ”„๋ ˆ์ž„ 0
TX ํŒจํ‚ท 65๋ฐ”์ดํŠธ 10917(10.6KiB)
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 64 ๋ฒ”์œ„ ID 0x20 ์—ํ…Œ๋ฅด 08:00:27:79:a7:e3 txqueuelen 1000(์ด๋”๋„ท)
RX ํŒจํ‚ท 0๋ฐ”์ดํŠธ 0(0.0B)
RX ์˜ค๋ฅ˜ 0 ์‚ญ์ œ 0 ์˜ค๋ฒ„๋Ÿฐ 0 ํ”„๋ ˆ์ž„ 0
TX ํŒจํ‚ท 8๋ฐ”์ดํŠธ 648(648.0B)
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.0B)
RX ์˜ค๋ฅ˜ 0 ์‚ญ์ œ 0 ์˜ค๋ฒ„๋Ÿฐ 0 ํ”„๋ ˆ์ž„ 0
TX ํŒจํ‚ท 0๋ฐ”์ดํŠธ 0(0.0B)
TX ์˜ค๋ฅ˜ 0 ์‚ญ์ œ 0 ์˜ค๋ฒ„๋Ÿฐ 0 ์บ๋ฆฌ์–ด 0 ์ถฉ๋Œ 0

3. ๋ชจ๋“  ๊ฒƒ์ด ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ํˆฌ๋ช… ํ”„๋ก์‹œ๋ฅผ ์œ„ํ•ด 3proxy๋ฅผ ๊ตฌ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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

ํˆฌ๋ช… ํ”„๋ก์‹œ ์„œ๋ฒ„ 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
ํ”Œ๋Ÿฌ์‹œ
์ธ์ฆ IP ์ „์šฉ
dnspr
ํ—ˆ์šฉํ•˜๋‹ค *
์ƒ์œ„ 1000 ์–‘๋ง5 IP_ADDRESS OF EXTERNAL_PROXY 3128 ํ…Œ์Šคํ„ฐ 1234
ํ”Œ๋Ÿฌ๊ทธ์ธ /opt/proxy/3proxy-0.8.12/src/TransparentPlugin.ld.so transparent_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

netstat ๋กœ๊ทธํ™œ์„ฑ ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ(์„œ๋ฒ„๋งŒ ํ•ด๋‹น)
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/dhํด๋ผ์ด์–ธํŠธ

7. ์ด์ œ ํ”„๋ก์‹œ๋Š” ํฌํŠธ 888์˜ TCP ์—ฐ๊ฒฐ, ํฌํŠธ 53์˜ DNS ์—ฐ๊ฒฐ์„ ์ˆ˜๋ฝํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ํ•ด๋‹น ์—ฐ๊ฒฐ์€ ์›๊ฒฉ SOCKS5 ํ”„๋ก์‹œ ๋ฐ DNS Google 8.8.8.8๋กœ ๋ฆฌ๋””๋ ‰์…˜๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ํ•ด์•ผ ํ•  ์ผ์€ ์ฃผ์†Œ ๋ฐœ๊ธ‰์„ ์œ„ํ•ด netfilter(iptables)์™€ DHCP ๊ทœ์น™์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ๋ฟ์ž…๋‹ˆ๋‹ค.

8. iptables-percious ๋ฐ 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";
์˜ต์…˜ ๋„๋ฉ”์ธ ์ด๋ฆ„ ์„œ๋ฒ„ ns1.example.org, ns2.example.org;

๊ธฐ๋ณธ ์ž„๋Œ€ ์‹œ๊ฐ„ 600;
์ตœ๋Œ€ ์ž„๋Œ€ ์‹œ๊ฐ„ 7200;

ddns-์—…๋ฐ์ดํŠธ ์Šคํƒ€์ผ ์—†์Œ;

# ์ด DHCP ์„œ๋ฒ„๊ฐ€ ๋กœ์ปฌ์˜ ๊ณต์‹ DHCP ์„œ๋ฒ„์ธ ๊ฒฝ์šฐ
# ๋„คํŠธ์›Œํฌ์—์„œ ๊ถŒํ•œ ์žˆ๋Š” ์ง€์‹œ์–ด๋Š” ์ฃผ์„ ์ฒ˜๋ฆฌ๋ฅผ ์ œ๊ฑฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ถŒ์œ„ ์žˆ๋Š”;

# ๋‚ด๋ถ€ ์„œ๋ธŒ๋„ท์˜ ๊ตฌ์„ฑ์€ ์•ฝ๊ฐ„ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.
์„œ๋ธŒ๋„ท 192.168.201.0 ๋„ท ๋งˆ์Šคํฌ 255.255.255.0 {
๋ฒ”์œ„ 192.168.201.10 192.168.201.250;
์˜ต์…˜ ๋„๋ฉ”์ธ ์ด๋ฆ„ ์„œ๋ฒ„ 192.168.201.254;
์˜ต์…˜ ๋ผ์šฐํ„ฐ 192.168.201.254;
์˜ต์…˜ ๋ธŒ๋กœ๋“œ ์บ์ŠคํŠธ ์ฃผ์†Œ 192.168.201.255;
๊ธฐ๋ณธ ์ž„๋Œ€ ์‹œ๊ฐ„ 600;
์ตœ๋Œ€ ์ž„๋Œ€ ์‹œ๊ฐ„ 7200;
}

11. ์žฌ๋ถ€ํŒ…ํ•˜๊ณ  ํฌํŠธ 67์—์„œ ์„œ๋น„์Šค๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
root@debian9:~# reboot
root@debian9:~# netstat -nlp

netstat ๋กœ๊ทธํ™œ์„ฑ ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ(์„œ๋ฒ„๋งŒ ํ•ด๋‹น)
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/dhํด๋ผ์ด์–ธํŠธ
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์˜ ํ™•๋ฅ ๋กœ ์ƒˆ ์—ฐ๊ฒฐ์ด ์„ค์ •๋ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ : ์›น ํ”„๋ก์‹œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์–‘๋ง5 ๋Œ€์‹  ์—ฐ๊ฒฐ์„ ์ž‘์„ฑํ•ด์•ผ ํ•˜๋ฉฐ, ์–‘๋ง4์ธ ๊ฒฝ์šฐ ์–‘๋ง4๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(socks4๋Š” ๋กœ๊ทธ์ธ/๋น„๋ฐ€๋ฒˆํ˜ธ ์ธ์ฆ์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค!).

ํˆฌ๋ช… ํ”„๋ก์‹œ ์„œ๋ฒ„ 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
ํ”Œ๋Ÿฌ์‹œ
์ธ์ฆ IP ์ „์šฉ
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.so transparent_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/์ธํ„ฐํŽ˜์ด์Šค ํŒŒ์ผ#์ด ํŒŒ์ผ์€ ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค ์„ค๋ช…
# ๊ทธ๋ฆฌ๊ณ  ์–ด๋–ป๊ฒŒ ๊ทธ๋“ค์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ (5) ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

์†Œ์Šค /etc/network/interfaces.d/*

# ๋ฃจํ”„๋ฐฑ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค
์ž๋™ ์ด์˜ค
iface ๊ทธ๋ƒฅ ... 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 ํ”„๋กœ๊ทธ๋žจ ๊ณต์‹ ํ™ˆํŽ˜์ด์ง€ 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

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€