PowerDNS ์ธ์ฆ ์„œ๋ฒ„ 4.2 ๋ฆด๋ฆฌ์Šค

์ผ์–ด๋‚ฌ๋‹ค ๊ถŒํ•œ ์žˆ๋Š” DNS ์„œ๋ฒ„ ์ถœ์‹œ PowerDNS ๊ถŒํ•œ ์žˆ๋Š” ์„œ๋ฒ„ 4.2, DNS ์˜์—ญ ๋ฐฐํฌ๋ฅผ ๊ตฌ์„ฑํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์— ์˜ํ•ด ์— ๋”ฐ๋ฅด๋ฉด ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ์ž์ธ PowerDNS Authoritative Server๋Š” ์œ ๋Ÿฝ ์ „์ฒด ๋„๋ฉ”์ธ ์ˆ˜์˜ ์•ฝ 30%๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค(DNSSEC ์„œ๋ช…์ด ์žˆ๋Š” ๋„๋ฉ”์ธ๋งŒ ๊ณ ๋ คํ•œ๋‹ค๋ฉด 90%). ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ ๋ฐฐํฌ์ž GPLv2์— ๋”ฐ๋ผ ๋ผ์ด์„ผ์Šค๊ฐ€ ๋ถ€์—ฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

PowerDNS Authoritative Server๋Š” MySQL, PostgreSQL, SQLite3, Oracle ๋ฐ Microsoft SQL Server๋ฅผ ๋น„๋กฏํ•œ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ LDAP ๋ฐ BIND ํ˜•์‹์˜ ์ผ๋ฐ˜ ํ…์ŠคํŠธ ํŒŒ์ผ์— ๋„๋ฉ”์ธ ์ •๋ณด๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์‘๋‹ต ๋ฐ˜ํ™˜์€ ์ถ”๊ฐ€๋กœ ํ•„ํ„ฐ๋ง(์˜ˆ: ์ŠคํŒธ ํ•„ํ„ฐ๋ง)ํ•˜๊ฑฐ๋‚˜ Lua, Java, Perl, Python, Ruby, C ๋ฐ C++์—์„œ ์ž์ฒด ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ ๋ฆฌ๋””๋ ‰์…˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ ์ค‘์—๋Š” SNMP ๋˜๋Š” ์›น API(ํ†ต๊ณ„ ๋ฐ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด http ์„œ๋ฒ„๊ฐ€ ๋‚ด์žฅ๋˜์–ด ์žˆ์Œ), ์ฆ‰์‹œ ๋‹ค์‹œ ์‹œ์ž‘, Lua ์–ธ์–ด๋กœ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋‚ด์žฅ ์—”์ง„์„ ํ†ตํ•œ ์›๊ฒฉ ํ†ต๊ณ„ ์ˆ˜์ง‘ ๋„๊ตฌ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. , ํด๋ผ์ด์–ธํŠธ ์˜ ์ง€๋ฆฌ์  ์œ„์น˜ ์— ๋”ฐ๋ผ ๋ถ€ํ•˜ ๋ฅผ ๋ถ„์‚ฐ ํ•˜๋Š” ๊ธฐ๋Šฅ .

์ฃผ์š” ํ˜์‹ :

  • ๋Šฅ๋ ฅ ์ถ”๊ฐ€ ์ •์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•  ๋•Œ AS, ์„œ๋ธŒ๋„ท, ์‚ฌ์šฉ์ž์™€์˜ ๊ทผ์ ‘์„ฑ ๋“ฑ์„ ๊ณ ๋ คํ•˜๋Š” ์ •๊ตํ•œ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” Lua ์–ธ์–ด ํ•ธ๋“ค๋Ÿฌ๋กœ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. BIND ๋ฐ LMDB๋ฅผ ํฌํ•จํ•œ ๋ชจ๋“  ์Šคํ† ๋ฆฌ์ง€ ๋ฐฑ์—”๋“œ์— ๋Œ€ํ•ด Lua ๋ ˆ์ฝ”๋“œ ์ง€์›์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์˜์—ญ ๊ตฌ์„ฑ์—์„œ ํ˜ธ์ŠคํŠธ ๊ฐ€์šฉ์„ฑ์˜ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ™•์ธ์„ ๊ณ ๋ คํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๋ ค๋ฉด ์ด์ œ ๋‹ค์Œ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    @IN LUA A "ifportup(443, {'52.48.64.3', '45.55.10.200'})"

  • ์ƒˆ๋กœ์šด ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ixfrdist, ์ „์†ก๋œ ๋ฐ์ดํ„ฐ์˜ ๊ด€๋ จ์„ฑ์„ ๊ณ ๋ คํ•˜์—ฌ AXFR ๋ฐ IXFR ์š”์ฒญ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ถŒํ•œ ์žˆ๋Š” ์„œ๋ฒ„์—์„œ ์˜์—ญ์„ ์ „์†กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๊ฐ ๋„๋ฉ”์ธ์— ๋Œ€ํ•ด SOA ๋ฒˆํ˜ธ๊ฐ€ ํ™•์ธ๋˜๊ณ  ์˜์—ญ์˜ ์ƒˆ ๋ฒ„์ „๋งŒ ๋‹ค์šด๋กœ๋“œ๋จ). ์ด ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ธฐ๋ณธ ์„œ๋ฒ„์— ๊ณผ๋„ํ•œ ๋กœ๋“œ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ ๋„ ๋งค์šฐ ๋งŽ์€ ์ˆ˜์˜ ๋ณด์กฐ ๋ฐ ์žฌ๊ท€ ์„œ๋ฒ„์—์„œ ์˜์—ญ ๋™๊ธฐํ™”๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ด๋‹ˆ์…”ํ‹ฐ๋ธŒ๋ฅผ ์ค€๋น„ํ•˜๋ฉด์„œ DNS ํ”Œ๋ž˜๊ทธ ๋ฐ์ด 2020 ํด๋ผ์ด์–ธํŠธ์— ๋Œ€ํ•œ UDP ์‘๋‹ต ํŠธ๋ฆฌ๋ฐ์„ ๋‹ด๋‹นํ•˜๋Š” udp-truncation-threshold ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๊ฐ’์ด 1680์—์„œ 1232๋กœ ๊ฐ์†Œ๋˜์–ด UDP ํŒจํ‚ท ์†์‹ค ๊ฐ€๋Šฅ์„ฑ์ด ํฌ๊ฒŒ ์ค„์–ด๋“ญ๋‹ˆ๋‹ค. ๊ฐ’ 1232๊ฐ€ ์„ ํƒ๋œ ์ด์œ ๋Š” IPv6๋ฅผ ๊ณ ๋ คํ•œ DNS ์‘๋‹ต ํฌ๊ธฐ๊ฐ€ ์ตœ์†Œ MTU ๊ฐ’(1280)์— ๋งž๋Š” ์ตœ๋Œ€๊ฐ’์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ธฐ๋ฐ˜ ์Šคํ† ๋ฆฌ์ง€ ๋ฐฑ์—”๋“œ ์ถ”๊ฐ€ LMDB. ๋ฐฑ์—”๋“œ๋Š” DNSSEC๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ์ค€์ˆ˜ํ•˜๊ณ  ๋งˆ์Šคํ„ฐ ๋ฐ ์Šฌ๋ ˆ์ด๋ธŒ ์˜์—ญ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋Œ€๋ถ€๋ถ„์˜ ๋‹ค๋ฅธ ๋ฐฑ์—”๋“œ๋ณด๋‹ค ๋” ๋‚˜์€ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ถœ์‹œ ์ง์ „์— LMDB ๋ฐฑ์—”๋“œ์˜ ์ž‘๋™์„ ๋ฐฉํ•ดํ•˜๋Š” ์ฝ”๋“œ์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์Šฌ๋ ˆ์ด๋ธŒ ์˜์—ญ ์ฒ˜๋ฆฌ ๋ฐ pdnsutil์„ ํ†ตํ•œ ๋กœ๋”ฉ์€ ์ž‘๋™ํ–ˆ์ง€๋งŒ "pdnsutil edit-zone"๊ณผ ๊ฐ™์€ ๋ช…๋ น์€ ์ž‘๋™ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” ์ˆ˜์ •๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.) ๋‹ค์Œ ์ˆ˜์ • ๋ฆด๋ฆฌ์Šค์—์„œ;
  • ์ผ๋ถ€ ๋ฌธ์ œ์˜ ํ•ด๊ฒฐ์„ ๋ฐฉํ•ดํ•˜๋Š” ์ œ๋Œ€๋กœ ๋ฌธ์„œํ™”๋˜์ง€ ์•Š์€ "์ž๋™ ์ง๋ ฌ" ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ง€์›์ด ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์š”๊ตฌ ์‚ฌํ•ญ์— ๋”ฐ๋ผ RFC 8624 (GOST R 34.11-2012๋Š” "๋ฐ˜๋“œ์‹œ ๊ธˆ์ง€" ๋ฒ”์ฃผ๋กœ ์ด๋™๋˜์—ˆ์Šต๋‹ˆ๋‹ค.) DNSSEC๋Š” ๋” ์ด์ƒ GOST DS ํ•ด์‹œ ๋ฐ ECC-GOST ๋””์ง€ํ„ธ ์„œ๋ช…์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

PowerDNS๋Š” 2020๊ฐœ์›”์˜ ๊ฐœ๋ฐœ ์ฃผ๊ธฐ๋กœ ์ „ํ™˜๋˜์—ˆ์œผ๋ฉฐ PowerDNS Authoritative Server์˜ ๋‹ค์Œ ์ฃผ์š” ๋ฆด๋ฆฌ์Šค๋Š” 4.2๋…„ 2021์›”์— ์ถœ์‹œ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ์ค‘์š”ํ•œ ๋ฆด๋ฆฌ์Šค์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๋Š” ์ผ๋…„ ๋‚ด๋‚ด ๊ฐœ๋ฐœ๋  ์˜ˆ์ •์ด๋ฉฐ, ์ดํ›„ XNUMX๊ฐœ์›” ๋™์•ˆ ์ทจ์•ฝ์  ์ˆ˜์ • ์‚ฌํ•ญ์ด ๋ฆด๋ฆฌ์Šค๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ PowerDNS Authoritative Server XNUMX ๋ถ„๊ธฐ์— ๋Œ€ํ•œ ์ง€์›์€ XNUMX๋…„ XNUMX์›”๊นŒ์ง€ ์ง€์†๋ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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