우리가 인터넷 브라우저를 사용할 때 도메인 이름을 입력하여 웹사이트에 접근할 수 있습니다. 이는 DNS(Domain Name System) 이라는 시스템이 존재하기 때문에 가능한 일입니다. DNS는 인터넷의 핵심 인프라로서, 네트워크 트래픽이 올바른 IP 주소 목적지까지 찾아가도록 돕습니다. 이 글에서는 DNS의 작동 원리와 종류, 보안 이슈 그리고 VPN과의 차이점에 대해서 알아보겠습니다.
목차
DNS란 무엇인가요?
DNS 서버의 종류
DNS는 어떻게 작동하나요?
DNS vs. IP 주소
DNS 캐싱(DNS Caching)
DNS와 VPN 차이점 비교
DNS 서버 바꾸기
DNS란 무엇인가요?
DNS란 무엇이며 어떻게 작동하나요?
DNS(Domain Name System)란, 도메인 이름을 IP 주소로 변환하여 주는 시스템을 말합니다. DNS는 인터넷에서 사용되는 주소록과 같은 존재입니다. DNS 시스템에서는 도메인 이름과 IP가 서로 매핑되어 저장되어 있습니다. 사용자가 특정 도메인을 입력하면, 그에 매치되는 IP 주소를 찾아서 접속할 수 있도록 해줍니다.
모든 장치는 IP 주소를 가지고 있습니다. 우리가 인터넷을 사용할 때 어떤 웹사이트에 접속을 하기 위해서는 이 IP 주소를 이용해야 합니다. 하지만 모두가 IP 주소 대신에 URL 이라는 영문으로 이루어진 웹사이트 주소를 입력합니다. 예를 들어, www.example.com 와 같은 주소를 입력하지요. 이를 192.0.0.0 와 같은 IP 주소로 변환시켜 주는 것이 DNS입니다.
DNS를 꼭 사용해야 하나요?
네, 도메인 네임 시스템은 인터넷에 필수적인 존재입니다. DNS를 사용하지 않고는 그 누구도 인터넷 서핑을 할 수 없을 것입니다. 숫자로 만들어진 IP 주소를 일일이 입력하는 것은 너무 번거로운 일입니다. DNS가 URL을 중간에서 IP 주소로 변환시켜 주는 역할을 담당하기에 우리는 편리하게 웹 서핑을 할 수 있습니다.
DNS 서버의 종류
DNS 서버는 역할에 따라서 4가지로 나눠집니다. 각각의 서버가 맡은 기능을 수행하여 전체 도메인 네임 시스템이 동작할 수 있게 합니다.
순환 DNS 서버 (DNS Recursive Server/ DNS resolver): 요청 받은 도메인에 매치되는 IP 주소를 찾기 위해 계층적으로 DNS 쿼리를 수행합니다. DNS 쿼리의 첫 단계에 해당합니다. DNS 캐시를 저장하는 곳 이기도 합니다. 루트 DNS 서버 (Root Name Server): 순환 DNS 서버에서 처음으로 DNS 쿼리 요청을 보내는 서버입니다. 해당 도메인의 확장자(.com, .net, .org 등)에 따른 TLD 네임 서버의 주소를 DNS Resolver에 응답해 줍니다.최상위 도메인 DNS 서버 (TLD Name Server): 최상위 도메인(.com, .net, .org 등)에 대한 DNS 정보를 관리합니다. 루트 DNS 서버와 권한 네임 서버의 중간 단계입니다.권한 네임 서버 (Authoritative Name Server): 도메인의 IP 주소를 응답해주는 최종 단계 DNS 서버입니다. 여기서 얻은 IP 주소가 순환 DNS 서버를 거쳐 브라우저까지 전달됩니다.
{SHORTCODES.blogRelatedArticles}
DNS는 어떻게 작동하나요?
도메인 네임 시스템 서버가 어떻게 도메인 이름을 IP 주소로 변환하여 주는지 단계별로 알아 봅시다. 위에서 알아본 4가지의 서버가 작동 프로세스에서 각기 어떤 역할을 맡고 있는지 살펴보세요.
사용자가 브라우저 주소창에 URL을 입력합니다. 브라우저가 입력된 도메인의 IP 주소를 알아내기 위해 운영체제를 거쳐 DNS Resolver에 요청을 보냅니다.DNS Resolver는 로컬 DNS 캐시에 이전에 방문한 도메인 정보가 있는지 확인합니다. 만약 캐시에 기록이 있다면, 추가적인 DNS 조회가 필요하지 않습니다. 이 단계에서 바로 IP 주소를 응답해 줄 수 있습니다.캐시에 정보가 없는 경우, DNS Resolver는 루트 DNS 서버에서 최상위 도메인(TLD) DNS 서버의 IP 주소 정보를 알아냅니다.DNS Resolver는 최상위 도메인(TLD) DNS 서버에 연결하여 권한 네임 서버(Authoritative Name Server)의 IP 주소를 요청하여 받아냅니다.최종적으로 DNS Resolver는 권한 네임 서버에서 도메인의 최종 IP 주소를 마침내 알아냅니다. 이렇게 받아 온 IP 주소는 로컬 DNS 캐시에 저장됩니다. 이후로는 같은 요청이 있다면 DNS Resolver에서 바로 응답이 가능합니다.받아온 최종 IP 주소를 다시 거꾸로 운영체제를 거쳐 브라우저로 전달합니다. 축하합니다! 사용자는 웹 브라우저를 통해 마침내 해당 IP 서버에 연결할 수 있습니다.
DNS vs. IP 주소
DNS와 IP 주소는 웹 서버가 네트워크를 하는 과정에서 계속 같이 나오는 개념입니다. 둘은 네트워크에서 사용되는 주소 체계의 컴포넌트 역할을 합니다.두가지 개념의 쉬운 이해를 위하여 전화번호부에 빗대어 설명할 수 있습니다. 여기서 DNS는 전화번호부로 생각할 수 있고, 도메인은 사람의 이름, IP 주소는 전화번호로 생각하면 됩니다. 예를 들어, 우리가 ‘홍길동’ 이라는 사람에게 전화를 걸고 싶다고 가정합시다. 그러면 전화번호부 이름 목록에서 ‘홍길동’을 찾아서 그에 해당되는 전화 번호로 전화를 걸면 됩니다. 마찬가지로 사용자가 어떤 웹사이트에 연결을 요청할 때, 네트워크 시스템은 DNS에 있는 웹사이트 도메인을 먼저 찾습니다. 그 다음에 그에 해당되는 IP 주소로 연결을 도와줍니다.
요약해서, DNS는 www.example.com 과 같은 도메인 이름을 IP 주소로 변환하기 위한 목록 서버입니다. IP 주소는 네트워크에서 컴퓨터의 위치를 최종 식별하여 접근하는 데 사용됩니다.
DNS 캐싱(DNS Caching)
DNS 캐싱이란 DNS 서버 안에 이전에 처리한 DNS 쿼리 결과값을 한시적으로 저장하는 것입니다. 이를 통해 불필요한 네트워크 트래픽을 줄이고 동일한 쿼리에 한해서 응답 시간을 단축할 수 있습니다. 결과적으로 웹 사이트의 로딩 속도가 빨라집니다.
위에서 말했던 순환 DNS 서버 (DNS Recursive Server, DNS resolver)가 DNS 캐시를 저장하는 역할을 합니다. DNS resolver 단계에서 이미 이전에 처리했던 쿼리와 동일한 쿼리를 받았다면 즉시 캐시에서 응답을 반환해 줄 수 있습니다. 즉, 캐시에 없는 내용만 다른 DNS 서버에 질의하면 되므로 응답 시간을 단축하고 트래픽도 절약할 수 있습니다.
캐시된 내용은 TTL(Time To Live) 설정 값에 따라 유지됩니다. TTL이 지난 캐시 내용은 서버에서 자동으로 삭제됩니다. 하지만 때로는 502 bad gateway와 같은 에러가 있을 때, 캐시를 수동 플러싱 해야 할 때도 있습니다. DNS 캐시 수동 삭제를 하고 나면 캐시가 초기화 된 후 다시 쌓이기 시작할 것입니다.
한편, DNS 스푸핑 중 가장 많이 쓰이는 수법인 DNS 캐시 포이즈닝에 대해 주의해야 합니다. 이는 공격자가 캐시에 잘못된 IP 주소를 주입하는 방식입니다. 그런 다음 악성 웹사이트로 유도하여 멀웨어를 다운로드 받게 하거나 개인정보를 중간에서 탈취합니다. 카드 번호와 같은 금융 정보를 탈취하여 금전적인 손실을 초래하기도 합니다. 이런 피해를 예방하기 위해서 각별히 주의하여 DNS 캐시 포이즈닝을 당하지 않도록 하십시오.
DNS와 VPN 차이점 비교
도메인 이름 시스템은 위에서 알아 보았듯이 도메인 이름과 IP 주소를 매치하는 시스템입니다. 그래서 도메인을 이용하여 해당 서버에 접근할 수 있게 하는 역할입니다. 반면 VPN은 IP 주소를 변경하도록 도와주는 프로그램입니다. IP 주소를 바꾸는 이유는 보안상의 목적 그리고 위치를 변경하여 원하는 웹 컨텐츠에 접근하기 위함 등이 있습니다.
NordVPN은 스마트 DNS라는 기능을 제공합니다. 스마트 DNS는 사용자의 DNS 정보를 바꿔 현재 접속 위치랑 다른 위치에서 접속한 것 처럼 보이게 합니다. 그래서 지역 제한 없이 사용자가 모든 종류의 웹 컨텐츠에 접근할 수 있도록 돕습니다.
그냥 스마트 DNS는 보안 기능을 제공하지 않지만, VPN에 스마트 DNS가 빌트인 되어 있는 제품은 웹 보안을 향상시켜줍니다. VPN은 네트워크 트래픽을 암호화 하여 누구도 당신을 몰래 추적할 수 없게 합니다. IP 주소가 마스킹 되므로 프라이버시도 보호되어 좋습니다. 한국에 서버를 둔 한국 VPN중 하나인 NordVPN에는 바이러스 및 위협 방지 기능이 있어 자신도 모르게 멀웨어 공격을 받는 것을 막아줍니다. VPN이 위협을 방지해 주므로 사용자는 해킹의 염려에서 자유로운 온라인 활동이 가능합니다.
DNS 서버 바꾸기
현재 사용하고 있는 DNS에 불만족한다면 도메인 이름 시스템 서버를 변경할 수도 있습니다. DNS 서버를 변경하면 인터넷 속도를 향상시킬 수 있습니다. 위에서 언급했던 지역 제한 컨텐츠에도 자유롭게 접근할 수 있습니다. 하지만 무엇보다도 가장 큰 장점은 보안 측면에서의 장점입니다. DNS 서버에 있는 보안 취약점이 우려된다면 보안을 향상시키기 위해 개인 DNS로 변경하는 것을 고려해 볼 수 있습니다.
개인 DNS가 무엇인가요?
개인 DNS(Private DNS)란, 인터넷 서비스 공급 업체(ISP)가 운영하는 공용 DNS 서비스와 달리 사용자가 만들고 관리하는 DNS입니다. 인터넷 서비스 공급 업체가 제공하는 DNS 서버를 사용 시 접속 기록이 수년간 업체에 남아있는 경우가 많습니다. 하지만 개인 DNS를 사용하면 사용자의 온라인 활동을 인터넷 서비스 공급 업체가 추적할 수 없습니다. 따라서 개인 DNS를 사용하면 온라인 상의 개인 정보를 보호할 수 있습니다.
마무리
이 글에서는 DNS의 정의, 작동 원리, 역할 그리고 보안에 대해서도 같이 살펴보았습니다. 사용자가 인터넷의 핵심 요소인 DNS를 이해하면 인터넷을 더 효율적으로 사용할 수 있을 것입니다. 또한 사용자의 상황에 따라 설정을 변경하거나 서버를 바꾸는 것도 가능하다는 점을 명심하십시오. 자신에게 알맞은 DNS를 선택하여 보안을 향상시키고, 자유로운 온라인 활동을 누리시기 바랍니다.