ํฌํŠธ 80์„ ํ†ตํ•œ Linux/OpenWrt/Lede ๊ธฐ๋ฐ˜ ์žฅ์น˜์˜ ์›๊ฒฉ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๊ด€๋ฆฌ(๊ณ„์†)

์ด๊ฒƒ์ด ๊ธฐ์‚ฌ์˜ ๋งˆ์ง€๋ง‰ ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ๊ฐ€ ์‹œ์ž‘ ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. habr.com/en/post/445568
์ง€๋‚œ๋ฒˆ์— ์žฅ์น˜ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ๊ตฌํ˜„ํ•œ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ผ์œผ๋‹ˆ ์ด์ œ ๊ด€๋ฆฌ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ณ ๊ฐ ์ธก "๊ธฐ์ˆ ์ž"์™€์˜ ๋…ผ์˜์—์„œ ์ด๋Ÿฌํ•œ ์†Œํ˜• ์žฅ์น˜์˜ ๊ธฐ๋Šฅ(๋ฉ”๋ชจ๋ฆฌ ๋ฆฌ์†Œ์Šค ๋ฐ ์„ฑ๋Šฅ์ด ๋‚ฎ์Œ)์— ๋Œ€ํ•œ ์ œํ•œ๋œ ์ธ์‹์— ์ž์ฃผ ์ง๋ฉดํ•ฉ๋‹ˆ๋‹ค. ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์€ "์šฐ๋ฆฌ์—๊ฒŒ ๊ฐ€์žฅ ํ•„์š”ํ•œ ๊ฒƒ์€ ์žฌ๋ถ€ํŒ…์„ ๋ณด๋‚ด๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋” ๋งŽ์€ ๊ฒƒ์„ ์œ„ํ•ด ์žฌ๋ถ€ํŒ…์„ ๋ณด๋‚ด๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค." ์ง„์ง€ํ•˜๊ฒŒ ํŒ€์„ ๋ณด๋‚ด๊ฒ ์Šต๋‹ˆ๋‹ค.โ€
๊ทธ๋Ÿฌ๋‚˜ ์‹ค์Šต์— ๋”ฐ๋ฅด๋ฉด ์ด๊ฒƒ์ด ์ „์ ์œผ๋กœ ์‚ฌ์‹ค์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ์ผ๋ฐ˜์ ์ธ ์ผ๋ฐ˜์ ์ธ ์ž‘์—…์˜ ์ž‘์€ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.

  1. ๋„คํŠธ์›Œํฌ ์ง„๋‹จ ๋ฐ ๋ฌธ์ œ ํ•ด๊ฒฐ. ๋ผ์šฐํ„ฐ์˜ ์ด๋”๋„ท ํฌํŠธ ๋’ค์—๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ž์ฒด ๋‚ด๋ถ€ IP ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง„ ๋˜ ๋‹ค๋ฅธ ํ•˜๋“œ์›จ์–ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋•Œ๋กœ๋Š” "ํ•‘"์„ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜๋Š” ํ„ฐ๋„ ๊ด€๋ฆฌ - 3G ๋ชจ๋Ž€์„ ํ†ตํ•ด ์ž‘๋™ํ•˜๋Š” ๋ผ์šฐํ„ฐ์—์„œ ํ„ฐ๋„์ด ๊ฐ‘์ž๊ธฐ ์ƒ์Šนํ•˜์ง€ ์•Š์ง€๋งŒ ๋ผ์šฐํ„ฐ ์ž์ฒด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ.
  2. ์‹œ์Šคํ…œ ์œ ์ง€ ๊ด€๋ฆฌ. ํŽŒ์›จ์–ด ์—…๋ฐ์ดํŠธ, ์„œ๋น„์Šค ์Šคํฌ๋ฆฝํŠธ ์—…๊ทธ๋ ˆ์ด๋“œ.
  3. ๊ท ํ˜•์žก๊ธฐ ํ–‰์œ„. ์ด๊ฒƒ์€ "๋ณ€ํƒœ"๋ผ๊ณ  ๋ถ€๋ฅผ ์ˆ˜ ์žˆ์ง€๋งŒ "ํ‰ํ˜•์ฃผ์˜์ž"์˜ ๊ฐœ๋…์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. โ€œ๋ถˆ์•ˆ์ •ํ•œ ์‹ ์ฒด ์ž์„ธ์—์„œ ๊ท ํ˜•์„ ์œ ์ง€ํ•˜๋Š” ์„œ์ปค์Šค ๊ณต์—ฐ์ž์˜ ๋Šฅ๋ ฅโ€ - ๋” ์ž˜ ์–ด์šธ๋ ค์š”. ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์€ ๊ณ ๊ฐ์˜ ์ œํ•œ๋œ ์˜ˆ์‚ฐ์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜์— ๋ช‡ ๊ฐ€์ง€ ์˜ˆ๋ฅผ ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค๋งŒ... ์ด์•ผ๊ธฐ์˜ ์ฃผ์ œ์™€ ์ง์ ‘์ ์ธ ๊ด€๋ จ์€ ์—†์–ด ๋…ธํŠธ์— ๋„ฃ์—ˆ์Šต๋‹ˆ๋‹ค.

Wi-Fi ๋ชจ๋‹ˆํ„ฐ๋ง์ง€๋‚œ XNUMX๋…„๊ฐ„ ์ฃผ๋กœ ์—ฐ๋ฐฉ ์†Œ๋งค ์ฒด์ธ ์‚ฌ์ด์—์„œ ์œ ํ–‰ํ–ˆ๋˜ ์ฃผ์ œ์ž…๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ํ•œ๊ฐ€๋กญ๊ฒŒ ๊ฑฐ๋ž˜์†Œ๋ฅผ ๊ฑฐ๋‹๊ณ  ์žˆ๊ณ  Wi-Fi๊ฐ€ ์ผœ์ ธ ์žˆ๋Š” ํœด๋Œ€ํฐ์€ ๋„คํŠธ์›Œํฌ์˜ ์ผ๋ถ€ ์Šค๋ ˆ๋“œ์— "๊ณ ์ฐฉ"ํ•˜๊ธฐ ์œ„ํ•ด ์ •๊ธฐ์ ์œผ๋กœ ํ”„๋กœ๋ธŒ ์š”์ฒญ ํŒจํ‚ท์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ๋‹น์‹ : ์ด ๊ฐ€๊ฒŒ์— ์–ผ๋งˆ๋‚˜ ์ž์ฃผ ์˜ค์‹œ๋‚˜์š”? ์–ด๋–ค ์ด์œ ๋กœ ๊ถค์ ์„ ๋”ฐ๋ผ ๊ฑท๋Š”์ง€ ๋“ฑ๋“ฑ. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘, ๋ถ„์„ํ•˜๊ณ  ํžˆํŠธ ๋งต์„ ์ž‘์„ฑํ•˜๊ณ  ๊ด€๋ฆฌ์ž๋Š” ๊ทธ๋Ÿฌํ•œ ์‚ฌ์ง„์„ ์œ„ํ•ด ๊ฒฝ์˜์ง„์ด๋‚˜ ํˆฌ์ž์ž๋กœ๋ถ€ํ„ฐ ๋ˆ์„ "๊ฐˆ์ทจ"ํ•ฉ๋‹ˆ๋‹ค. ๊ธ€์Ž„์š”, ์ง€๊ธˆ์€.... "๋ˆ์ด ์—†์ง€๋งŒ ๋ฒ„ํ…จ๋ณด์„ธ์š”..." ๊ฒฐ๊ณผ(์‹ค์ œ)๊ฐ€ ์ด๋ฏธ ํ‘œ์‹œ๋˜์–ด์•ผ ํ•˜๋ฉฐ, ์ข‹์€ ์˜ค๋ž˜๋œ ๋…ธ๋ž˜๊ฐ€ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. "์˜ˆ, ์˜ˆ, ๊ทธ๋Ÿผ ๋ฌผ๋ก ์ด์ฃ . cis์™€ ์›ํ•˜๋Š” ๋ชจ๋“  ๊ฒƒ์„ ์„ค์น˜ํ•˜์ง€๋งŒ ์ด์ œ ๊ณ ๊ฐ์—๊ฒŒ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๊ณ ๊ฐ์ด Wi-Fi๋ฅผ ํ†ตํ•ด ์žฅ๋น„๋ฅผ ์ž์‹ ์˜ ํ•ซ์ŠคํŒŸ์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ–ˆ์ง€๋งŒ ์ผ๋ฐ˜์ ์œผ๋กœ ๋งˆ์น˜ ๊ฒŒ์ŠคํŠธ ํด๋ผ์ด์–ธํŠธ์ธ ๊ฒƒ์ฒ˜๋Ÿผ ํ—ˆ์šฉํ–ˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์žŠ์–ด๋ฒ„๋ ธ์Šต๋‹ˆ๋‹ค.โ€ ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” ๊ท ํ˜• ์กฐ์ • ๋ผ์šฐํ„ฐ๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ WiFi ํ•˜์œ„ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  ๊ทธ ์ค‘ ํ•˜๋‚˜๋Š” ํ•ซ์ŠคํŒŸ์— ๊ณ ์ •๋˜๊ณ  ๋‘ ๋ฒˆ์งธ๋Š” ํ™˜๊ฒฝ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ๋ฏธ์นœ ๋“ฏ์ด tcpdump ๊ฒฐ๊ณผ๋ฅผ ์ž์ฒด ์—…๋กœ๋“œํ•œ ๋‹ค์Œ ํŒŒ์ผ ๋‚ด์šฉ์„ ์•„์นด์ด๋ธŒ์— ์••์ถ•ํ•˜์—ฌ ์œ„ํ—˜์„ ์ดˆ๋ž˜ํ•ฉ๋‹ˆ๋‹ค. "๊ณผ์‹"์œผ๋กœ ์ฃฝ์–ด๊ฐ€๋Š” ๊ฒƒ์€ FTP ์„œ๋ฒ„์— ์žˆ๋Š” ๋‚ด์šฉ์„ ๋ฑ‰์–ด๋‚ด๋ ค๊ณ  ์‹œ๋„ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฐธ๋Ÿฐ์‹ฑ ๋ผ์šฐํ„ฐ๊ฐ€ ์ข…์ข… "๊ณ ์žฅ"๋˜์–ด ์›๊ฒฉ์œผ๋กœ "์†Œ์ƒ"๋˜์–ด์•ผ ํ•˜๋Š” ๊ฒƒ์€ ๋†€๋ผ์šด ์ผ์ด ์•„๋‹™๋‹ˆ๋‹ค.

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

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

  • ๋ผ์šฐํ„ฐ: ์•ˆ๋…•ํ•˜์„ธ์š”. ๋‚˜๋Š” ๊ทธ๋Ÿฐ ๋ผ์šฐํ„ฐ์ž…๋‹ˆ๋‹ค. ๋‚˜์—๊ฒŒ ์–ด๋–ค ์ž‘์—…์ด ์žˆ์Šต๋‹ˆ๊นŒ?
  • ์„œ๋ฒ„: ๋ผ์šฐํ„ฐ ์ด๋Ÿฐ์ €๋Ÿฐ, ๋‹น์‹ ์ด ์‚ด์•„ ์žˆ๋‹ค๊ณ  ๋“ฑ๋กํ–ˆ์Šต๋‹ˆ๋‹ค. ๋„์ „ ๊ณผ์ œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ifconfig ๋ช…๋ น์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?
  • ๋ผ์šฐํ„ฐ: ์•ˆ๋…•ํ•˜์„ธ์š”. ๋‚˜๋Š” ๊ทธ๋Ÿฐ ๋ผ์šฐํ„ฐ์ž…๋‹ˆ๋‹ค. ์ง€๋‚œ๋ฒˆ์— ifconfig์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ–ˆ์„ ๋•Œ ์—ฌ๊ธฐ์— ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜์—๊ฒŒ ์–ด๋–ค ์ž„๋ฌด๊ฐ€ ์žˆ๋‚˜์š”?
  • ์„œ๋ฒ„: ๋ผ์šฐํ„ฐ ์ด๋Ÿฐ์ €๋Ÿฐ, ๋‹น์‹ ์ด ์‚ด์•„ ์žˆ๋‹ค๊ณ  ๋“ฑ๋กํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์—๊ฒŒ ํ•  ์ผ์ด ์—†์Šต๋‹ˆ๋‹ค.

๊ฐ€์žฅ ํฅ๋ฏธ๋กœ์šด ์งˆ๋ฌธ: ์›๊ฒฉ ๋ผ์šฐํ„ฐ๊ฐ€ ์–ด๋–ป๊ฒŒ ํŠน์ • ์–‘์˜ ์ •๋ณด๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๋งˆ์ง€๋ง‰ ๋ถ€๋ถ„์—์„œ๋Š” ์ œํ•œ๋œ ๋ฆฌ์†Œ์Šค๋กœ ์ธํ•ด ๋ผ์šฐํ„ฐ์—๋Š” GET์„ ํ†ตํ•ด์„œ๋งŒ ์ž‘๋™ํ•˜๊ณ  FTP ํด๋ผ์ด์–ธํŠธ๋‚˜ ์ปฌ์€ ์—†๋Š” "์ŠคํŠธ๋ฆฝ๋‹ค์šด๋œ" wget๋งŒ ์žˆ๋‹ค๊ณ  ์„ค๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ณด๋‹ค ์ •ํ™•ํ•˜๊ฒŒ๋Š” ์ด๋ฏธ์ง€ ์กฐ๋ฆฝ์˜ ํŠน์„ฑ์— ๊ด€๊ณ„์—†์ด ๋ณดํŽธ์ ์ธ ๋ฐฉ๋ฒ•์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” wget์„ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋” ์ •ํ™•ํ•˜๊ฒŒ๋Š” ๋‚ด๊ฐ€ ์–ด๋–ป๊ฒŒ "๋ฉˆ์ท„๋Š”์ง€"์ž…๋‹ˆ๋‹ค. ์„ ํƒ์˜ ์—ฌ์ง€๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค :)

๋‹จ์ง€ ๋ฉด์ฑ… ์กฐํ•ญ๋‚ด ๊ด€๋ฆฌ ์†”๋ฃจ์…˜์€ ๊ทธ๋‹ค์ง€ ์ œํ•œ๋˜์ง€ ์•Š๊ณ  ์ž‘๋™ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ๋Œ€๋ถ€๋ถ„์˜ ๊ณ ๊ฐ์—๊ฒŒ ์ ํ•ฉํ•˜๋”๋ผ๋„ ๋น„๋šค์–ด์ ธ ์žˆ๋‹ค๊ณ  ํ™•์‹ ํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ํ˜„๋ช…ํ•˜๊ฒŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ํฌํŠธ 80์„ ํ†ตํ•ด POST ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๋Š” ์ž‘์€ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์ž‘์„ฑํ•˜์‹ญ์‹œ์˜ค. ๋ผ์šฐํ„ฐ ํŽŒ์›จ์–ด์— ์œ ํ‹ธ๋ฆฌํ‹ฐ(์œ ํ‹ธ๋ฆฌํ‹ฐ)๋ฅผ ํฌํ•จ์‹œํ‚ค๊ณ  bash๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•ก์„ธ์Šคํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ˜„์‹ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. a) ์‹ ์†ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. b) ๊ธฐ์กด "๋ผ์šฐํ„ฐ ๋™๋ฌผ์›"์—์„œ ๋ชจ๋“  ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. c) "ํ•ด๋ฅผ ๋ผ์น˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค!" โ€” ๋ผ์šฐํ„ฐ๊ฐ€ ์ž‘๋™ ์ค‘์ด๊ณ  ๋‹ค๋ฅธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ ๊ธฐ์กด ๊ธฐ๋Šฅ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š” ๋ณ€๊ฒฝ์„ ์‹œ๋„ํ•˜์‹ญ์‹œ์˜ค.

๊ตฌํ˜„์œผ๋กœ ๋„˜์–ด ๊ฐ‘์‹œ๋‹ค. ๊ณ ๊ฐ์ด "๋งˆ์šฐ์Šค ํด๋ฆญ"๋งŒ์œผ๋กœ ์‰ฝ๊ณ  ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ zabbix์—์„œ ๋ผ์šฐํ„ฐ๋ฅผ ์žฌ๋ถ€ํŒ…ํ•˜๊ธฐ๋ฅผ ์›ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ Zabbix๋ฅผ ์‚ฌ์šฉํ•œ ๊ตฌํ˜„์— ๋Œ€ํ•œ ์„ค๋ช…์„ ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
"๊ด€๋ฆฌ" -> "์Šคํฌ๋ฆฝํŠธ" ๋ฉ”๋‰ด์—์„œ ์ƒˆ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด๋ฅผ "์žฌ๋ถ€ํŒ…"์ด๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. ๋ช…๋ น์œผ๋กœ "php /usr/share/zabbix/reboot.php {HOST.HOST}"๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

ํฌํŠธ 80์„ ํ†ตํ•œ Linux/OpenWrt/Lede ๊ธฐ๋ฐ˜ ์žฅ์น˜์˜ ์›๊ฒฉ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๊ด€๋ฆฌ(๊ณ„์†)

๋‹ค์Œ: ๋ฉ”๋‰ด โ€œ๋ชจ๋‹ˆํ„ฐ๋งโ€ -> โ€œ์ตœ์‹  ๋ฐ์ดํ„ฐโ€ -> โ€œ์›ํ•˜๋Š” ๋„คํŠธ์›Œํฌ ๋…ธ๋“œ๋ฅผ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์œผ๋กœ ํด๋ฆญํ•˜์„ธ์š”.โ€ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ถ”๊ฐ€ํ•œ ํ›„์˜ ๋ฉ”๋‰ด ๋ชจ์–‘์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

ํฌํŠธ 80์„ ํ†ตํ•œ Linux/OpenWrt/Lede ๊ธฐ๋ฐ˜ ์žฅ์น˜์˜ ์›๊ฒฉ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๊ด€๋ฆฌ(๊ณ„์†)
๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” boot.php ์Šคํฌ๋ฆฝํŠธ๋ฅผ /usr/share/zabbix ๋””๋ ‰ํ† ๋ฆฌ์— ๋‘์—ˆ์Šต๋‹ˆ๋‹ค(์‚ฌ์šฉ์ž์˜ ๋””๋ ‰ํ† ๋ฆฌ๋Š” ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” zabbixa ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค).

์•ˆ์ „ ๋ฉด์ฑ… ์กฐํ•ญ์Šคํฌ๋ฆฝํŠธ์—์„œ ์„ค๋ช…์„ ๋” ๋ช…ํ™•ํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ๋ผ์šฐํ„ฐ ID๋งŒ ์‚ฌ์šฉํ•˜๊ณ  ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๋•์…˜ ๋ฒ„์ „์—์„œ๋Š” ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค! ๋‚ด๊ฐ€ ์ด๋ ‡๊ฒŒ ํ•œ ์ด์œ ๋Š”: ๊ฐ€์žฅ ํฐ ์งˆ๋ฌธ์€ ๋ผ์šฐํ„ฐ์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์–ด๋””์— ์ €์žฅํ•  ๊ฒƒ์ธ๊ฐ€ ํ•˜๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. "์ธ๋ฒคํ† ๋ฆฌ ๋ฐ์ดํ„ฐ"์˜ zabbixe ์ž์ฒด์— ์žˆ์Šต๋‹ˆ๊นŒ? ๋…ผ๋ž€์˜ ์—ฌ์ง€๊ฐ€ ์žˆ๋Š” ๊ด€ํ–‰. ๋Œ€์•ˆ: ์žฌ๋ถ€ํŒ….php ํŒŒ์ผ ์ž์ฒด์— ๋Œ€ํ•œ ์™ธ๋ถ€ ์ ‘๊ทผ์„ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค.

์žฌ๋ถ€ํŒ….php ํŒŒ์ผ

<?php
	// ะฟั€ะธัะฒะฐะธะฒะฐะตะผ ะฟะฐั€ะฐะผะตั‚ั€ั‹ ั ะบะพะฝัะพะปะธ ะฟะตั€ะตะผะตะฝะฝั‹ะผ
	$user = $argv[1];
	// ะ’ะะ˜ะœะะะ˜ะ•. ะ’ะพั‚ ะทะดะตััŒ ะฒ ั†ะตะปัั… ะฑะตะทะพะฟะฐัะฝะพัั‚ะธ ะฒัะต-ั‚ะฐะบะธ ะฟั€ะพะฟะธัั‹ะฒะฐั‚ัŒ ะฟะฐั€ะพะปัŒ ัƒัั‚ั€ะพะนัั‚ะฒะฐ! ะะพ ะดะปั ะดะตะผะพะฝัั‚ั€ะฐั†ะธะธ ะผั‹ ะฑัƒะดะตะผ ะพะฑั€ะฐั‰ะฐั‚ัŒัั ะบ ะฑะฐะทะต ะดะฐะฝะฝั‹ั… ะฑะตะท ะธัะฟะพะปัŒะทะพะฒะฐะฝะธั ะฟะฐั€ะพะปั. 
	//$password = $argv[2];
		
	$conn=new mysqli("localhost","db_user","db_password","db_name");
	if (mysqli_connect_errno()) {
		exit();
	}
	$conn->set_charset("utf8");
			
	// "ะžั‚ะฟั€ะฐะฒะปัะตะผ" ะบะพะผะฐะฝะดัƒ reboot ะทะฐ ัั‡ะตั‚ ะธะทะผะตะฝะตะฝะธั ะฟะพะปั task ั‚ะฐะฑะปะธั†ั‹ users. ะ’ ะฟะพะปะต task ะผะพะถะฝะพ ะพั‚ะฟั€ะฐะฒะปัั‚ัŒ ะปัŽะฑัƒัŽ ะบะพะผะฐะฝะดัƒ.
	$sql_users=$conn->prepare("UPDATE users SET task='reboot' WHERE id=? AND status='active';");
	$sql_users->bind_param('s', $user);
	$sql_users->execute();
	$sql_users->close();
?>

๊ทธ๊ฒŒ ๋‹ค์•ผ. "์žฅ์น˜์—์„œ ๋ช…๋ น ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ์–ป๋Š” ๋ฐฉ๋ฒ•"์ด๋ผ๋Š” ์งˆ๋ฌธ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹์—ด๋ ค ์žˆ์Šต๋‹ˆ๋‹ค. ifconfig ๋ช…๋ น์„ ์˜ˆ๋กœ ๋“ค์–ด ์ž‘์—…์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด ๋ช…๋ น์€ ์žฅ์น˜๋กœ ์ „์†ก๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

message=`ifconfig`; wget "http://xn--80abgfbdwanb2akugdrd3a2e5gsbj.xn--p1ai/a.php?u=user&p=password!&m=$message" -O /tmp/out.txt

, ์—ฌ๊ธฐ์„œ :
๋ฉ”์‹œ์ง€=`ifconfig` โ€” ifconfig ๋ช…๋ น ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ $message ๋ณ€์ˆ˜์— ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค.
์™€๊ฒŸ "xn--80abgfbdwanb2akugdrd3a2e5gsbj.xn--p1ai/a.php โ€” ๋ผ์šฐํ„ฐ๋ฅผ ๋“ฑ๋กํ•˜๊ณ  ๋ผ์šฐํ„ฐ๋กœ๋ถ€ํ„ฐ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›๋Š” a.php ์Šคํฌ๋ฆฝํŠธ
u=์‚ฌ์šฉ์ž&p=๋น„๋ฐ€๋ฒˆํ˜ธ!&m=$๋ฉ”์‹œ์ง€ โ€” ์ž๊ฒฉ ์ฆ๋ช… ๋ฐ ์š”์ฒญ ๋ณ€์ˆ˜ m์˜ ๊ฐ’ โ€” $message ๋ณ€์ˆ˜์˜ ๋‚ด์šฉ์„ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค.
-O /tmp/out.txt โ€” ์ด ๊ฒฝ์šฐ /tmp/out.txt ํŒŒ์ผ๋กœ ์ถœ๋ ฅํ•  ํ•„์š”๋Š” ์—†์ง€๋งŒ ์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด wget์ด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

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

๊ธ€์Ž„์š”, ๋ฏธ๋ž˜๋ฅผ ์œ„ํ•œ ์‹œ์ž‘์ž…๋‹ˆ๋‹ค. ํ‘œ์ค€ zabbix ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„์— ์ œ๊ณต๋˜๋Š” ๊ฒฐ๊ณผ(์˜ˆ: ๋ช…๋ น ์‹คํ–‰ ๊ฒฐ๊ณผ)๋ฅผ ๋ฐ˜์˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•„์ง ํŒŒ์•…ํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  ์†Œ์Šค๋Š” ๋‹ค์Œ Git ์ €์žฅ์†Œ์—์„œ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. github.com/BazDen/iotnet.online.git

์ถœ์ฒ˜ : habr.com

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