Debian 10์„ ์‚ฌ์šฉํ•˜์—ฌ ๋žฉํ†ฑ์—์„œ SOCKS์— ๋ผ์šฐํ„ฐ ๊ตฌ์ถ•

XNUMX๋…„(๋˜๋Š” XNUMX๋…„) ๋™์•ˆ ๋‚˜๋Š” ์ฃผ๋œ ์ด์œ ๋กœ ์ด ๊ธฐ์‚ฌ ๊ฒŒ์‹œ๋ฅผ ์—ฐ๊ธฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๋ฏธ ๋ฐ๋น„์•ˆ์ด ์žˆ๋Š” ๋งค์šฐ ์ผ๋ฐ˜์ ์ธ ๋žฉํ†ฑ์—์„œ SOCKS์— ๋ผ์šฐํ„ฐ๋ฅผ ๋งŒ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋‘ ๊ฐœ์˜ ๊ธฐ์‚ฌ๋ฅผ ๊ฒŒ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๊ทธ ์ดํ›„ ๋ฐ๋น„์•ˆ์˜ ์•ˆ์ • ๋ฒ„์ „์ด Buster๋กœ ์—…๋ฐ์ดํŠธ๋˜์—ˆ๊ณ , ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ๋‚˜์—๊ฒŒ ๊ฐœ์ธ์ ์œผ๋กœ ์—ฐ๋ฝํ•˜์—ฌ ์„ค์ •์— ๋Œ€ํ•œ ๋„์›€์„ ์š”์ฒญํ–ˆ๋Š”๋ฐ, ์ด๋Š” ๋‚˜์˜ ์ด์ „ ๊ธฐ์‚ฌ๊ฐ€ ์™„์ „ํ•˜์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๊ธ€์Ž„, ๋‚˜๋Š” ๊ทธ๋“ค์— ์„ค๋ช…๋œ ๋ฐฉ๋ฒ•์ด SOCKS์—์„œ ๋ผ์šฐํŒ…์„ ์œ„ํ•ด Linux๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ชจ๋“  ๋ณต์žก์„ฑ์„ ์™„์ „ํžˆ ๋“œ๋Ÿฌ๋‚ด์ง€ ์•Š๋Š”๋‹ค๊ณ  ์ถ”์ธกํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ Debian Stretch์šฉ์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ Buster๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•œ ํ›„ systemd init ์‹œ์Šคํ…œ์—์„œ ์„œ๋น„์Šค ์ƒํ˜ธ ์ž‘์šฉ์— ์ž‘์€ ๋ณ€ํ™”๊ฐ€ ์žˆ์Œ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ธฐ์‚ฌ ์ž์ฒด์—์„œ๋Š” systemd-networkd๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์ง€๋งŒ ๋ณต์žกํ•œ ๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ์— ๊ฐ€์žฅ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

์œ„์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์™ธ์—๋„ ๋‹ค์Œ ์„œ๋น„์Šค๊ฐ€ ๋‚ด ๊ตฌ์„ฑ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. hostapd - ์•ก์„ธ์Šค ํฌ์ธํŠธ ๊ฐ€์ƒํ™”๋ฅผ ์œ„ํ•œ ์„œ๋น„์Šค, ntp ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ ํด๋ผ์ด์–ธํŠธ์˜ ์‹œ๊ฐ„์„ ๋™๊ธฐํ™”ํ•˜๊ณ , dnscrypt-ํ”„๋ก์‹œ DNS๋ฅผ ํ†ตํ•œ ์—ฐ๊ฒฐ์„ ์•”ํ˜ธํ™”ํ•˜๊ณ  ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ ํด๋ผ์ด์–ธํŠธ์— ๋Œ€ํ•œ ๊ด‘๊ณ ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ฉฐ, ์•ž์„œ ์–ธ๊ธ‰ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ์‹œ์Šคํ…œ ๋„คํŠธ์›Œํฌ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์€ ๊ทธ๋Ÿฌํ•œ ๋ผ์šฐํ„ฐ์˜ ๋‚ด๋ถ€ ๊ตฌ์กฐ์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ๋ธ”๋ก ๋‹ค์ด์–ด๊ทธ๋žจ์ž…๋‹ˆ๋‹ค.

Debian 10์„ ์‚ฌ์šฉํ•˜์—ฌ ๋žฉํ†ฑ์—์„œ SOCKS์— ๋ผ์šฐํ„ฐ ๊ตฌ์ถ•

๋”ฐ๋ผ์„œ ์ด ๊ธฐ์‚ฌ ์‹œ๋ฆฌ์ฆˆ์˜ ๋ชฉํ‘œ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์ƒ๊ธฐ์‹œ์ผœ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

  1. ๋ชจ๋“  OS ์—ฐ๊ฒฐ์„ SOCKS๋กœ ๋ผ์šฐํŒ…ํ•˜๊ณ  ๋…ธํŠธ๋ถ๊ณผ ๋™์ผํ•œ ๋„คํŠธ์›Œํฌ์— ์žˆ๋Š” ๋ชจ๋“  ์žฅ์น˜์˜ ์—ฐ๊ฒฐ์„ ๋ผ์šฐํŒ…ํ•ฉ๋‹ˆ๋‹ค.
  2. ์ œ ๊ฒฝ์šฐ์—๋Š” ๋…ธํŠธ๋ถ์ด ์™„์ „ํžˆ ์ด๋™ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ์œ ์ง€๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ฌผ๋ฆฌ์ ์ธ ์œ„์น˜์— ์–ฝ๋งค์ด์ง€ ์•Š๊ณ  ๋ฐ์Šคํฌํ†ฑ ํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๋ฅผ ์ฃผ๊ธฐ ์œ„ํ•จ์ด๋‹ค.
  3. ๋งˆ์ง€๋ง‰ ์š”์ ์€ ๋‚ด์žฅ๋œ ๋ฌด์„  ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด์„œ๋งŒ ์—ฐ๊ฒฐ ๋ฐ ๋ผ์šฐํŒ…์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
  4. ๋ฌผ๋ก , ํฌ๊ด„์ ์ธ ๊ฐ€์ด๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์ œ๊ฐ€ ์•„๋Š” ํ•œ๋„ ๋‚ด์—์„œ ๊ด€๋ จ ๊ธฐ์ˆ ์„ ๋ถ„์„ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ๊ธฐ์‚ฌ์—์„œ ๋‹ค๋ฃฐ ๋‚ด์šฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. ์ž์‹ โ€” ํ”„๋กœ์ ํŠธ ์ €์žฅ์†Œ ๋‹ค์šด๋กœ๋“œ tun2socksTCP ํŠธ๋ž˜ํ”ฝ์„ SOCKS๋กœ ๋ผ์šฐํŒ…ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. create_ap โ€” ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์ƒ ์•ก์„ธ์Šค ํฌ์ธํŠธ ์„ค์ •์„ ์ž๋™ํ™”ํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ hostapd.
  2. tun2socks โ€” ์‹œ์Šคํ…œ์— systemd ์„œ๋น„์Šค๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
  3. ์‹œ์Šคํ…œ ๋„คํŠธ์›Œํฌ โ€” ๋ฌด์„  ๋ฐ ๊ฐ€์ƒ ์ธํ„ฐํŽ˜์ด์Šค, ์ •์  ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ” ๋ฐ ํŒจํ‚ท ๋ฆฌ๋””๋ ‰์…˜์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  4. create_ap โ€” ์‹œ์Šคํ…œ์— systemd ์„œ๋น„์Šค๋ฅผ ์„ค์น˜ํ•˜๊ณ  ๊ฐ€์ƒ ์•ก์„ธ์Šค ํฌ์ธํŠธ๋ฅผ ๊ตฌ์„ฑ ๋ฐ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์„ ํƒ์  ๋‹จ๊ณ„:

  • ntp โ€” ๊ฐ€์ƒ ์•ก์„ธ์Šค ํฌ์ธํŠธ ํด๋ผ์ด์–ธํŠธ์˜ ์‹œ๊ฐ„์„ ๋™๊ธฐํ™”ํ•˜๋„๋ก ์„œ๋ฒ„๋ฅผ ์„ค์น˜ํ•˜๊ณ  ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • dnscrypt-ํ”„๋ก์‹œ โ€” DNS ์š”์ฒญ์„ ์•”ํ˜ธํ™”ํ•˜์—ฌ SOCKS๋กœ ๋ผ์šฐํŒ…ํ•˜๊ณ  ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•œ ๊ด‘๊ณ  ๋„๋ฉ”์ธ์„ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

์™œ์ด ๋ชจ๋“ ๊ฑฐ์•ผ?

์ด๋Š” ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ์—์„œ TCP ์—ฐ๊ฒฐ์„ ๋ณดํ˜ธํ•˜๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ๊ฐ€์žฅ ํฐ ์žฅ์ ์€ ์›๋ž˜ ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ํ†ตํ•ด ๊ณ ์ • ๊ฒฝ๋กœ๊ฐ€ ๊ตฌ์ถ•๋˜์ง€ ์•Š๋Š” ํ•œ ๋ชจ๋“  ์—ฐ๊ฒฐ์ด SOCKS์—์„œ ์ด๋ฃจ์–ด์ง„๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๊ฐœ๋ณ„ ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ์˜ ํด๋ผ์ด์–ธํŠธ์— ๋Œ€ํ•ด SOCKS ์„œ๋ฒ„ ์„ค์ •์„ ์ง€์ •ํ•  ํ•„์š”๊ฐ€ ์—†์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋ณ„๋„๋กœ ์ง€์ •ํ•˜์ง€ ์•Š๋Š” ํ•œ ๊ธฐ๋ณธ ๊ฒŒ์ดํŠธ์›จ์ด์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋‘ ๊ธฐ๋ณธ์ ์œผ๋กœ SOCKS๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ ๋‘ ๋ฒˆ์งธ ์•”ํ˜ธํ™” ๋ผ์šฐํ„ฐ๋ฅผ ์›๋ž˜ ๋ผ์šฐํ„ฐ ์•ž์— ๋žฉํ†ฑ์œผ๋กœ ์ถ”๊ฐ€ํ•˜๊ณ  ๋žฉํ†ฑ์˜ ์ด๋ฏธ ์•”ํ˜ธํ™”๋œ SOCKS ์š”์ฒญ์— ๋Œ€ํ•ด ์›๋ž˜ ๋ผ์šฐํ„ฐ์˜ ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•˜์—ฌ LAN ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ๋ผ์šฐํŒ…ํ•˜๊ณ  ์•”ํ˜ธํ™”ํ•ฉ๋‹ˆ๋‹ค.

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

๋”ฐ๋ผ์„œ ๋ชจ๋“  ์žฅ์น˜๋Š” ๋…ธํŠธ๋ถ์˜ ๊ฐ€์ƒ ์•ก์„ธ์Šค ํฌ์ธํŠธ์— ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ์— tun2socks ์„ค์น˜

์ปดํ“จํ„ฐ์— ์ธํ„ฐ๋„ท์ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์œผ๋ฉด ํ•„์š”ํ•œ ๋ชจ๋“  ๋„๊ตฌ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜์„ธ์š”.

apt update
apt install git make cmake

BadVPN ํŒจํ‚ค์ง€ ๋‹ค์šด๋กœ๋“œ

git clone https://github.com/ambrop72/badvpn

์‹œ์Šคํ…œ์— ํด๋”๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค badvpn. ๋นŒ๋“œ๋ฅผ ์œ„ํ•œ ๋ณ„๋„์˜ ํด๋” ์ƒ์„ฑ

mkdir badvpn-build

๊ทธ๊ฒƒ์œผ๋กœ ์ด๋™

cd badvpn-build

์ˆ˜์ง‘ tun2socks

cmake ../badvpn -DBUILD_NOTHING_BY_DEFAULT=1 -DBUILD_TUN2SOCKS=1

์‹œ์Šคํ…œ์— ์„ค์น˜

make install
  • ๋งค๊ฐœ ๋ณ€์ˆ˜ -DBUILD_NOTHING_BY_DEFAULT=1 badvpn ์ €์žฅ์†Œ์˜ ๋ชจ๋“  ๊ตฌ์„ฑ ์š”์†Œ ๋นŒ๋“œ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.
  • -DBUILD_TUN2SOCKS=1 ์–ด์…ˆ๋ธ”๋ฆฌ์— ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. tun2socks.
  • make install โ€” ์‹œ์Šคํ…œ์— tun2socks ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. /usr/local/bin/badvpn-tun2socks.

systemd์— tun2socks ์„œ๋น„์Šค ์„ค์น˜

ํŒŒ์ผ ๋งŒ๋“ค๊ธฐ /etc/systemd/system/tun2socks.service ๋‹ค์Œ ๋‚ด์šฉ์œผ๋กœ:

[Unit]
Description=SOCKS TCP Relay

[Service]
ExecStart=/usr/local/bin/badvpn-tun2socks --tundev tun2socks --netif-ipaddr 172.16.1.1 --netif-netmask 255.255.255.0 --socks-server-addr 127.0.0.1:9050

[Install]
WantedBy=multi-user.target
  • --tundev - systemd-networkd๋กœ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๊ฐ€์ƒ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • --netif-ipaddr โ€” ๊ฐ€์ƒ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์—ฐ๊ฒฐ๋œ tun2socks "๋ผ์šฐํ„ฐ"์˜ ๋„คํŠธ์›Œํฌ ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋กœ ๋งŒ๋“ค์–ด ๋‘๋Š” ๊ฒŒ ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์š” ์˜ˆ์•ฝ๋œ ์„œ๋ธŒ๋„ท.
  • --socks-server-addr - ์†Œ์ผ“์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค(ะฐะดั€ะตั:ะฟะพั€ั‚ SOCKS ์„œ๋ฒ„).

SOCKS ์„œ๋ฒ„์— ์ธ์ฆ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. --username ะธ --password.

๋‹ค์Œ์œผ๋กœ ์„œ๋น„์Šค๋ฅผ ๋“ฑ๋กํ•˜์„ธ์š”.

systemctl daemon-reload

๊ทธ๋ฆฌ๊ณ  ์ผœ์„ธ์š”

systemctl enable tun2socks

์„œ๋น„์Šค๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ๊ฐ€์ƒ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

systemd-networkd๋กœ ์ „ํ™˜

์ผœ systemd-networkd:

systemctl enable systemd-networkd

ํ˜„์žฌ ๋„คํŠธ์›Œํฌ ์„œ๋น„์Šค๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

systemctl disable networking NetworkManager NetworkManager-wait-online
  • NetworkManager-์˜จ๋ผ์ธ ๋Œ€๊ธฐ systemd๊ฐ€ ๋„คํŠธ์›Œํฌ ์กด์žฌ์— ์˜์กดํ•˜๋Š” ๋‹ค๋ฅธ ์„œ๋น„์Šค๋ฅผ ๊ณ„์† ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ์ž‘๋™ ์ค‘์ธ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ๋„คํŠธ์›Œํฌ ์•„๋‚ ๋กœ๊ทธ๋กœ ์ „ํ™˜ํ•  ๋•Œ ์ด๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

์ฆ‰์‹œ ํ™œ์„ฑํ™”ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

systemctl enable systemd-networkd-wait-online

๋ฌด์„  ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค ์„ค์ •

๋ฌด์„  ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•œ systemd-networkd ๊ตฌ์„ฑ ํŒŒ์ผ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. /etc/systemd/network/25-wlp6s0.network.

[Match]
Name=wlp6s0

[Network]
Address=192.168.1.2/24
IPForward=yes
  • ์„ฑํ•จ ๋ฌด์„  ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ๋ช…๋ น์œผ๋กœ ์‹๋ณ„ํ•˜์‹ญ์‹œ์˜ค. ip a.
  • IP ์ „๋‹ฌ - ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ํŒจํ‚ท ๋ฆฌ๋””๋ ‰์…˜์„ ํ™œ์„ฑํ™”ํ•˜๋Š” ์ง€์‹œ๋ฌธ์ž…๋‹ˆ๋‹ค.
  • ์ฃผ์†Œ ๋ฌด์„  ์ธํ„ฐํŽ˜์ด์Šค์— IP ์ฃผ์†Œ๋ฅผ ํ• ๋‹นํ•˜๋Š” ์—ญํ• ์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ๋™๋“ฑํ•œ ์ง€์‹œ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ •์ ์œผ๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. DHCP=yes, systemd-networkd๋Š” ์‹œ์Šคํ…œ์— ๊ธฐ๋ณธ ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ์ด ๋‹ค๋ฅธ ์„œ๋ธŒ๋„ท์˜ ํ–ฅํ›„ ๊ฐ€์ƒ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•˜์ง€ ์•Š๊ณ  ์›๋ž˜ ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ํ†ต๊ณผํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ํ˜„์žฌ ๊ธฐ๋ณธ ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ip r

์›๊ฒฉ SOCKS ์„œ๋ฒ„์— ๋Œ€ํ•œ ๊ณ ์ • ๊ฒฝ๋กœ ์ƒ์„ฑ

SOCKS ์„œ๋ฒ„๊ฐ€ ๋กœ์ปฌ์ด ์•„๋‹ˆ๋ผ ์›๊ฒฉ์ธ ๊ฒฝ์šฐ ํ•ด๋‹น ์„œ๋ฒ„์— ๋Œ€ํ•œ ๊ณ ์ • ๊ฒฝ๋กœ๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด ์„น์…˜์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”. Route ๋‹ค์Œ ๋‚ด์šฉ์œผ๋กœ ์ƒ์„ฑํ•œ ๋ฌด์„  ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌ์„ฑ ํŒŒ์ผ์˜ ๋์—:

[Route]
Gateway=192.168.1.1
Destination=0.0.0.0
  • Gateway โ€” ์ด๋Š” ๊ธฐ๋ณธ ๊ฒŒ์ดํŠธ์›จ์ด ๋˜๋Š” ์›๋ž˜ ์•ก์„ธ์Šค ํฌ์ธํŠธ์˜ ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค.
  • Destination โ€” SOCKS ์„œ๋ฒ„ ์ฃผ์†Œ.

systemd-networkd์— ๋Œ€ํ•ด wpa_supplicant ๊ตฌ์„ฑ

systemd-networkd๋Š” wpa_supplicant๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณด์•ˆ ์•ก์„ธ์Šค ํฌ์ธํŠธ์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ๋ฌด์„  ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ "์ƒ์Šน"ํ•˜๋ ค๊ณ  ํ•˜๋ฉด systemd-networkd๊ฐ€ ์„œ๋น„์Šค๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. wpa_supplicant@ะธะผั์–ด๋””์—์„œ ์ด๋ฆ„ ๋ฌด์„  ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ์ด ์‹œ์  ์ด์ „์— systemd-networkd๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด ์ด ์„œ๋น„์Šค๊ฐ€ ์‹œ์Šคํ…œ์— ์—†์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑํ•˜์‹ญ์‹œ์˜ค.

systemctl enable wpa_supplicant@wlp6s0

๋‚˜๋Š” ์‚ฌ์šฉํ–ˆ๋‹ค wlp6s0 ๋ฌด์„  ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ๊ท€ํ•˜์˜ ์ด๋ฆ„์€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ช…๋ น์œผ๋กœ ์ธ์‹ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ip l.

์ด์ œ ์ƒ์„ฑ๋œ ์„œ๋น„์Šค wpa_supplicant@wlp6s0 ๋ฌด์„  ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ "์ƒ์Šน"๋˜๋ฉด ์‹œ์ž‘๋˜์ง€๋งŒ, ์ฐจ๋ก€๋กœ ํŒŒ์ผ์—์„œ ์•ก์„ธ์Šค ํฌ์ธํŠธ์˜ SSID ๋ฐ ๋น„๋ฐ€๋ฒˆํ˜ธ ์„ค์ •์„ ์ฐพ์Šต๋‹ˆ๋‹ค. /etc/wpa_supplicant/wpa_supplicant-wlp6s0. ๋”ฐ๋ผ์„œ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. wpa_passphrase.

์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์„ธ์š”.

wpa_passphrase SSID password>/etc/wpa_supplicant/wpa_supplicant-wlp6s0.conf

์–ด๋””์—์„œ SSID ๋Š” ์•ก์„ธ์Šค ํฌ์ธํŠธ์˜ ์ด๋ฆ„์ด๊ณ , ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค. wlp6s0 โ€” ๋ฌด์„  ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ด๋ฆ„.

tun2socks์— ๋Œ€ํ•œ ๊ฐ€์ƒ ์ธํ„ฐํŽ˜์ด์Šค ์ดˆ๊ธฐํ™”

์‹œ์Šคํ…œ์—์„œ ์ƒˆ ๊ฐ€์ƒ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ํŒŒ์ผ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค./etc/systemd/network/25-tun2socks.netdev

[NetDev]
Name=tun2socks
Kind=tun
  • ์„ฑํ•จ systemd-networkd๊ฐ€ ์ดˆ๊ธฐํ™”๋  ๋•Œ ํ–ฅํ›„ ๊ฐ€์ƒ ์ธํ„ฐํŽ˜์ด์Šค์— ํ• ๋‹นํ•  ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.
  • ์ข…๋ฅ˜ ๊ฐ€์ƒ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ผ์ข…์ด๋‹ค. tun2socks ์„œ๋น„์Šค์˜ ์ด๋ฆ„์„ ๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์ง์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. tun.
  • netdev ํŒŒ์ผ์˜ ํ™•์žฅ์ž๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. systemd-networkd ๊ฐ€์ƒ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ฃผ์†Œ ๋ฐ ๊ธฐํƒ€ ๋„คํŠธ์›Œํฌ ์„ค์ •์€ ๋‹ค์Œ ์œ„์น˜์— ์ง€์ •๋ฉ๋‹ˆ๋‹ค. .ํšŒ๋กœ๋ง-ํŒŒ์ผ.

์ด๋Ÿฐ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜์„ธ์š” /etc/systemd/network/25-tun2socks.network ๋‹ค์Œ ๋‚ด์šฉ์œผ๋กœ:

[Match]
Name=tun2socks

[Network]
Address=172.16.1.2/24
Gateway=172.16.1.1
  • Name โ€” ์ง€์ •ํ•œ ๊ฐ€์ƒ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ด๋ฆ„ netdev-ํŒŒ์ผ.
  • Address โ€” ๊ฐ€์ƒ ์ธํ„ฐํŽ˜์ด์Šค์— ํ• ๋‹น๋  IP ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค. tun2socks ์„œ๋น„์Šค์— ์ง€์ •ํ•œ ์ฃผ์†Œ์™€ ๋™์ผํ•œ ๋„คํŠธ์›Œํฌ์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • Gateway โ€” "๋ผ์šฐํ„ฐ"์˜ IP ์ฃผ์†Œ tun2socks, systemd ์„œ๋น„์Šค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์ง€์ •ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์ธํ„ฐํŽ˜์ด์Šค tun2socks ์ฃผ์†Œ๊ฐ€ ์žˆ์–ด์š” 172.16.1.2, ๊ทธ๋ฆฌ๊ณ  ์„œ๋น„์Šค tun2socks - 172.16.1.1์ฆ‰, ๊ฐ€์ƒ ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋ชจ๋“  ์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ๊ฒŒ์ดํŠธ์›จ์ด์ž…๋‹ˆ๋‹ค.

๊ฐ€์ƒ ์•ก์„ธ์Šค ํฌ์ธํŠธ ์„ค์ •

์ข…์†์„ฑ์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

apt install util-linux procps hostapd iw haveged

์ €์žฅ์†Œ ๋‹ค์šด๋กœ๋“œ create_ap ๋‹น์‹ ์˜ ์ฐจ์—:

git clone https://github.com/oblique/create_ap

์ปดํ“จํ„ฐ์˜ ์ €์žฅ์†Œ ํด๋”๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

cd create_ap

์‹œ์Šคํ…œ์— ์„ค์น˜:

make install

์‹œ์Šคํ…œ์— ๊ตฌ์„ฑ์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค /etc/create_ap.conf. ์ฃผ์š” ํŽธ์ง‘ ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • GATEWAY=10.0.0.1 โ€” ๋ณ„๋„์˜ ์˜ˆ์•ฝ๋œ ์„œ๋ธŒ๋„ท์œผ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
  • NO_DNS=1 - ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” systemd-networkd ๊ฐ€์ƒ ์ธํ„ฐํŽ˜์ด์Šค์— ์˜ํ•ด ๊ด€๋ฆฌ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
  • NO_DNSMASQ=1 - ๊ฐ™์€ ์ด์œ ๋กœ ๊บผ์ฃผ์„ธ์š”.
  • WIFI_IFACE=wlp6s0 โ€” ๋…ธํŠธ๋ถ ๋ฌด์„  ์ธํ„ฐํŽ˜์ด์Šค.
  • INTERNET_IFACE=tun2socks - tun2socks์šฉ์œผ๋กœ ์ƒ์„ฑ๋œ ๊ฐ€์ƒ ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค.
  • SSID=hostapd โ€” ๊ฐ€์ƒ ์•ก์„ธ์Šค ํฌ์ธํŠธ์˜ ์ด๋ฆ„.
  • PASSPHRASE=12345678 - ๋น„๋ฐ€๋ฒˆํ˜ธ.

์„œ๋น„์Šค๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ฒƒ์„ ์žŠ์ง€ ๋งˆ์„ธ์š”:

systemctl enable create_ap

systemd-networkd์—์„œ DHCP ์„œ๋ฒ„ ํ™œ์„ฑํ™”

์„œ๋น„์Šค create_ap ์‹œ์Šคํ…œ์—์„œ ๊ฐ€์ƒ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค. ap0. ์ด๋ก ์ ์œผ๋กœ dnsmasq๋Š” ์ด ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์ •์ง€๋˜์ง€๋งŒ systemd-networkd์— ๋‚ด์žฅ DHCP ์„œ๋ฒ„๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉด ์ถ”๊ฐ€ ์„œ๋น„์Šค๋ฅผ ์„ค์น˜ํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์ด๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ€์ƒ ํฌ์ธํŠธ์— ๋Œ€ํ•œ ๋„คํŠธ์›Œํฌ ์„ค์ •์„ ์ •์˜ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด ํŒŒ์ผ์„ ๋งŒ๋“œ์„ธ์š”. /etc/systemd/network/25-ap0.network ๋‹ค์Œ ๋‚ด์šฉ์œผ๋กœ:

[Match]
Name=ap0

[Network]
Address=10.0.0.1/24
DHCPServer=yes

[DHCPServer]
EmitDNS=yes
DNS=10.0.0.1
EmitNTP=yes
NTP=10.0.0.1

create_ap ์„œ๋น„์Šค๊ฐ€ ๊ฐ€์ƒ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ดˆ๊ธฐํ™”ํ•œ ํ›„ ap0, systemd-networkd๋Š” ์ž๋™์œผ๋กœ IP ์ฃผ์†Œ๋ฅผ ํ• ๋‹นํ•˜๊ณ  DHCP ์„œ๋ฒ„๋ฅผ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

๋ผ์ธ EmitDNS=yes ะธ DNS=10.0.0.1 ์•ก์„ธ์Šค ํฌ์ธํŠธ์— ์—ฐ๊ฒฐ๋œ ์žฅ์น˜์— DNS ์„œ๋ฒ„ ์„ค์ •์„ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

๋กœ์ปฌ DNS ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•  ๊ณ„ํš์ด ์—†๋‹ค๋ฉด(์ œ ๊ฒฝ์šฐ์—๋Š” dnscrypt-proxy์ž…๋‹ˆ๋‹ค) ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค DNS=10.0.0.1 ะฒ DNS=192.168.1.1์–ด๋””์—์„œ 192.168.1.1 โ€” ์›๋ž˜ ๊ฒŒ์ดํŠธ์›จ์ด์˜ ์ฃผ์†Œ. ๊ทธ๋Ÿฌ๋ฉด ํ˜ธ์ŠคํŠธ ๋ฐ ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•œ DNS ์š”์ฒญ์ด ๊ณต๊ธ‰์ž์˜ ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ์•”ํ˜ธํ™”๋˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค.

EmitNTP=yes ะธ NTP=192.168.1.1 NTP ์„ค์ •์„ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

๋ผ์ธ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€ NTP=10.0.0.1.

NTP ์„œ๋ฒ„ ์„ค์น˜ ๋ฐ ๊ตฌ์„ฑ

์‹œ์Šคํ…œ์— ์„ค์น˜:

apt install ntp

๊ตฌ์„ฑ ํŽธ์ง‘ /etc/ntp.conf. ํ‘œ์ค€ ํ’€์˜ ์ฃผ์†Œ๋ฅผ ์ฃผ์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

#pool 0.debian.pool.ntp.org iburst
#pool 1.debian.pool.ntp.org iburst
#pool 2.debian.pool.ntp.org iburst
#pool 3.debian.pool.ntp.org iburst

Google Public NTP์™€ ๊ฐ™์€ ๊ณต๊ฐœ ์„œ๋ฒ„ ์ฃผ์†Œ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

server time1.google.com ibrust
server time2.google.com ibrust
server time3.google.com ibrust
server time4.google.com ibrust

๋„คํŠธ์›Œํฌ์˜ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์„œ๋ฒ„์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

restrict 10.0.0.0 mask 255.255.255.0

๋„คํŠธ์›Œํฌ์— ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ๋ฅผ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

broadcast 10.0.0.255

๋งˆ์ง€๋ง‰์œผ๋กœ ์ด๋Ÿฌํ•œ ์„œ๋ฒ„์˜ ์ฃผ์†Œ๋ฅผ ์ •์  ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด ๋ฌด์„  ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌ์„ฑ ํŒŒ์ผ์„ ์—ฝ๋‹ˆ๋‹ค. /etc/systemd/network/25-wlp6s0.network ์„น์…˜ ๋์— ์ถ”๊ฐ€ Route.

[Route]
Gateway=192.168.1.1
Destination=216.239.35.0

[Route]
Gateway=192.168.1.1
Destination=216.239.35.4

[Route]
Gateway=192.168.1.1
Destination=216.239.35.8

[Route]
Gateway=192.168.1.1
Destination=216.239.35.12

์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ NTP ์„œ๋ฒ„์˜ ์ฃผ์†Œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค host ๋‹ค์Œ๊ณผ ๊ฐ™์ด

host time1.google.com

dnscrypt-proxy๋ฅผ ์„ค์น˜ํ•˜๊ณ , ๊ด‘๊ณ ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ , ๊ณต๊ธ‰์ž๋กœ๋ถ€ํ„ฐ DNS ํŠธ๋ž˜ํ”ฝ์„ ์ˆจ๊น๋‹ˆ๋‹ค.

apt install dnscrypt-proxy

ํ˜ธ์ŠคํŠธ ๋ฐ ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ DNS ์ฟผ๋ฆฌ๋ฅผ ์ œ๊ณตํ•˜๋ ค๋ฉด ์†Œ์ผ“์„ ํŽธ์ง‘ํ•˜์„ธ์š”. /lib/systemd/system/dnscrypt-proxy.socket. ๋‹ค์Œ ์ค„์„ ๋ณ€๊ฒฝํ•˜์‹ญ์‹œ์˜ค.

ListenStream=0.0.0.0:53
ListenDatagram=0.0.0.0:53

์žฌ์‹œ์ž‘ systemd:

systemctl daemon-reload

๊ตฌ์„ฑ ํŽธ์ง‘ /etc/dnscrypt-proxy/dnscrypt-proxy.toml:

server_names = ['adguard-dns']

tun2socks๋ฅผ ํ†ตํ•ด dnscrypt-proxy ์—ฐ๊ฒฐ์„ ๋ผ์šฐํŒ…ํ•˜๋ ค๋ฉด ์•„๋ž˜๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š”.

force_tcp = true

๊ตฌ์„ฑ ํŽธ์ง‘ /etc/resolv.conf, ์ด๋Š” DNS ์„œ๋ฒ„๋ฅผ ํ˜ธ์ŠคํŠธ์— ์•Œ๋ ค์ค๋‹ˆ๋‹ค.

nameserver 127.0.0.1
nameserver 192.168.1.1

์ฒซ ๋ฒˆ์งธ ์ค„์—์„œ๋Š” dnscrypt-proxy๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋‘ ๋ฒˆ์งธ ์ค„์—์„œ๋Š” dnscrypt-proxy ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ์›๋ž˜ ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์™„๋ฃŒ!

๋„คํŠธ์›Œํฌ ์„œ๋น„์Šค๋ฅผ ์žฌ๋ถ€ํŒ…ํ•˜๊ฑฐ๋‚˜ ์‹คํ–‰์„ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค.

systemctl stop networking NetworkManager NetworkManager-wait-online

๊ทธ๋ฆฌ๊ณ  ํ•„์š”ํ•œ ๋ชจ๋“  ๊ฒƒ์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜์‹ญ์‹œ์˜ค.

systemctl restart systemd-networkd tun2socks create_ap dnscrypt-proxy ntp

์žฌ๋ถ€ํŒ…ํ•˜๊ฑฐ๋‚˜ ๋‹ค์‹œ ์‹œ์ž‘ํ•œ ํ›„์—๋Š” ํ˜ธ์ŠคํŠธ ๋ฐ LAN ์žฅ์น˜๋ฅผ SOCKS๋กœ ๋ผ์šฐํŒ…ํ•˜๋Š” ๋‘ ๋ฒˆ์งธ ์•ก์„ธ์Šค ํฌ์ธํŠธ๋ฅผ ๊ฐ–๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ถœ๋ ฅ ๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ip a ์ผ๋ฐ˜ ๋…ธํŠธ๋ถ:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: tun2socks: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 500
    link/none 
    inet 172.16.1.2/24 brd 172.16.1.255 scope global tun2socks
       valid_lft forever preferred_lft forever
    inet6 fe80::122b:260:6590:1b0e/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever
3: enp4s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether e8:11:32:0e:01:50 brd ff:ff:ff:ff:ff:ff
4: wlp6s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 4c:ed:de:cb:cf:85 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.2/24 brd 192.168.1.255 scope global wlp6s0
       valid_lft forever preferred_lft forever
    inet6 fe80::4eed:deff:fecb:cf85/64 scope link 
       valid_lft forever preferred_lft forever
5: ap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 4c:ed:de:cb:cf:86 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.1/24 brd 10.0.0.255 scope global ap0
       valid_lft forever preferred_lft forever
    inet6 fe80::4eed:deff:fecb:cf86/64 scope link 
       valid_lft forever preferred_lft forever

๊ทธ ๊ฒฐ๊ณผ,

  1. ๊ณต๊ธ‰์ž๋Š” SOCKS ์„œ๋ฒ„์— ๋Œ€ํ•œ ์•”ํ˜ธํ™”๋œ ์—ฐ๊ฒฐ๋งŒ ๋ณผ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ด๋Š” ์•„๋ฌด๊ฒƒ๋„ ๋ณผ ์ˆ˜ ์—†์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
  2. ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  NTP ์š”์ฒญ์„ ํ™•์ธํ•˜๋ฏ€๋กœ ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด NTP ์„œ๋ฒ„์— ๋Œ€ํ•œ ๊ณ ์ • ๊ฒฝ๋กœ๋ฅผ ์ œ๊ฑฐํ•˜์„ธ์š”. ๊ทธ๋Ÿฌ๋‚˜ SOCKS ์„œ๋ฒ„๊ฐ€ NTP ํ”„๋กœํ† ์ฝœ์„ ํ—ˆ์šฉํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋Š” ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Debain 10์—์„œ ๋ชฉ๋ฐœ ๋ฐœ๊ฒฌ

์ฝ˜์†”์—์„œ ๋„คํŠธ์›Œํฌ ์„œ๋น„์Šค๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋ ค๊ณ  ํ•˜๋ฉด ์˜ค๋ฅ˜์™€ ํ•จ๊ป˜ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๊ฐ€์ƒ ์ธํ„ฐํŽ˜์ด์Šค ํ˜•ํƒœ์˜ ์ผ๋ถ€๊ฐ€ tun2socks ์„œ๋น„์Šค์— ์—ฐ๊ฒฐ๋˜์–ด ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ ์„œ๋น„์Šค๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋ ค๋ฉด ๋จผ์ € tun2socks ์„œ๋น„์Šค๋ฅผ ์ค‘์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋๊นŒ์ง€ ์ฝ์–ด๋ณด์‹œ๋ฉด ์ „ํ˜€ ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š์„ ๊ฒƒ ๊ฐ™์•„์š”!

์ฐธ์กฐ

  1. Linux์˜ ์ •์  ๋ผ์šฐํŒ… - IBM
  2. systemd-networkd.service - Freedesktop.org
  3. Tun2socks ยท ambrop72/badvpn Wiki ยท GitHub
  4. oblique/create_ap: ์ด ์Šคํฌ๋ฆฝํŠธ๋Š” NAT ๋˜๋Š” ๋ธŒ๋ฆฌ์ง€ WiFi ์•ก์„ธ์Šค ํฌ์ธํŠธ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  5. dnscrypt-proxy 2 โ€” ์•”ํ˜ธํ™”๋œ DNS ํ”„๋กœํ† ์ฝœ์„ ์ง€์›ํ•˜๋Š” ์œ ์—ฐํ•œ DNS ํ”„๋ก์‹œ์ž…๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com