MikroTik ๋ฐ SMS๋ฅผ ํ†ตํ•œ VPN ์‚ฌ์šฉ์ž์˜ ์ด์ค‘ ์ธ์ฆ

์•ˆ๋…• ๋™๋ฃŒ๋“ค! ์˜ค๋Š˜๋‚  "์›๊ฒฉ ์ž‘์—…"์— ๋Œ€ํ•œ ์—ด์ •์˜ ๊ฐ•๋„๊ฐ€ ์•ฝ๊ฐ„ ๊ฐ€๋ผ์•‰์•˜์„ ๋•Œ ๋Œ€๋ถ€๋ถ„์˜ ๊ด€๋ฆฌ์ž๊ฐ€ ํšŒ์‚ฌ ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•œ ์ง์›์˜ ์›๊ฒฉ ์•ก์„ธ์Šค ์ž‘์—…์„ ์ด๊ฒผ์Šต๋‹ˆ๋‹ค. VPN ๋ณด์•ˆ ๊ฐœ์„ ์— ๋Œ€ํ•œ ์˜ค๋žœ ๊ฒฝํ—˜์„ ๊ณต์œ ํ•  ๋•Œ์ž…๋‹ˆ๋‹ค. ์ด ๊ธฐ์‚ฌ๋Š” ์ด์ œ IPSec IKEv2 ๋ฐ xAuth์— ์œ ํ–‰ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. 2๋‹จ๊ณ„ ์ธ์ฆ(XNUMXFA) MikroTik์ด VPN ์„œ๋ฒ„ ์—ญํ• ์„ ํ•˜๋Š” VPN ์‚ฌ์šฉ์ž. ์ฆ‰, PPP์™€ ๊ฐ™์€ "๊ณ ์ „์ ์ธ" ํ”„๋กœํ† ์ฝœ์ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.

MikroTik ๋ฐ SMS๋ฅผ ํ†ตํ•œ VPN ์‚ฌ์šฉ์ž์˜ ์ด์ค‘ ์ธ์ฆ

์˜ค๋Š˜์€ ์‚ฌ์šฉ์ž ๊ณ„์ •์ด "ํ•˜์ด์žฌํ‚น"๋œ ๊ฒฝ์šฐ์—๋„ MikroTik PPP-VPN์„ ๋ณดํ˜ธํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด ์ œ๋„๋ฅผ ๋‚ด ๊ณ ๊ฐ ์ค‘ ํ•œ ๋ช…์—๊ฒŒ ์†Œ๊ฐœํ–ˆ์„ ๋•Œ ๊ทธ๋Š” "์Œ, ์ด์ œ ์€ํ–‰์— ์žˆ๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค!"๋ผ๊ณ  ๊ฐ„๋‹จํžˆ ์„ค๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค.

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

์ผ๋ฐ˜์ ์ธ ๋ณดํ˜ธ ์ฒด๊ณ„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. VPN ์„œ๋ฒ„์— ์„ฑ๊ณต์ ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ์‚ฌ์šฉ์ž์˜ ๋‚ด๋ถ€ IP ์ฃผ์†Œ๋Š” ์ž๋™์œผ๋กœ ๊ทธ๋ ˆ์ด๋ฆฌ์ŠคํŠธ์— ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.
  2. ์—ฐ๊ฒฐ ์ด๋ฒคํŠธ๋Š” ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ „์†ก๋˜๋Š” ์ผํšŒ์„ฑ ์ฝ”๋“œ๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  3. ์ด ๋ชฉ๋ก์˜ ์ฃผ์†Œ๋Š” ์ผํšŒ์„ฑ ์•”ํ˜ธ๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•ด ๋Œ€๊ธฐ ์ค‘์ธ "์ธ์ฆ์ž" ์„œ๋น„์Šค๋ฅผ ์ œ์™ธํ•˜๊ณ  ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๊ฐ€ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค.
  4. ์ฝ”๋“œ๋ฅผ ์ œ์‹œํ•œ ํ›„ ์‚ฌ์šฉ์ž๋Š” ๋„คํŠธ์›Œํฌ์˜ ๋‚ด๋ถ€ ๋ฆฌ์†Œ์Šค์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฒ˜์Œ์œผ๋กœ ๋‚ด๊ฐ€ ์ง๋ฉดํ•ด์•ผ ํ–ˆ๋˜ ๊ฐ€์žฅ ์ž‘์€ ๋ฌธ์ œ๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ 2FA ์ฝ”๋“œ๋ฅผ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์—ฐ๋ฝ์ฒ˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. Mikrotik์—์„œ๋Š” ์‚ฌ์šฉ์ž์— ํ•ด๋‹นํ•˜๋Š” ์ž„์˜์˜ ๋ฐ์ดํ„ฐ ํ•„๋“œ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ ๊ธฐ์กด "์„ค๋ช…" ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

/ppp ๋น„๋ฐ€ ์ถ”๊ฐ€ ์ด๋ฆ„=Petrov ๋น„๋ฐ€๋ฒˆํ˜ธ=4M@ngr! ์ฝ”๋ฉ˜ํŠธ="89876543210"

์ดˆ ๋ฌธ์ œ๋Š” ๋” ์‹ฌ๊ฐํ•œ ๊ฒƒ์œผ๋กœ ํŒ๋ช…๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฒฝ๋กœ ์„ ํƒ๊ณผ ์ฝ”๋“œ ์ „๋‹ฌ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ ์„ธ ๊ฐ€์ง€ ์ฒด๊ณ„๊ฐ€ ๊ตฌํ˜„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. a) USB ๋ชจ๋Ž€์„ ํ†ตํ•œ SMS b) ์ด๋ฉ”์ผ c) ์ ์ƒ‰ ์…€๋ฃฐ๋Ÿฌ ์‚ฌ์—…์ž์˜ ๊ธฐ์—… ๊ณ ๊ฐ์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ด๋ฉ”์ผ์„ ํ†ตํ•œ SMS.

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

๊ทธ๋ž˜์„œ ๊ฒฐ์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. SMS ๋ฉ”์‹œ์ง€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ผํšŒ์„ฑ ์ฝ”๋“œ๋ฅผ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

์„ธ ๋ฒˆ์งธ ๋ฌธ์ œ๋Š” ์–ด๋””์„œ MikroTik์—์„œ 2FA์— ๋Œ€ํ•œ ์œ ์‚ฌ ๋ฌด์ž‘์œ„ ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•. RouterOS ์Šคํฌ๋ฆฝํŒ… ์–ธ์–ด์—๋Š” random() ํ•จ์ˆ˜์™€ ์œ ์‚ฌํ•œ ๊ธฐ๋Šฅ์ด ์—†์œผ๋ฉฐ ์ด์ „์— ๋ช‡ ๊ฐ€์ง€ ๋ชฉ๋ฐœ ์Šคํฌ๋ฆฝํŠธ ์˜์‚ฌ ๋‚œ์ˆ˜ ์ƒ์„ฑ๊ธฐ๋ฅผ ๋ณธ ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ด์œ ๋กœ ๊ทธ๋“ค ์ค‘ ์–ด๋Š ๊ฒƒ๋„ ์ข‹์•„ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์‚ฌ์‹ค MikroTik์—๋Š” ์˜์‚ฌ ๋‚œ์ˆ˜ ์‹œํ€€์Šค ์ƒ์„ฑ๊ธฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค! /certificates scep-server์˜ ๋งฅ๋ฝ์—์„œ ๊ฒ‰๋ณด๊ธฐ์—๋Š” ์ˆจ๊ฒจ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ๋ฐฉ๋ฒ• ์ผํšŒ์šฉ ์•”ํ˜ธ๋ฅผ ์–ป๋Š” ๊ฒƒ์€ ์‰ฝ๊ณ  ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค - ๋ช…๋ น์œผ๋กœ /์ธ์ฆ์„œ scep-server otp ์ƒ์„ฑ. ๊ฐ„๋‹จํ•œ ๋ณ€์ˆ˜ ํ• ๋‹น ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋ฉด ๋‚˜์ค‘์— ์Šคํฌ๋ฆฝํŠธ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฐ์—ด ๊ฐ’์„ ์–ป๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋‘ ๋ฒˆ์งธ ๋ฐฉ๋ฒ• ์ ์šฉํ•˜๊ธฐ ์‰ฌ์šด ์ผํšŒ์šฉ ๋น„๋ฐ€๋ฒˆํ˜ธ ์–ป๊ธฐ - ์™ธ๋ถ€ ์„œ๋น„์Šค ์‚ฌ์šฉ random.org ์›ํ•˜๋Š” ์ข…๋ฅ˜์˜ ์˜์‚ฌ ๋‚œ์ˆ˜ ์‹œํ€€์Šค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ๋‹จ์ˆœํ™”๋œ ์บ”ํ‹ธ๋ ˆ๋ฒ„ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€์ˆ˜๋กœ ๊ฐ€์ ธ์˜ค๋Š” ์˜ˆ:

์•”ํ˜ธ
:global rnd1 [:pick ([/tool fetch url="https://www.random.org/strings/?num=1&len=7&digits=on&unique=on&format=plain&rnd=new" as-value output=user ]->"da
ta") 1 6] :put $rnd1

์ฝ˜์†”์šฉ์œผ๋กœ ํ˜•์‹ํ™”๋œ ์š”์ฒญ(์Šคํฌ๋ฆฝํŠธ ๋ณธ๋ฌธ์— ์ด์Šค์ผ€์ดํ”„ ํŠน์ˆ˜ ๋ฌธ์ž๊ฐ€ ํ•„์š”ํ•จ)์€ $rnd1 ๋ณ€์ˆ˜์— XNUMX์ž๋ฆฌ ๋ฌธ์ž์—ด์„ ์ˆ˜์‹ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ "put" ๋ช…๋ น์€ ๋‹จ์ˆœํžˆ MikroTik ์ฝ˜์†”์— ๋ณ€์ˆ˜๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

๋„ค ๋ฒˆ์งธ ๋ฌธ์ œ ์‹ ์†ํ•˜๊ฒŒ ํ•ด๊ฒฐํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ - ์ด๊ฒƒ์€ ์—ฐ๊ฒฐ๋œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ธ์ฆ์˜ ๋‘ ๋ฒˆ์งธ ๋‹จ๊ณ„์—์„œ ์ผํšŒ์„ฑ ์ฝ”๋“œ๋ฅผ ์ „์†กํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์œ„์น˜์ž…๋‹ˆ๋‹ค.

MikroTik ๋ฐ SMS๋ฅผ ํ†ตํ•œ VPN ์‚ฌ์šฉ์ž์˜ ์ด์ค‘ ์ธ์ฆ

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

์ž˜๋ชป๋œ ์„œ๋น„์Šค ์„ ํƒ์œผ๋กœ ์ธํ•ด Mikrotik์— ๋‚ด์žฅ๋œ ์›น ํ”„๋ก์‹œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ http๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ๋ฅผ ์ˆ˜๋ฝํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฐฉํ™”๋ฒฝ์€ IP ์ฃผ์†Œ์˜ ๋™์  ๋ชฉ๋ก๊ณผ ํ•จ๊ป˜ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ฝ”๋“œ ๊ฒ€์ƒ‰์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ IP์™€ ์ผ์น˜์‹œํ‚ค๊ณ  Layer7 regexp๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ "ํ™”์ดํŠธ" ๋ชฉ๋ก์— ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์€ ๋ฐฉํ™”๋ฒฝ์ž…๋‹ˆ๋‹ค. ๋ผ์šฐํ„ฐ ์ž์ฒด์—๋Š” ์กฐ๊ฑด๋ถ€ DNS ์ด๋ฆ„ "gw.local"์ด ์ง€์ •๋˜์—ˆ์œผ๋ฉฐ PPP ํด๋ผ์ด์–ธํŠธ์— ๋ฐœํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์ •์  A ๋ ˆ์ฝ”๋“œ๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

DNS
/ip dns ์ •์  ์ถ”๊ฐ€ ์ด๋ฆ„=gw.local ์ฃผ์†Œ=172.31.1.1

ํ”„๋ก์‹œ์—์„œ ํ™•์ธ๋˜์ง€ ์•Š์€ ํด๋ผ์ด์–ธํŠธ์˜ ํŠธ๋ž˜ํ”ฝ ์บก์ฒ˜:
/ip firewall nat add chain=dstnat dst-port=80,443 in-interface=2fa protocol=tcp !src-address-list=2fa_approved action=redirect to-ports=3128

์ด ๊ฒฝ์šฐ ํ”„๋ก์‹œ์—๋Š” ๋‘ ๊ฐ€์ง€ ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

1. ํด๋ผ์ด์–ธํŠธ์™€ TCP ์—ฐ๊ฒฐ์„ ์—ฝ๋‹ˆ๋‹ค.

2. ์ธ์ฆ์— ์„ฑ๊ณตํ•˜๋ฉด ํด๋ผ์ด์–ธํŠธ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ธ์ฆ ์„ฑ๊ณต์„ ์•Œ๋ฆฌ๋Š” ํŽ˜์ด์ง€ ๋˜๋Š” ์‚ฌ์ง„์œผ๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋ก์‹œ ๊ตฌ์„ฑ
/ip proxy
set enabled=yes port=3128
/ip proxy access
add action=deny disabled=no redirect-to=gw.local./mikrotik_logo.png src-address=0.0.0.0/0

์ค‘์š”ํ•œ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๋‚˜์—ดํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

  1. interface-list "2fa" - 2FA ๋‚ด์—์„œ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ํŠธ๋ž˜ํ”ฝ์ธ ํด๋ผ์ด์–ธํŠธ ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋™์  ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.
  2. address-list "2fa_jailed" - VPN ํด๋ผ์ด์–ธํŠธ์˜ ํ„ฐ๋„ IP ์ฃผ์†Œ ๋ชฉ๋ก์ธ "ํšŒ์ƒ‰";
  3. address_list "2fa_approved" - XNUMX๋‹จ๊ณ„ ์ธ์ฆ์„ ์„ฑ๊ณต์ ์œผ๋กœ ํ†ต๊ณผํ•œ VPN ํด๋ผ์ด์–ธํŠธ์˜ ํ„ฐ๋„ IP ์ฃผ์†Œ์˜ "ํฐ์ƒ‰" ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.
  4. ๋ฐฉํ™”๋ฒฝ ์ฒด์ธ "input_2fa" - tcp ํŒจํ‚ท์—์„œ ์ธ์ฆ ์ฝ”๋“œ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์ฝ”๋“œ ๋ฐœ์‹ ์ž์˜ IP ์ฃผ์†Œ๋ฅผ ํ•„์š”ํ•œ ๊ฒƒ๊ณผ ์ผ์น˜์‹œํ‚ต๋‹ˆ๋‹ค. ์ฒด์ธ์˜ ๊ทœ์น™์€ ๋™์ ์œผ๋กœ ์ถ”๊ฐ€ ๋ฐ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค.

ํŒจํ‚ท ์ฒ˜๋ฆฌ์˜ ๋‹จ์ˆœํ™”๋œ ์ˆœ์„œ๋„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

MikroTik ๋ฐ SMS๋ฅผ ํ†ตํ•œ VPN ์‚ฌ์šฉ์ž์˜ ์ด์ค‘ ์ธ์ฆ

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

์•”ํ˜ธ
/ip firewall filter add chain=input !src-address-list=2fa_approved action=jump jump-target=input_2fa

์ด์ œ ์ด ๋ชจ๋“  ๋ถ€๋ฅผ PPP ์„œ๋น„์Šค์— ์—ฐ๊ฒฐํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. MikroTik์„ ์‚ฌ์šฉํ•˜๋ฉด ํ”„๋กœํ•„(ppp-profile)์—์„œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ppp ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๊ณ  ๋Š๋Š” ์ด๋ฒคํŠธ์— ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ppp-profile ์„ค์ •์€ PPP ์„œ๋ฒ„ ์ „์ฒด์™€ ๊ฐœ๋ณ„ ์‚ฌ์šฉ์ž ๋ชจ๋‘์—๊ฒŒ ์ ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋™์‹œ์— ์‚ฌ์šฉ์ž์—๊ฒŒ ํ• ๋‹น๋œ ํ”„๋กœํ•„์ด ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ€์ง€๋ฉฐ ์„œ๋ฒ„ ์ „์ฒด์— ๋Œ€ํ•ด ์„ ํƒ๋œ ํ”„๋กœํ•„์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ง€์ •๋œ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ฎ์–ด์”๋‹ˆ๋‹ค.

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

์ƒˆ๋กœ ์ƒ์„ฑ๋œ ํŠน์ˆ˜ ํ”„๋กœํ•„์—์„œ๋Š” ์ฃผ์†Œ ๋ฐ ์ธํ„ฐํŽ˜์ด์Šค์˜ "ํšŒ์ƒ‰" ๋ชฉ๋ก์— ์—ฐ๊ฒฐ๋œ ์‚ฌ์šฉ์ž์˜ ์ฃผ์†Œ ๋ฐ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋™์ ์œผ๋กœ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

์œˆ๋ฐ•์Šค
MikroTik ๋ฐ SMS๋ฅผ ํ†ตํ•œ VPN ์‚ฌ์šฉ์ž์˜ ์ด์ค‘ ์ธ์ฆ

์•”ํ˜ธ
/ppp profile add address-list=2fa_jailed change-tcp-mss=no local-address=192.0.2.254 name=2FA interface-list=2fa only-one=yes remote-address=dhcp_pool1 use-compression=no use-encryption= required use-mpls=no use-upnp=no dns-server=172.31.1.1

dstnat(์‚ฌ์ „ ๋ผ์šฐํŒ…) ์ฒด์ธ์—์„œ ๋น„๋ณด์กฐ VPN ํด๋ผ์ด์–ธํŠธ์˜ ํŠธ๋ž˜ํ”ฝ์„ ๊ฐ์ง€ํ•˜๊ณ  ์บก์ฒ˜ํ•˜๋ ค๋ฉด "address-list" ๋ฐ "interface-list" ๋ชฉ๋ก์„ ๋ชจ๋‘ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ค€๋น„๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ์ถ”๊ฐ€ ๋ฐฉํ™”๋ฒฝ ์ฒด์ธ๊ณผ ํ”„๋กœํ•„์ด ์ƒ์„ฑ๋˜๊ณ  2FA ์ฝ”๋“œ ๋ฐ ๊ฐœ๋ณ„ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์˜ ์ž๋™ ์ƒ์„ฑ์„ ๋‹ด๋‹นํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์„œ wiki.mikrotik.com PPP-Profile์—์„œ PPP ํด๋ผ์ด์–ธํŠธ ์—ฐ๊ฒฐ-์—ฐ๊ฒฐ ํ•ด์ œ ์ด๋ฒคํŠธ์™€ ๊ด€๋ จ๋œ ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํ’๋ถ€ํ•˜๊ฒŒ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. "์‚ฌ์šฉ์ž ๋กœ๊ทธ์ธ ์ด๋ฒคํŠธ์—์„œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ์ด๋ฒคํŠธ ์Šคํฌ๋ฆฝํŠธ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค: ์‚ฌ์šฉ์ž, ๋กœ์ปฌ ์ฃผ์†Œ, ์›๊ฒฉ ์ฃผ์†Œ, ํ˜ธ์ถœ์ž ID, ํ˜ธ์ถœ ID, ์ธํ„ฐํŽ˜์ด์Šค". ๊ทธ๋“ค ์ค‘ ์ผ๋ถ€๋Š” ์šฐ๋ฆฌ์—๊ฒŒ ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

PPP ์—ฐ๊ฒฐ ์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ํ”„๋กœํ•„์— ์‚ฌ์šฉ๋˜๋Š” ์ฝ”๋“œ

#ะ›ะพะณะธั€ัƒะตะผ ะดะปั ะพั‚ะปะฐะดะบะธ ะฟะพะปัƒั‡ะตะฝะฝั‹ะต ะฟะตั€ะตะผะตะฝะฝั‹ะต 
:log info (

quot;local-address")
:log info (


quot;remote-address")
:log info (


quot;caller-id")
:log info (


quot;called-id")
:log info ([/int pptp-server get (


quot;interface") name])
#ะžะฑัŠัะฒะปัะตะผ ัะฒะพะธ ะปะพะบะฐะปัŒะฝั‹ะต ะฟะตั€ะตะผะตะฝะฝั‹ะต
:local listname "2fa_jailed"
:local viamodem false
:local modemport "usb2"
#ะธั‰ะตะผ ะฐะฒั‚ะพะผะฐั‚ะธั‡ะตัะบะธ ัะพะทะดะฐะฝะฝัƒัŽ ะทะฐะฟะธััŒ ะฒ ะฐะดั€ะตั-ะปะธัั‚ะต "2fa_jailed"
:local recnum1 [/ip fi address-list find address=(


quot;remote-address") list=$listname]

#ะฟะพะปัƒั‡ะฐะตะผ ะฟัะตะฒะดะพัะปัƒั‡ะฐะนะฝั‹ะน ะบะพะด ั‡ะตั€ะตะท random.org
#:local rnd1 [:pick ([/tool fetch url="https://www.random.org/strings/?num=1&len=7&digits=on&unique=on&format=plain&rnd=new" as-value output=user]->"data") 0 4] #ะปะธะฑะพ ะฟะพะปัƒั‡ะฐะตะผ ะฟัะตะฒะดะพัะปัƒั‡ะฐะนะฝั‹ะน ะบะพะด ั‡ะตั€ะตะท ะปะพะบะฐะปัŒะฝั‹ะน ะณะตะฝะตั€ะฐั‚ะพั€
#:local rnd1 [pick ([/cert scep-server otp generate as-value minutes-valid=1]->"password") 0 4 ]

#ะ˜ั‰ะตะผ ะธ ะพะฑะฝะพะฒะปัะตะผ ะบะพะผะผะตะฝั‚ ะบ ะทะฐะฟะธัะธ ะฒ ะฐะดั€ะตั-ะปะธัั‚ะต. ะ’ะฝะพัะธะผ ะธัะบะพะผั‹ะน ะบะพะด ะดะปั ะพั‚ะปะฐะดะบะธ
/ip fir address-list set $recnum1 comment=$rnd1
#ะฟะพะปัƒั‡ะฐะตะผ ะฝะพะผะตั€ ั‚ะตะปะตั„ะพะฝะฐ ะบัƒะดะฐ ัะปะฐั‚ัŒ SMS
:local vphone [/ppp secret get [find name=$user] comment]

#ะ“ะพั‚ะพะฒะธะผ ั‚ะตะปะพ ัะพะพะฑั‰ะตะฝะธั. ะ•ัะปะธ ะบะปะธะตะฝั‚ ะฟะพะดะบะปัŽั‡ะฐะตั‚ัั ะบ VPN ะฟั€ัะผะพ ั ั‚ะตะปะตั„ะพะฝะฐ ะตะผัƒ ะดะพัั‚ะฐั‚ะพั‡ะฝะพ
#ะฑัƒะดะตั‚ ะฟะตั€ะตะนั‚ะธ ะฟั€ัะผะพ ะฟะพ ััั‹ะปะบะต ะธะท ะฟะพะปัƒั‡ะตะฝะฝะพะณะพ ัะพะพะฑั‰ะตะฝะธั
:local msgboby ("Your code: ".$comm1."n Or open link http://gw.local/otp/".$comm1."/")

# ะžั‚ะฟั€ะฐะฒะปัะตะผ SMS ะฟะพ ะฒั‹ะฑั€ะฐะฝะฝะพะผัƒ ะบะฐะฝะฐะปัƒ - USB-ะผะพะดะตะผ ะธะปะธ email-to-sms
if $viamodem do={
/tool sms send phone-number=$vphone message=$msgboby port=$modemport }
else={
/tool e-mail send server=a.b.c.d [email protected] [email protected] subject="@".$vphone body=$msgboby }

#ะ“ะตะฝะตั€ะธั€ัƒะตะผ Layer7 regexp
local vregexp ("otp\/".$comm1)
:local vcomment ("2fa_".(


quot;remote-address"))
/ip firewall layer7-protocol add name=(


quot;vcomment") comment=(


quot;remote-address") regexp=(


quot;vregexp")

#ะ“ะตะฝะตั€ะธั€ัƒะตะผ ะฟั€ะฐะฒะธะปะพ ะฟั€ะพะฒะตั€ััŽั‰ะตะต ะฟะพ Layer7 ั‚ั€ะฐั„ะธะบ ะบะปะธะตะฝั‚ะฐ ะฒ ะฟะพะธัะบะฐั… ะฝัƒะถะฝะพะณะพ ะบะพะดะฐ
#ะธ ะฝะตะฑะพะปัŒัˆะพะน ะทะฐั‰ะธั‚ะพะน ะพั‚ ะฑั€ัƒั‚ั„ะพั€ัะฐ ะบะพะดะพะฒ ั ะฟะพะผะพั‰ัŒัŽ dst-limit
/ip firewall filter add action=add-src-to-address-list address-list=2fa_approved address-list-timeout=none-dynamic chain=input_2fa dst-port=80,443,3128 layer7-protocol=(


quot;vcomment") protocol=tcp src-address=(


quot;remote-address") dst-limit=1,1,src-address/1m40s

ํŠนํžˆ ์•„๋ฌด ์ƒ๊ฐ ์—†์ด ๋ณต์‚ฌ-๋ถ™์—ฌ๋„ฃ๊ธฐ๋ฅผ ์ข‹์•„ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ๋Š” ํ…Œ์ŠคํŠธ ๋ฒ„์ „์—์„œ ๊ฐ€์ ธ์˜จ ๊ฒƒ์ด๋ฉฐ ์‚ฌ์†Œํ•œ ์˜คํƒ€๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ดํ•ดํ•˜๋Š” ์‚ฌ๋žŒ์ด ์ •ํ™•ํžˆ ์–ด๋””์— ์žˆ๋Š”์ง€ ํŒŒ์•…ํ•˜๋Š” ๊ฒƒ์€ ์–ด๋ ต์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž๊ฐ€ ์—ฐ๊ฒฐ์„ ๋Š์œผ๋ฉด "On-Down" ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์žˆ๋Š” ํ•ด๋‹น ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ์ด ์Šคํฌ๋ฆฝํŠธ์˜ ์ž‘์—…์€ ์—ฐ๊ฒฐ์ด ๋Š๊ธด ์‚ฌ์šฉ์ž์— ๋Œ€ํ•ด ์ƒ์„ฑ๋œ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์„ ์ •๋ฆฌํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

PPP ์˜จ๋‹ค์šด ์—ฐ๊ฒฐ ์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ํ”„๋กœํ•„์— ์‚ฌ์šฉ๋˜๋Š” ์ฝ”๋“œ

:local vcomment ("2fa_".(

quot;remote-address"))
/ip firewall address-list remove [find address=(


quot;remote-address") list=2fa_approved] /ip firewall filter remove [find chain="input_2fa" src-address=(


quot;remote-address") ] /ip firewall layer7-protocol remove [find name=$vcomment]
๊ทธ๋Ÿฐ ๋‹ค์Œ ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ „์ฒด ๋˜๋Š” ์ผ๋ถ€๋ฅผ XNUMX๋‹จ๊ณ„ ์ธ์ฆ ํ”„๋กœํ•„์— ํ• ๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์œˆ๋ฐ•์Šค
MikroTik ๋ฐ SMS๋ฅผ ํ†ตํ•œ VPN ์‚ฌ์šฉ์ž์˜ ์ด์ค‘ ์ธ์ฆ

์•”ํ˜ธ
/ppp secrets set [find name=Petrov] profile=2FA

ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ์–ด๋–ป๊ฒŒ ๋ณด์ด๋Š”์ง€.

VPN ์—ฐ๊ฒฐ์ด ์„ค์ •๋˜๋ฉด SIM ์นด๋“œ๊ฐ€ ์žˆ๋Š” Android/iOS ์ „ํ™”/ํƒœ๋ธ”๋ฆฟ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ SMS๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค.

SMS
MikroTik ๋ฐ SMS๋ฅผ ํ†ตํ•œ VPN ์‚ฌ์šฉ์ž์˜ ์ด์ค‘ ์ธ์ฆ

์ „ํ™”/ํƒœ๋ธ”๋ฆฟ์—์„œ ์ง์ ‘ ์—ฐ๊ฒฐ์ด ์„ค์ •๋˜๋ฉด ๋ฉ”์‹œ์ง€์˜ ๋งํฌ๋ฅผ ํด๋ฆญํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด 2FA๋ฅผ ํ†ต๊ณผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŽธ์•ˆํ•ฉ๋‹ˆ๋‹ค.

PC์—์„œ VPN ์—ฐ๊ฒฐ์ด ์„ค์ •๋˜๋ฉด ์‚ฌ์šฉ์ž๋Š” ์ตœ์†Œํ•œ์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ ํ˜•์‹์„ ์ž…๋ ฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. VPN์„ ์„ค์ •ํ•  ๋•Œ HTML ํŒŒ์ผ ํ˜•ํƒœ์˜ ์ž‘์€ ์–‘์‹์ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ์„ ๋ฉ”์ผ๋กœ ๋ณด๋‚ผ ์ˆ˜๋„ ์žˆ์œผ๋ฏ€๋กœ ์‚ฌ์šฉ์ž๊ฐ€ ํŒŒ์ผ์„ ์ €์žฅํ•˜๊ณ  ํŽธ๋ฆฌํ•œ ์œ„์น˜์— ๋ฐ”๋กœ ๊ฐ€๊ธฐ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

ํ…Œ์ด๋ธ”์— ๋ผ๋ฒจ
MikroTik ๋ฐ SMS๋ฅผ ํ†ตํ•œ VPN ์‚ฌ์šฉ์ž์˜ ์ด์ค‘ ์ธ์ฆ

์‚ฌ์šฉ์ž๊ฐ€ ๋ฐ”๋กœ ๊ฐ€๊ธฐ๋ฅผ ํด๋ฆญํ•˜๋ฉด ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ ์ž…๋ ฅ ์–‘์‹์ด ์—ด๋ฆฌ๊ณ  ์—ด๋ฆฐ URL์— ์ฝ”๋“œ๊ฐ€ ๋ถ™์—ฌ๋„ฃ์–ด์ง‘๋‹ˆ๋‹ค.

์Šคํฌ๋ฆฐ ํ˜•ํƒœ
MikroTik ๋ฐ SMS๋ฅผ ํ†ตํ•œ VPN ์‚ฌ์šฉ์ž์˜ ์ด์ค‘ ์ธ์ฆ

๊ฐ€์žฅ ์›์‹œ์ ์ธ ํ˜•ํƒœ๋ฅผ ์˜ˆ๋กœ ๋“ค์–ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์›ํ•˜๋Š” ์‚ฌ๋žŒ์€ ์Šค์Šค๋กœ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2fa_login_mini.html

<html>
<head> <title>SMS OTP login</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head>
<body>
<form name="login" action="location.href='http://gw.local/otp/'+document.getElementById(โ€˜text').value"  method="post"
 <input id="text" type="text"/> 
<input type="button" value="Login" onclick="location.href='http://gw.local/otp/'+document.getElementById('text').value"/> 
</form>
</body>
</html>

์ธ์ฆ์— ์„ฑ๊ณตํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ €์— MikroTik ๋กœ๊ณ ๊ฐ€ ํ‘œ์‹œ๋˜์–ด ์ธ์ฆ ์„ฑ๊ณต์„ ์•Œ๋ฆฝ๋‹ˆ๋‹ค.

MikroTik ๋ฐ SMS๋ฅผ ํ†ตํ•œ VPN ์‚ฌ์šฉ์ž์˜ ์ด์ค‘ ์ธ์ฆ

์ด๋ฏธ์ง€๋Š” WebProxy Deny Redirect๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‚ด์žฅ๋œ MikroTik ์›น ์„œ๋ฒ„์—์„œ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค.

"ํ•ซ์ŠคํŒŸ" ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉ์ž ์ •์˜ํ•  ์ˆ˜ ์žˆ๊ณ  ๊ฑฐ๊ธฐ์— ์ž์‹ ์˜ ๋ฒ„์ „์„ ์—…๋กœ๋“œํ•˜๊ณ  WebProxy๋กœ ๊ฑฐ๋ถ€ ๋ฆฌ๋””๋ ‰์…˜ URL์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์ €๋ ดํ•œ "์žฅ๋‚œ๊ฐ" Mikrotik์„ 20๋‹ฌ๋Ÿฌ์— ๊ตฌ์ž…ํ•˜๊ณ  500๋‹ฌ๋Ÿฌ์งœ๋ฆฌ ๋ผ์šฐํ„ฐ๋ฅผ ๊ทธ๊ฒƒ์œผ๋กœ ๊ต์ฒดํ•˜๋ ค๋Š” ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ํฐ ์š”์ฒญ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. "hAP Lite" / "hAP mini"(ํ™ˆ ์•ก์„ธ์Šค ํฌ์ธํŠธ)์™€ ๊ฐ™์€ ์žฅ์น˜๋Š” CPU(smips)๊ฐ€ ๋งค์šฐ ์•ฝํ•˜์—ฌ ๋น„์ฆˆ๋‹ˆ์Šค ์„ธ๊ทธ๋จผํŠธ์˜ ๋ถ€ํ•˜๋ฅผ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค.

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

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

์ด ๊ธฐ์‚ฌ๊ฐ€ ๊ท€ํ•˜์—๊ฒŒ ์œ ์šฉํ•˜๊ณ  ์ค‘์†Œ๊ธฐ์—…์˜ ๋„คํŠธ์›Œํฌ๋ฅผ ์ข€ ๋” ์•ˆ์ „ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐ ๋„์›€์ด ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com