์๋ฒ๋ ์๊ฒฉ ํต๊ณ ์์ง์ ์ํ ๋๊ตฌ๋ฅผ ์ ๊ณตํ๊ณ , ์ฆ์ ์ฌ์์์ ์ง์ํ๋ฉฐ, Lua ์ธ์ด๋ก ์ฒ๋ฆฌ๊ธฐ๋ฅผ ์ฐ๊ฒฐํ๊ธฐ ์ํ ์์ง์ด ๋ด์ฅ๋์ด ์์ผ๋ฉฐ, DNSSEC, DNS64, RPZ(์๋ต ์ ์ฑ ์์ญ)๋ฅผ ์๋ฒฝํ๊ฒ ์ง์ํ๊ณ ๋ธ๋๋ฆฌ์คํธ ์ฐ๊ฒฐ์ ํ์ฉํฉ๋๋ค. ํด๊ฒฐ ๊ฒฐ๊ณผ๋ฅผ BIND zone ํ์ผ๋ก ๊ธฐ๋กํ๋ ๊ฒ์ด ๊ฐ๋ฅํฉ๋๋ค. ๊ณ ์ฑ๋ฅ์ ๋ณด์ฅํ๊ธฐ ์ํด FreeBSD, Linux ๋ฐ Solaris(kqueue, epoll, /dev/poll)์์๋ ์ต์ ์ฐ๊ฒฐ ๋ค์คํ ๋ฉ์ปค๋์ฆ๊ณผ ์๋ง ๊ฐ์ ๋ณ๋ ฌ ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์๋ ๊ณ ์ฑ๋ฅ DNS ํจํท ํ์๊ฐ ์ฌ์ฉ๋ฉ๋๋ค.
์ ๋ฒ์ ์์:
- ์์ฒญํ ๋๋ฉ์ธ์ ๋ํ ์ ๋ณด ์ ์ถ์ ๋ฐฉ์งํ๊ณ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ๋ฅผ ๊ฐํํ๊ธฐ ์ํด ํด๋น ๋ฉ์ปค๋์ฆ์ด ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋์ด ์์ต๋๋ค.
QNAME ์ต์ํ (RFC-7816 ), "์ํ" ๋ชจ๋์์ ์๋ํฉ๋๋ค. ๋ฉ์ปค๋์ฆ์ ํต์ฌ์ ํ์ธ์๊ฐ ์ ์คํธ๋ฆผ ์ด๋ฆ ์๋ฒ์ ๋ํ ์์ฒญ์์ ์ํ๋ ํธ์คํธ์ ์ ์ฒด ์ด๋ฆ์ ์ธ๊ธํ์ง ์๋๋ค๋ ๊ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ด foo.bar.baz.com ํธ์คํธ์ ์ฃผ์๋ฅผ ๊ฒฐ์ ํ ๋ ํ์ธ์๋ ".com" ์์ญ์ ๋ํ ๊ถํ ์๋ ์๋ฒ์ "QTYPE=NS,QNAME=baz.com" ์์ฒญ์ "" ์ธ๊ธ ์์ด ๋ณด๋ ๋๋ค. foo.bar". ํ์ฌ ํํ์์๋ ์์ ์ด "์ํ" ๋ชจ๋๋ก ๊ตฌํ๋ฉ๋๋ค. - ๊ถํ ์๋ ์๋ฒ๋ก ๋๊ฐ๋ ์์ฒญ๊ณผ ๊ทธ์ ๋ํ ์๋ต์ dnstap ํ์์ผ๋ก ๊ธฐ๋กํ๋ ๊ธฐ๋ฅ์ด ๊ตฌํ๋์์ต๋๋ค(์ฌ์ฉํ๋ ค๋ฉด "-enable-dnstap" ์ต์ ์ด ์๋ ๋น๋๊ฐ ํ์ํจ).
- TCP ์ฐ๊ฒฐ์ ํตํด ์ ์ก๋ ์ฌ๋ฌ ์์ ์์ฒญ์ ๋ํ ๋์ ์ฒ๋ฆฌ๊ฐ ์ ๊ณต๋๋ฉฐ ๊ฒฐ๊ณผ๋ ๋๊ธฐ์ด์ ์์ฒญ ์์๊ฐ ์๋ ์ค๋น๊ฐ ๋๋ฉด ๋ฐํ๋ฉ๋๋ค. ๋์ ์์ฒญ ํ๋๋ โ
TCP ์ฐ๊ฒฐ๋น ์ต๋ ๋์ ์์ฒญ ์ ". - ์๋ก์ด ๋๋ฉ์ธ์ ์ถ์ ํ๋ ๊ธฐ์ ๊ตฌํ
๋ชฉ๋ก (์๋ก ๊ด์ฐฐ๋ ๋๋ฉ์ธ), ์์ฌ์ค๋ฌ์ด ๋๋ฉ์ธ์ด๋ ์ ์ฑ์ฝ๋ ์ ํฌ, ํผ์ฑ ๊ฐ๋ด, ๋ด๋ท ์ด์์ ์ด์ฉ๋๋ ๋ฑ ์ ์ฑ ํ๋๊ณผ ๊ด๋ จ๋ ๋๋ฉ์ธ์ ์๋ณํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด ๋ฐฉ๋ฒ์ ์ด์ ์ ์ก์ธ์คํ ์ ์ด ์๋ ๋๋ฉ์ธ์ ์๋ณํ๊ณ ์ด๋ฌํ ์๋ก์ด ๋๋ฉ์ธ์ ๋ถ์ํ๋ ๊ฒ์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. ์ ์ง ๊ด๋ฆฌ์ ์๋นํ ์์์ด ํ์ํ ์ง๊ธ๊น์ง ๋ณธ ๋ชจ๋ ๋๋ฉ์ธ์ ์ ์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํด ์ ๋๋ฉ์ธ์ ์ถ์ ํ๋ ๋์ NOD๋ ํ๋ฅ ์ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค.SBF (Stable Bloom Filter)๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ๋ชจ๋ฆฌ์ CPU ์๋น๋ฅผ ์ต์ํํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํ์ฑํํ๋ ค๋ฉด ์ค์ ์์ "new-domain-tracking=yes"๋ฅผ ์ง์ ํด์ผ ํฉ๋๋ค. - systemd์์ ์คํํ ๋ PowerDNS Recursor ํ๋ก์ธ์ค๋ ์ด์ ๋ฃจํธ ๋์ ๊ถํ์ด ์๋ ์ฌ์ฉ์ pdns-recursor์์ ์คํ๋ฉ๋๋ค. systemd ๋ฐ chroot๊ฐ ์๋ ์์คํ ์ ๊ฒฝ์ฐ ์ ์ด ์์ผ ๋ฐ pid ํ์ผ์ ์ ์ฅํ๊ธฐ ์ํ ๊ธฐ๋ณธ ๋๋ ํฐ๋ฆฌ๋ ์ด์ /var/run/pdns-recursor์ ๋๋ค.
๋ํ,
KnotDNS๋ SMP ์์คํ ์์ ์ ํ์ฅ๋๋ ๋ค์ค ์ค๋ ๋ ๋ฐ ๋๋ถ๋ถ ๋น์ฐจ๋จ ๊ตฌํ์ ์ฌ์ฉํ๋ ๊ณ ์ฑ๋ฅ ์ฟผ๋ฆฌ ์ฒ๋ฆฌ์ ์ค์ ์ ๋๋ค๋ ์ ์์ ๊ตฌ๋ณ๋ฉ๋๋ค. ์ฆ์ ์์ญ ์ถ๊ฐ ๋ฐ ์ญ์ , ์๋ฒ ๊ฐ ์์ญ ์ ์ก, DDNS(๋์ ์ ๋ฐ์ดํธ), NSID(RFC 5001), EDNS0 ๋ฐ DNSSEC ํ์ฅ(NSEC3 ํฌํจ), ์๋ต ์๋ ์ ํ(RRL)๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ด ์ ๊ณต๋ฉ๋๋ค.
์ ๋ฆด๋ฆฌ์ค์์:
- NOTIFY ๋ฉ์์ง ์ ์ก์ ๋นํ์ฑํํ๊ธฐ ์ํด 'remote.block-notify-after-transfer' ์ค์ ์ ์ถ๊ฐํ์ต๋๋ค.
- DNSSE์์ Ed448 ์๊ณ ๋ฆฌ์ฆ์ ๋ํ ์คํ์ ์ง์ ๊ตฌํ(GnuTLS 3.6.12+ ํ์, ์์ง ์ถ์๋์ง ์์)
์๊ธฐํ 3.6+ ); - KASP ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋ช ๋ ์์ญ์ ๋ํ SOA ์ผ๋ จ ๋ฒํธ๋ฅผ ์ป๊ฑฐ๋ ์ค์ ํ๊ธฐ ์ํด 'local-serial' ๋งค๊ฐ๋ณ์๊ฐ keymgr์ ์ถ๊ฐ๋์์ต๋๋ค.
- BIND DNS ์๋ฒ ํ์์ Ed25519 ๋ฐ Ed448 ํค๋ฅผ keymgr๋ก ๊ฐ์ ธ์ค๊ธฐ ์ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- 500๋นํธ ์์คํ ์์ ๊ธฐ๋ณธ 'server.tcp-io-timeout' ์ค์ ์ 512ms๋ก ๋์ด๋ฌ๊ณ 'database.journal-db-max-size'๋ 32MiB๋ก ์ค์์ต๋๋ค.
์ถ์ฒ : opennet.ru