User scripts - XIYO/asuswrt-merlin.ng-kr GitHub Wiki

์‚ฌ์šฉ์ž ์Šคํฌ๋ฆฝํŠธ์— ๋Œ€ํ•˜์—ฌ

Asuswrt-Merlin์€ ์›๋ณธ ํŽŒ์›จ์–ด์— ๋น„ํ•ด ์ œํ•œ๋œ ์ˆ˜์˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ๋งŒ์„ ์ถ”๊ฐ€ํ•˜์ง€๋งŒ, ์‚ฌ์šฉ์ž ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ†ตํ•ด ๋งŽ์€ ์‚ฌ์šฉ์žํ™”๋ฅผ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž ์ •์˜ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์„ ์„ค์ •ํ•˜๊ณ , ์˜ˆ์ •๋œ ๊ฐ„๊ฒฉ์œผ๋กœ ์‹คํ–‰๋  ์ž‘์—…์„ ๋งŒ๋“ค๊ฑฐ๋‚˜, ์ƒˆ๋กœ์šด ์„œ๋น„์Šค๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์Šคํฌ๋ฆฝํŠธ๋“ค์€ JFFS ํŒŒํ‹ฐ์…˜ ๋‚ด๋ถ€์˜ ๋น„ํœ˜๋ฐœ์„ฑ ํ”Œ๋ž˜์‹œ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ์ด ์Šคํฌ๋ฆฝํŠธ๋“ค์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด, ์›น UI์—์„œ Administration -> System์—์„œ ํ™œ์„ฑํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์Šคํฌ๋ฆฝํŠธ๋“ค:

์ด ์‰˜ ์Šคํฌ๋ฆฝํŠธ๋“ค์€ ํŠน์ • ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. /jffs/scripts/์— ์ €์žฅ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด ์Šคํฌ๋ฆฝํŠธ๋“ค์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์ด๋ฒคํŠธ์™€ ๋ณ‘๋ ฌ๋กœ ์‹คํ–‰๋˜์ง€๋งŒ, ๋ช…์‹œ์ ์œผ๋กœ ์ฐจ๋‹จ ์Šคํฌ๋ฆฝํŠธ๋กœ ๋ฌธ์„œํ™”๋œ ๊ฒฝ์šฐ๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค. ๊ทธ ๊ฒฝ์šฐ, ์Šคํฌ๋ฆฝํŠธ๋Š” ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์™„๋ฃŒ๋˜๊ฑฐ๋‚˜ ํƒ€์ž„์•„์›ƒ(ํ˜„์žฌ ๊ธฐ๋ณธ ํƒ€์ž„์•„์›ƒ ๊ฐ’์€ 120์ดˆ) ๋  ๋•Œ๊นŒ์ง€ ์ด๋ฒคํŠธ ์ž์ฒด์˜ ์‹คํ–‰์„ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค.

services-start

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

services-stop

๋ชจ๋“  ์‹œ์Šคํ…œ ์„œ๋น„์Šค๊ฐ€ ์ค‘๋‹จ๋˜๊ธฐ ์ „์—, ๋ณดํ†ต ์žฌ๋ถ€ํŒ… ์‹œ์— ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค.

service-event

์„œ๋น„์Šค ์ด๋ฒคํŠธ๊ฐ€ ํ˜ธ์ถœ๋˜๊ธฐ ์ „์— ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค (์˜ˆ: restart_httpd, restart_wireless ๋“ฑ). ์ฒซ ๋ฒˆ์งธ ์ธ์ˆ˜๋Š” ์ด๋ฒคํŠธ์ž…๋‹ˆ๋‹ค (์ผ๋ฐ˜์ ์œผ๋กœ stop, start ๋˜๋Š” restart), ๋‘ ๋ฒˆ์งธ ์ธ์ˆ˜๋Š” ๋Œ€์ƒ์ž…๋‹ˆ๋‹ค (wireless, httpd ๋“ฑ). ์ด ์Šคํฌ๋ฆฝํŠธ๋Š” ์ฐจ๋‹จ ์Šคํฌ๋ฆฝํŠธ๋กœ, ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์™„๋ฃŒ๋˜๊ฑฐ๋‚˜ ํƒ€์ž„์•„์›ƒ ๋  ๋•Œ๊นŒ์ง€ ์ด๋ฒคํŠธ ์ž์ฒด์˜ ์‹คํ–‰์„ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค.

service-event-end

ํŽŒ์›จ์–ด 384.11์—์„œ ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์„œ๋น„์Šค ์ด๋ฒคํŠธ๊ฐ€ ์™„๋ฃŒ๋œ ํ›„์— ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค (์˜ˆ: restart_httpd, restart_wireless ๋“ฑ). ์ฒซ ๋ฒˆ์งธ ์ธ์ˆ˜๋Š” ์ด๋ฒคํŠธ์ž…๋‹ˆ๋‹ค (์ผ๋ฐ˜์ ์œผ๋กœ stop, start ๋˜๋Š” restart), ๋‘ ๋ฒˆ์งธ ์ธ์ˆ˜๋Š” ๋Œ€์ƒ์ž…๋‹ˆ๋‹ค (wireless, httpd ๋“ฑ).

wan-event

WAN ์ธํ„ฐํŽ˜์ด์Šค์™€ ๊ด€๋ จ๋œ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ํ›„์— ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŠธ๋Š” ๋‘ ๊ฐœ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค:

$1์€ WAN ์œ ๋‹›์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค (0์€ ๊ธฐ๋ณธ, 1์€ ๋ณด์กฐ). $2๋Š” ์ด๋ฒคํŠธ ์œ ํ˜•์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ชฉ๋ก์—์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค (๋ชฉ๋ก์€ ํŽŒ์›จ์–ด ๋ฒ„์ „์— ๋”ฐ๋ผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Œ):

  • init
  • connecting
  • connected
  • disconnected
  • stopped
  • disabled
  • stopping

๊ตฌ wan-start ์Šคํฌ๋ฆฝํŠธ๋Š” "connected" ์ด๋ฒคํŠธ์—์„œ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ๋œ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ํ›„์—๋Š” ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ์ด ์™„

์ „ํžˆ ๊ธฐ๋Šฅ์ ์ด์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธํ„ฐ๋„ท ์•ก์„ธ์Šค๊ฐ€ ํ•„์š”ํ•œ ์ž‘์—…์„ ์‹œ๋„ํ•˜๊ธฐ ์ „์— ์•ฝ๊ฐ„์˜ ์ง€์—ฐ์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜, ์—ฐ๊ฒฐ์ด ๊ธฐ๋Šฅ์ ์ด ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

wan-start

(384.15๋ถ€ํ„ฐ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ, ๋Œ€์‹  wan-event๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”)

WAN ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์ž‘๋™ํ•œ ํ›„์— ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. WAN ์ธํ„ฐํŽ˜์ด์Šค์— ์˜์กดํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋„ฃ๊ธฐ์— ์ข‹์€ ์žฅ์†Œ์ž…๋‹ˆ๋‹ค (์˜ˆ: IPv6 ํ„ฐ๋„ ๋˜๋Š” ๋™์  DNS ์„œ๋น„์Šค ์—…๋ฐ์ดํŠธ). ์ด ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‹คํ–‰๋  ๋•Œ ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ์ด ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์„ ๊ฐ€๋Šฅ์„ฑ์€ ๋‚ฎ์Šต๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ์ด ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ์‹คํ–‰์„ ์ง€์—ฐ์‹œํ‚ค๊ธฐ ์œ„ํ•ด sleep ๋ผ์ธ์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๋ช…๋ น์ด ์„ฑ๊ณตํ•  ๋•Œ๊นŒ์ง€ ๋ฃจํ”„๋ฅผ ์‹คํ–‰ํ•˜์„ธ์š”.

firewall-start

๋ฐฉํ™”๋ฒฝ์ด ์‹œ์ž‘๋˜๊ณ  ํ•„ํ„ฐ๋ง ๊ทœ์น™์ด ์ ์šฉ๋œ ํ›„์— ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ์ด๊ณณ์€ ์ผ๋ฐ˜์ ์œผ๋กœ NAT ํ…Œ์ด๋ธ”์ด ์•„๋‹Œ ํ•„ํ„ฐ ํ…Œ์ด๋ธ”์— ์ž์‹ ๋งŒ์˜ ๊ทœ์น™์„ ๋„ฃ์„ ๊ณณ์ž…๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŠธ๋Š” WAN ์ธํ„ฐํŽ˜์ด์Šค ์ด๋ฆ„ (์˜ˆ: ppp0)์„ ์ธ์ˆ˜๋กœ ๋ฐ›์•„ ์Šคํฌ๋ฆฝํŠธ์—์„œ $1์„ ์‚ฌ์šฉํ•˜์—ฌ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

nat-start

NAT ๊ทœ์น™ (์ฆ‰, ํฌํŠธ ํฌ์›Œ๋“œ ๋“ฑ)์ด NAT ํ…Œ์ด๋ธ”์— ์ ์šฉ๋œ ํ›„์— ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ์ด๊ณณ์€ ์ž์‹ ์˜ NAT ํ…Œ์ด๋ธ” ์‚ฌ์šฉ์ž ์ •์˜ ๊ทœ์น™ (์˜ˆ: ํŠน์ • IP์—์„œ ์˜ค๋Š” ์—ฐ๊ฒฐ๋งŒ ํ—ˆ์šฉํ•˜๋Š” ํฌํŠธ ํฌ์›Œ๋“œ)์„ ๋„ฃ์„ ๊ณณ์ž…๋‹ˆ๋‹ค.

init-start

JFFS๊ฐ€ ๋งˆ์šดํŠธ๋œ ์งํ›„์—, ๊ทธ๋ฆฌ๊ณ  ์–ด๋–ค ์„œ๋น„์Šค๊ฐ€ ์‹œ์ž‘๋˜๊ธฐ ์ „์— ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ถ€ํŒ… ๊ณผ์ •์—์„œ ๋ฌด์–ธ๊ฐ€๋ฅผ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ์ด๋ฅธ ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.

pre-mount

ํŒŒํ‹ฐ์…˜์ด ๋งˆ์šดํŠธ๋˜๊ธฐ ์ง์ „์— ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ฐจ๋‹จ ํ˜ธ์ถœ๋กœ ์‹คํ–‰๋˜๋ฉฐ ์‹คํ–‰์ด ์™„๋ฃŒ๋˜๊ฑฐ๋‚˜ ํƒ€์ž„์•„์›ƒ ๋  ๋•Œ๊นŒ์ง€ ํ˜ธ์ถœ๋œ ํŒŒํ‹ฐ์…˜์˜ ๋งˆ์šดํŠธ๋ฅผ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํŒŒํ‹ฐ์…˜์„ ๋งˆ์šดํŠธํ•˜๊ธฐ ์ „์— e2fsck์™€ ๊ฐ™์€ ๊ฒƒ์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์Šคํฌ๋ฆฝํŠธ๋Š” ๋งˆ์šดํŠธ๋˜๋Š” ์žฅ์น˜ ๊ฒฝ๋กœ (์˜ˆ: /dev/sda1)๋ฅผ ์ธ์ˆ˜๋กœ ๋ฐ›์•„ ์Šคํฌ๋ฆฝํŠธ์—์„œ $1์„ ์‚ฌ์šฉํ•˜์—ฌ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŽŒ์›จ์–ด 384.11๋ถ€ํ„ฐ ๋‘ ๋ฒˆ์งธ ์ธ์ˆ˜ ($2)๊ฐ€ ์ „๋‹ฌ๋˜๋ฉฐ ํŒŒ์ผ ์‹œ์Šคํ…œ ์œ ํ˜• (์˜ˆ: ext3)์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

post-mount

ํŒŒํ‹ฐ์…˜์ด ๋งˆ์šดํŠธ๋œ ์งํ›„์— ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŠธ๋Š” ๋งˆ์šดํŠธ ํฌ์ธํŠธ (ํŒŒํ‹ฐ์…˜์ด ๋งˆ์šดํŠธ๋œ ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ฒฝ๋กœ, ์˜ˆ: /tmp/mnt/OPT)๋ฅผ ์ธ์ˆ˜๋กœ ๋ฐ›์•„ ์Šคํฌ๋ฆฝํŠธ์—์„œ $1์„ ์‚ฌ์šฉํ•˜์—ฌ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

unmount

ํŒŒํ‹ฐ์…˜์„ ๋งˆ์šดํŠธ ํ•ด์ œํ•˜๊ธฐ ์ „์— ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. pre-mount์ฒ˜๋Ÿผ ์ด๊ฒƒ๋„ ์ฐจ๋‹จ ์Šคํฌ๋ฆฝํŠธ์ด๋ฏ€๋กœ ์ฃผ์˜ํ•ด์„œ ์‚ฌ์šฉํ•˜์„ธ์š”. ์Šคํฌ๋ฆฝํŠธ๋Š” ๋งˆ์šดํŠธ ํฌ์ธํŠธ๋ฅผ ์ธ์ˆ˜๋กœ ๋ฐ›์•„ ์Šคํฌ๋ฆฝํŠธ์—์„œ $1์„ ์‚ฌ์šฉํ•˜์—ฌ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

dhcpc-event

WAN ์ธํ„ฐํŽ˜์ด์Šค์—์„œ DHCP ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ๋งˆ๋‹ค ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฒคํŠธ ์œ ํ˜•์€ ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋˜๋ฉฐ, ์Šคํฌ๋ฆฝํŠธ์—์„œ $1์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ASUSWRT์˜ udhcpc ๋ฒ„์ „์—์„œ ๊ฐ€๋Šฅํ•œ ์ด๋ฒคํŠธ ์œ ํ˜•์€ deconfig (udhcpc๊ฐ€ ์‹œ์ž‘๋˜๊ฑฐ๋‚˜ ์ž„๋Œ€๊ฐ€ ์†์‹ค๋  ๋•Œ), bound (์ž„๋Œ€์™€ ์ƒˆ IP ์ฃผ์†Œ๊ฐ€ ํš๋“๋  ๋•Œ), ๊ทธ๋ฆฌ๊ณ  renew (์ž„๋Œ€๊ฐ€ ๊ฐฑ์‹ ๋˜์ง€๋งŒ IP๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ)์ž…๋‹ˆ๋‹ค.

openvpn-event

OpenVPN ์„œ๋ฒ„๊ฐ€ ์‹œ์ž‘/์ค‘๋‹จ๋˜๊ฑฐ๋‚˜ OpenVPN ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์›๊ฒฉ ์„œ๋ฒ„์— ์—ฐ๊ฒฐ๋  ๋•Œ๋งˆ๋‹ค ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. OpenVPN์˜ "up" ๋ฐ "down" ์Šคํฌ๋ฆฝํŠธ์™€ ๋™์ผํ•œ ๊ตฌ๋ฌธ/๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. $script_type ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋Š” ์žฅ์น˜ $dev์—์„œ ๋ฐœ์ƒํ•œ ์ด๋ฒคํŠธ์˜ ์œ ํ˜•์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

ddns-start

DDNS ์—…๋ฐ์ดํŠธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋๋‚  ๋•Œ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ์ด ์Šคํฌ๋ฆฝํŠธ๋Š” DDNS ์œ ํ˜•์„ "Custom"์œผ๋กœ ์„ค์ •ํ•  ๋•Œ๋„ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŠธ๋Š” WAN IP๋ฅผ ์ธ์ˆ˜๋กœ ๋ฐ›์œผ๋ฉฐ, ์Šคํฌ๋ฆฝํŠธ์—์„œ $1์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. "Custom" DDNS๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ, ์ด ์Šคํฌ๋ฆฝํŠธ๋Š” ์—…๋ฐ์ดํŠธ ํ”„๋กœ์„ธ์Šค์˜ ์„ฑ๊ณต ๋˜๋Š” ์‹คํŒจ๋ฅผ ๋ณด๊ณ ํ•˜๋Š” ์ฑ…์ž„๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Custom DDNS ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”.

update-notification

์Šค์ผ€์ค„๋œ ์ƒˆ ํŽŒ์›จ์–ด ๋ฒ„์ „ ๊ฐ€์šฉ์„ฑ ์ฒดํฌ๊ฐ€ ์ƒˆ ํŽŒ์›จ์–ด์˜ ๋‹ค์šด๋กœ๋“œ ๊ฐ€๋Šฅ์„ฑ์„ ํƒ์ง€ํ–ˆ์„ ๋•Œ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ update notification example์„ ์ฐธ์กฐํ•˜์„ธ์š”.

qos-start

์ „ํ†ต์ ์ธ QOS ๋˜๋Š” Cake๊ฐ€ ์ค‘๋‹จ/์‹œ์ž‘ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ƒ์„ฑํ•œ ํ›„, ๊ทธ๋ฆฌ๊ณ  ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ์ด ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ /etc/cake-qos.conf ๊ตฌ์„ฑ ํŒŒ์ผ(์ผ€์ดํฌ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ณ€์ˆ˜๋ฅผ ํฌํ•จ) ๋˜๋Š” /tmp/qos(๋‘ ๋ชจ๋“œ ๋ชจ๋‘์— ๋Œ€ํ•ด ์ƒ์„ฑ๋˜์–ด tc qdisc/๊ทœ์น™ ํ•ญ๋ชฉ์„ ์ƒ์„ฑ/์ œ๊ฑฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋จ)์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์Šคํฌ๋ฆฝํŠธ๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ํ•˜๋‚˜์˜ ์ธ์ˆ˜๋ฅผ ๋ฐ›์œผ๋ฉฐ, "init" (QOS๋ฅผ ์‹œ์ž‘ํ•  ์˜ˆ์ •์ผ ๋•Œ) ๋˜๋Š” "rules" (์ „ํ†ต์ ์ธ QOS์— ๋Œ€ํ•œ iptables ๊ทœ์น™์ด ๊ตฌ์„ฑ๋˜์—ˆ์„ ๋•Œ)๋ฅผ ํฌํ•จํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ์Šคํฌ๋ฆฝํŠธ๋Š” ์ฐจ๋‹จ ํ˜ธ์ถœ๋กœ ์‹คํ–‰๋˜๋ฉฐ ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ QOS ์‹œ์ž‘์„ ์ผ์‹œ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค.

wgserver-stop ๋ฐ wgserver-start

WireGuard ์„œ๋ฒ„๊ฐ€ ์ค‘๋‹จ๋˜๊ฑฐ๋‚˜ ์‹œ์ž‘๋  ๋•Œ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค.

wgclient-stop ๋ฐ wgclient-start

WireGuard ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ค‘๋‹จ๋˜๊ฑฐ๋‚˜ ์‹œ์ž‘๋  ๋•Œ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ ๋‹จ์œ„ ๋ฒˆํ˜ธ(1-5)๊ฐ€ ์Šคํฌ๋ฆฝํŠธ์— ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.

Postconf ์Šคํฌ๋ฆฝํŠธ

์ด ์™ธ์—๋„, ํŽŒ์›จ์–ด์—์„œ ์ง€์›ํ•˜๋Š” ๋‹ค์ˆ˜์˜ postconf ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์„œ๋น„์Šค์˜ ๊ตฌ์„ฑ ํŒŒ์ผ์ด ์ƒ์„ฑ๋œ ์ˆœ๊ฐ„๊ณผ ์„œ๋น„์Šค๊ฐ€ ์‹คํ–‰๋˜๊ธฐ ์ง์ „ ์‚ฌ์ด์— ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ [Postconf scripts

](https://github.com/RMerl/asuswrt-merlin.ng/wiki/Custom-config-files#postconf-scripts) ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”.

์Šคํฌ๋ฆฝํŠธ ์ƒ์„ฑ

์ƒ์„ฑํ•˜๋Š” ๋ชจ๋“  ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‹คํ–‰ ๊ฐ€๋Šฅํ•˜๋„๋ก ์„ค์ •ํ•˜๋Š” ๊ฒƒ์„ ์žŠ์ง€ ๋งˆ์„ธ์š”:

chmod a+rx /jffs/scripts/*

๊ทธ๋ฆฌ๊ณ  ๋ชจ๋“  UNIX ์Šคํฌ๋ฆฝํŠธ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์‰ฌ๋ฑ…์œผ๋กœ ์‹œ์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค:

#!/bin/sh

๋˜ํ•œ ํŒŒ์ผ์„ UNIX ์ค„ ๋์œผ๋กœ ์ €์žฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์œˆ๋„์šฐ์˜ ๋ฉ”๋ชจ์žฅ์€ UNIX ์ค„ ๋์œผ๋กœ ์ €์žฅํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๋Œ€์‹  Notepad++์„ ์‚ฌ์šฉํ•˜์„ธ์š”. ๋˜ํ•œ ํŽŒ์›จ์–ด์— ํฌํ•จ๋œ vi ๋˜๋Š” nano๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ผ์šฐํ„ฐ์—์„œ SSH๋ฅผ ํ†ตํ•ด ์ง์ ‘ ํŽธ์ง‘ํ•  ์ˆ˜๋„ ์žˆ์œผ๋ฉฐ, ์ด๋“ค์€ ์ ์ ˆํ•œ ์ค„ ๋์œผ๋กœ ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์Šคํฌ๋ฆฝํŠธ ๋ฌธ์ œ ํ•ด๊ฒฐ:

์ฒ˜์Œ์—๋Š” ์Šคํฌ๋ฆฝํŠธ์— ๊ตฌ๋ฌธ ์˜ค๋ฅ˜๊ฐ€ ์—†๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ˆ˜๋™์œผ๋กœ ์‹คํ–‰ํ•ด ๋ณด์„ธ์š”. ๋˜ํ•œ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‹คํ–‰๋˜์—ˆ๋Š”์ง€ ์‰ฝ๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก ์ƒ๋‹จ ๊ทผ์ฒ˜์— ์ผ๋ถ€ ์ฝ”๋“œ๋ฅผ ์‚ฝ์ž…ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด:

touch /tmp/000wanstarted

/tmp ๋””๋ ‰ํ† ๋ฆฌ์—์„œ 000wanstarted์˜ ์กด์žฌ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜์—ฌ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‹คํ–‰๋˜์—ˆ๋Š”์ง€ ์‰ฝ๊ฒŒ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ์Šคํฌ๋ฆฝํŠธ ๋””๋ฒ„๊น…์— ์œ ์šฉํ•œ ๋ช…๋ น์–ด๋Š” logger์ด๋ฉฐ, ์ด๋Š” ์‹œ์Šคํ…œ ๋กœ๊ทธ์— ๋ฉ”์‹œ์ง€๋ฅผ ๊ธฐ๋กํ•˜๊ณ  ์›น UI์—์„œ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.