DNS๊ฐ ํ์ํ ์ด์
DNS๋ ์ฌ๋์ด ์ฝ๊ธฐ ์ฌ์ด ๋๋ฉ์ธ ์ด๋ฆ์ ์ปดํจํฐ๊ฐ ์ ์ํ ์ ์๋ IP ์ฃผ์๋ก ๋ฐ๊ฟ ์ฃผ๋ ์์คํ
์
๋๋ค. ์ฌ์ฉ์๋ school-login.test ๊ฐ์ ์ด๋ฆ์ ์
๋ ฅํ์ง๋ง, ์ค์ ๋คํธ์ํฌ๋ 192.168.56.x ๊ฐ์ IP ์ฃผ์๋ฅผ ๋ชฉ์ ์ง๋ก ์ฌ์ฉํฉ๋๋ค.
์ด ํ๋ก์ ํธ์์ DNS๋ ๊ฐ์ฅ ์ค์ํ ์ ํ์ ์ ๋๋ค. DNS ์๋ต IP๊ฐ ์ ์ ์น ์๋ฒ๋ฅผ ๊ฐ๋ฆฌํค๋ฉด ์ ์ ํ์ด์ง๊ฐ ์ด๋ฆฌ๊ณ , ์ค์ต์ฉ ๊ฒฝ๊ณ ํ์ด์ง ์๋ฒ๋ฅผ ๊ฐ๋ฆฌํค๋ฉด ๊ฐ์ ๋๋ฉ์ธ์ ์ ๋ ฅํด๋ ๋ค๋ฅธ ํ๋ฉด์ด ์ด๋ฆฝ๋๋ค.
์ด ์ฅ์ ๋ชฉํ๋ DNS ์๋ฒ๋ฅผ ๋ณต์กํ๊ฒ ์ด์ํ๋ ๊ฒ์ด ์๋๋ผ, โ๋ฌด์์ ๋ฌผ์ด๋ดค๊ณ , ์ด๋ค IP๋ฅผ ๋ฐ์์ผ๋ฉฐ, ๊ทธ ๋ค์ ์ด๋๋ก ์ ์ํ๋๊ฐโ๋ฅผ ์ฝ๊ฒ ์ค๋ช ํ๋ ๊ฒ์ ๋๋ค.
๊ทธ๋ฆผ์ผ๋ก ๋ณด๋ DNS ํ๋ฆ
DNS ์ง์์ ์๋ต
๋ธ๋ผ์ฐ์ ๊ฐ ์น ์๋ฒ์ ์ ์ํ๊ธฐ ์ ์ ์ด์์ฒด์ ๋ ๋จผ์ DNS ์ง์๋ฅผ ๋ณด๋ ๋๋ค. ์ด ์ง์์๋ ์ฌ์ฉ์๊ฐ ์์ฒญํ ๋๋ฉ์ธ ์ด๋ฆ์ด ๋ค์ด ์๊ณ , DNS ์๋ฒ๋ ํด๋น ๋๋ฉ์ธ์ ๋์๋๋ IP ์ฃผ์๋ฅผ ์๋ตํฉ๋๋ค.
Wireshark์์๋ DNS Query์ DNS Response๋ฅผ ๊ตฌ๋ถํ ์ ์์ต๋๋ค. Query๋ โ๋ฌด์์ ๋ฌผ์ด๋ดค๋๊ฐโ์ด๊ณ , Response๋ โ์ด๋ค IP๋ฅผ ๋ฐ์๋๊ฐโ์ ๋๋ค. DNS๋ฅผ ๊ณต๋ถํ ๋๋ ์ง๋ฌธ๊ณผ ๋ต์ ํญ์ ํ ์์ผ๋ก ๋ณด๋ ์ต๊ด์ด ์ค์ํฉ๋๋ค.
๋๋ฉ์ธ ๊ณ์ธต ๊ตฌ์กฐ
๋๋ฉ์ธ์ ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก ํฐ ๋ฒ์์์ ์์ ๋ฒ์๋ก ๋ด๋ ค๊ฐ๋๋ค. ์๋ฅผ ๋ค์ด www.example.com์์ com์ ์ต์์ ๋๋ฉ์ธ์ ๊ฐ๊น๊ณ , example์ ๊ทธ ์๋ ๋๋ฉ์ธ, www๋ ํน์ ํธ์คํธ ์ด๋ฆ์
๋๋ค.
์ค์ ์ธํฐ๋ท์์๋ Root, TLD, Authoritative DNS ๊ฐ์ ๊ณ์ธต์ ๊ฑฐ์ณ ๋ต์ ์ฐพ์ต๋๋ค. ํ์ง๋ง ์ด ํ๋ก์ ํธ์ ๋ด๋ถ ์ค์ต๋ง์์๋ ๊ตฌ์กฐ๋ฅผ ๋จ์ํํด์ .test ๋๋ฉ์ธ๊ณผ ๋ด๋ถ DNS ์๋ฒ๋ง์ผ๋ก ์๋ฆฌ๋ฅผ ์ค๋ช
ํ ์ ์์ต๋๋ค.
๋ ์ฝ๋์ TTL
A ๋ ์ฝ๋๋ ๋๋ฉ์ธ์ IPv4 ์ฃผ์๋ก ์ฐ๊ฒฐํฉ๋๋ค. ์ค์ต์์๋ school-login.test๊ฐ ์ ์ ์๋ด ํ์ด์ง IP ๋๋ ๊ต์ก์ฉ ๊ฒฝ๊ณ ํ์ด์ง IP๋ฅผ ๊ฐ๋ฆฌํค๋๋ก ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
CNAME์ ๋ณ์นญ, MX๋ ๋ฉ์ผ ์๋ฒ, NS๋ ๋ค์์๋ฒ, TXT๋ ๋ฌธ์์ด ์ ์ฑ ์ ๋ณด๋ฅผ ๋ํ๋ ๋๋ค. ์ฒ์์๋ A ๋ ์ฝ๋์ TTL๋ง ํ์คํ ์ดํดํด๋ DNS ํ๋ฆ์ ๋ฐ๋ผ๊ฐ๋ ๋ฐ ์ถฉ๋ถํฉ๋๋ค.
TTL์ Time To Live์ ์ค์๋ง๋ก, DNS ์๋ต์ ์ผ๋ง ๋์ ์บ์์ ์ ์ฅํด๋ ๋๋์ง ์๋ ค ์ฃผ๋ ๊ฐ์ ๋๋ค. ์๋ฅผ ๋ค์ด TTL์ด 300์ด๋ผ๋ฉด ํด๋น ์๋ต์ 5๋ถ ๋์ ๋ค์ ๋ฌผ์ด๋ณด์ง ์๊ณ ์ฌ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
TTL์ด ์งง์ผ๋ฉด DNS ๋ณ๊ฒฝ ์ฌํญ์ด ๋น๊ต์ ๋นจ๋ฆฌ ๋ฐ์๋์ง๋ง, DNS ์๋ฒ์ ๋ ์์ฃผ ๋ฌผ์ด๋ณด๊ฒ ๋ฉ๋๋ค. ๋ฐ๋๋ก TTL์ด ๊ธธ๋ฉด ์ ์ ์๋์ ์๋ฒ ๋ถ๋ด ๋ฉด์์๋ ์ ๋ฆฌํ์ง๋ง, IP ์ฃผ์๋ฅผ ๋ฐ๊ฟจ์ ๋ ์ด์ ์๋ต์ด ์ค๋ ๋จ์ ์์ ์ ์์ต๋๋ค. ๊ทธ๋์ TTL์ ์๋์ ๋ณ๊ฒฝ ๋ฐ์ ์๊ฐ ์ฌ์ด์ ๊ท ํ์ ์ ํ๋ ๊ฐ์ด๋ผ๊ณ ๋ณด๋ฉด ๋ฉ๋๋ค.
DNS ์บ์์ TTL
DNS ์บ์๋ ๊ฐ์ ๋๋ฉ์ธ์ ๋ฐ๋ณตํด์ ๋ฌผ์ด๋ณด์ง ์๋๋ก DNS ์๋ต์ ์ ์ ์ ์ฅํ๋ ๊ธฐ๋ฅ์ ๋๋ค. ์บ์๊ฐ ์์ผ๋ฉด ๋ธ๋ผ์ฐ์ ๊ฐ ๊ฐ์ ์ฌ์ดํธ์ ์ ์ํ ๋๋ง๋ค ๋งค๋ฒ DNS ์๋ฒ์๊ฒ โ์ด ๋๋ฉ์ธ์ IP๊ฐ ๋ญ์ผ?โ๋ผ๊ณ ๋ฌผ์ด๋ด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ์ ์์ด ๋๋ ค์ง๊ณ DNS ์๋ฒ์๋ ๋ถํ์ํ ์์ฒญ์ด ๋ง์ด ์์ ๋๋ค.
์บ์๋ ์ด๋ฐ ๋ฐ๋ณต ์ง๋ฌธ์ ์ค์ด๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค. ์ฒ์ school-login.test๋ฅผ ์กฐํํด์ 192.168.56.30์ด๋ผ๋ ์๋ต์ ๋ฐ์๋ค๋ฉด, ์ด์์ฒด์ ๋ DNS ์๋ฒ๋ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ TTL ๋์ ๊ธฐ์ตํฉ๋๋ค. ๊ทธ ๋ค ๊ฐ์ ๋๋ฉ์ธ์ ๋ค์ ์์ฒญํ๋ฉด ์๋ DNS ์๋ฒ๊น์ง ๋ค์ ๊ฐ์ง ์๊ณ ์ ์ฅํด ๋ ๊ฐ์ ๋ฐ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
DNS ์บ์๋ ์ฌ๋ฌ ์์น์ ์๊ธธ ์ ์์ต๋๋ค. ๋ธ๋ผ์ฐ์ ๊ฐ ์์ฒด์ ์ผ๋ก ๊ธฐ์ตํ ์๋ ์๊ณ , Windows๋ Linux ๊ฐ์ ์ด์์ฒด์ ๊ฐ ๊ธฐ์ตํ ์๋ ์์ต๋๋ค. ์ง์ด๋ ํ๊ต์ ๊ณต์ ๊ธฐ๊ฐ DNS ์ ๋ฌ์ ์ญํ ์ ํ๋ฉด์ ์บ์ํ ์๋ ์๊ณ , ํต์ ์ฌ๋ ๊ณต์ฉ DNS ์๋ฒ ๊ฐ์ ์ฌ๊ท DNS ์๋ฒ๊ฐ ๋ง์ ์ฌ์ฉ์๋ฅผ ์ํด ์๋ต์ ์ ์ฅํด ๋ ์๋ ์์ต๋๋ค.
| ์บ์ ์์น | ์ญํ | ํท๊ฐ๋ฆด ์ ์๋ ์ํฉ |
|---|---|---|
| ๋ธ๋ผ์ฐ์ ์บ์ | ๋ธ๋ผ์ฐ์ ๊ฐ ์ต๊ทผ ๋๋ฉ์ธ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ์ต | ๋ธ๋ผ์ฐ์ ๋ง ์ฌ์์ํด๋ ๊ฒฐ๊ณผ๊ฐ ๋ฌ๋ผ์ง ์ ์์ |
| ์ด์์ฒด์ DNS ์บ์ | Windows/Linux๊ฐ DNS ์๋ต์ ์์ ์ ์ฅ | ๋ช ๋ น์ด์ ๋ธ๋ผ์ฐ์ ๊ฒฐ๊ณผ๊ฐ ์ด์ IP๋ฅผ ๊ณ์ ๋ณผ ์ ์์ |
| ๊ณต์ ๊ธฐ/๋ก์ปฌ DNS ์บ์ | ๋ด๋ถ ์ฅ์น๋ค์ DNS ์์ฒญ์ ๋์ ์ฒ๋ฆฌํ๊ณ ์ ์ฅ | ์ฌ๋ฌ PC๊ฐ ๊ฐ์ ์ด์ ์๋ต์ ๊ณต์ ํ ์ ์์ |
| ์ฌ๊ท DNS ์๋ฒ ์บ์ | ํต์ ์ฌ, ํ์ฌ, ๊ณต์ฉ DNS ์๋ฒ๊ฐ ์๋ต์ ์ ์ฅ | ๋ด PC ์บ์๋ฅผ ์ง์๋ ์ธ๋ถ DNS ์๋ฒ๊ฐ ์ด์ ๊ฐ์ ์ค ์ ์์ |
์บ์๋ ๋ณดํต ์ข์ ๊ธฐ๋ฅ์ ๋๋ค. ์์ฃผ ๋ฐฉ๋ฌธํ๋ ์ฌ์ดํธ์ ์ ์์ ๋น ๋ฅด๊ฒ ๋ง๋ค๊ณ , DNS ์๋ฒ๊ฐ ๊ฐ์ ์ง๋ฌธ์ ๋ฐ๋ณตํด์ ์ฒ๋ฆฌํ์ง ์๊ฒ ํด ์ค๋๋ค. ํนํ ์ฌ์ฉ์๊ฐ ๋ง์ ํ๊ต, ํ์ฌ, ํต์ ์ฌ ํ๊ฒฝ์์๋ ์บ์ ๋๋ถ์ DNS ํธ๋ํฝ์ด ํฌ๊ฒ ์ค์ด๋ญ๋๋ค.
ํ์ง๋ง DNS ์ค์ ์ ๋ฐ๊พธ๋ ์๊ฐ์๋ ์บ์๊ฐ ํผ๋์ ๋ง๋ค ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด school-login.test์ IP๋ฅผ ๋ฐ๊ฟจ๋๋ฐ ๋ธ๋ผ์ฐ์ ๊ฐ ์ฌ์ ํ ์ด์ ์๋ฒ๋ก ์ ์ํ๋ค๋ฉด, DNS ์๋ฒ ์ค์ ์ด ํ๋ฆฐ ๊ฒ์ด ์๋๋ผ ํด๋ผ์ด์ธํธ๋ ์ค๊ฐ DNS ์๋ฒ๊ฐ ์ด์ ์๋ต์ ์บ์์ ๋ค๊ณ ์์ ์ ์์ต๋๋ค. ๊ทธ๋์ DNS๋ฅผ ํ์ธํ ๋๋ ๋ธ๋ผ์ฐ์ ์บ์, ์ด์์ฒด์ DNS ์บ์, ๊ณต์ ๊ธฐ ์บ์, DNS ์๋ฒ ์บ์๋ฅผ ๊ตฌ๋ถํด์ ์๊ฐํด์ผ ํฉ๋๋ค.
์บ์์๋ โ์ฑ๊ณตํ ์๋ตโ๋ง ์ ์ฅ๋๋ ๊ฒ์ด ์๋๋๋ค. ์กด์ฌํ์ง ์๋ ๋๋ฉ์ธ์ด๋ผ๋ ์๋ต๋ ์ ์ ์ ์ฅ๋ ์ ์์ต๋๋ค. ์ด๊ฒ์ Negative Cache๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. ์๋ฅผ ๋ค์ด ์คํ๊ฐ ๋ ๋๋ฉ์ธ์ ์กฐํํด์ ์คํจํ ๋ค ๋ฐ๋ก DNS ๋ ์ฝ๋๋ฅผ ์ถ๊ฐํด๋, ์คํจ ๊ฒฐ๊ณผ๊ฐ ์ ์ ๋จ์ ์์ผ๋ฉด ํ๋์ ๊ณ์ ์๋ ๋๋ฉ์ธ์ฒ๋ผ ๋ณด์ผ ์ ์์ต๋๋ค.
์บ์ ๋๋ฌธ์ ๊ฒฐ๊ณผ๊ฐ ํท๊ฐ๋ฆด ๋๋ ๋จผ์ ํ์ฌ DNS ์๋ฒ๊ฐ ๋๊ตฌ์ธ์ง ํ์ธํ๊ณ , ๊ฐ์ ๋๋ฉ์ธ์ ์ง์ ์ง์ ํ DNS ์๋ฒ์ ๋ฌผ์ด๋ณด๋ ๋ฐฉ์์ผ๋ก ๋น๊ตํฉ๋๋ค. ์๋ ๋ช
๋ น์ด์์ dig @192.168.56.10์ฒ๋ผ DNS ์๋ฒ๋ฅผ ์ง์ ์ง์ ํ๋ฉด โ๋ด๊ฐ ์ํ๋ DNS ์๋ฒ๊ฐ ์ค์ ๋ก ์ด๋ค ์๋ต์ ์ฃผ๋์งโ ํ์ธํ๊ธฐ ์ฝ์ต๋๋ค.
nslookup school-login.test
dig school-login.test
dig @192.168.56.10 school-login.test
resolvectl status
resolvectl flush-caches
ipconfig /displaydns
ipconfig /flushdns
ipconfig /displaydns๋ Windows๊ฐ ๊ธฐ์ตํ๊ณ ์๋ DNS ์บ์ ๋ชฉ๋ก์ ๋ณด์ฌ ์ค๋๋ค. ipconfig /flushdns๋ Windows DNS ์บ์๋ฅผ ๋น์ฐ๋ ๋ช
๋ น์
๋๋ค. Linux์์๋ ํ๊ฒฝ์ ๋ฐ๋ผ resolvectl flush-caches๋ก systemd-resolved ์บ์๋ฅผ ๋น์ธ ์ ์์ต๋๋ค.
์ ์ ์๋ต๊ณผ ์ด์ ์๋ต
| ์ํ | ์ง์ ๋๋ฉ์ธ | ์๋ต IP | ๋ธ๋ผ์ฐ์ ๊ฒฐ๊ณผ | ์ดํด ํฌ์ธํธ |
|---|---|---|---|---|
| ์ ์ | school-login.test | ์ ์ ์น ์๋ฒ IP | ์ ์ ์๋ด ํ์ด์ง | ์ด๋ฆ๊ณผ ๋ชฉ์ ์ง๊ฐ ์๋๋๋ก ์ฐ๊ฒฐ๋จ |
| ์ด์ ์๋ต | school-login.test | ๋ค๋ฅธ ์น ์๋ฒ IP | ๋ค๋ฅธ ํ์ด์ง ํ์ | ๋๋ฉ์ธ์ ๊ฐ์ง๋ง ๋ชฉ์ ์ง IP๊ฐ ๋ฌ๋ผ์ง |
| ์บ์ ์์กด | school-login.test | ์ด์ ์๋ต IP | ๊ฒฐ๊ณผ ์ง์ฐ | TTL๊ณผ ์บ์๋ฅผ ํจ๊ป ํ์ธํด์ผ ํจ |
์ ์ ์๋ต๊ณผ ์ด์ ์๋ต์ ๋น๊ตํ ๋ ๊ฐ์ฅ ์ค์ํ ๊ธฐ์ค์ ๋๋ฉ์ธ ์ด๋ฆ์ด ์๋๋ผ ์๋ต์ผ๋ก ๋ฐ์ IP ์ฃผ์์ ๋๋ค. ์ฌ์ฉ์๋ ๊ฐ์ ์ด๋ฆ์ ์ ๋ ฅํด๋ DNS๊ฐ ๋ค๋ฅธ IP๋ฅผ ์๋ ค์ฃผ๋ฉด ๊ฒฐ๊ตญ ๋ค๋ฅธ ์๋ฒ๋ก ์ด๋ํ๊ฒ ๋ฉ๋๋ค.
ํต์ฌ ๊ฐ๋ ๋ณต์ต
DNS์ ํต์ฌ์ โ์ด๋ฆ์ ์ฃผ์๋ก ๋ฐ๊พธ๋ ๊ณผ์ โ์ ๋๋ค. ๋๋ฉ์ธ ์ด๋ฆ์ ์ฌ๋์ด ๊ธฐ์ตํ๊ธฐ ์ข๊ณ , IP ์ฃผ์๋ ์ปดํจํฐ๊ฐ ํต์ ํ๊ธฐ ์ข์ต๋๋ค. DNS๋ ์ด ๋ ์ฌ์ด๋ฅผ ์ฐ๊ฒฐํด ์ฃผ๋ ๋ฒ์ญ๊ธฐ ์ญํ ์ ํฉ๋๋ค.
A ๋ ์ฝ๋๋ IPv4 ์ฃผ์๋ฅผ ์๋ ค ์ฃผ๊ณ , CNAME์ ๋ค๋ฅธ ์ด๋ฆ์ผ๋ก ์ฐ๊ฒฐํ๋ฉฐ, NS๋ ๊ถํ ์๋ ๋ค์์๋ฒ๋ฅผ ๋ํ๋ ๋๋ค. TTL์ ์๋ต์ ์ผ๋ง๋ ์ค๋ ๊ธฐ์ตํ ์ง ๊ฒฐ์ ํฉ๋๋ค. ์ด ๊ฐ๋ ๋ค์ด ํฉ์ณ์ ธ์ ์ฐ๋ฆฌ๊ฐ ์ฃผ์์ฐฝ์ ์ ๋ ฅํ ์ด๋ฆ์ด ์ค์ ์๋ฒ ์ ์์ผ๋ก ์ด์ด์ง๋๋ค.
DNS๋ฅผ ์ดํดํ๋ฉด ์น ์ ์ ๋ฌธ์ ๋ฅผ ๋ ์ ๋ถ์ํ ์ ์์ต๋๋ค. ํ์ด์ง๊ฐ ์ ์ด๋ฆด ๋ ์๋ฒ๊ฐ ๊บผ์ง ๊ฒ์ธ์ง, DNS๊ฐ ์๋ชป๋ IP๋ฅผ ์๋ ค ์ค ๊ฒ์ธ์ง, ์บ์ ๋๋ฌธ์ ์ด์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ ์๋ ๊ฒ์ธ์ง ๊ตฌ๋ถํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.