[Cloudflare] Tunnel

[์›๋ณธ ๋งํฌ]

Tunnel์€ ํดํ”Œ์—์„œ ์ œ๊ณตํ•˜๋Š” ํ„ฐ๋„๋ง ์„œ๋น„์Šค๋‹ค.
์ตœ๊ทผ์— ์ถ”๊ฐ€๋˜์—ˆ๋‹ค.

์ค‘๊ฐœ์ž๋กœ์„œ ์—”๋“œํˆฌ์—”๋“œ ์—ฐ๊ฒฐ์„ ์•ˆ์ „ํ•˜๊ฒŒ ๊ตฌ์„ฑํ•˜๊ฑฐ๋‚˜ API๋ฅผ ๊ฐœ๋ฐฉํ•  ์ˆ˜ ์žˆ๊ณ , ๋ฌด๋ฃŒ๋‹ค.




๋™์ž‘ ์›๋ฆฌ

์‚ฌ์šฉ ๋ฐฉ์‹์€ tailscale ๊ฐ™์€ VPN ์„œ๋น„์Šค์™€ ์œ ์‚ฌํ•œ ํŽธ์ด๋‹ค. cloudflare ์—์ด์ „ํŠธ๋ฅผ ์„ค์น˜ํ•˜๊ณ , ํ„ฐ๋„์— ๋“ฑ๋กํ•˜๋ฉด ํฌํŠธํฌ์›Œ๋”ฉ์„ ํ•˜์ง€ ์•Š๊ณ ๋„ cloudflare๋ฅผ ํ†ตํ•ด์„œ ์ ‘์† ๊ฒฝ๋กœ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

๊ทธ๋Ÿผ ์ € ๋กœ์ปฌ ๋จธ์‹ ์œผ๋กœ์˜ ์ ‘๊ทผ์„ ์™„์ „ํžˆ ๊ณต๊ฐœ ์ธํ„ฐ๋„ท์— ๊ฒŒ์‹œํ•  ์ˆ˜๋„ ์žˆ๊ณ , tunnel ์ ‘๊ทผ ๊ถŒํ•œ์ด ์žˆ๋Š” ํด๋ผ์ด์–ธํŠธ์—๋งŒ ์ ‘๊ทผ ๊ถŒํ•œ์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋‹ค.

์ฃผ์˜ํ•  ์ ์€, tailscale ๊ฐ™์€ ์ „ํ†ต์ ์ธ VPN ์„œ๋น„์Šค์™€๋Š” ๋™์ž‘ ๋ฐฉ์‹์ด ์ข€ ๋‹ค๋ฅด๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.
์ „ํ†ต์ ์ธ VPN๋“ค์€ ๊ฐ€๋Šฅํ•˜๋ฉด holepunching ๊ฐ™์€ ๊ณ ์ „์ ์ธ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•ด์„œ ์ง„์งœ ํ•˜๋“œ์›จ์–ด ์ˆ˜์ค€์—์„œ ์ง์ ‘ ์—ฐ๊ฒฐ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ์—ฐ๊ฒฐํ•ด์ฃผ๋Š”๋ฐ, ํ„ฐ๋„๋ง ๊ธฐ๋Šฅ์€ ๊ทธ๋Ÿฐ ๋ฐฉ์‹์ด ์•„๋‹ˆ๋‹ค.
ํด๋ผ์šฐ๋“œํ”Œ๋ ˆ์–ด๊ฐ€ ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ์„ ์ค‘๊ฐ„์— ๋ฐ›๊ณ  ๋Œ€์‹  ์ „์†กํ•ด์ฃผ๋Š” ํ˜•ํƒœ๋กœ ๋™์ž‘ํ•œ๋‹ค.

๊ทธ๋ž˜์„œ ์„ฑ๋Šฅ์ ์œผ๋กœ๋‚˜ ๋ณด์•ˆ์ ์œผ๋กœ ์ข€ ์ฐœ์ฐœํ•  ์ˆ˜๋Š” ์žˆ๋‹ค.
ํ•˜์ง€๋งŒ ์„œ๋น„์Šค๋ฅผ ์™„์ „ ๊ฐœ๋ฐฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š”๊ฑด ๊ฝค๋‚˜ ํฐ ์žฅ์ ์ด๋‹ค.

์ข€ ๋” ์ƒ์„ธํžˆ ๊ทธ๋ฆผ์„ ๊ทธ๋ ค๋ณด๋ฉด, ์ด๋Ÿฐ ์‹์ด ๋œ๋‹ค.

ํ•˜๋‚˜์˜ ํ„ฐ๋„์—๋Š” ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ ˆํ”Œ๋ฆฌ์นด๋ฅผ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๊ณ , ์—ฌ๋Ÿฌ๊ฐœ์˜ ๊ฒฝ๋กœ๋ฅผ ๊ฐœ๋ฐฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ ˆํ”Œ๋ฆฌ์นด๋“ค์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋™๋“ฑํ•œ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 4040 ํฌํŠธ๋กœ ์„œ๋ฒ„๋ฅผ ๋„์šธ ๊ฑฐ๋ผ๋ฉด ๋ชจ๋“  ๋ ˆํ”Œ๋ฆฌ์นด์— 4040 ํฌํŠธ๋กœ ๋„์›Œ์ค˜์•ผ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

๋งŒ์•ฝ ์™ธ๋ถ€์—์„œ ๊ฒฝ๋กœ๋ฅผ ํ†ตํ•ด ์ ‘์†์„ ์‹œ๋„ํ•œ๋‹ค๋ฉด ํ„ฐ๋„์€ ์ ๋‹นํžˆ ๋ ˆํ”Œ๋ฆฌ์นด ์ค‘ ํ•˜๋‚˜๋ฅผ ์•Œ์•„์„œ ์žก๊ณ  ์—ฐ๊ฒฐํ•ด์ค€๋‹ค.

๋˜ ์—ฌ๊ธฐ์„œ ์œ ์˜ํ•  ์ ์€, ๋ ˆํ”Œ๋ฆฌ์นด ๋ถ„์‚ฐ์ด ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ์ฒ˜๋Ÿผ ๊ณตํ‰ํ•˜๊ฒŒ ๋ถ„์‚ฐ๋˜๊ณ  ๊ทธ๋Ÿฐ๊ฒŒ ์•„๋‹ˆ๋ž€ ๊ฒƒ์ด๋‹ค. ๋„คํŠธ์›Œํฌ ์ƒ์œผ๋กœ ์œ ๋ฆฌํ•œ ๋ ˆํ”Œ๋ฆฌ์นด๋ฅผ ์ ๋‹นํžˆ ์žก์•„์„œ ์—ฐ๊ฒฐํ•ด์ฃผ๊ณ , ์—ฐ๊ฒฐ์ด ์ •์ƒ์ ์œผ๋กœ ์ง€์†๋˜๋Š” ๋™์•ˆ์€ ํ•ด๋‹น ๋ ˆํ”Œ๋ฆฌ์นด์—๋งŒ ์š”์ฒญ์ด ๊ฐˆ ํ™•๋ฅ ์ด ๋†’๋‹ค.





์ œํ•œ์‚ฌํ•ญ

๋ฌด๋ฃŒ์ง€๋งŒ, ์ œํ•œ๋„ ์žˆ๋‹ค. ํ„ฐ๋„ ๊ฐœ์ˆ˜์ œํ•œ, ํ„ฐ๋„๋งˆ๋‹ค์˜ ๋ณต์ œ, ๊ฒฝ๋กœ ์ œํ•œ์ด ์žˆ๋‹ค.

์˜์™ธ๋กœ ๋ช…์‹œ์ ์ธ ๋Œ€์—ญํญ ์ œํ•œ ๊ฐ™์€๊ฑด ์—†๋”๋ผ. ์–˜๋“ค์€ ์„œ๋ฒ„๋น„๊ฐ€ ๋‹ค ์–ด๋””์„œ ๋‚˜๋Š”๊ฑฐ์ง€?

๊ทธ๋ฆฌ๊ณ  ํ„ฐ๋„์„ ํ†ตํ•ด ์™„์ „ ๊ณต๊ฐœ๋ฅผ ํ•˜๋ ค๋ฉด Cloudflare์—์„œ ๋„๋ฉ”์ธ์„ ๊ตฌ์ž…ํ•œ ๊ฒƒ์ด ์žˆ์–ด์•ผ ํ•œ๋‹ค.




cloudflare client (cloudflared) ์„ค์น˜

์ผ๋‹จ ์„œ๋ฒ„๊ฐ€ ๋˜๋Š” ์žฅ๋น„์— ์—์ด์ „ํŠธ ๊ฒธ ํด๋ผ์ด์–ธํŠธ๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•œ๋‹ค.
๋‹ค์Œ ๋งํฌ์—์„œ ์ง์ ‘ ๋ฐฐํฌ๋œ ํŒจํ‚ค์ง€๋ฅผ ๋‹ค์šด๋ฐ›๊ฑฐ๋‚˜ ์„ค์น˜ ๋ฐฉ๋ฒ•์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/downloads/#linux

๋ฆฌ๋ˆ…์Šค์˜ ๊ฒฝ์šฐ์—๋Š” ๊ทธ๋ƒฅ ํŒจํ‚ค์ง€ ๋ฐ›๋Š”๊ฒŒ ํŽธํ•œ๊ฑฐ๊ฐ™๋‹ค.
๋ฐ๋น„์•ˆ๊ณผ ํŽ˜๋„๋ผ ๋ฒ ์ด์Šค ํŒจํ‚ค์ง€๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

์•„๋ฌดํŠผ, ์„ค์น˜ํ•ด์„œ ์ด๋ ‡๊ฒŒ ์‹คํ–‰์ด ๋˜๋ฉด ์„ค์น˜ ์ž์ฒด๋Š” ์ž˜ ๋œ ๊ฒƒ์ด๋‹ค.




ํ„ฐ๋„ ๋งŒ๋“ค๊ธฐ

ํ„ฐ๋„์„ ์“ฐ๋ ค๋ฉด ๋‹น์—ฐํžˆ ํ„ฐ๋„์„ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค.
ํ•˜๋‚˜์˜ ๊ฐœ๋ฐฉ์šฉ ์„œ๋น„์Šค๋งˆ๋‹ค ํ„ฐ๋„์„ ํ•˜๋‚˜์”ฉ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ธ ์‚ฌ์šฉ ํŒจํ„ด์ด ๋œ๋‹ค.


๋งŒ๋“œ๋Š” ๊ฒƒ ์ž์ฒด๋Š” ๋งค์šฐ ๊ฐ„๋‹จํ•˜๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์•ˆ๋‚ด๋ฅผ ๋”ฐ๋ผ์„œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ ˆํ”Œ๋ฆฌ์นด๋กœ์„œ ํ˜„์žฌ ์žฅ๋น„๋ฅผ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ๋‹ค.





๊ณต๊ฐœ path ๊ฐœ๋ฐฉํ•˜๊ธฐ

์„œ๋ฒ„๋ฅผ ํ•˜๋‚˜ ๋กœ์ปฌ์— ๋„์šฐ๊ณ , ๊ทธ๊ฑธ ํ„ฐ๋„์„ ํ†ตํ•ด ๊ฐœ๋ฐฉํ•ด๋ณด๊ฒ ๋‹ค.

sudo docker run -p 4000:80 nginx

์ ๋‹นํžˆ ๊ฐ„๋‹จํ•œ ์„œ๋ฒ„๋ฅผ 4000 ํฌํŠธ์— ํ•˜๋‚˜ ๋„์šฐ๊ณ 


๊ฒฝ๋กœ์—์„œ ๊ณต๊ฐœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ถ”๊ฐ€ํ•œ๋‹ค.


๊ทธ๋Ÿผ ์ฆ‰์‹œ ํ•ด๋‹น ๋„๋ฉ”์ธ์„ ํ†ตํ•ด ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค. SSL ์„ค์ •๊นŒ์ง€ ์•Œ์•„์„œ ํ•ด์ค€๋‹ค.




๋น„๊ณต๊ฐœ ํ˜ธ์ŠคํŠธ ์ถ”๊ฐ€

์ ‘์† url์„ ๋งŒ๋“ค๋˜, ๊ทธ๊ฒŒ ํ•œ์ •๋œ ํด๋ผ์ด์–ธํŠธ๋งŒ์ด ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ๋” ํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.
๋‹จ, ํŠน์ • IP๋งŒ ํ—ˆ์šฉํ•˜๊ฑฐ๋‚˜ ํ•˜๋Š”๊ฑด ์•ˆ๋˜๊ณ  ํ•ญ์ƒ cloudflare ์—์ด์ „ํŠธ๋ฅผ ๊ฒฝ์œ ํ•ด์„œ๋งŒ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.

๋น„๊ณต๊ฐœ ํ˜ธ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๋ฉด


๊ทธ๊ฑด ๊ทธ๋ƒฅ์€ ์ ‘์†์ด ๋˜์ง€ ์•Š๋Š”๋‹ค.

์ด๊ฑด Cloudflare์—์„œ ์ œ๊ณตํ•˜๋Š” warp๋ผ๋Š” ์—์ด์ „ํŠธ๋ฅผ ๊น”๊ณ , Zero Trust๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ , Cloudflare One Client๋ฅผ ์จ์•ผ๋งŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.


๊ทผ๋ฐ ์ด๊ฑด ๋งŽ์ด ๋ฒˆ๊ฑฐ๋กญ๊ณ  ์ƒ๋‹นํžˆ ๊ธธ์–ด์ง€๋ฏ€๋กœ, ์ถ”ํ›„ ๋ณ„๋„ ์ง€๋ฉด์„ ํ• ์• ํ•ด์„œ ๋‹ค๋ฃจ๋„๋ก ํ•˜๊ฒ ๋‹ค.



์ฐธ์กฐ
https://developers.cloudflare.com/tunnel/