Coding History

2024.06.12 DNS가 뭔가요? + 도메인, A Record, CName

BlackBirdIT 2024. 6. 12. 19:06

movie

DNS는 'Domain Name System'의 약자이다.
'www.naver.com'을 예로 들면, 'www'는 호스트 네임, 'naver.com'이 도메인이다.
컴퓨터가 웹사이트에 접속하려고 할 때, 컴퓨터에 있는 브라우저가 해당 사이트를 제공하는 서버에 요청을 해서 데이터를 받아와야한다. 그게 가능하려면 해당 서버의 IP주소를 알아야하는데, 사이트마다 이걸 다 외울 수가 없으니까 마치 전화번호부같이 외우기 쉬운 주소를 만들어 사이트에 접속한다. 이런 정보들이 저장되는 곳이 바로 DNS.

DNS서버는 IP주소를 저장하고 조회하는데, 다층적인 구조의 도메인 정보로 설명된다.
로컬 DNS서버는 주소 정보를 가지고 있으면 바로 제공하지만, 만약 없다면 루트 DNS서버에 요청하여 접속하려는 IP주소를 알아낸다.

루트 DNS 서버는 .com 도메인에 대한 IP 주소를 반환하며, 로컬 DNS 서버는 'naver' DNS 서버로의 IP 주소 요청을 처리한다.
'naver.com'에는 다수의 IP 주소가 있으며, 이를 통해 'www'에 해당하는 IP 주소를 찾아 브라우저에 반환하고, 최종적으로 'www.naver.com' 서버에 연결된다.
DNS 서버에 문제가 생기면 도메인을 통한 접속이 불가능하다. IP주소를 직접 입력해 접속할 수도 있지만 이를 막아둔 사이트는 접속이 아예 불가능하다.

DNS 시스템은 해커들의 공격대상이 될 수 있다.
DNS Spoofing은 DNS 정보를 조작하여 해커가 사용자가 접속하려는 주소를 가로채 자신이(해커) 원하는 사이트로 유도하는 행위이다.
안전한 통신을 위해 DNS 설정을 주의하여야 하며, 잘못된 DNS 설정은 보안과 성능에 영향을 줄 수 있다.

우리가 사이트를 개발할 때 도메인을 구매하여 사용할 수 있는데, 도메인을 구매하면 도메인 소유자로서 네임 서버를 설정하고, 해당 도메인에 대한 IP 주소 및 DNS 정보를 설정할 수 있다.
네임 서버를 설정할 때에는 가비아와 같은 서비스를 활용하거나, 도메인 구매 사이트에서 직접 제공하는 경우도 있습니다.
도메인을 구매한 후 다른 업체의 네임 서버를 사용하려면, 해당 네임 서버의 주소만 입력하면 된다.

도메인 구매 사이트를 이용하다보면 'DNS 레코딩 관리'라는 탭이 있는데 'A Record'방식과 'CName(Canonical Name)' 방식이 존재한다.
A record는 도메인을 서버 IP로 직접 연결하게 하는 방식이다. IP로의 직통 연결이라 접속이 빠르다는 장점이 있다.
CName은 도메인을 별명과 연결하는 방식이다. IP가 유동적으로 변화하는 서버의 경우 그 바뀌는 IP들에 일정하게 연결된 다른 도메인, 즉 'CName(Canonical Name)'을 적는다. 이걸 도메인에 연결하는 것이 CName방식이다. IP가 유동적인 서버를 사용하는데 도움은 되지만, 대신 한군데를 더 거친다는 것이 단점이다.