Headscale Project, Tailscale์˜ ๋ถ„์‚ฐ VPN ๋„คํŠธ์›Œํฌ์šฉ ๊ฐœ๋ฐฉํ˜• ์„œ๋ฒ„ ๊ฐœ๋ฐœ

Headscale ํ”„๋กœ์ ํŠธ๋Š” Tailscale VPN ๋„คํŠธ์›Œํฌ์˜ ์„œ๋ฒ„ ๊ตฌ์„ฑ ์š”์†Œ์— ๋Œ€ํ•œ ๊ฐœ๋ฐฉํ˜• ๊ตฌํ˜„์„ ๊ฐœ๋ฐœ ์ค‘์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํƒ€์‚ฌ ์„œ๋น„์Šค์— ์–ฝ๋งค์ด์ง€ ์•Š๊ณ  ์ž์‹ ์˜ ์‹œ์„ค์—์„œ Tailscale๊ณผ ์œ ์‚ฌํ•œ VPN ๋„คํŠธ์›Œํฌ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Headscale์˜ ์ฝ”๋“œ๋Š” Go๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ BSD ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” ์œ ๋Ÿฝ ์šฐ์ฃผ๊ตญ(European Space Agency)์˜ Juan Font๊ฐ€ ๊ฐœ๋ฐœ ์ค‘์ž…๋‹ˆ๋‹ค.

Tailscale์„ ์‚ฌ์šฉํ•˜๋ฉด ์ง€๋ฆฌ์ ์œผ๋กœ ๋ถ„์‚ฐ๋œ ์ž„์˜์˜ ์ˆ˜์˜ ํ˜ธ์ŠคํŠธ๋ฅผ ๋ฉ”์‰ฌ ๋„คํŠธ์›Œํฌ์ฒ˜๋Ÿผ ๊ตฌ์ถ•๋œ ํ•˜๋‚˜์˜ ๋„คํŠธ์›Œํฌ๋กœ ๊ฒฐํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๊ฐ ๋…ธ๋“œ๋Š” VPN์˜ ์ค‘์•™ ์ง‘์ค‘์‹ ์™ธ๋ถ€ ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ํŠธ๋ž˜ํ”ฝ์„ ์ „์†กํ•˜์ง€ ์•Š๊ณ  ์ง์ ‘(P2P) ๋˜๋Š” ์ธ์ ‘ ๋…ธ๋“œ๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ๋…ธ๋“œ์™€ ์ƒํ˜ธ ์ž‘์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ณต๊ธ‰์ž. ACL ๊ธฐ๋ฐ˜ ์•ก์„ธ์Šค ๋ฐ ๊ฒฝ๋กœ ์ œ์–ด๊ฐ€ ์ง€์›๋ฉ๋‹ˆ๋‹ค. NAT(์ฃผ์†Œ ๋ณ€ํ™˜๊ธฐ)๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ํ†ต์‹  ์ฑ„๋„์„ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•ด STUN, ICE ๋ฐ DERP ๋ฉ”์ปค๋‹ˆ์ฆ˜์— ๋Œ€ํ•œ ์ง€์›์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค(TURN๊ณผ ์œ ์‚ฌํ•˜์ง€๋งŒ HTTPS ๊ธฐ๋ฐ˜). ํŠน์ • ๋…ธ๋“œ ๊ฐ„์˜ ํ†ต์‹  ์ฑ„๋„์ด ์ฐจ๋‹จ๋˜๋ฉด ๋„คํŠธ์›Œํฌ๋Š” ๋ผ์šฐํŒ…์„ ์žฌ๊ตฌ์„ฑํ•˜์—ฌ ๋‹ค๋ฅธ ๋…ธ๋“œ๋ฅผ ํ†ตํ•ด ํŠธ๋ž˜ํ”ฝ์„ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Headscale Project, Tailscale์˜ ๋ถ„์‚ฐ VPN ๋„คํŠธ์›Œํฌ์šฉ ๊ฐœ๋ฐฉํ˜• ์„œ๋ฒ„ ๊ฐœ๋ฐœ

Tailscale์€ Wireguard ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋…ธ๋“œ ๊ฐ„ ๋ฐ์ดํ„ฐ ์ „์†ก์„ ๊ตฌ์„ฑํ•œ๋‹ค๋Š” ์ ์—์„œ ๋ฉ”์‹œ ๋ผ์šฐํŒ…์„ ํ†ตํ•ด ๋ถ„์‚ฐ VPN ๋„คํŠธ์›Œํฌ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ Nebula ํ”„๋กœ์ ํŠธ์™€ ๋‹ค๋ฅธ ๋ฐ˜๋ฉด, Nebula๋Š” AES-256 ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ํŒจํ‚ท์„ ์•”ํ˜ธํ™”ํ•˜๋Š” Tinc ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. -GSM(Wireguard๋Š” ํ…Œ์ŠคํŠธ์—์„œ ๋” ๋†’์€ ์ฒ˜๋ฆฌ๋Ÿ‰๊ณผ ์‘๋‹ต์„ฑ์„ ๋ณด์—ฌ์ฃผ๋Š” ChaCha20 ์•”ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.)

๋˜ ๋‹ค๋ฅธ ์œ ์‚ฌํ•œ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋ณ„๋„๋กœ ๊ฐœ๋ฐœ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Innernet์—์„œ๋Š” Wireguard ํ”„๋กœํ† ์ฝœ์ด ๋…ธ๋“œ ๊ฐ„ ๋ฐ์ดํ„ฐ ๊ตํ™˜์—๋„ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. Tailscale ๋ฐ Nebula์™€ ๋‹ฌ๋ฆฌ Innernet์€ ๊ฐœ๋ณ„ ๋…ธ๋“œ์— ํƒœ๊ทธ๊ฐ€ ์—ฐ๊ฒฐ๋œ ACL์ด ์•„๋‹ˆ๋ผ ์ผ๋ฐ˜ ์ธํ„ฐ๋„ท ๋„คํŠธ์›Œํฌ์—์„œ์™€ ๊ฐ™์ด ์„œ๋ธŒ๋„ท ๋ถ„๋ฆฌ ๋ฐ ๋‹ค์–‘ํ•œ ๋ฒ”์œ„์˜ IP ์ฃผ์†Œ ํ• ๋‹น์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ๋‹ค๋ฅธ ์•ก์„ธ์Šค ๋ถ„๋ฆฌ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ Innernet์€ Go ์–ธ์–ด ๋Œ€์‹  Rust ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. 1.5์ผ ์ „, NAT ํ†ต๊ณผ ์ง€์›์ด ํ–ฅ์ƒ๋œ Innernet XNUMX ์—…๋ฐ์ดํŠธ๊ฐ€ ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Wireguard๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋กœ ๋‹ค๋ฅธ ํ† ํด๋กœ์ง€์˜ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ฒฐํ•ฉํ•  ์ˆ˜ ์žˆ๋Š” Netmaker ํ”„๋กœ์ ํŠธ๋„ ์žˆ์ง€๋งŒ ํ•ด๋‹น ์ฝ”๋“œ๋Š” ์ฐจ๋ณ„์  ์š”๊ตฌ ์‚ฌํ•ญ์œผ๋กœ ์ธํ•ด ๊ณต๊ฐœ๋˜์ง€ ์•Š๋Š” SSPL(Server Side Public License)์— ๋”ฐ๋ผ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

Tailscale์€ ๋ถ€๋ถ„ ์œ ๋ฃŒํ™” ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๊ฐœ์ธ์€ ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ  ๊ธฐ์—…๊ณผ ํŒ€์€ ์œ ๋ฃŒ๋กœ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Windows ๋ฐ macOS์šฉ ๊ทธ๋ž˜ํ”ฝ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ œ์™ธํ•œ Tailscale ํด๋ผ์ด์–ธํŠธ ๊ตฌ์„ฑ ์š”์†Œ๋Š” BSD ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ๊ฐœ๋ฐฉํ˜• ํ”„๋กœ์ ํŠธ๋กœ ๊ฐœ๋ฐœ๋ฉ๋‹ˆ๋‹ค. Tailscale ์ธก์—์„œ ์‹คํ–‰๋˜๋Š” ์„œ๋ฒ„ ์†Œํ”„ํŠธ์›จ์–ด๋Š” ๋…์ ์ ์ด๋ฉฐ, ์ƒˆ๋กœ์šด ํด๋ผ์ด์–ธํŠธ๋ฅผ ์—ฐ๊ฒฐํ•  ๋•Œ ์ธ์ฆ์„ ์ œ๊ณตํ•˜๊ณ , ํ‚ค ๊ด€๋ฆฌ๋ฅผ ์กฐ์ •ํ•˜๊ณ , ๋…ธ๋“œ ๊ฐ„ ํ†ต์‹ ์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. Headscale ํ”„๋กœ์ ํŠธ๋Š” ์ด๋Ÿฌํ•œ ๋‹จ์ ์„ ํ•ด๊ฒฐํ•˜๊ณ  Tailscale ๋ฐฑ์—”๋“œ ๊ตฌ์„ฑ ์š”์†Œ์˜ ๋…๋ฆฝ์ ์ธ ๊ฐœ๋ฐฉํ˜• ๊ตฌํ˜„์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Headscale Project, Tailscale์˜ ๋ถ„์‚ฐ VPN ๋„คํŠธ์›Œํฌ์šฉ ๊ฐœ๋ฐฉํ˜• ์„œ๋ฒ„ ๊ฐœ๋ฐœ

Headscale์€ ๋…ธ๋“œ์˜ ๊ณต๊ฐœ ํ‚ค๋ฅผ ๊ตํ™˜ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๋‹ด๋‹นํ•˜๊ณ  IP ์ฃผ์†Œ ํ• ๋‹น ๋ฐ ๋…ธ๋“œ ๊ฐ„ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ” ๋ฐฐํฌ ์ž‘์—…๋„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ํ˜•ํƒœ์—์„œ Headscale์€ MagicDNS ๋ฐ Smart DNS ์ง€์›์„ ์ œ์™ธํ•˜๊ณ  ๊ด€๋ฆฌ ์„œ๋ฒ„์˜ ๋ชจ๋“  ๊ธฐ๋ณธ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ, ๋…ธ๋“œ ๋“ฑ๋ก(์›น ๊ฒฝ์œ  ํฌํ•จ), ๋…ธ๋“œ ์ถ”๊ฐ€ ๋˜๋Š” ์ œ๊ฑฐ์— ๋งž๊ฒŒ ๋„คํŠธ์›Œํฌ ์กฐ์ •, ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ธŒ๋„ท ๋ถ„๋ฆฌ(์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•ด ํ•˜๋‚˜์˜ VPN ๋„คํŠธ์›Œํฌ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Œ), ์„œ๋กœ ๋‹ค๋ฅธ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์˜ ์„œ๋ธŒ๋„ท์— ๋Œ€ํ•œ ๋…ธ๋“œ ๊ณต์œ  ์•ก์„ธ์Šค ๊ตฌ์„ฑ ๋“ฑ์˜ ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. , ๋ผ์šฐํŒ… ์ œ์–ด(์™ธ๋ถ€ ์„ธ๊ณ„์— ์•ก์„ธ์Šคํ•˜๊ธฐ ์œ„ํ•œ ์ข…๋ฃŒ ๋…ธ๋“œ ํ• ๋‹น ํฌํ•จ), ACL์„ ํ†ตํ•œ ์•ก์„ธ์Šค ๋ถ„๋ฆฌ ๋ฐ DNS ์„œ๋น„์Šค ์šด์˜.

์ถœ์ฒ˜ : opennet.ru

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