바로가기 메뉴
본문으로 바로가기
메인 메뉴로 바로가기

현재위치

Home >주요사업>인터넷 주소관리>DNS

DNS

DNS 및 최상위 루트 DNS 관리·운영

사이트 바로가기

DNS 소개

DNS 체계

DNS(Domain Name System)은 도메인이름을 사용하는 거대한 영역의 수직적인 체계를 말합니다.아래의 그림은 도메인 체계를 보여주고 있습니다.예컨대, kr도메인에는 or영역을 표현하는 or.kr 도메인이 포함되어 있고 or.kr 도메인에는 kisa.or.kr 도메인이 포함되어 있습니다.일반적으로 도메인관리자는 해당 도메인이 포함하는 영역을 관리할 수 있습니다.kisa.or.kr 도메인의 관리자는 kisa.or.kr 하위에 www.kisa.or.kr 혹은 domain.kisa.or.kr 등 여러 개의 호스트를 생성하는 등 kisa.or.kr 도메인을 관리할 수 있습니다.DNS(Domain Name Server)는 DNS(Domain Name System)이 작동할 수 있도록 도메인이름에 대한 설정을 한 서버를 말합니다.

DNS 설정 방법

  • 네임서버 설정방법

    일반적으로 네임서버는 도메인이름과 IP주소를 연결시켜주는 기능을 하는 서버입니다.네임서버는 리눅스/유닉스 계열에서는 주로 BIND를 사용하며 윈도우 서버 계열에서는 관리 도구의 DNS에서 설정할 수 있습니다. BIND 설정 파일은 크게 아래의 세 가지로 나뉩니다.

    • 네임서버의 환경 설정 (named.conf)
    • 도메인이름을 IP주소를 연결하기 위한 존파일 설정(xxx.zone)
    • IP주소로 도메인이름을 찾기 위한 역방향 조회 영역 설정(xxx.in-addr.arpa)
    • 존파일은 도메인을 설정하고 원하는 IP주소로 연결될 수 있도록 하는 정보를 보유하고 있습니다. 리버스 존파일은 IP주소로 도메인이름을 찾을 수 있도록 하는 정보를 보유하고 있습니다. 존파일 설정 시 사용되는 대표적인 레코드
    DNS 네임서버 설정방법 표
    레코드유형 역할
    SOA 현재영역에대한권한을나타낸다.하나의존파일에는반드시하나만있어야한다.
    NS 네임서버를지정한다.
    A 호스트이름을IP주소로매핑할때사용
    PTR IP주소를호스트이름으로매핑할때사용
    MX 메일을MX레코드로지정한호스트로전송
    CNAME 호스트에별칭을연결해줄때사용
  • 네임서버는 도메인이름과 IP주소를 매핑 시켜주며 e-mail 주소를 참조하여 정확히 전달될 수 있도록 하는 등 인터넷에서 아주 중요한 역할을 합니다.
  • 이런 이유로 가급적이면 2대 이상의 네임서버 운영을 권장합니다.
  • 보통 Master/Slave의 2대를 운영하는 경우가 많습니다.Master 네임서버는 주된 네임서버이며 Slave 네임서버는 2차 네임서버입니다. 주로 Master와 Slave로 설정하여 사용하는 이유는 안정성 및 네트워크 부하 분산 등의 이유로 네임서버를 2대 따로 사용하는 것보다 관리상 편리하며 존 파일을 따로 설정하여 발생하는 영역 데이타의 불일치 오류를 피할 수 있기 때문입니다.
  • Slave 네임서버는 Master 네임서버에서 존파일을 자동으로 받아와서 사용하기 때문에 Slave 네임서버 로만 설정해 주면 됩니다.
  • Master 네임서버와 Slave 네임서버는 관리상의 차이만 있을 뿐 네임서버로서 아무런 차이가 없습니다. 1차 2차 네임서버로도 불리지만 Slave 네임서버는 백업용 서버가 아닙니다.
  • Master 네임서버와 동일한 기능을 수행합니다. 레코드유형 역할

유닉스계열 BIND를 사용한 네임서버 설정방법

  • Master 네임서버 named.conf 파일 설정 예제

    option directory "/var/named"; //존파일, 역방향 조회영역 설정파일들 및 기타 설정파일들이 위치할 디렉토리 지정};zone "kisa.or.kr" in { type master; file "kisa.or.kr.zone"; // kisa.or.kr 도메인에 대한 영역 설정 파일 지정};zone "50.30.202.in-addr.arpa" in { type master; file "db.50.30.202"; //202.30.50.24 네트워크에 대한 역방향 설정 파일 지정};zone "localhost" in { type master; file "localhost.zone"; // 루프백 주소에 대한 파일 지정};zone "0.0.127.in-addr.arpa" in { type master; file "db.127.0.0"; // 루프백 주소에 대한 파일 지정};zone "." in { type hint; file "db.cache"; // 루트 힌트 파일 지정};

  • Slave 네임서버 named.conf 파일 설정 예제

    option { directory "/var/named";};zone "kisa.or.kr" in { type slave; // slave 네임서버임을 설정 file "slave-kisa.or.kr.zone"; //존파일 지정 masters { 202.30.50.100 }; // 존파일을 받아올 Master 네임서버의 IP를 설정};zone "50.30.202.in-addr.arpa" in { type slave; // slave 네임서버임을 설정 file "slave-db.50.30.202"; masters { 202.30.50.100 }; // 존파일을 받아올 Master 네임서버의 IP를 설정};zone "localhost" in { type master; file "localhost.zone";};zone "0.0.127.in-addr.arpa" in { type master; file "db.127.0.0";};zone "." in { type hint; file "db.cache";}

  • [존파일 설정]

    ※ 존파일 설정시 '.' 점으로 끝나지 않는 경우 호스트명으로 처리하므로 도메인 입력시 주의해야합니다. 즉, 'kisa.or.kr'로 kr뒤에 점을 안찍으면 'kisa.or.kr.kisa.or.kr.'으로 인식됩니다.

  • 존파일 예제(kisa.or.kr.zone)

    $TTL 86400;(1일) $ORIGIN kisa.or.kr. @ IN SOA ns1.kisa.or.kr. admin.kisa.or.kr. ( 2004082722 ; serial 28800 ; refresh (8시간) 7200 ; retry (2시간) 604800 ; expire (1주) 3600 ) ; negative TTL (1시간) IN NS ns1.kisa.or.kr. IN NS ns2.kisa.or.kr. ns1.kisa.or.kr. IN A 202.30.50.100 ns2.kisa.or.kr. IN A 202.40.60.200 kisa.or.kr. IN A 202.30.50.101 www

  • 리버스 도메인을 위한 예제 (30.50.202.in-addr.arpa)

    $TTL 86400;(1일) $ORIGIN kisa.or.kr. @ IN SOA ns1.kisa.or.kr. admin.kisa.or.kr. ( 2004082722 ; serial 28800 ; refresh (8시간) 7200 ; retry (2시간) 604800 ; expire (1주) 3600 ) ; negative TTL (1시간) IN NS ns1.kisa.or.kr. IN NS ns2.kisa.or.kr. ns1.kisa.or.kr. IN A 202.30.50.100 ns2.kisa.or.kr. IN A 202.40.60.200 kisa.or.kr. IN A 202.30.50.101 www

윈도우즈 계열 설정 : http://dns.kisa.or.kr/DN/dns/dnsSetting.jsp#setting3

윈도우즈 계열 설정 표
서버 운영기관 위치 IPv4/IPv6 지원
b.dns.kr 한국통신(KT) 서울혜화 IPv4
c.dns.kr LG데이콤(LGDacom) 서서울안양 IPv4
d.dns.kr ISC 미국레드우드 IPv4
한국인터넷연동센타(KINX) 서울도곡
e.dns.kr 한국과학기술정보연구원(KISTI) 대전 IPv4/IPv6
CNNIC 중국
Registro.br 브라질
f.dns.kr 하나로텔레콤(HanaroTelecom) 서울동작 IPv4
g.dns.kr 한국인터넷진흥원(kisa) 서울서초 IPv4/IPv6
베리사인사(Verisign) 서울서초 IPv4
DENIC 독일 IPv4/IPv6

DNS SW 정보 사이트

  • ISC(Internet Systems Consortium) BIND DNS
  • DNS Software Lists

BIND DNS 관련 자료

BIND DNS 관련 총괄 참고 자료

DNS FAQs & References

  • Ask Mr. DNS
  • DNS Resources Directory
  • DNSSEC - Securing the Domain Name System

한글도메인

한국인터넷진흥원(kisa) 도메인

DNS 운영기술 연구기관

  • ISC OARC
  • US센디에고 대학의 CAIDA

DNS 표준화

  • IETF
  • IETF Working Group : DNSEXT (DNS extensions)
  • IETF Working Group : DNSOP (Domain Name Operation)

관련기관

한국인터넷진흥원(kisa)

SANS, DNS 보안 이슈 관련 화이트 페이퍼

SANS InfoSec Reading Room - DNS Issues

2005년 DNS 캐시 포이즈닝 사례

  • SANS, "March 2005 DNS Poisoning Summary"
  • Windows Server에서의 DNS 캐시 오염(cache pollution) 방지기능 활성화 설정 방법 Microsoft, "How to prevent DNS cache pollution”

RSA 서명 위조 취약점 (2006년 9월)

"RSA Signature Forgery (CVE-2006-4339)”, OpenSSL Security Advisory (2006-09-05) dnssec-keygen 사용, 키 생성 시 "-e” 옵션 지정하여 ‘large exponent’ 사용 권고

2006년 발생 Reflector Attack의 분석 보고 자료

VeriSign, "Anatomy of Recent DNS Reflector Attacks from the Victim and Reflector Point of View”

Reflector Attack에 의한 악용을 방지하기 위한 리커시브 네임서버 설정

IETF Draft, "Preventing Use of Recursive Nameservers in Reflector Attacks"

ISC BIND 버전별 주요 취약점 정보

BIND Vulnerabilities

Home

메뉴선택

닫기