Rules ko - FrankoonG/hy2scale GitHub Wiki

๐ŸŒ English | ไธญๆ–‡ | ํ•œ๊ตญ์–ด

๋ผ์šฐํŒ… ๊ทœ์น™

๋ผ์šฐํŒ… ๊ทœ์น™์„ ์‚ฌ์šฉํ•˜๋ฉด ํŠน์ • IP ๋˜๋Š” ๋„๋ฉ”์ธ์œผ๋กœ์˜ ํŠธ๋ž˜ํ”ฝ์„ ์„ ํƒํ•œ ์ถœ๊ตฌ ๋…ธ๋“œ๋ฅผ ํ†ตํ•ด ๋ผ์šฐํŒ…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์šฉ๋„:

  • netflix.com์„ ๋ฏธ๊ตญ ์ถœ๊ตฌ๋ฅผ ํ†ตํ•ด ์ „์†ก
  • spotify.com์„ ๋…์ผ ์ถœ๊ตฌ๋ฅผ ํ†ตํ•ด ์ „์†ก
  • 8.8.8.8์„ ๊ธฐ๋ณธ ๋ผ์šฐํŠธ์™€ ๋‹ค๋ฅธ ๋…ธ๋“œ๋ฅผ ํ†ตํ•ด ์ „์†ก

IP ๊ทœ์น™

๋„๋ฉ”์ธ ๊ทœ์น™

๋ผ์šฐํŒ… ๊ทœ์น™์€ NET_ADMIN์„ ๊ฐ–์ถ˜ ํ˜ธ์ŠคํŠธ ๋„คํŠธ์›Œํฌ ๋ชจ๋“œ (ํ’€ ๋ชจ๋“œ)๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ธŒ๋ฆฌ์ง€ ๋ชจ๋“œ์—์„œ๋Š” ๊ทœ์น™ ํƒญ์ด ๋นจ๊ฐ„์ƒ‰ ๋ฐฐ๋„ˆ๋ฅผ ํ‘œ์‹œํ•˜๋ฏ€๋กœ Users ํŽ˜์ด์ง€์—์„œ ์‚ฌ์šฉ์ž๋ณ„ exit_via๋ฅผ ๋Œ€์‹  ์‚ฌ์šฉํ•˜์„ธ์š”.

๋‘ ๊ฐ€์ง€ ๊ทœ์น™ ์œ ํ˜•

ํŽ˜์ด์ง€์—๋Š” ๋‘ ๊ฐœ์˜ ํƒญ์ด ์žˆ์œผ๋ฉฐ, ๊ฐ ํƒญ์€ ๊ทœ์น™์˜ ํ‰๋ฉด ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.

IP ๊ทœ์น™

๋ชฉ์ ์ง€ IP ๋˜๋Š” CIDR๋กœ ๋งค์นญํ•ฉ๋‹ˆ๋‹ค.

ํ•„๋“œ ์˜ˆ์‹œ
๋Œ€์ƒ 8.8.8.8, 1.1.1.1, 203.0.113.0/24 (์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ํ•˜๋‚˜ ์ด์ƒ)
Exit via us โ€” ์ด IP๋“ค์˜ ํŠธ๋ž˜ํ”ฝ์„ us ์ถœ๊ตฌ๋กœ ๋ผ์šฐํŒ…
์ด๋ฆ„ ์„ ํƒ์  ๋ผ๋ฒจ
ํ™œ์„ฑํ™” ํ† ๊ธ€

๊ตฌํ˜„: iptables DNAT๊ฐ€ ๋ชฉ์ ์ง€ ํŠธ๋ž˜ํ”ฝ์„ ํ˜ธ์ŠคํŠธ์˜ ํˆฌ๋ช… ํ”„๋ก์‹œ ์†Œ์ผ“์— ๊ณ ์ •ํ•˜๊ณ , ์†Œ์ผ“์ด ์—ฐ๊ฒฐ์„ ๋ฆด๋ ˆ์ด ํ”Œ๋ ˆ์ธ์— ๋„˜๊ฒจ ์„ ํƒ๋œ ์ถœ๊ตฌ๋กœ ๋‹ค์ด์–ผํ•ฉ๋‹ˆ๋‹ค.

๋„๋ฉ”์ธ ๊ทœ์น™

ํ˜ธ์ŠคํŠธ๋ช…์œผ๋กœ ๋งค์นญํ•ฉ๋‹ˆ๋‹ค (ํ˜ธ์ŠคํŠธ๋ช… ๋งค์นญ์€ 60์ดˆ๋งˆ๋‹ค ์žฌํ•ด์„๋ฉ๋‹ˆ๋‹ค).

ํ•„๋“œ ์˜ˆ์‹œ
๋Œ€์ƒ netflix.com, music.apple.com, bilibili.com
Exit via us, de, jp, โ€ฆ

๋…ธ๋“œ๊ฐ€ ์ฃผ๊ธฐ์ ์œผ๋กœ ๊ฐ ๋„๋ฉ”์ธ์„ IP ์ง‘ํ•ฉ์œผ๋กœ ํ•ด์„ํ•˜๊ณ  IP ๊ทœ์น™๊ณผ ๊ฐ™์€ DNAT ํŒŒ์ดํ”„๋ผ์ธ์„ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•ฉ๋‹ˆ๋‹ค. ๋„๋ฉ”์ธ์˜ IP๊ฐ€ ๋ฐ”๋€Œ๋ฉด ๊ทœ์น™์ด ๋”ฐ๋ผ๊ฐ‘๋‹ˆ๋‹ค.

๊ทœ์น™๋ณ„ ์ถœ๊ตฌ ๋ชจ๋“œ

์‚ฌ์šฉ์ž๋ณ„ ์ถœ๊ตฌ ๋ผ์šฐํŒ…๊ณผ ๋™์ผํ•œ ์Šค์œ„์น˜:

๋ชจ๋“œ ๋™์ž‘
Direct ๋‹จ์ผ ๊ฒฝ๋กœ
Quality ์—ฌ๋Ÿฌ ๊ฒฝ๋กœ ๊ฐ„ ํŽ˜์ผ์˜ค๋ฒ„
Aggregate ๊ฒฝ๋กœ ๊ฐ„ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ

์„ ํƒ ๋ฐ ํŽธ์ง‘

๊ทœ์น™ ํŽ˜์ด์ง€๋Š” Nodes / Users / TLS์™€ ๋™์ผํ•œ ใ€Œ๋จผ์ € ์„ ํƒ, ๊ทธ๋‹ค์Œ ์ž‘์—…ใ€ ํŒจํ„ด์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค:

  • ๊ทœ์น™ ํ–‰์„ ๋‹จ์ผ ํด๋ฆญํ•˜๋ฉด ์„ ํƒ๋ฉ๋‹ˆ๋‹ค โ€” ๊ทœ์น™ ์นด๋“œ ์šฐ์ƒ๋‹จ, Import์™€ + New Rule ์‚ฌ์ด์— ๋…น์ƒ‰ Edit ๋ฒ„ํŠผ์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.
  • ์•ž์ชฝ ์ฒดํฌ๋ฐ•์Šค ์…€์ด ํ™•์žฅ๋˜์–ด ์žˆ์–ด ํŒจ๋”ฉ์ด ์ ์šฉ๋œ ์˜์—ญ ์–ด๋””๋“  ํด๋ฆญํ•˜๋ฉด ํ–‰ ์ฒดํฌ๋ฐ•์Šค๊ฐ€ ํ† ๊ธ€๋ฉ๋‹ˆ๋‹ค (์ž‘์€ ์ž…๋ ฅ์„ ์ •ํ™•ํžˆ ๋…ธ๋ฆด ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค). ํ–‰ ๋ณธ๋ฌธ ํด๋ฆญ์€ ๋‹จ๋… ์„ ํƒ (๋‹จ์ผ ํ–‰ ๊ต์ฒด)์ด๋ฉฐ, ์ฒดํฌ๋ฐ•์Šค ํด๋ฆญ์€ ๋‹ค์ค‘ ์„ ํƒ์— ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.
  • ์นด๋“œ ๋ณธ๋ฌธ ๋ฐ”๊นฅ์˜ ๋นˆ ์˜์—ญ ํด๋ฆญ โ€” ํŽ˜์ด์ง€ ํ—ค๋”ฉ, ์นด๋“œ ํ—ค๋” ์ŠคํŠธ๋ฆฝ ์ž์ฒด โ€” ์€ ๋‹จ์ผ ํ–‰ ์„ ํƒ์„ ํ•ด์ œํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์ค‘ ์„ ํƒ์€ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. ๋ฒ„ํŠผ / ์ž…๋ ฅ / ์—ด๋ฆฐ ๋ชจ๋‹ฌ ์œ„ ํด๋ฆญ์€ ์ ˆ๋Œ€ ์„ ํƒ์„ ํ’€์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํŽธ์ง‘์€ ์„ ํƒ ์ƒํƒœ๋กœ ๊ตฌ๋™๋ฉ๋‹ˆ๋‹ค โ€” ํ–‰๋ณ„๋กœ ๋…ธ๋ฆด ์ž‘์€ ํŽธ์ง‘ ์—ฐํ•„ ์•„์ด์ฝ˜์ด ์—†์Šต๋‹ˆ๋‹ค.

์ผ๊ด„ ์ž‘์—…

์—ฌ๋Ÿฌ ๊ทœ์น™์„ ์ฒดํฌํ•ด ์ผ๊ด„ ์ž‘์—… ๋ฐ”๋ฅผ ๋…ธ์ถœํ•ฉ๋‹ˆ๋‹ค:

  • ํ™œ์„ฑํ™” / ๋น„ํ™œ์„ฑํ™”
  • ์‚ญ์ œ

์‚ฌ์šฉ์ž ํŽ˜์ด์ง€์ฒ˜๋Ÿผ ์ข์€ ๋ทฐํฌํŠธ์—์„œ๋Š” ๋ฐ”๊ฐ€ ์˜ค๋ฒ„ํ”Œ๋กœ ๋ฉ”๋‰ด๋กœ ์ ‘ํž™๋‹ˆ๋‹ค.

๊ฐ€์ ธ์˜ค๊ธฐ / ๋‚ด๋ณด๋‚ด๊ธฐ

  • ๋‚ด๋ณด๋‚ด๊ธฐ โ€” ํ˜„์žฌ ๊ทœ์น™ ๋ชฉ๋ก์„ JSON์œผ๋กœ ๋‹ค์šด๋กœ๋“œ.
  • ๊ฐ€์ ธ์˜ค๊ธฐ โ€” JSON์—์„œ ๊ทœ์น™์„ ์ผ๊ด„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ผ์น˜ํ•˜๋Š” id ๊ฐ’์€ ๊ธฐ์กด ๊ทœ์น™์„ ๋ฎ์–ด์”๋‹ˆ๋‹ค.

๋ฐฐํฌ ๊ฐ„ ์ •์ฑ… ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ด๋‚˜ ๋ฒ„์ „ ๊ด€๋ฆฌ๋œ ๋ฐฑ์—… ๋ณด๊ด€์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

TUN ๋ชจ๋“œ (๋ผ์šฐํ„ฐ ํŽŒ์›จ์–ด)

iptables๊ฐ€ ๊ฒฝ๋Ÿ‰ํ™”๋œ ๋ผ์šฐํ„ฐ ๋ฐฐํฌํŒ (iKuai, OpenWrt ๋“ฑ)์—์„œ๋Š” HY2 SCALE์ด TUN ๋ชจ๋“œ๋กœ ํด๋ฐฑํ•ฉ๋‹ˆ๋‹ค: gvisor ๊ธฐ๋ฐ˜ TUN ๋””๋ฐ”์ด์Šค๊ฐ€ Raw IP ํŒจํ‚ท์„ ์บก์ฒ˜ํ•˜์—ฌ ๋™์ผํ•œ ๋งค์นญ ๋กœ์ง์„ ์œ ์ €์ŠคํŽ˜์ด์Šค์—์„œ ์ ์šฉํ•œ ๋’ค ๋ฉ”์‹œ๋ฅผ ํ†ตํ•ด ํฌ์›Œ๋”ฉํ•ฉ๋‹ˆ๋‹ค.

TUN ๋ชจ๋“œ๋Š” ์ข…๋‹จ ๊ฐ„ TCP / UDP ์„ธ์…˜์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค โ€” ๊ฐ ํ™‰์—์„œ ์žฌ-NAT๋  ๋•Œ ๋Š์–ด์ง€๋Š” Moonlight ๊ฒŒ์ž„ ์ŠคํŠธ๋ฆฌ๋ฐ๊ณผ ๊ฐ™์€ ์ง€์—ฐ ๋ฏผ๊ฐ ํŠธ๋ž˜ํ”ฝ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ฐฐํฌ ์„ธ๋ถ€ ์‚ฌํ•ญ์€ ๋ผ์šฐํ„ฐ ์‹œ์Šคํ…œ์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

๋””๋ฒ„๊น…

  • DEBUG=true๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋ฉด iptables ๊ทœ์น™ ์‚ฝ์ž… / ์‚ญ์ œ ๋กœ๊ทธ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • docker exec <container> iptables -t nat -L์ด ์‹ค์‹œ๊ฐ„ ๊ทœ์น™ ์„ธํŠธ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค (ํ˜ธ์ŠคํŠธ ๋ชจ๋“œ).
  • ์ปจํ…Œ์ด๋„ˆ ์ค‘์ง€ ๋˜๋Š” ๊ฐœ๋ณ„ ๊ทœ์น™ ๋น„ํ™œ์„ฑํ™” ์‹œ ๊ทœ์น™์ด ๊น”๋”ํ•˜๊ฒŒ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค โ€” ์ž”์—ฌ ๊ทœ์น™์ด ๋‚จ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
โš ๏ธ **GitHub.com Fallback** โš ๏ธ