์ฌ๊ท์ ์ด๋ฆ ํ์ธ์ ๋ด๋นํ๋ ์บ์ฑ DNS ์๋ฒ PowerDNS Recursor 4.6 ๋ฆด๋ฆฌ์ค๊ฐ ์ถ์๋์์ต๋๋ค. PowerDNS Recursor๋ PowerDNS Authoritative Server์ ๋์ผํ ์ฝ๋ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ๋์์ง๋ง PowerDNS Recursive ๋ฐ Authoritative DNS ์๋ฒ๋ ์๋ก ๋ค๋ฅธ ๊ฐ๋ฐ ์ฃผ๊ธฐ๋ฅผ ํตํด ๊ฐ๋ฐ๋์ด ๋ณ๋์ ์ ํ์ผ๋ก ์ถ์๋ฉ๋๋ค. ํ๋ก์ ํธ ์ฝ๋๋ GPLv2 ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค.
์๋ฒ๋ ์๊ฒฉ ํต๊ณ ์์ง์ ์ํ ๋๊ตฌ๋ฅผ ์ ๊ณตํ๊ณ , ์ฆ์ ์ฌ์์์ ์ง์ํ๋ฉฐ, Lua ์ธ์ด๋ก ์ฒ๋ฆฌ๊ธฐ๋ฅผ ์ฐ๊ฒฐํ๊ธฐ ์ํ ์์ง์ด ๋ด์ฅ๋์ด ์์ผ๋ฉฐ, DNSSEC, DNS64, RPZ(์๋ต ์ ์ฑ ์์ญ)๋ฅผ ์๋ฒฝํ๊ฒ ์ง์ํ๊ณ ๋ธ๋๋ฆฌ์คํธ ์ฐ๊ฒฐ์ ํ์ฉํฉ๋๋ค. ํด๊ฒฐ ๊ฒฐ๊ณผ๋ฅผ BIND zone ํ์ผ๋ก ๊ธฐ๋กํ๋ ๊ฒ์ด ๊ฐ๋ฅํฉ๋๋ค. ๊ณ ์ฑ๋ฅ์ ๋ณด์ฅํ๊ธฐ ์ํด FreeBSD, Linux ๋ฐ Solaris(kqueue, epoll, /dev/poll)์์๋ ์ต์ ์ฐ๊ฒฐ ๋ค์คํ ๋ฉ์ปค๋์ฆ๊ณผ ์๋ง ๊ฐ์ ๋ณ๋ ฌ ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์๋ ๊ณ ์ฑ๋ฅ DNS ํจํท ํ์๊ฐ ์ฌ์ฉ๋ฉ๋๋ค.
์ ๋ฒ์ ์์:
- ์ฃผ๊ธฐ์ ์ผ๋ก DNS ์์ญ์ ๊ฒ์ํ๊ณ ํด๋น ๋ด์ฉ์ ์บ์์ ์ฝ์ ํ ์ ์๋ "Zone to Cache" ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ฌ ์บ์๊ฐ ํญ์ "ํซ" ์ํ์ ์๊ณ ํด๋น ์์ญ๊ณผ ๊ด๋ จ๋ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ๋๋ก ํฉ๋๋ค. ์ด ๊ธฐ๋ฅ์ ๋ฃจํธ๋ฅผ ํฌํจํ ๋ชจ๋ ์ ํ์ ์์ญ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์์ญ ๊ฒ์์ DNS AXFR, HTTP, HTTPS๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ๋ก์ปฌ ํ์ผ์์ ๋ก๋๋ฅผ ํตํด ์ํํ ์ ์์ต๋๋ค.
- ๋ค์ด์ค๋ ์๋ฆผ ์์ฒญ์ ๋ฐ์ผ๋ฉด ์บ์์์ ํญ๋ชฉ์ ์ฌ์ค์ ํ ์ ์์ต๋๋ค.
- DoT(TLS๋ฅผ ํตํ DNS)๋ฅผ ์ฌ์ฉํ์ฌ DNS ์๋ฒ์ ๋ํ ํธ์ถ์ ์ํธํํ๊ธฐ ์ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก DoT๋ DNS ์ ๋ฌ์์ ๋ํด ํฌํธ 853์ ์ง์ ํ๊ฑฐ๋ dot-to-auth-names ๋งค๊ฐ๋ณ์๋ฅผ ํตํด DNS ์๋ฒ๋ฅผ ๋ช ์์ ์ผ๋ก ๋์ดํ๋ ๊ฒฝ์ฐ ํ์ฑํ๋ฉ๋๋ค. DoT๋ก์ ์๋ ์ ํ ๋ฐ DNS ์๋ฒ ์ง์๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ธ์ฆ์ ํ์ธ์ ์์ง ์ํ๋์ง ์์ต๋๋ค(์ด๋ฌํ ๊ธฐ๋ฅ์ ํ์คํ ์์ํ์ ์น์ธ ํ์ ํ์ฑํ๋ฉ๋๋ค).
- ๋๊ฐ๋ TCP ์ฐ๊ฒฐ์ ์ค์ ํ๊ธฐ ์ํ ์ฝ๋๊ฐ ๋ค์ ์์ฑ๋์์ผ๋ฉฐ ์ฐ๊ฒฐ์ ์ฌ์ฌ์ฉํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค. TCP(๋ฐ DoT) ์ฐ๊ฒฐ์ ์ฌ์ฌ์ฉํ๊ธฐ ์ํด ์ฐ๊ฒฐ์ ๋ ์ด์ ์์ฒญ ์ฒ๋ฆฌ ํ ์ฆ์ ๋ซํ์ง ์๊ณ ์ผ์ ์๊ฐ ๋์ ์ด๋ฆฐ ์ํ๋ก ์ ์ง๋ฉ๋๋ค(๋์์ tcp-out-max-idle-ms ์ค์ ์ ์ํด ์ ์ด๋จ).
- ๋ชจ๋ํฐ๋ง ์์คํ ์ ๋ํ ํต๊ณ ๋ฐ ์ ๋ณด์ ํจ๊ป ์์ง๋๊ณ ๋ด๋ณด๋ธ ์ธก์ ํญ๋ชฉ์ ๋ฒ์๊ฐ ํ์ฅ๋์์ต๋๋ค.
- ๊ฐ ํด๊ฒฐ ๋จ๊ณ์ ์คํ ์๊ฐ์ ๋ํ ์์ธํ ์ ๋ณด๋ฅผ ์ป์ ์ ์๋ ์คํ์ ์ธ ์ด๋ฒคํธ ์ถ์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ต๋๋ค.
์ถ์ฒ : opennet.ru