ํ†ตํ–‰ OpenVPN ์— WireGuard ๋„คํŠธ์›Œํฌ๋“ค์„ ํ•˜๋‚˜์˜ L2 ๋„คํŠธ์›Œํฌ๋กœ ๊ฒฐํ•ฉํ•˜๊ธฐ

ํ†ตํ–‰ OpenVPN ์— WireGuard ๋„คํŠธ์›Œํฌ๋“ค์„ ํ•˜๋‚˜์˜ L2 ๋„คํŠธ์›Œํฌ๋กœ ๊ฒฐํ•ฉํ•˜๊ธฐ

OpenWRT๋ฅผ ๊ฒŒ์ดํŠธ์›จ์ด๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ผ์šฐํ„ฐ๋ฅผ ๊ฐ๊ฐ ์‚ฌ์šฉํ•˜๋Š” ์ง€๋ฆฌ์ ์œผ๋กœ ๋–จ์–ด์ง„ 3๊ฐœ์˜ ์•„ํŒŒํŠธ์—์„œ ๋„คํŠธ์›Œํฌ๋ฅผ ํ•˜๋‚˜์˜ ๊ณตํ†ต ๋„คํŠธ์›Œํฌ๋กœ ๊ฒฐํ•ฉํ•œ ๊ฒฝํ—˜์„ ๊ณต์œ ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์„œ๋ธŒ๋„ท ๋ผ์šฐํŒ…์ด ์žˆ๋Š” L2์™€ ๋ธŒ๋ฆฌ์ง•์ด ์žˆ๋Š” LXNUMX ์‚ฌ์ด์˜ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ฒฐํ•ฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•  ๋•Œ ๋ชจ๋“  ๋„คํŠธ์›Œํฌ ๋…ธ๋“œ๊ฐ€ ๋™์ผํ•œ ์„œ๋ธŒ๋„ท์— ์žˆ์„ ๋•Œ ๊ตฌ์„ฑํ•˜๊ธฐ๊ฐ€ ๋” ์–ด๋ ต์ง€๋งŒ ํˆฌ๋ช…ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋” ๋งŽ์€ ๊ธฐํšŒ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋‘ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์ด ์„ ํ˜ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ƒ์„ฑ๋œ ๋„คํŠธ์›Œํฌ Wake-on-Lan ๋ฐ DLNA์—์„œ ๊ธฐ์ˆ  ์‚ฌ์šฉ์ด ๊ณ„ํš๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ํŒŒํŠธ 1: ๋ฐฐ๊ฒฝ

์ด ์ž‘์—…์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์„ ํƒ๋œ ํ”„๋กœํ† ์ฝœ์€ ์ฒ˜์Œ์— ๋‹ค์Œ๊ณผ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค. OpenVPN์ฒซ์งธ, ์•„๋ฌด ๋ฌธ์ œ ์—†์ด ๋ธŒ๋ฆฌ์ง€์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ํƒญ ์žฅ์น˜๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ณ , ๋‘˜์งธ, OpenVPN TCP๋ฅผ ์ง€์›ํ•œ๋‹ค๋Š” ์ ๋„ ์ค‘์š”ํ–ˆ๋Š”๋ฐ, ์•„ํŒŒํŠธ๋งˆ๋‹ค ์ „์šฉ IP ์ฃผ์†Œ๊ฐ€ ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ISP์—์„œ ๋ฌด์Šจ ์ด์œ ์ธ์ง€ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ UDP ์—ฐ๊ฒฐ์„ ์ฐจ๋‹จํ•ด์„œ STUN์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. TCP ๋•๋ถ„์— SSH๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ VPN ์„œ๋ฒ„ ํฌํŠธ๋ฅผ ์ž„๋Œ€ํ•œ VPS๋กœ ํฌ์›Œ๋”ฉํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฐฉ์‹์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์ด์ค‘์œผ๋กœ ์•”ํ˜ธํ™”๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ƒ๋‹นํ•œ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€๋งŒ, ์ œ3์ž๊ฐ€ VPS์— ์ ‘๊ทผํ•  ์œ„ํ—˜์ด ์žˆ์–ด ๊ฐœ์ธ ๋„คํŠธ์›Œํฌ์— ํ†ตํ•ฉํ•˜๊ณ  ์‹ถ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ™ˆ ๋„คํŠธ์›Œํฌ์— VPS๋ฅผ ๋‘๋Š” ๊ฒƒ์€ ๋งค์šฐ ์œ„ํ—˜ํ–ˆ๊ธฐ์— ๋ณด์•ˆ์„ ์œ„ํ•ด ์ƒ๋‹นํ•œ ๋น„์šฉ์„ ์ง€๋ถˆํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

์„œ๋ฒ„๋ฅผ ๋ฐฐํฌํ•  ๋ผ์šฐํ„ฐ์—์„œ ํฌํŠธ ํฌ์›Œ๋”ฉ์„ ์œ„ํ•ด sshtunnel ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์„ค์ • ๋ฐฉ๋ฒ•์€ ๋งค์šฐ ๊ฐ„๋‹จํ•˜๋ฏ€๋กœ ์ž์„ธํ•œ ์„ค๋ช…์€ ์ƒ๋žตํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. sshtunnel์˜ ๋ชฉ์ ์€ ๋ผ์šฐํ„ฐ์—์„œ VPS๋กœ TCP ํฌํŠธ 1194๋ฅผ ํฌ์›Œ๋”ฉํ•˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์œผ๋กœ ์„œ๋ฒ„๋ฅผ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. OpenVPN br-lan ๋ธŒ๋ฆฌ์ง€์— ์—ฐ๊ฒฐ๋œ tap0 ์žฅ์น˜์—์„œ, ์ œ ๋…ธํŠธ๋ถ์œผ๋กœ ์ƒˆ๋กœ ์ƒ์„ฑ๋œ ์„œ๋ฒ„์— ์ ‘์† ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด๋ณด๋‹ˆ ํฌํŠธ ํฌ์›Œ๋”ฉ์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์—ฌ ์ œ ๋…ธํŠธ๋ถ์ด ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋ผ์šฐํ„ฐ ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ ๋‚จ์€ ์ผ์€ ๊ฐ ์•„ํŒŒํŠธ์— IP ์ฃผ์†Œ๋ฅผ ๋ฐฐ๋ถ„ํ•˜์—ฌ ์ถฉ๋Œ์„ ๋ฐฉ์ง€ํ•˜๊ณ  ๋ผ์šฐํ„ฐ๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒƒ๋ฟ์ด์—ˆ์Šต๋‹ˆ๋‹ค. OpenVPN-๊ณ ๊ฐ๋“ค.
๋‹ค์Œ ๋ผ์šฐํ„ฐ IP ์ฃผ์†Œ ๋ฐ DHCP ์„œ๋ฒ„ ๋ฒ”์œ„๊ฐ€ ์„ ํƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • 192.168.10.1 ๋ฒ”์œ„ ํฌํ•จ 192.168.10.2 - 192.168.10.80 ์„œ๋ฒ„์šฉ
  • 192.168.10.100 ๋ฒ”์œ„ ํฌํ•จ 192.168.10.101 - 192.168.10.149 2ํ˜ธ ์•„ํŒŒํŠธ ๋ผ์šฐํ„ฐ์šฉ
  • 192.168.10.150 ๋ฒ”์œ„ ํฌํ•จ 192.168.10.151 - 192.168.10.199 3ํ˜ธ ์•„ํŒŒํŠธ ๋ผ์šฐํ„ฐ์šฉ

๋˜ํ•œ ์ด๋Ÿฌํ•œ ์ฃผ์†Œ๋ฅผ ํด๋ผ์ด์–ธํŠธ ๋ผ์šฐํ„ฐ์— ํ• ๋‹นํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. OpenVPN-์„œ๋ฒ„์˜ ๊ตฌ์„ฑ ํŒŒ์ผ์— ๋‹ค์Œ ์ค„์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ณ€๊ฒฝํ•˜์‹ญ์‹œ์˜ค.

ifconfig-pool-persist /etc/openvpn/ipp.txt 0

/etc/openvpn/ipp.txt ํŒŒ์ผ์— ๋‹ค์Œ ์ค„์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

flat1_id 192.168.10.100
flat2_id 192.168.10.150

์—ฌ๊ธฐ์„œ flat1_id์™€ flat2_id๋Š” ์—ฐ๊ฒฐ์šฉ ์ธ์ฆ์„œ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์ง€์ •ํ•œ ์žฅ์น˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. OpenVPN

๋‹ค์Œ์œผ๋กœ ๋ผ์šฐํ„ฐ๋ฅผ ๊ตฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. OpenVPNํด๋ผ์ด์–ธํŠธ์™€ ๋‘ ๋ผ์šฐํ„ฐ์˜ tap0 ์žฅ์น˜๋“ค์„ br-lan ๋ธŒ๋ฆฌ์ง€์— ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ์‹œ์ ๊นŒ์ง€๋Š” ๋ชจ๋“  ๊ฒƒ์ด ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์˜€์Šต๋‹ˆ๋‹ค. ์„ธ ๋„คํŠธ์›Œํฌ ๋ชจ๋‘ ์„œ๋กœ๋ฅผ ์ธ์‹ํ•˜๊ณ  ํ•˜๋‚˜์˜ ์žฅ์น˜์ฒ˜๋Ÿผ ์ž‘๋™ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‹ค์†Œ ๋ถˆํŽธํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋•Œ๋•Œ๋กœ ์žฅ์น˜๋“ค์ด ์ž˜๋ชป๋œ ๋ผ์šฐํ„ฐ์—์„œ IP ์ฃผ์†Œ๋ฅผ ํ• ๋‹น๋ฐ›๋Š” ํ˜„์ƒ์ด ๋‚˜ํƒ€๋‚ฌ๊ณ , ์ด๋กœ ์ธํ•ด ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ์ด์œ ์—์„œ์ธ์ง€ ํ•œ ์•„ํŒŒํŠธ์˜ ๋ผ์šฐํ„ฐ๊ฐ€ DHCPDISCOVER ์š”์ฒญ์— ์ œ๋•Œ ์‘๋‹ตํ•˜์ง€ ๋ชปํ•ด์„œ ์žฅ์น˜๊ฐ€ ์ž˜๋ชป๋œ ์ฃผ์†Œ๋ฅผ ๋ฐ›๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋ผ์šฐํ„ฐ์˜ tap0์—์„œ ์ด๋Ÿฌํ•œ ์š”์ฒญ์„ ํ•„ํ„ฐ๋งํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜์ง€๋งŒ, iptables๋Š” ๋ธŒ๋ฆฌ์ง€์— ์†ํ•œ ์žฅ์น˜์—๋Š” ์ ์šฉ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ebtables๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ œ ํŽŒ์›จ์–ด์—๋Š” ebtables๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์•„ ๊ฐ ์žฅ์น˜์˜ ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์‹œ ๋นŒ๋“œํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•œ ํ›„ ๊ฐ ๋ผ์šฐํ„ฐ์˜ /etc/rc.local ํŒŒ์ผ์— ๋‹ค์Œ ์ค„์„ ์ถ”๊ฐ€ํ•˜์ž ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ebtables -A INPUT --in-interface tap0 --protocol ipv4 --ip-protocol udp --ip-destination-port 67:68 -j DROP
ebtables -A INPUT --in-interface tap0 --protocol ipv4 --ip-protocol udp --ip-source-port 67:68 -j DROP
ebtables -A FORWARD --out-interface tap0 --protocol ipv4 --ip-protocol udp --ip-destination-port 67:68 -j DROP
ebtables -A FORWARD --out-interface tap0 --protocol ipv4 --ip-protocol udp --ip-source-port 67:68 -j DROP

์ด ๊ตฌ์„ฑ์€ XNUMX๋…„ ๋™์•ˆ ์ง€์†๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ํŒŒํŠธ 2: ์„œ๋กœ ์•Œ์•„๊ฐ€๊ธฐ WireGuard

์ตœ๊ทผ ์ธํ„ฐ๋„ท์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์•ผ๊ธฐ๊ฐ€ ์ ์  ๋” ๋งŽ์ด ๋‚˜์˜ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. WireGuard์„ค์ •์ด ์‰ฝ๊ณ , ์ „์†ก ์†๋„๊ฐ€ ๋น ๋ฅด๋ฉฐ, ํ•‘์ด ๋‚ฎ๊ณ , ๋ณด์•ˆ ์ˆ˜์ค€์ด ์šฐ์ˆ˜ํ•˜๋‹ค๋Š” ์ ์— ๊ฐํƒ„ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ์ฐพ์•„๋ณด๋‹ˆ ๋ธŒ๋ฆฌ์ง€ ๋ฉค๋ฒ„ ๊ธฐ๋Šฅ์ด๋‚˜ TCP ํ”„๋กœํ† ์ฝœ์„ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๊ณ , ๋‹ค๋ฅธ ๋Œ€์•ˆ์ด ์—†๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. OpenVPN ์ œ๊ฒŒ๋Š” ์•„์ง ๊ทธ ๋А๋‚Œ์ด ์—†์–ด์š”. ๊ทธ๋ž˜์„œ ์•Œ์•„๊ฐ€๋Š” ๊ฑธ ๋ฏธ๋ค„์™”์ฃ . WireGuard.

๋ฉฐ์น  ์ „ IT ๊ด€๋ จ ๋งค์ฒด๋“ค์„ ํ†ตํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์†Œ์‹์ด ํผ์กŒ์Šต๋‹ˆ๋‹ค. WireGuard ๋งˆ์นจ๋‚ด ์ปค๋„์— ํฌํ•จ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. Linux๋ฒ„์ „ 5.6๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ๋‰ด์Šค ๊ธฐ์‚ฌ๋“ค์€ ์–ธ์ œ๋‚˜์ฒ˜๋Ÿผ ํ˜ธํ‰์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. WireGuard๋‚˜๋Š” ๋‹ค์‹œ ํ•œ๋ฒˆ ์˜ˆ์ „์˜ ์ข‹์€ ๊ฒƒ์„ ๋Œ€์ฒดํ•  ๋ฐฉ๋ฒ•์„ ์ฐพ๋Š” ๋ฐ ๋ชฐ๋‘ํ–ˆ๋‹ค. OpenVPN์ด๋ฒˆ์—๋Š” ์šฐ์—ฐํžˆ ๋งˆ์ฃผ์ณค์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์„œ. GRE๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ L3๋ฅผ ํ†ตํ•œ ์ด๋”๋„ท ํ„ฐ๋„ ์ƒ์„ฑ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ์‚ฌ๋Š” ๋‚˜์—๊ฒŒ ํฌ๋ง์„ ์ฃผ์—ˆ๋‹ค. UDP ํ”„๋กœํ† ์ฝœ๋กœ ๋ฌด์—‡์„ ํ•ด์•ผ ํ• ์ง€ ๋ถˆ๋ถ„๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ UDP ํฌํŠธ๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด SSH ํ„ฐ๋„๊ณผ ํ•จ๊ป˜ socat์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๊ธฐ์‚ฌ๊ฐ€ ๋‚˜์™”์ง€๋งŒ ์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ ๋‹จ์ผ ์—ฐ๊ฒฐ ๋ชจ๋“œ์—์„œ๋งŒ ์ž‘๋™ํ•˜๋ฏ€๋กœ ์—ฌ๋Ÿฌ VPN ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. VPS์— VPN ์„œ๋ฒ„๋ฅผ ์„ค์ •ํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ์— GRE๋ฅผ ์„ค์ •ํ•˜๋Š” ์•„์ด๋””์–ด๋ฅผ ์ƒ๊ฐํ•ด ๋ƒˆ์ง€๋งŒ ์•Œ๊ณ  ๋ณด๋‹ˆ GRE๋Š” ์•”ํ˜ธํ™”๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ œXNUMX์ž๊ฐ€ ์„œ๋ฒ„์— ์•ก์„ธ์Šคํ•  ๊ฒฝ์šฐ , ๋‚ด ๋„คํŠธ์›Œํฌ ๊ฐ„์˜ ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ์€ ๋‚˜์—๊ฒŒ ์ „ํ˜€ ์ ํ•ฉํ•˜์ง€ ์•Š์€ ์†์— ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์‹œ ํ•œ ๋ฒˆ, ๋‹ค์Œ ์ฒด๊ณ„์— ๋”ฐ๋ผ VPN over VPN์„ ์‚ฌ์šฉํ•˜์—ฌ ์ค‘๋ณต ์•”ํ˜ธํ™”๋ฅผ ์„ ํ˜ธํ•˜๋Š” ๊ฒฐ์ •์ด ๋‚ด๋ ค์กŒ์Šต๋‹ˆ๋‹ค.

๋ ˆ์ด์–ด XNUMX VPN:
VPS ์ด ์„ฌ๊ธฐ๋Š” ์‚ฌ๋žŒ ๋‚ด๋ถ€ ์ฃผ์†Œ 192.168.30.1 ํฌํ•จ
MS ์ด ๊ณ ๊ฐ ๋‚ด๋ถ€ ์ฃผ์†Œ๊ฐ€ 192.168.30.2์ธ VPS
MK2 ์ด ๊ณ ๊ฐ ๋‚ด๋ถ€ ์ฃผ์†Œ๊ฐ€ 192.168.30.3์ธ VPS
MK3 ์ด ๊ณ ๊ฐ ๋‚ด๋ถ€ ์ฃผ์†Œ๊ฐ€ 192.168.30.4์ธ VPS

๋ ˆ์ด์–ด XNUMX VPN:
MS ์ด ์„ฌ๊ธฐ๋Š” ์‚ฌ๋žŒ ์™ธ๋ถ€ ์ฃผ์†Œ 192.168.30.2 ๋ฐ ๋‚ด๋ถ€ ์ฃผ์†Œ 192.168.31.1
MK2 ์ด ๊ณ ๊ฐ MS ์ฃผ์†Œ๋Š” 192.168.30.2์ด๊ณ  ๋‚ด๋ถ€ IP๋Š” 192.168.31.2์ž…๋‹ˆ๋‹ค.
MK3 ์ด ๊ณ ๊ฐ MS ์ฃผ์†Œ๋Š” 192.168.30.2์ด๊ณ  ๋‚ด๋ถ€ IP๋Š” 192.168.31.3์ž…๋‹ˆ๋‹ค.

* MS - ์•„ํŒŒํŠธ 1์˜ ๋ผ์šฐํ„ฐ ์„œ๋ฒ„, MK2 - ์•„ํŒŒํŠธ 2์˜ ๋ผ์šฐํ„ฐ, MK3 - ์•„ํŒŒํŠธ 3์˜ ๋ผ์šฐํ„ฐ
* ์žฅ์น˜ ๊ตฌ์„ฑ์€ ๊ธฐ์‚ฌ ๋์˜ ์Šคํฌ์ผ๋Ÿฌ์— ๊ฒŒ์‹œ๋ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋„คํŠธ์›Œํฌ 192.168.31.0/24์˜ ๋…ธ๋“œ ๊ฐ„ ping์ด ๋ฐœ์ƒํ•˜๋ฉด GRE ํ„ฐ๋„ ์„ค์ •์œผ๋กœ ๋„˜์–ด๊ฐˆ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค. ๊ทธ ์ „์— ๋ผ์šฐํ„ฐ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ์žƒ์ง€ ์•Š์œผ๋ ค๋ฉด ํฌํŠธ 22๋ฅผ VPS๋กœ ์ „๋‹ฌํ•˜๋„๋ก SSH ํ„ฐ๋„์„ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์•„ํŒŒํŠธ 10022์˜ ๋ผ์šฐํ„ฐ๋Š” VPS์˜ ํฌํŠธ 2์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„ํŒŒํŠธ 11122์˜ ๋ผ์šฐํ„ฐ๋Š” VPS์˜ ํฌํŠธ 3์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ์•„ํŒŒํŠธ XNUMX์˜ ๋ผ์šฐํ„ฐ ๋ผ์šฐํ„ฐ๊ฐ€ ๋–จ์–ด์งˆ ๊ฒฝ์šฐ ํ„ฐ๋„์„ ๋ณต์›ํ•˜๋ฏ€๋กœ ๋™์ผํ•œ sshtunnel๋กœ ํฌ์›Œ๋”ฉ์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹์Šต๋‹ˆ๋‹ค.

ํ„ฐ๋„์ด ๊ตฌ์„ฑ๋˜๋ฉด ์ „๋‹ฌ๋œ ํฌํŠธ๋ฅผ ํ†ตํ•ด SSH์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ssh root@ะœะžะ™_VPS -p 10022

๋‹ค์Œ์œผ๋กœ ๋น„ํ™œ์„ฑํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. OpenVPN:

/etc/init.d/openvpn stop

์ด์ œ ์•„ํŒŒํŠธ 2์˜ ๋ผ์šฐํ„ฐ์— GRE ํ„ฐ๋„์„ ์„ค์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

ip link add grelan0 type gretap remote 192.168.31.1 local 192.168.31.2
ip link set grelan0 up

๊ทธ๋ฆฌ๊ณ  ์ƒ์„ฑ๋œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋ธŒ๋ฆฌ์ง€์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

brctl addif br-lan grelan0

์„œ๋ฒ„ ๋ผ์šฐํ„ฐ์—์„œ ์œ ์‚ฌํ•œ ์ ˆ์ฐจ๋ฅผ ์ˆ˜ํ–‰ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

ip link add grelan0 type gretap remote 192.168.31.2 local 192.168.31.1
ip link set grelan0 up

๋˜ํ•œ ์ƒ์„ฑ๋œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋ธŒ๋ฆฌ์ง€์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

brctl addif br-lan grelan0

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

$ telnet 192.168.10.110 22
SSH-2.0-OpenSSH_8.1

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

์ €๋Š” grelan0 ์žฅ์น˜๋ฅผ ๋ธŒ๋ฆฌ์ง€์—์„œ ๊บผ๋‚ด์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. OpenVPN 2ํ˜ธ ์•„ํŒŒํŠธ์˜ ๊ณต์œ ๊ธฐ์—์„œ ๋„คํŠธ์›Œํฌ๊ฐ€ ๋‹ค์‹œ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜๊ณ  ์—ฐ๊ฒฐ์ด ๋Š๊ธฐ์ง€ ์•Š๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฒ€์ƒ‰ํ•ด ๋ณด๋‹ˆ ๋น„์Šทํ•œ ๋ฌธ์ œ๋ฅผ ๊ฒช๋Š” ์‚ฌ๋žŒ๋“ค์ด ๋งŽ์•˜๊ณ , MTU ๊ฐ’์„ ๋†’์ด๋ผ๋Š” ์กฐ์–ธ์„ ๋ฐ›์•˜๋”๊ตฐ์š”. ๊ทธ๋ž˜์„œ ๋ฐ”๋กœ MTU ๊ฐ’์„ ๋†’์—ฌ๋ดค์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ gretap ์žฅ์น˜์˜ ๊ฒฝ์šฐ MTU๋ฅผ 7000์œผ๋กœ ์„ค์ •ํ•˜๊ธฐ ์ „๊นŒ์ง€๋Š” TCP ์—ฐ๊ฒฐ์ด ๋Š๊ธฐ๊ฑฐ๋‚˜ ์ „์†ก ์†๋„๊ฐ€ ๋А๋ ค์ง€๋Š” ํ˜„์ƒ์ด ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. gretap์˜ MTU๊ฐ€ ๋„ˆ๋ฌด ๋†’์œผ๋ฉด ์—ฐ๊ฒฐ์— ํ•„์š”ํ•œ MTU ๊ฐ’๋„ ๋‚ฎ์•„์ง€๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. WireGuard ์ฒซ ๋ฒˆ์งธ ๋ฐ ๋‘ ๋ฒˆ์งธ ๋ ˆ๋ฒจ์€ ๊ฐ๊ฐ 8000๊ณผ 7500์œผ๋กœ ์„ค์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์•„ํŒŒํŠธ 3์˜ ๋ผ์šฐํ„ฐ์—์„œ ๋น„์Šทํ•œ ์„ค์ •์„ ์ˆ˜ํ–‰ํ–ˆ์œผ๋ฉฐ ์œ ์ผํ•œ ์ฐจ์ด์ ์€ grelan1์ด๋ผ๋Š” ๋‘ ๋ฒˆ์งธ gretap ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์„œ๋ฒ„ ๋ผ์šฐํ„ฐ์— ์ถ”๊ฐ€๋˜์—ˆ๊ณ  br-lan ๋ธŒ๋ฆฌ์ง€์—๋„ ์ถ”๊ฐ€๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ชจ๋“  ๊ฒƒ์ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ gretap ์–ด์…ˆ๋ธ”๋ฆฌ๋ฅผ ์ž๋™ ๋กœ๋“œ์— ๋„ฃ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด:

์•„ํŒŒํŠธ 2์— ์žˆ๋Š” ๋ผ์šฐํ„ฐ์˜ /etc/rc.local์— ๋‹ค์Œ ์ค„์„ ๋ฐฐ์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

ip link add grelan0 type gretap remote 192.168.31.1 local 192.168.31.2
ip link set dev grelan0 mtu 7000
ip link set grelan0 up
brctl addif br-lan grelan0

์ด๊ฒƒ์„ ์•„ํŒŒํŠธ 3์˜ ๋ผ์šฐํ„ฐ์— ์žˆ๋Š” /etc/rc.local์— ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

ip link add grelan0 type gretap remote 192.168.31.1 local 192.168.31.3
ip link set dev grelan0 mtu 7000
ip link set grelan0 up
brctl addif br-lan grelan0

๊ทธ๋ฆฌ๊ณ  ์„œ๋ฒ„ ๋ผ์šฐํ„ฐ์—์„œ:

ip link add grelan0 type gretap remote 192.168.31.2 local 192.168.31.1
ip link set dev grelan0 mtu 7000
ip link set grelan0 up
brctl addif br-lan grelan0

ip link add grelan1 type gretap remote 192.168.31.3 local 192.168.31.1
ip link set dev grelan1 mtu 7000
ip link set grelan1 up
brctl addif br-lan grelan1

ํด๋ผ์ด์–ธํŠธ ๋ผ์šฐํ„ฐ๋ฅผ ์žฌ๋ถ€ํŒ…ํ•œ ํ›„, ๋ฌด์Šจ ์ด์œ ์ธ์ง€ ์„œ๋ฒ„์— ์—ฐ๊ฒฐ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹คํ–‰ํžˆ ์ด์ „์— sshtunnel์„ ์„ค์ •ํ•ด ๋‘” ๋•๋ถ„์— ํด๋ผ์ด์–ธํŠธ ๋ผ์šฐํ„ฐ์˜ SSH์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ , ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‚ฌ์‹ค์„ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. WireGuard ์–ด๋–ค ์ด์œ ์—์„œ์ธ์ง€ ์—”๋“œํฌ์ธํŠธ์— ๋Œ€ํ•œ ๊ฒฝ๋กœ๊ฐ€ ์ƒ์„ฑ๋˜์ง€๋งŒ, ์ž˜๋ชป๋œ ๊ฒฝ๋กœ๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 192.168.30.2์˜ ๊ฒฝ์šฐ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์—๋Š” pppoe-wan ์ธํ„ฐํŽ˜์ด์Šค, ์ฆ‰ ์ธํ„ฐ๋„ท์„ ํ†ตํ•œ ๊ฒฝ๋กœ๊ฐ€ ์ง€์ •๋˜์–ด ์žˆ์ง€๋งŒ, ์‹ค์ œ๋กœ๋Š” wg0 ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ๋กœ๋ฅผ ์‚ญ์ œํ•œ ํ›„ ์—ฐ๊ฒฐ์ด ๋ณต๊ตฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ฒฝ๋กœ๋ฅผ ๊ฐ•์ œ๋กœ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์–ด๋””์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์„๊นŒ์š”? WireGuard ์ €๋Š” ์ด๋Ÿฌํ•œ ๊ฒฝ๋กœ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์„ ํ”ผํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€, ์ด๊ฒƒ์ด OpenWRT์˜ ๊ธฐ๋Šฅ์ธ์ง€ ์•„๋‹ˆ๋ฉด ๋‹ค๋ฅธ ์›์ธ์ธ์ง€์กฐ์ฐจ ์ดํ•ดํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. WireGuard๋ฌธ์ œ ํ•ด๊ฒฐ์— ๋งŽ์€ ์‹œ๊ฐ„์„ ๋“ค์ด์ง€ ์•Š๊ณ , ๋‘ ๋ผ์šฐํ„ฐ์˜ ํƒ€์ด๋จธ ๋ฃจํ”„ ์Šคํฌ๋ฆฝํŠธ์— ํ•ด๋‹น ๊ฒฝ๋กœ๋ฅผ ์‚ญ์ œํ•˜๋Š” ์ค„์„ ๊ฐ„๋‹จํžˆ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

route del 192.168.30.2

์ตœ๋Œ€ ํ•ฉ๊ณ„

์™„์ „ ๊ฑฐ์ ˆ OpenVPN ์•„์ง ์ด ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•˜์ง€๋Š” ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๋…ธํŠธ๋ถ์ด๋‚˜ ํœด๋Œ€ํฐ์œผ๋กœ ์ƒˆ๋กœ์šด ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐํ•ด์•ผ ํ•  ๋•Œ๊ฐ€ ์žˆ๋Š”๋ฐ, ๊ทธ๋Ÿฐ ๊ธฐ๊ธฐ๋“ค์— Gretap ์žฅ์น˜๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์œผ๋กœ ๋ถˆ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์•„ํŒŒํŠธ ๊ฐ„ ๋ฐ์ดํ„ฐ ์ „์†ก ์†๋„๊ฐ€ ํ–ฅ์ƒ๋˜์—ˆ๊ณ , VNC ์‚ฌ์šฉ๋„ ํ›จ์”ฌ ์ˆ˜์›”ํ•ด์กŒ์Šต๋‹ˆ๋‹ค. ํ•‘๋„ ์•ฝ๊ฐ„ ๋‚ฎ์•„์กŒ์ง€๋งŒ ํ›จ์”ฌ ์•ˆ์ •์ ์ž…๋‹ˆ๋‹ค.

๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ OpenVPN:

[r0ck3r@desktop ~]$ ping -c 20 192.168.10.110
PING 192.168.10.110 (192.168.10.110) 56(84) bytes of data.
64 bytes from 192.168.10.110: icmp_seq=1 ttl=64 time=133 ms
...
64 bytes from 192.168.10.110: icmp_seq=20 ttl=64 time=125 ms

--- 192.168.10.110 ping statistics ---
20 packets transmitted, 20 received, 0% packet loss, time 19006ms
rtt min/avg/max/mdev = 124.722/126.152/136.907/3.065 ms

๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ WireGuard:

[r0ck3r@desktop ~]$ ping -c 20 192.168.10.110
PING 192.168.10.110 (192.168.10.110) 56(84) bytes of data.
64 bytes from 192.168.10.110: icmp_seq=1 ttl=64 time=124 ms
...
64 bytes from 192.168.10.110: icmp_seq=20 ttl=64 time=124 ms
--- 192.168.10.110 ping statistics ---
20 packets transmitted, 20 received, 0% packet loss, time 19003ms
rtt min/avg/max/mdev = 123.954/124.423/126.708/0.675 ms

์ฃผ๋กœ ์•ฝ 61.5ms์ธ VPS์— ๋Œ€ํ•œ ๋†’์€ ํ•‘์˜ ์˜ํ–ฅ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์†๋„๋Š” ์ƒ๋‹นํžˆ ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ผ์šฐํ„ฐ ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š” ์•„ํŒŒํŠธ์—์„œ๋Š” โ€‹โ€‹์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ ์†๋„๊ฐ€ 30Mbps์ด๊ณ , ๋‹ค๋ฅธ ์•„ํŒŒํŠธ์—์„œ๋Š” โ€‹โ€‹5Mbps์ž…๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ์‚ฌ์šฉ ์ค‘์—๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. OpenVPN iperf ์ธก์ • ๊ฒฐ๊ณผ์— ๋”ฐ๋ฅด๋ฉด ๋„คํŠธ์›Œํฌ ๊ฐ„ ๋ฐ์ดํ„ฐ ์ „์†ก ์†๋„๊ฐ€ 3,8Mbps๋ฅผ ๋„˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. WireGuard ์†๋„๋ฅผ 5Mbit/sec๊นŒ์ง€ "๋†’์˜€๋‹ค".

๊ตฌ์„ฑ WireGuard VPS์—์„œ[Interface]
Address = 192.168.30.1/24
ListenPort = 51820
PrivateKey = <ะ—ะะšะ ะซะขะซะ™_ะšะ›ะฎะง_ะ”ะ›ะฏ_VPS>

[๋™๋ฃŒ]
๊ณต๊ฐœํ‚ค = <VPN_1_MS_PUBLIC_KEY>
ํ—ˆ์šฉ ๋œ IP = 192.168.30.2/32

[๋™๋ฃŒ]
๊ณต๊ฐœํ‚ค = <VPN_2_MK2_PUBLIC_KEY>
ํ—ˆ์šฉ ๋œ IP = 192.168.30.3/32

[๋™๋ฃŒ]
๊ณต๊ฐœํ‚ค = <VPN_2_MK3_PUBLIC_KEY>
ํ—ˆ์šฉ ๋œ IP = 192.168.30.4/32

๊ตฌ์„ฑ WireGuard MS์—์„œ (/etc/config/network์— ์ถ”๊ฐ€๋จ)

#VPN ะฟะตั€ะฒะพะณะพ ัƒั€ะพะฒะฝั - ะบะปะธะตะฝั‚
config interface 'wg0'
        option proto 'wireguard'
        list addresses '192.168.30.2/24'
        option private_key 'ะ—ะะšะ ะซะขะซะ™_ะšะ›ะฎะง_VPN_1_ะœะก'
        option auto '1'
        option mtu '8000'

config wireguard_wg0
        option public_key 'ะžะขะšะ ะซะขะซะ™_ะšะ›ะฎะง_VPN_1_VPS'
        option endpoint_port '51820'
        option route_allowed_ips '1'
        option persistent_keepalive '25'
        list allowed_ips '192.168.30.0/24'
        option endpoint_host 'IP_ะะ”ะ ะ•ะก_VPS'

#VPN ะฒั‚ะพั€ะพะณะพ ัƒั€ะพะฒะฝั - ัะตั€ะฒะตั€
config interface 'wg1'
        option proto 'wireguard'
        option private_key 'ะ—ะะšะ ะซะขะซะ™_ะšะ›ะฎะง_VPN_2_ะœะก'
        option listen_port '51821'
        list addresses '192.168.31.1/24'
        option auto '1'
        option mtu '7500'

config wireguard_wg1
        option public_key 'ะžะขะšะ ะซะขะซะ™_ะšะ›ะฎะง_VPN_2_ะœะš2'
        list allowed_ips '192.168.31.2'

config wireguard_wg1ip link add grelan0 type gretap remote 192.168.31.1 local 192.168.31.3

        option public_key 'ะžะขะšะ ะซะขะซะ™_ะšะ›ะฎะง_VPN_2_ะœะš3'
        list allowed_ips '192.168.31.3'

๊ตฌ์„ฑ WireGuard MK2์—์„œ (/etc/config/network์— ์ถ”๊ฐ€๋จ)

#VPN ะฟะตั€ะฒะพะณะพ ัƒั€ะพะฒะฝั - ะบะปะธะตะฝั‚
config interface 'wg0'
        option proto 'wireguard'
        list addresses '192.168.30.3/24'
        option private_key 'ะ—ะะšะ ะซะขะซะ™_ะšะ›ะฎะง_VPN_1_ะœะš2'
        option auto '1'
        option mtu '8000'

config wireguard_wg0
        option public_key 'ะžะขะšะ ะซะขะซะ™_ะšะ›ะฎะง_VPN_1_VPS'
        option endpoint_port '51820'
        option persistent_keepalive '25'
        list allowed_ips '192.168.30.0/24'
        option endpoint_host 'IP_ะะ”ะ ะ•ะก_VPS'

#VPN ะฒั‚ะพั€ะพะณะพ ัƒั€ะพะฒะฝั - ะบะปะธะตะฝั‚
config interface 'wg1'
        option proto 'wireguard'
        option private_key 'ะ—ะะšะ ะซะขะซะ™_ะšะ›ะฎะง_VPN_2_ะœะš2'
        list addresses '192.168.31.2/24'
        option auto '1'
        option listen_port '51821'
        option mtu '7500'

config wireguard_wg1
        option public_key 'ะžะขะšะ ะซะขะซะ™_ะšะ›ะฎะง_VPN_2_ะœะก'
        option endpoint_host '192.168.30.2'
        option endpoint_port '51821'
        option persistent_keepalive '25'
        list allowed_ips '192.168.31.0/24'

๊ตฌ์„ฑ WireGuard MK3์—์„œ (/etc/config/network์— ์ถ”๊ฐ€๋จ)

#VPN ะฟะตั€ะฒะพะณะพ ัƒั€ะพะฒะฝั - ะบะปะธะตะฝั‚
config interface 'wg0'
        option proto 'wireguard'
        list addresses '192.168.30.4/24'
        option private_key 'ะ—ะะšะ ะซะขะซะ™_ะšะ›ะฎะง_VPN_1_ะœะš3'
        option auto '1'
        option mtu '8000'

config wireguard_wg0
        option public_key 'ะžะขะšะ ะซะขะซะ™_ะšะ›ะฎะง_VPN_1_VPS'
        option endpoint_port '51820'
        option persistent_keepalive '25'
        list allowed_ips '192.168.30.0/24'
        option endpoint_host 'IP_ะะ”ะ ะ•ะก_VPS'

#VPN ะฒั‚ะพั€ะพะณะพ ัƒั€ะพะฒะฝั - ะบะปะธะตะฝั‚
config interface 'wg1'
        option proto 'wireguard'
        option private_key 'ะ—ะะšะ ะซะขะซะ™_ะšะ›ะฎะง_VPN_2_ะœะš3'
        list addresses '192.168.31.3/24'
        option auto '1'
        option listen_port '51821'
        option mtu '7500'

config wireguard_wg1
        option public_key 'ะžะขะšะ ะซะขะซะ™_ะšะ›ะฎะง_VPN_2_ะœะก'
        option endpoint_host '192.168.30.2'
        option endpoint_port '51821'
        option persistent_keepalive '25'
        list allowed_ips '192.168.31.0/24'

์„ค๋ช…๋œ 2๋‹จ๊ณ„ VPN ๊ตฌ์„ฑ์—์„œ ์ €๋Š” ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค. WireGuard ํฌํŠธ 51821. ํด๋ผ์ด์–ธํŠธ๋Š” ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ผ๋ฐ˜ ํฌํŠธ๋ผ๋ฉด ์–ด๋””๋“  ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๋ฏ€๋กœ ๊ตณ์ด ํ•„์š”ํ•˜์ง€๋Š” ์•Š์ง€๋งŒ, ๋ชจ๋“  ๋ผ์šฐํ„ฐ์˜ wg0 ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ๋“ค์–ด์˜ค๋Š” ๋ชจ๋“  ์—ฐ๊ฒฐ์„ ์ฐจ๋‹จํ•˜๋˜, ํฌํŠธ 51821๋กœ ๋“ค์–ด์˜ค๋Š” UDP ์—ฐ๊ฒฐ๋งŒ ํ—ˆ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ด๋ ‡๊ฒŒ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ๊ธฐ์‚ฌ๊ฐ€ ๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ ์œ ์šฉํ•˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

PS ๋˜ํ•œ ๋‚ด ๋„คํŠธ์›Œํฌ์— ์ƒˆ ์žฅ์น˜๊ฐ€ ๋‚˜ํƒ€๋‚  ๋•Œ WirePusher ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋‚ด ์ „ํ™”๋กœ PUSH ์•Œ๋ฆผ์„ ๋ณด๋‚ด๋Š” ๋‚ด ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ณต์œ ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ์Šคํฌ๋ฆฝํŠธ์— ๋Œ€ํ•œ ๋งํฌ์ž…๋‹ˆ๋‹ค. github.com/r0ck3r/device_discover.

UPDATE : ๊ตฌ์„ฑ OpenVPN-์„œ๋ฒ„ ๋ฐ ํด๋ผ์ด์–ธํŠธ

OpenVPN-์„ฌ๊ธฐ๋Š” ์‚ฌ๋žŒ

client-to-client

ca /etc/openvpn/server/ca.crt
cert /etc/openvpn/server/vpn-server.crt
dh /etc/openvpn/server/dh.pem
key /etc/openvpn/server/vpn-server.key

dev tap
ifconfig-pool-persist /etc/openvpn/ipp.txt 0
keepalive 10 60
proto tcp4
server-bridge 192.168.10.1 255.255.255.0 192.168.10.80 192.168.10.254
status /var/log/openvpn-status.log
verb 3
comp-lzo

OpenVPN-๊ณ ๊ฐ

client
tls-client
dev tap
proto tcp
remote VPS_IP 1194 # Change to your router's External IP
resolv-retry infinite
nobind

ca client/ca.crt
cert client/client.crt
key client/client.key
dh client/dh.pem

comp-lzo
persist-tun
persist-key
verb 3

easy-rsa๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆ์„œ๋ฅผ ์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

DDoS ๋ณดํ˜ธ, VPS VDS ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ์œ„ํ•œ ์•ˆ์ •์ ์ธ ํ˜ธ์ŠคํŒ… ๊ตฌ์ž… ๐Ÿ”ฅ DDoS ๊ณต๊ฒฉ ๋ฐฉ์ง€ ๊ธฐ๋Šฅ์ด ํƒ‘์žฌ๋œ ์•ˆ์ •์ ์ธ ์›น์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ…, VPS ๋ฐ VDS ์„œ๋ฒ„๋ฅผ ๊ตฌ๋งคํ•˜์„ธ์š” | ProHoster