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

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

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

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

  • ์˜์—ญ์ด ์Šฌ๋ ˆ์ด๋ธŒ ์„œ๋ฒ„์˜ ๋””์ง€ํ„ธ ์„œ๋ช…์œผ๋กœ ์ธ์ฆ๋œ ๊ฒฝ์šฐ ๋งˆ์Šคํ„ฐ ๋ฐ ์Šฌ๋ ˆ์ด๋ธŒ ์„œ๋ฒ„์˜ ์˜์—ญ์— ๋Œ€ํ•œ ๋‹ค์–‘ํ•œ ์ผ๋ จ ๋ฒˆํ˜ธ(SOA) ๊ณ„์‚ฐ์ด ์™„๋ฒฝํ•˜๊ฒŒ ์ง€์›๋ฉ๋‹ˆ๋‹ค.
  • geoip ๋ชจ๋“ˆ์— ์™€์ผ๋“œ์นด๋“œ๊ฐ€ ์žˆ๋Š” ๋ ˆ์ฝ”๋“œ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋””์ง€ํ„ธ ์„œ๋ช… ์˜์—ญ ์ธ์ฆ ์ด๋ฒคํŠธ์˜ ๋นˆ๋„๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด DNSSEC์— ์ƒˆ๋กœ์šด 'rrsig-pre-refresh' ์„ค์ •์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • TCP ์†Œ์ผ“์— ๋Œ€ํ•ด SO_REUSEPORT(_LB) ๋ชจ๋“œ๋ฅผ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•ด "tcp-reuseport" ์„ค์ •์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • TCP๋ฅผ ํ†ตํ•ด ๋“ค์–ด์˜ค๋Š” I/O ์ž‘์—… ์‹œ๊ฐ„์„ ์ œํ•œํ•˜๊ธฐ ์œ„ํ•ด "tcp-io-timeout" ์„ค์ •์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์˜์—ญ ์ฝ˜ํ…์ธ  ์ˆ˜์ • ์ž‘์—…์˜ ์„ฑ๋Šฅ์ด ํฌ๊ฒŒ ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ํ”„๋กœ์„ธ์Šค์— ๊ถŒํ•œ ์žฌ์„ค์ •์ด ๋ถ€์—ฌ๋œ ํ›„์—๋Š” ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ ํ•ธ๋“ค๋Ÿฌ ์žฌ๊ตฌ์„ฑ์— ๋Œ€ํ•œ ์ง€์›์ด ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ดˆ์•ˆ ์‚ฌ์–‘ ์ดˆ์•ˆ-ietf-dnsop-server-cookies๋ฅผ ์™„์ „ํžˆ ์ค€์ˆ˜ํ•˜๋„๋ก DNS ์ฟ ํ‚ค ๊ตฌํ˜„์„ ์žฌ์ž‘์—…ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ธฐ๋ณธ์ ์œผ๋กœ TCP ์—ฐ๊ฒฐ ์ œํ•œ์€ ์ด์ œ ์‹œ์Šคํ…œ ํŒŒ์ผ ์„ค๋ช…์ž ์ œํ•œ์˜ ์ ˆ๋ฐ˜์œผ๋กœ ์ œํ•œ๋˜๋ฉฐ ์—ด๋ฆฐ ํŒŒ์ผ ์ˆ˜๋Š” ์ด์ œ 1048576์œผ๋กœ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค.
  • ์‹คํ–‰๋œ ํ•ธ๋“ค๋Ÿฌ ์ˆ˜๋ฅผ ์„ ํƒํ•  ๋•Œ ์ด์ œ CPU ์ˆ˜๊ฐ€ ์‚ฌ์šฉ๋˜์ง€๋งŒ 10๊ฐœ ์ด์ƒ์ž…๋‹ˆ๋‹ค.
  • ๋งŽ์€ ์˜ต์…˜์˜ ์ด๋ฆ„์ด ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์˜ˆ: 'server.tcp-reply-timeout'์—์„œ 'server.tcp-remote-io-timeout'์œผ๋กœ, 'server.max-tcp-clients'์—์„œ 'server.tcp-max-clients'๋กœ). 'template.journal-db'๋ฅผ 'database.journal-db' ๋“ฑ์œผ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. ์ด์ „ ์ด๋ฆ„์— ๋Œ€ํ•œ ์ง€์›์€ ์ ์–ด๋„ ๋‹ค์Œ ์ฃผ์š” ๋ฆด๋ฆฌ์Šค๊นŒ์ง€ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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