OPNsense 23.1 ๋ฐฉํ™”๋ฒฝ ์ƒ์„ฑ์„ ์œ„ํ•œ ๋ฐฐํฌ ํ‚คํŠธ ์ถœ์‹œ

๋ฐฉํ™”๋ฒฝ ๋ฐ ๋„คํŠธ์›Œํฌ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ ์ƒ์šฉ ์†”๋ฃจ์…˜ ์ˆ˜์ค€์˜ ๊ธฐ๋Šฅ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ์™„์ „ํžˆ ๊ฐœ๋ฐฉํ˜• ๋ฐฐํฌ ํ‚คํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ๋งŒ๋“ค์–ด์ง„ pfSense ํ”„๋กœ์ ํŠธ์˜ ํ•œ ๋ถ€๋ถ„์ธ OPNsense 23.1 ๋ฐฉํ™”๋ฒฝ ์ƒ์„ฑ์„ ์œ„ํ•œ ๋ฐฐํฌ ํ‚คํŠธ ๋ฆด๋ฆฌ์Šค๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฒŒ์ดํŠธ์›จ์ด. pfSense์™€ ๋‹ฌ๋ฆฌ ์ด ํ”„๋กœ์ ํŠธ๋Š” ํ•œ ํšŒ์‚ฌ์— ์˜ํ•ด ํ†ต์ œ๋˜์ง€ ์•Š๊ณ  ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ์ง์ ‘์ ์ธ ์ฐธ์—ฌ๋กœ ๊ฐœ๋ฐœ๋˜์—ˆ์œผ๋ฉฐ ์™„์ „ํžˆ ํˆฌ๋ช…ํ•œ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ–์ถ”๊ณ  ์žˆ์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ƒ์—…์šฉ ์ œํ’ˆ์„ ํฌํ•จํ•œ ํƒ€์‚ฌ ์ œํ’ˆ์—์„œ ๊ฐœ๋ฐœ ๋‚ด์šฉ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ฒƒ๋“ค. ๋ฐฐํฌ ๊ตฌ์„ฑ ์š”์†Œ์˜ ์†Œ์Šค ์ฝ”๋“œ์™€ ์–ด์…ˆ๋ธ”๋ฆฌ์— ์‚ฌ์šฉ๋˜๋Š” ๋„๊ตฌ๋Š” BSD ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ์–ด์…ˆ๋ธ”๋ฆฌ๋Š” ํ”Œ๋ž˜์‹œ ๋“œ๋ผ์ด๋ธŒ(399MB)์— ๊ธฐ๋กํ•˜๊ธฐ ์œ„ํ•œ LiveCD ๋ฐ ์‹œ์Šคํ…œ ์ด๋ฏธ์ง€ ํ˜•์‹์œผ๋กœ ์ค€๋น„๋ฉ๋‹ˆ๋‹ค.

๋ฐฐํฌํŒ์˜ ๊ธฐ๋ณธ ๋‚ด์šฉ์€ FreeBSD ์ฝ”๋“œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. OPNsense์˜ ๊ธฐ๋Šฅ ์ค‘์—๋Š” ์™„์ „ํžˆ ๊ฐœ๋ฐฉํ˜• ๋นŒ๋“œ ํˆดํ‚ท, ์ผ๋ฐ˜ FreeBSD ์œ„์— ํŒจํ‚ค์ง€ ํ˜•ํƒœ๋กœ ์„ค์น˜ํ•˜๋Š” ๊ธฐ๋Šฅ, ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋„๊ตฌ, ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž ์—ฐ๊ฒฐ์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์›น ์ธํ„ฐํŽ˜์ด์Šค(Captive Portal), ๋ฉ”์ปค๋‹ˆ์ฆ˜ ์กด์žฌ ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ ์ƒํƒœ ์ถ”์ (pf ๊ธฐ๋ฐ˜ ์ƒํƒœ ์ €์žฅ ๋ฐฉํ™”๋ฒฝ), ๋Œ€์—ญํญ ์ œํ•œ ์„ค์ •, ํŠธ๋ž˜ํ”ฝ ํ•„ํ„ฐ๋ง, IPsec, OpenVPN ๋ฐ PPTP ๊ธฐ๋ฐ˜ VPN ์ƒ์„ฑ, LDAP ๋ฐ RADIUS์™€์˜ ํ†ตํ•ฉ, DDNS(๋™์  DNS) ์ง€์›, ์‹œ๊ฐ์  ๋ณด๊ณ ์„œ ์‹œ์Šคํ…œ ๋ฐ ๊ทธ๋ž˜ํ”„.

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

๋ณ€๊ฒฝ ์‚ฌํ•ญ:

  • FreeBSD 13-STABLE ๋ถ„๊ธฐ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ „์†ก๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • php 8.1.14 ๋ฐ sudo 1.9.12p2์™€ ๊ฐ™์€ ํฌํŠธ์˜ ์ถ”๊ฐ€ ํ”„๋กœ๊ทธ๋žจ ๋ฒ„์ „์ด ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด DNS ๊ธฐ๋ฐ˜ ์ฐจ๋‹จ ๋ชฉ๋ก ๊ตฌํ˜„์ด ์ถ”๊ฐ€๋˜์–ด Python์œผ๋กœ ๋‹ค์‹œ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ ๋‹ค์–‘ํ•œ ๊ด‘๊ณ  ๋ฐ ์•…์„ฑ ์ฝ˜ํ…์ธ  ์ฐจ๋‹จ ๋ชฉ๋ก์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • Unbound DNS ์„œ๋ฒ„์˜ ์šด์˜์— ๋Œ€ํ•œ ํ†ต๊ณ„์˜ ์ถ•์  ๋ฐ ํ‘œ์‹œ๊ฐ€ ์ œ๊ณต๋˜๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์™€ ๊ด€๋ จ๋œ DNS ํŠธ๋ž˜ํ”ฝ์„ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด ์œ ํ˜•์˜ BGP ASN ๋ฐฉํ™”๋ฒฝ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • IPv6 ์ œ์–ด ํ”„๋กœํ† ์ฝœ์„ ์„ ํƒ์ ์œผ๋กœ ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์œ„ํ•ด PPPoEv6 ๊ฒฉ๋ฆฌ ๋ชจ๋“œ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • DHCPv6 ์—†์ด SLAAC WAN ์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ํŒจํ‚ท ์บก์ฒ˜ ๋ฐ IPsec ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ MVC ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ์ด์ „๋˜์–ด API ๊ด€๋ฆฌ ์ง€์›์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • IPsec ์„ค์ •์ด swanctl.conf ํŒŒ์ผ๋กœ ์ด๋™๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • os-sslh ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ํฌํ•จ๋˜์–ด ์žˆ์–ด ํ•˜๋‚˜์˜ ๋„คํŠธ์›Œํฌ ํฌํŠธ 443์„ ํ†ตํ•ด HTTPS, SSH, OpenVPN, Tinc ๋ฐ XMPP ์—ฐ๊ฒฐ์„ ๋ฉ€ํ‹ฐํ”Œ๋ ‰์‹ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • os-ddclient(๋™์  DNS ํด๋ผ์ด์–ธํŠธ) ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ์ด์ œ Azure๋ฅผ ํฌํ•จํ•˜์—ฌ ์ž์ฒด ๋ฐฑ์—”๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • VPN WireGuard๊ฐ€ ํฌํ•จ๋œ os-wireguard ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ปค๋„ ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜๋„๋ก ์ „ํ™˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์‚ฌ์šฉ์ž ์ˆ˜์ค€์˜ ์ด์ „ ์ž‘์—… ๋ชจ๋“œ๋Š” ๋ณ„๋„์˜ os-wireguard-go ํ”Œ๋Ÿฌ๊ทธ์ธ์œผ๋กœ ์ด๋™๋˜์—ˆ์Šต๋‹ˆ๋‹ค).

์ถœ์ฒ˜ : opennet.ru

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