유데미/생활코딩-WEB-DNS

생활WEB-DNS

study_recode 2025. 2. 21. 01:38

Jon Postel과 Pau Mockapetris 의해서 Domain Name System이 만들어집니다.

DNS 핵심은 DNS Server예요

  • 당신의 컴퓨터는 DNS 서버에 icann.org 서버를 물어봐요
  • DNS 서버는 192.0.43.7를 알려줘요
  • 여러분의 컴퓨터는 DNS Server가 알려준 IP주소를 통해 icann.org에 접속해요

우리는 미지에 대상에 대해서 이름을 붙이므로서 미지에 대상을 알고, 존재하는 것처럼 대화하고 기록하고 생각합니다. 지금부터 우리는 도매인 네임 시스템을 이용해서 우리의 컴퓨터에 이름을 붙여서 우리의 컴퓨터를 좀 더 인간적으로 알게될겁니다.

IP주소와 hosts의 개념

  • 클라이언트가 서버를 접속할때는 서버의 IP 주소를 알아야 합니다.
  • 서버도 클라이언트에 정보를 전달하기 위해서는 클라이언트의 IP 주소를 알아야 합니다.
  • 인터넷에 연결된 컴퓨터들을 "host"라고 우리는 부릅니다.
  • 우리는 숫자로된 IP주소를 외우는데 약합니다. 
  • 일반적으로 우리의 컴퓨터는 hosts파일을 가지고 있으며 그 파일에 ip주소와 url이 맵핑되어 있어 '도메인 서버'없이 연결할 수 있습니다.

hosts 파일을 설정하는 방법

운영 체제 hosts 파일 경로
Windows 95, 98, Me %WinDir%\hosts
Windows NT, 2000, XP, 2003, Vista, 7 %SystemRoot%\system32\drivers\etc\hosts
Windows (64비트) %SystemRoot%\SysWOW64\drivers\etc\hosts
Linux/Unix /etc/hosts
macOS/iOS /private/etc/hosts 또는 /etc/hosts
Android /system/etc/hosts 또는 /etc/hosts
Symbian OS 6.1–9.0 C:\system\data\hosts
Symbian OS 9.1+ C:\private\10000882\hosts
Novell NetWare SYS:etc\hosts
OS/2 & eComStation "bootdrive":\mptn\etc\
AmigaOS 4 DEVS:Internet/hosts

https://en.wikipedia.org/wiki/Hosts_(file)

 

hosts (file) - Wikipedia

From Wikipedia, the free encyclopedia Computer configuration file to map hostnames to IP addresses The computer file hosts is an operating system file that maps hostnames to IP addresses. It is a plain text file. Originally a file named HOSTS.TXT was manua

en.wikipedia.org

  • 각 운영체제의 hosts파일을 관리자로 열어 편집합니다.


도메인 이름과 보안

  • 위처럼 악인적인 사람이 IP 주소를 바꾼다면 우리는 평소에 방문하던 사이트가 아닌 다른 사이트로 방문할 수 있습니다. 
  • hosts파일은 변조되지 않도록 조심해야 합니다.
  • https로 접속해야 합니다. https로 접속하면 안전하지 않은 메시지를 뜨면서 경고해 줍니다.

DNS의 태동

DNS 이전에는 'Stanford Research Institute(SRI)'라는 단체에서 전 세계 IP를 관리했었으며 모든 client는 SRI에 접속해서 도메인/IP주소의 정보를 가져와 hosts파일에 기록 후 접속을 했다.
👉 전 세계 컴퓨터들이 이 파일을 다운로드 받아서 덮어씀
👉 IP가 아닌 이름을 통해 인터넷을 사용할 수 있게 되었다.

단점

  • SRI에 신규 추가, 수정되는 정보가 실시간으로 반영되지 못한다.
  • hosts 파일에 모든 도메인/IP주소를 담는 것은 비효율적이다. (많은 시간과 비용 소모)
    👉 이에 대한 대안으로 1983년 존 포스텔과 폴 모카페트리스가 DNS를 마련했다.

  • 주소 입력 👉 DNS 서버 접속 👉 주소에 해당하는 IP 주소 반환 👉 해당 IP 주소로 접속 👉 도메인 관리가 자동화 👉 행정절차 간소화, 신속화
  • 호스트 이름을 서버를 통해 관리 👉 수정 사항이 바로 반영

 

https://velog.io/@eoskandlv/TIL-12-Domain-Name-System-DNS

 

TIL 12 - Domain Name System (DNS)

각 컴퓨터는 host로 IP주소를 가지고 있으며 IP주소를 통해 host는 네트워크에 연결되어 통신이 가능하다.네트워크가 커지면서 사람들은 IP주소를 기억하기 어려워 했고 'DNS Server'를 통해 수 많은IP

velog.io

DNS란 무엇인가요?

DNS(Domain Name System)는 사람이 읽기 쉬운 도메인 이름(예: www.apple.com)을 컴퓨터가 이해할 수 있는 IP 주소(예: 17.253.207.54)로 변환하는 시스템입니다. 이는 인터넷의 전화번호부와 같은 역할을 하며, 사용자가 웹사이트에 쉽게 접근할 수 있도록 합니다.

DNS의 주요 구성 요소

  1. 리커시브 DNS 서버:
    • 사용자가 입력한 도메인 이름을 처리하는 첫 번째 단계입니다.
    • 브라우저나 애플리케이션에서 요청을 받아 필요한 정보를 찾습니다.
    • 캐시에 저장된 정보를 사용하거나, 권한 DNS 서버에 쿼리를 전달합니다.
  2. 권한 DNS 서버:
    • 특정 도메인에 대한 공식적인 정보를 저장합니다.
    • 예를 들어, apple.com의 권한 DNS 서버는 www.apple.com에 대한 IP 주소를 제공합니다.
    • 각 도메인의 권한 DNS 서버는 해당 도메인에 대한 요청만 처리합니다.

DNS 작동 과정

  1. 사용자가 브라우저에 도메인 이름(www.apple.com)을 입력합니다.
  2. 운영 체제는 설정된 리커시브 DNS 서버로 쿼리를 보냅니다.
  3. 리커시브 DNS 서버는:
    • 캐시에 정보가 있으면 바로 응답합니다.
    • 없으면 루트 DNS 서버 → TLD(최상위 도메인) DNS 서버 → 권한 DNS 서버로 쿼리를 전달합니다.
  4. 권한 DNS 서버는 Zone 파일에서 IP 주소를 찾아 리커시브 DNS 서버에 전달합니다.
  5. 리커시브 DNS 서버는 IP 주소를 사용자에게 반환하며, 브라우저는 해당 IP 주소로 연결하여 웹사이트를 표시합니다.

리커시브와 권한 DNS의 차이

구분 리커시브 DNS 권한 DNS
역할 사용자 요청 처리 및 정보 검색 특정 도메인의 공식 정보 제공
캐싱 여부 캐싱하여 반복 요청 시 빠른 응답 가능 최신 정보만 제공, 일반적으로 캐싱하지 않음
책임 범위 다양한 도메인의 정보를 검색 특정 도메인에 대한 정보만 관리

https://www.akamai.com/ko/glossary/what-is-dns?vid=internet-protocol-naming-video

 

DNS란 무엇일까요? | DNS 작동 방식 | Akamai

DNS(도메인 네임 시스템)는 웹 브라우저를 웹사이트와 연결하는 인터넷 전화번호부입니다. DNS의 작동 방식과 DNS 서버의 기능에 대해 자세히 알아보세요.

www.akamai.com

  • Root 네임 서버 : DNS 레코드를 요청하는 첫 단계입니다. 비영리 단체인 ICANN(Internet Corporation for Assigned Names and Numbers)이 관리합니다.
  • TLD(최상위 도메인) 네임 서버 : TLD 네임서버는 .com, .co.kr 과 같은 점 뒤에오는 도메인 확장자를 사용하는 모든 도메인 정보를 유지합니다.
  • Authoritative 네임 서버 : 실제 도메인의 IP주소가 기록되는 서버입니다. 도메인/호스팅 업체의 '네임서버'를 말합니다.
  • Recursive(재귀) 네임 서버 : 인터넷 사용자가 가장 먼저 접근하는 DNS 서버로 특정 도메인에 대한 IP정보를 캐시 형태로 저장해놓습니다. 대표적으로 KT/LG/SK 와 같은 ISP(통신사) DNS 서버가 있습니다.

https://velog.io/@kkj53051000/%EB%8F%84%EB%A9%94%EC%9D%B8Domain%EA%B3%BC-DNS-%EC%A0%95%EB%A6%AC

 

도메인(Domain)과 네임서버, DNS 정리

1. 도메인이란?

velog.io


public DNS의 사용

클라이언트 컴퓨터가 도메인 정보를 알고 있어야 합니다. 인터넷에 연결하는 순간에 ISP회사들이 여러분의 컴퓨터에다가 도메인을 물어봤을때 사용할 도메인 네임서버를 셋팅하는 메커니즘을 가지고 있어 그 설정된 도메인 서버를 사용하게 됩니다. 

 

통신사가 제공하는 DNS 서버대신 직접 도메인 서버정보를 수정할 수 있습니다. 

우선 구글를 통해 public dns server를 검색합니다.

https://www.lifewire.com/free-and-public-dns-servers-2626062

 

A List of Free and Public DNS Servers for 2025

A list of the best public and completely free DNS servers, plus why you might want to change them.

www.lifewire.com

자신의 컴퓨터 네트워크 설정으로 들어가 DNS 설정 부분에 8.8.8.8로 지정하면 구글의 도메인 서버를 사용하게 됩니다.

https://one.one.one.one/dns/

 

1.1.1.1 — One of the Internet’s Fastest, Privacy-First DNS Resolver

DNS: Internet’s Directory DNS: Internet’s Directory Nearly everything on the Internet starts with a DNS request. DNS is the Internet’s directory. Click on a link, open an app, send an email and the first thing your device does is ask the directory: W

one.one.one.one


DNS Internal

 

상위가 하위를 알고 있으면 바로 자신과 연결되 있는 서버만 알고 있습니다.

  • 사용자는 먼저 Root에 물어봅니다. 그러면 Root는 바로 하위 DNS 서버를 알려줍니다
  • 그럼 사용자는 다시 Top-level 서버에 물어봅니다. 그럼 위와 마찬가지로 바로 하위 DNS 서버를 알려줍니다
  • 그럼 사용자는 다시 Second-level에 물어보고 Second-level은 하위 DNS서버를 알려줍니다
  • 그럼 사용자는 sub에 ip주소를 물어보고 sub이 최종적인 ip주소를 알려줍니다
  • 그럼 사용자는 원하는 홈페이지로 접속합니다. 

도메인 이름 등록 과정과 원리

주요 구성 요소

  1. ICANN (Internet Corporation for Assigned Names and Numbers):
    • DNS 시스템의 최상위 기관으로, 전 세계 IP 주소와 루트 네임서버를 관리합니다
  2. Registry (등록소):
    • 각 최상위 도메인(TLD, 예: .com, .net)을 관리하는 기관입니다.
    • 등록된 도메인 이름과 소유권 정보를 관리하며, 이를 통해 중복 등록을 방지합니다
  3. Registrar (등록 대행자):
    • 도메인 등록자(사용자)와 Registry 간의 중개 역할을 합니다.
    • 사용자가 도메인을 등록하고 네임서버 정보를 설정할 수 있도록 지원합니다
  4. Registrant (등록자):
    • 도메인을 구매하고 사용하는 개인 또는 조직입니다. 네임서버 설정 및 IP 주소 매핑을 담당합니다

도메인 이름 등록 과정

  1. 도메인 선택 및 사용 가능 여부 확인:
    • 사용자는 원하는 도메인 이름을 선택하고, Registrar를 통해 해당 도메인이 사용 가능한지 확인합니다
  2. 도메인 구매 및 등록:
    • 사용자는 Registrar에게 수수료를 지불하고 도메인을 구매합니다.
    • Registrar는 Registry에 해당 도메인을 등록하고, 네임서버 정보를 전달합니다.
  3. 네임서버 설정:
    • 등록자는 자신의 네임서버를 직접 구축하거나 Registrar에서 제공하는 네임서버를 사용할 수 있습니다.
    • 예: "example.com의 네임서버는 a.iana-servers.net이다"라는 정보가 Registry에 기록됩니다
  4. Zone 파일 설정:
    • 네임서버에 Zone 파일을 추가하여, 도메인의 호스트 이름과 IP 주소 매핑 정보를 설정합니다(예: example.com A 93.184.216.34)
  5. DNS 시스템 업데이트:
    • 루트 네임서버와 TLD 네임서버가 업데이트되어, 인터넷 사용자들이 새로운 도메인을 조회할 수 있게 됩니다

클라이언트 접속 원리

  1. 사용자가 브라우저에 example.com을 입력하면, 컴퓨터는 ISP에서 제공한 리커시브 DNS 서버로 쿼리를 보냅니다.
  2. 리커시브 DNS 서버는 루트 네임서버 → TLD 네임서버 → 권한 네임서버 순으로 IP 주소를 조회합니다.
  3. 권한 네임서버는 Zone 파일에 저장된 정보를 기반으로 IP 주소를 반환하며, 리커시브 DNS 서버가 이를 사용자에게 전달합니다

https://javakong.tistory.com/51

 

[6] 도메인 이름 등록 과정과 원리

도메인 이름 등록 시스템 구조 Registrant(등록자) 사용자는 93.184.216.34 IP 주소를 가진 컴퓨터를 웹서버로 사용하기 위해 "example.com"이라는 도메인 주소를 쓰려고 한다. ICANN DNS system의 최상위에는 ICA

javakong.tistory.com


nslookup 사용법

nslookup은 네트워크 관리 명령줄 도구로, DNS(Domain Name System) 서버에 질의하여 도메인 이름과 IP 주소 간의 변환을 수행. 이 도구는 Windows, macOS, Linux 등 다양한 운영 체제에서 사용할 수 있으며, 주로 네트워크 관리자나 서버 운영자가 DNS 관련 문제를 진단할 때 사용

  • Non-authoritative answer란 cache에 정보가 전달된 것입니다. 
  • -type=ns 옵션을 넣으면

  • DNS 서버를 직접 물어볼 수 있다.
  • -type=a는 아무것도 적지않는거와 같다.


DNS record와 CNAME 레코드의 이해

 

https://javakong.tistory.com/54

 

[9] DNS record와 CNAME 레코드의 이해

DNS record type 조회 dns record wikipedia DNS Record : 도메인 이름에 대한 정보 한건 한건 CNAME : 하나의 도메인에 다른 이름을 부여(별칭) ( * 여러 개의 서브 도메인이 동일한 서버의 IP 주소를 가질 때(서버

javakong.tistory.com