KnotDNS 3.0.0 DNS ์„œ๋ฒ„ ์ถœ์‹œ

๊ฒŒ์‹œ ๋จ ์„๋ฐฉํ•˜๋‹ค KnotDNS 3.0.0, ๋ชจ๋“  ์ตœ์‹  DNS ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๋Š” ๊ณ ์„ฑ๋Šฅ ๊ถŒํ•œ ์žˆ๋Š” DNS ์„œ๋ฒ„(๋ฆฌ์ปค์„œ๋Š” ๋ณ„๋„์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ์„ค๊ณ„๋จ)์ž…๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” C๋กœ ์ž‘์„ฑ๋œ ์ฒด์ฝ” ์ด๋ฆ„ ๋“ฑ๋ก CZ.NIC์— ์˜ํ•ด ๊ฐœ๋ฐœ ์ค‘์ž…๋‹ˆ๋‹ค. ๋ฐฐํฌ์ž GPLv3์— ๋”ฐ๋ผ ๋ผ์ด์„ผ์Šค๊ฐ€ ๋ถ€์—ฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

KnotDNS๋Š” SMP ์‹œ์Šคํ…œ์—์„œ ์ž˜ ํ™•์žฅ๋˜๋Š” ๋‹ค์ค‘ ์Šค๋ ˆ๋“œ ๋ฐ ๋Œ€๋ถ€๋ถ„ ๋น„์ฐจ๋‹จ ๊ตฌํ˜„์„ ์‚ฌ์šฉํ•˜๋Š” ๊ณ ์„ฑ๋Šฅ ์ฟผ๋ฆฌ ์ฒ˜๋ฆฌ์— ์ค‘์ ์„ ๋‘”๋‹ค๋Š” ์ ์—์„œ ๊ตฌ๋ณ„๋ฉ๋‹ˆ๋‹ค. ์ฆ‰์‹œ ์˜์—ญ ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ, ์„œ๋ฒ„ ๊ฐ„ ์˜์—ญ ์ „์†ก, DDNS(๋™์  ์—…๋ฐ์ดํŠธ), NSID(RFC 5001), EDNS0 ๋ฐ DNSSEC ํ™•์žฅ(NSEC3 ํฌํ•จ), ์‘๋‹ต ์†๋„ ์ œํ•œ(RRL)๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

์ƒˆ ๋ฆด๋ฆฌ์Šค์—์„œ:

  • ํ•˜์œ„ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„๋œ ๊ณ ์„ฑ๋Šฅ ๋„คํŠธ์›Œํฌ ๋ชจ๋“œ ์ถ”๊ฐ€ XDP (eXpress Data Path)๋Š” Linux ์ปค๋„ ๋„คํŠธ์›Œํฌ ์Šคํƒ์—์„œ ์ฒ˜๋ฆฌ๋˜๊ธฐ ์ „์— ๋„คํŠธ์›Œํฌ ๋“œ๋ผ์ด๋ฒ„ ์ˆ˜์ค€์—์„œ ํŒจํ‚ท์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด Linux ์ปค๋„ 4.18 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ์นดํƒˆ๋กœ๊ทธ ์˜์—ญ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์–ด ๋ณด์กฐ DNS ์„œ๋ฒ„๋ฅผ ๋” ์‰ฝ๊ฒŒ ์œ ์ง€ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์ด ํ™œ์„ฑํ™”๋˜๋ฉด ๋ณด์กฐ ์„œ๋ฒ„์˜ ๊ฐ ๋ณด์กฐ ์˜์—ญ์— ๋Œ€ํ•ด ๋ณ„๋„์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ •์˜ํ•˜๋Š” ๋Œ€์‹  ๊ธฐ๋ณธ ์„œ๋ฒ„์™€ ๋ณด์กฐ ์„œ๋ฒ„ ๊ฐ„์— ์˜์—ญ ์นดํƒˆ๋กœ๊ทธ๊ฐ€ ์ „์†ก๋ฉ๋‹ˆ๋‹ค. ๊ทธ ํ›„ ๊ธฐ๋ณธ ์„œ๋ฒ„์—์„œ ์ƒ์„ฑ๋˜๊ณ  ์นดํƒˆ๋กœ๊ทธ์— ํฌํ•จ๋œ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œ๋œ ์˜์—ญ์€ ์ž๋™์œผ๋กœ ํŒŒ์ผ ๊ตฌ์„ฑ์„ ํŽธ์ง‘ํ•  ํ•„์š” ์—†์ด ๋ณด์กฐ ์„œ๋ฒ„์— ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. kcatalogprint ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ์นดํƒˆ๋กœ๊ทธ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด DNSSEC ํ™•์ธ ๋ชจ๋“œ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • DNSSEC์— ๋Œ€ํ•œ ๋””์ง€ํ„ธ ์„œ๋ช…์„ ์ˆ˜๋™์œผ๋กœ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ kzonesign ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • Linux์šฉ ๊ณ ์„ฑ๋Šฅ "DNS over UDP" ํŠธ๋ž˜ํ”ฝ ์ƒ์„ฑ๊ธฐ๋ฅผ ๊ตฌํ˜„ํ•œ kxdpgun ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • kdig๋Š” GnuTLS ๋ฐ libnghttp2๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„๋œ DoH(DNS over HTTPS) ์ง€์›์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  • ์ˆ˜๋™ DNSSEC ํ‚ค ๊ด€๋ฆฌ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฒ ํšŒ ์ƒํƒœ ํ‚ค KSK(ํ‚ค ์„œ๋ช… ํ‚ค)(RFC 5011).
  • ECDSA ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒฐ์ •๋ก ์  ๋””์ง€ํ„ธ ์„œ๋ช… ์ƒ์„ฑ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์ž‘๋™ํ•˜๋ ค๋ฉด GnuTLS 3.6.10 ์ด์ƒ์ด ํ•„์š”ํ•จ).
  • DNS ์˜์—ญ ๋ฐ์ดํ„ฐ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๋ฐฑ์—…ํ•˜๊ณ  ๋ณต์›ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์ œ์•ˆ๋ฉ๋‹ˆ๋‹ค.
  • "ํ†ต๊ณ„" ๋ชจ๋“ˆ์˜ ์„ฑ๋Šฅ์ด ํฌ๊ฒŒ ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • DNS ์˜์—ญ์— ๋Œ€ํ•œ ๋””์ง€ํ„ธ ์„œ๋ช…์„ ์ƒ์„ฑํ•˜๋Š” ๋‹ค์ค‘ ์Šค๋ ˆ๋“œ ๋ชจ๋“œ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋ฉด ์˜์—ญ์— ๋Œ€ํ•œ ์ผ๋ถ€ ์ถ”๊ฐ€ ์ž‘์—…์˜ ๋ณ‘๋ ฌํ™”๊ฐ€ ๋ณด์žฅ๋ฉ๋‹ˆ๋‹ค.
  • ์บ์‹ฑ ํšจ์œจ์„ฑ์ด ํ–ฅ์ƒ๋˜๊ณ  ์ฟผ๋ฆฌ ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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