XNUMX๋
๋ฐ์ ๊ฐ๋ฐ ๋์
์ ๋ฒ์ ์์๋ EDNS ํ๋๊ทธ๊ฐ ์๋ DNS ํจํท ์ฒ๋ฆฌ์ ๊ด๋ จ๋ ๋ชจ๋ ๋ฌธ์ ๊ฐ ์ ๊ฑฐ๋์์ต๋๋ค. 2016๋
์ด์ ๋ฒ์ ์ PowerDNS Recursor์์๋ ์ด์ ํ์์ผ๋ก ์๋ต์ ๋ณด๋ด์ง ์๊ณ ์ง์๋์ง ์๋ EDNS ํ๋๊ทธ๊ฐ ์๋ ํจํท์ ๋ฌด์ํ๊ณ ์ฌ์์์ ์๊ตฌํ๋ ๋๋ก EDNS ํ๋๊ทธ๋ฅผ ์ญ์ ํ๋ ๊ดํ์ด ์์์ต๋๋ค. ์ด์ ์๋ ์ด ๋นํ์ค ๋์์ด ํด๊ฒฐ ๋ฐฉ๋ฒ์ ํํ๋ก BIND์์ ์ง์๋์์ง๋ง
PowerDNS์์๋ EDNS๋ฅผ ์ฌ์ฉํ์ฌ ํจํท์ ์ฒ๋ฆฌํ ๋ ๋ฐ์ํ๋ ์ฃผ์ ๋ฌธ์ ๊ฐ 2017๋
๋ฆด๋ฆฌ์ค 4.1์์ ์ ๊ฑฐ๋์์ผ๋ฉฐ, 2016๋
์ ๋ฆด๋ฆฌ์ค๋ 4.0 ๋ถ๊ธฐ์์๋ ํน์ ์ํฉ์์ ๋ฐ์ํ๋ ๊ฐ๋ณ ๋นํธํ์ฑ์ด ํ๋ฉดํ๋์์ผ๋ฉฐ ์ผ๋ฐ์ ์ผ๋ก ์ ์ ์๋์ ๋ฐฉํดํ์ง ์์ต๋๋ค. ์์
. PowerDNS Recursor 4.2์์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ด๋
์ ํ์ฌ๋ฅผ ๊ฐ์ตํ๊ธฐ๋ก ๊ฒฐ์ ๋์์ต๋๋ค
์ด๋์
ํฐ๋ธ์ ์ผ๋ถ๋ก ์ ์๋ ๋ณ๊ฒฝ ์ฌํญ์ EDNS ๋ฒํผ ํฌ๊ธฐ ์ ํ๊ณผ ๊ด๋ จ๋ ํผ๋์ ์์ ๊ณ ๋์ฉ๋ UDP ๋ฉ์์ง์ ์กฐ๊ฐํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค. ์ด ๋ฌธ์ ๋ ์ข
์ข
ํด๋ผ์ด์ธํธ ์ธก์์ ํจํท ์์ค ๋ฐ ์๊ฐ ์ด๊ณผ๋ก ์ด์ด์ง๋๋ค. ํด๋ผ์ด์ธํธ ์ธก์์๋ EDNS ๋ฒํผ ํฌ๊ธฐ๊ฐ ์ผ์ ํ๋ฉฐ ํฐ ์๋ต์ด TCP๋ฅผ ํตํด ํด๋ผ์ด์ธํธ์ ์ฆ์ ์ ์ก๋ฉ๋๋ค. UDP๋ฅผ ํตํด ๋์ฉ๋ ๋ฉ์์ง๋ฅผ ๋ณด๋ด์ง ์์ผ๋ฉด ๋ค์๋ ์ฐจ๋จํ ์ ์์ต๋๋ค.
PowerDNS Recursor 4.2๋ ๋์ฉ๋ UDP ํจํท์ ๋ฌธ์ ๋ฅผ ๊ณ ๋ คํ์ฌ ์ด์ ์ ์ฌ์ฉ๋ 1232๋ฐ์ดํธ ์ ํ ๋์ 1680๋ฐ์ดํธ์ EDNS ๋ฒํผ ํฌ๊ธฐ(edns-outgoing-bufsize)๋ฅผ ์ฌ์ฉํ๋๋ก ์ ํํ์ฌ UDP ํจํท ์์ค ๊ฐ๋ฅ์ฑ์ ํฌ๊ฒ ์ค์ ๋๋ค. . ๊ฐ 1232๋ IPv6๋ฅผ ๊ณ ๋ คํ DNS ์๋ต ํฌ๊ธฐ๊ฐ ์ต์ MTU ๊ฐ(1280)์ ๋ง๋ ์ต๋๊ฐ์ด๊ธฐ ๋๋ฌธ์ ์ ํ๋์์ต๋๋ค. ํด๋ผ์ด์ธํธ์ ๋ํ ์๋ต ์๋ฅด๊ธฐ๋ฅผ ๋ด๋นํ๋ truncation-threshold ๋งค๊ฐ๋ณ์์ ๊ฐ๋ 1232๋ก ๊ฐ์๋์์ต๋๋ค.
PowerDNS Recursor 4.2์ ๊ธฐํ ๋ณ๊ฒฝ ์ฌํญ:
- ๋ฉ์ปค๋์ฆ ์ง์ ์ถ๊ฐ
XPF (X-Proxied-For)๋ X-Forwarded-For HTTP ํค๋์ ๋๋ฑํ DNS๋ก, ์๋ ์์ฒญ์์ IP ์ฃผ์ ๋ฐ ํฌํธ ๋ฒํธ์ ๋ํ ์ ๋ณด๊ฐ ์ค๊ฐ ํ๋ก์ ๋ฐ ๋ก๋ ๋ฐธ๋ฐ์(์: dnsdist)๋ฅผ ํตํด ์ ๋ฌ๋๋๋ก ํ์ฉํฉ๋๋ค. . XPF๋ฅผ ํ์ฑํํ๋ ค๋ฉด "xpf-ํ์ฉ-from "๊ทธ๋ฆฌ๊ณ "xpf-rr-์ฝ๋ "; - EDNS ํ์ฅ์ ๋ํ ์ง์ ๊ฐ์
ํด๋ผ์ด์ธํธ ์๋ธ๋ท (ECS) - ์ฒด์ธ์ ๋ฐ๋ผ ์ ์ก๋ ์ด๊ธฐ ์์ฒญ์ด ์์๋ ์๋ธ๋ท์ ๋ํ ์ ๋ณด๋ฅผ ๊ถํ ์๋ DNS ์๋ฒ์ DNS ์ฟผ๋ฆฌ๋ก ์ ์กํ ์ ์์ต๋๋ค(ํด๋ผ์ด์ธํธ์ ์์ค ์๋ธ๋ท์ ๋ํ ๋ฐ์ดํฐ๋ ์ฝํ ์ธ ์ ๋ฌ ๋คํธ์ํฌ์ ํจ๊ณผ์ ์ธ ์๋์ ํ์ํฉ๋๋ค). . ์ ๋ฆด๋ฆฌ์ค์๋ EDNS ํด๋ผ์ด์ธํธ ์๋ธ๋ท ์ฌ์ฉ์ ์ ํ์ ์ผ๋ก ์ ์ดํ๊ธฐ ์ํ ์ค์ ์ด ์ถ๊ฐ๋์์ต๋๋ค.ECS ์ถ๊ฐ์ฉ ยป ๋ฐ์ ์์ฒญ ์ ECS์์ IP๊ฐ ์ฌ์ฉ๋ ๋คํธ์ํฌ ๋ง์คํฌ ๋ชฉ๋ก์ด ํฌํจ๋์ด ์์ต๋๋ค. ์ง์ ๋ ๋ง์คํฌ์ ์ํ์ง ์๋ ์ฃผ์์ ๊ฒฝ์ฐ "์ง์๋ฌธ์ ์ง์ ๋ ์ผ๋ฐ ์ฃผ์ECS-๋ฒ์-XNUMX-์ฃผ์ ". ์ง์๋ฌธ์ ํตํด "์ฌ์ฉ-์์ -edns-์๋ธ๋ท ยป ์ฑ์์ง ECS ๊ฐ์ด ํฌํจ๋ ์์ ์์ฒญ์ด ๋์ฒด๋์ง ์๋ ์๋ธ๋ท์ ์ ์ํ ์ ์์ต๋๋ค. - ์ด๋น ๋ง์ ์(100๋ง ๊ฐ ์ด์)์ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ์๋ฒ์ ๊ฒฝ์ฐ "
๋ฐฐํฌ์ ์ค๋ ๋ "๋ ๋ค์ด์ค๋ ์์ฒญ์ ์์ ํ๊ณ ์ด๋ฅผ ์์ ์ ์ค๋ ๋ ๊ฐ์ ๋ฐฐํฌํ๊ธฐ ์ํ ์ค๋ ๋ ์๋ฅผ ๊ฒฐ์ ํฉ๋๋ค("pdns-distributes-queries=yes "). - ์ค์ ์ถ๊ฐ
๊ณต๊ฐ ์ ๋ฏธ์ฌ ๋ชฉ๋ก ํ์ผ ์์ ์ ํ์ผ์ ์ ์ํ๋ ค๋ฉด๊ณต๊ฐ ์ ๋ฏธ์ฌ ๋ชฉ๋ก PowerDNS Recursor์ ๋ด์ฅ๋ ๋ชฉ๋ก ๋์ ์ฌ์ฉ์๊ฐ ํ์ ๋๋ฉ์ธ์ ๋ฑ๋กํ ์ ์๋ ๋๋ฉ์ธ์ ๋๋ค.
PowerDNS ํ๋ก์ ํธ๋ ๋ํ 4.3๊ฐ์ ๊ฐ๋ฐ ์ฃผ๊ธฐ๋ก ์ ํํ๊ณ PowerDNS Recursor 2020์ ๋ค์ ์ฃผ์ ๋ฆด๋ฆฌ์ค๊ฐ 4.2๋ 2021์๋ก ์์๋๋ค๊ณ ๋ฐํํ์ต๋๋ค. ์ค์ํ ๋ฆด๋ฆฌ์ค์ ๋ํ ์ ๋ฐ์ดํธ๋ ์ผ๋ ๋ด๋ด ๊ฐ๋ฐ๋ ์์ ์ด๋ฉฐ, ์ดํ 4.2๊ฐ์ ๋์ ์ทจ์ฝ์ ์์ ์ฌํญ์ด ๋ฆด๋ฆฌ์ค๋ฉ๋๋ค. ๋ฐ๋ผ์ PowerDNS Recursor XNUMX ๋ถ๊ธฐ์ ๋ํ ์ง์์ XNUMX๋ XNUMX์๊น์ง ์ง์๋ฉ๋๋ค. ๊ฐ๊น์ด ์์ผ ๋ด์ XNUMX๊ฐ ์ถ์๋ ์์ ์ธ PowerDNS Authoritative Server์ ๋ํด์๋ ์ ์ฌํ ๊ฐ๋ฐ ์ฃผ๊ธฐ ๋ณ๊ฒฝ์ด ์ด๋ฃจ์ด์ก์ต๋๋ค.
PowerDNS Recursor์ ์ฃผ์ ๊ธฐ๋ฅ:
- ์๊ฒฉ ํต๊ณ ์์ง ๋๊ตฌ
- ์ฆ์ ๋ค์ ์์;
- Lua ์ธ์ด๋ก ํธ๋ค๋ฌ๋ฅผ ์ฐ๊ฒฐํ๊ธฐ ์ํ ๋ด์ฅ ์์ง;
- ์์ ํ DNSSEC ์ง์ ๋ฐ
DNS64 ; - RPZ(Response Policy Zones) ์ง์ ๋ฐ ๋ธ๋๋ฆฌ์คํธ ์ ์ ๊ธฐ๋ฅ
- ์คํธํ ๋ฐฉ์ง ๋ฉ์ปค๋์ฆ
- ํด๊ฒฐ ๊ฒฐ๊ณผ๋ฅผ BIND ์์ญ ํ์ผ๋ก ๊ธฐ๋กํ๋ ๊ธฐ๋ฅ.
- ๊ณ ์ฑ๋ฅ์ ๋ณด์ฅํ๊ธฐ ์ํด FreeBSD, Linux ๋ฐ Solaris(kqueue, epoll, /dev/poll)์์๋ ์ต์ ์ฐ๊ฒฐ ๋ค์คํ ๋ฉ์ปค๋์ฆ๊ณผ ์๋ง ๊ฐ์ ๋ณ๋ ฌ ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์๋ ๊ณ ์ฑ๋ฅ DNS ํจํท ํ์๊ฐ ์ฌ์ฉ๋ฉ๋๋ค.
์ถ์ฒ : opennet.ru