Transcript
Page 1: DNS ,  BIND, 네임서버설치 및 관리

DNS, BIND,네임서버설치 및 관리

SPARCS 14ONION

Page 2: DNS ,  BIND, 네임서버설치 및 관리

1. 도메인 네임 , 호스트 네임의 개념

Page 3: DNS ,  BIND, 네임서버설치 및 관리

Domain name 이란 ?Domain : 영토 , 영역 , 분야를 뜻하는 영어단어IP 주소는 숫자의 나열이라서 특정한 뜻을 나타내지 못함 !

도메인 네임의 역할이 IP 주소의 역할과 비슷해서 도메인 주소라고 합니다

모든 컴퓨터들을 분야 단위로 묶어서 컴퓨터에게 이름을 지어주자고 해서 나온 개념

IP 주소에 대응 , 기관별 / 유형별로 그룹 짓는다 !

Page 4: DNS ,  BIND, 네임서버설치 및 관리

Web site

Domain name

1

IP주소

2

Ex) www.naver.-com

Ex) 143.248.199.81

Page 5: DNS ,  BIND, 네임서버설치 및 관리

DNS 란 ?

Domain Name System

Domain Name Serveror

Page 6: DNS ,  BIND, 네임서버설치 및 관리

Domain name

IP주소

DNSFor-wardRe-

verse

Page 7: DNS ,  BIND, 네임서버설치 및 관리

도메인 이름 형성

www.naver.comLDH 규칙 : letter( 문자 ), digit( 숫자 ), hy-phen( 하이픈 )

Page 8: DNS ,  BIND, 네임서버설치 및 관리

FQDN 란 ?Fully qualified domain name도메인 주소는 기본적으로 FQDN 이어야 합니다 !FQDN 이라는 것을 알리기 위해 마지막에 “ .” 을 찍습니다

PQDN 란 ?Partially qualified domain name맨 마지막 label 이 null string 로 끝나지 않는 도메인 네임

Page 9: DNS ,  BIND, 네임서버설치 및 관리

기본 도메인이 kaist.ac.kr 이라고 하자 !araara.

주소창에 를 치면 둘은 무슨 차이가 있을까요 ?

ara 만 쳤을 경우에는 PQDN 으로 인식 ! 따라서 도메인 네임으로 표시하면 ara.kaist.ac.kr.ara. 를 쳤을 경우에는 FQDN 으로 인식 ! 따라서 도메인 네임으로 표시하면 ara.

Page 10: DNS ,  BIND, 네임서버설치 및 관리

2. Client 의 Domain name lookup

Page 11: DNS ,  BIND, 네임서버설치 및 관리

국가코드최상위도메인

일반최상위도메인

.(root)

com orgkr jp

co naver googleac go

kaist

otl sparcsara

kim

Domain Name Space

Page 12: DNS ,  BIND, 네임서버설치 및 관리

Client PC

rootTop level do-main

second level do-main

subdo-mains

DNS server

1

23

45

67

89

10

Page 13: DNS ,  BIND, 네임서버설치 및 관리

DNS architectureDNS 는 domain name space 및 resource record, name server, resolver 의 3 가지 기능 요소로 구성DNS architecture 는 계층적으로 분배된 데이터베이스로 정의되는 프로토콜의 세트와 연관되어 있다데이터베이스를 업데이트하고 querying 해주는 메커니즘서버 사이의 데이터베이스 안의 정보를 복사해주는 메커니즘데이터베이스의 개요

Page 14: DNS ,  BIND, 네임서버설치 및 관리

DNS zone

DNS zone 이란 도메인 관리 영역으로 , 도메인을 관리하는 단위를 일컬어 영역이라고 함통상적으로 , DNS 서버 하나가 책임이나 권한을 가지는 영역네임서버를 통해 관리되는 도메인들에 대한 자세한 정보의 기록의 묶음의 단위가 zone! 기록의 단위는 RR!

Page 15: DNS ,  BIND, 네임서버설치 및 관리
Page 16: DNS ,  BIND, 네임서버설치 및 관리

3. BIND

Page 17: DNS ,  BIND, 네임서버설치 및 관리

RR 란 ?(Resource Records)Resource record 란 도메인 네임 또는 DNS Zone과 관련된 정보 항목을 갖는 레코드Domain name 이 가지는 속성 정보를 지정하는 수단DNS zone database 는 resource records 의 collection 으로 구성된다<Name><TTL><Class><Type><RDATA> : 일반적구조

Page 18: DNS ,  BIND, 네임서버설치 및 관리

DNS Common RR FormatName Fully qualified domain name

Type Data 의 format 을 지시하고 원하는 사용방식에 대한 힌트를 제공한다

Class Class code(internet 이므로 IN 이다 )

TTL Time To Live : RR 이 유효한 상태로 남아있는 시간 ( 초단위 )

RDLength Resource Data Length : RDATA field 의 길이

RData Resource Data : 추가적인 RR-specific data

Page 19: DNS ,  BIND, 네임서버설치 및 관리

RR typeRR

type value

RR text code RR type Description

1 A Address 호스트 이름에 대한 IPv4 주소 레코드

2 NS Name server 네임서버 도메인 네임 지정

5 CNAME Canonical name 별칭 호스트 이름에 대한 공식적인 호스트 이름

6 SOA Start of au-thority Zone 의 속성 정보 지정

12 PTR Pointer IP 주소에 대한 이름 (IP 주소에 대한 도메인 이름을 나타내는 역 변환 )

15 MX Mail ex-change 메일 서버의 도메인 네임 지정

16 TXT Text string 문자열 정보를 지정

Page 20: DNS ,  BIND, 네임서버설치 및 관리

nslookupName server 에다가 호스트 정보 질의에 의해 정보(IP 주소나 도메인 ) 을 얻는 명령어

Page 21: DNS ,  BIND, 네임서버설치 및 관리

Load Balancing( 부하분산 )202.131.30.12 / 202.131.30.11?!사용자들에게 제공되는 웹 페이지를 만들어내는 웹 서버를 여러 개 두고 있다가 놀고 있는 서버가 대응된다 ! IP 계속 바뀜

Page 22: DNS ,  BIND, 네임서버설치 및 관리

digDomain Information Gropernslookup 과의 기능적 차이는 크게 없지만 , 사용이 간결하고 , 출력이 상세해 주로 사용됩니다 ![ 형식 ] dig @ server domain query-type query-class

Page 23: DNS ,  BIND, 네임서버설치 및 관리

[@server] – 질의를 하고자 하는 DNS 서버Name server 명시하지 않으면 시스템의 resolv.conf 에 있는 네임서버에 querying

[domain] – 정보를 요청한 도메인 네임

[query-type] – 요청한 정보에 대한 정보의 타입 (ex)a,mx,ns,soa,txt)생략하면 a 가 디폴트 타입이 됨

[query-class] –query 의 network class 부분 ( 확인하고자 하는 도메인 )

Page 24: DNS ,  BIND, 네임서버설치 및 관리

네임서버 확인cat /etc/resolv.conf

Page 25: DNS ,  BIND, 네임서버설치 및 관리

DNS 프로토콜DNS 질의 및 응답을 위한 사용 포트 및 수송용 프로토콜DNS 을 위한 포트 번호는 53 이며 , 대부분 UDP 를 통해 전달메시지 크기가 512 바이트 이하이면 UDP 사용 , 그 이상이면 TCP 사용

DNS messageHeader

QuestionAnswer

Authorityadditional

Page 26: DNS ,  BIND, 네임서버설치 및 관리

네임서버란 ?도메인 데이터베이스의 일정 영역 (zone) 을 소유하고있는 DNS 서버

전체 도메인 데이터베이스 중에서 관리 권한을 위임 받은 일정 영역의 데이터 베이스를 관리하고 유지 !인터넷 상의 임의의 resolver 로부터 데이터 요청에 응답도메인 네임을 관리함

Page 27: DNS ,  BIND, 네임서버설치 및 관리

네임서버란 ?2 가지 모드로 동작1) Non-recursive mode( 기본적으로 동작하는

모드 )2) Recursive mode같은 내용을 가진 두 개 이상의 DNS 서버를 운영하는 경우* 마스터 네임서버* 슬레이브 네임서버

Page 28: DNS ,  BIND, 네임서버설치 및 관리

BIND 란 ?네임서버와 리졸버를 구현한 DNS 서버 소프트웨어

네임서버와 리졸버를 모두 네임 데몬에 포함하고 있어서 용도에 따라 네임서버로만 동작하게 하거나 , 두 기능을 모두 수행하도록 설정 , 운영할 수 있다

전 세계에서 가장 많이 사용하는 DNS 용 응용프로그램 !Berkeley Internet Name Domain package

Page 29: DNS ,  BIND, 네임서버설치 및 관리

BIND 실행하기BIND 는 이미 설치가 되어있을 거에요 ! 실행해봅시다

sudo /etc/init.d/bind9 startsudo /etc/init.d/bind9 stopsudo /etc/init.d/bind9 restart

( 설치되어있지 않다면 apt-get install bind9)

Page 30: DNS ,  BIND, 네임서버설치 및 관리

SOA 란 ?Start of a zone of authority도메인 존 (zone) 에 대한 정보를 표시한다<name><TTL><Class><type=SOA><RDATA>

<RDATA> 내부 필드구조:<MNAME><RNAME><SERIAL><REFRESH><RETRY><EXPIRE><MINIMUM>

Page 31: DNS ,  BIND, 네임서버설치 및 관리

NS 란 ?Authoritative name server<name><TTL><Class><type=NS><RDATA>특정 도메인 존이 어느 네임서버에 위임되어 설정되어 있는지를 표시한다1) 상위 도메인 존에서 위임되는 도메인 존의

네임서버를 지정 !( 다음 단계 네임 서버의 위치 정보를 알려주는 역할 )

2) 해당 존의 SOA 레코드와 함께 해당 존에 대해 지정된 레코드의 경우

Page 32: DNS ,  BIND, 네임서버설치 및 관리

1. 서버에서 도메인을 제일 먼저 찾는 곳vi /etc/hosts

Page 33: DNS ,  BIND, 네임서버설치 및 관리

2. 서버에서 쓸 DNSvi /etc/resolv.conf

Page 34: DNS ,  BIND, 네임서버설치 및 관리

3. 도메인에 대한 ip 를 찾을 때 참조할 순서vi /etc/host.conf

보통 처음 초기 설치 시 order hosts,bind 라고 되어있음

hosts –the /etc/hosts 를 사용 ! -1bind–DNS 를 사용 ! -2

Page 35: DNS ,  BIND, 네임서버설치 및 관리

DNS 네임서버 설정4. Zone 파일 및 캐시 DNS 서버에 대한 설정

1) Named.conf configurationoptions {

version “unknown”;directory “/var/named”;pid-file “/var/run/named.pid”;allow-transfer {210.96.230.250; };// query-source address * port 53;// forwarders { 10.0.0.1; 10.0.0.2; };// forward first;

};

Page 36: DNS ,  BIND, 네임서버설치 및 관리

controls {inet 127.0.0.1 port 953 allow { localhost; } keys { “oops-key”;

};};

key “oops-key” {algorithm hmac-md5;secret “n+h/daGNTmmEKimn25/h4g==”

};

logging {category lame-servers { null; };category unmatched { null; };category network { null; };category notify { null; };

};

Page 37: DNS ,  BIND, 네임서버설치 및 관리

zone “.” IN {type hint;file “named.ca”;

};

zone “localhost” IN {type master;file “localhost.zone”;allow-update { none; };

};

zone “0.0.127.in-addr.arpa” IN {type master;file “named.local”;allow-update{ none; };

};

Page 38: DNS ,  BIND, 네임서버설치 및 관리

2) Resolv.conf configuration자신의 system 이 이용할 DNS 를 지정해준다 !

- domain

- search

- nameserver

자신의 local domain 을 적는다 ! ( 안 적어도 운영하는 데 있어서 지장은 없다 )

search 에 지정한 domain 부분을 생략할 수 있게끔 지정한다 !

System 이 domain name 를 해석할 DNS 를 지정한다 !꼭 IP addres 로 적어야한다 !!!

Page 39: DNS ,  BIND, 네임서버설치 및 관리

host.conf

- orderhost file 을 먼저 참고 할 것인지 아니면 DNS 를 먼저 할 것인지를 선택함 !Order 의 elementary 에는 host 와 bind 가 있으며 쉼표로 구분을 한다 !일반적으로는 hosts file 을 먼저 찾는 것이 default 되어있다

- multiOn, off, option 있다 하나의 호스트가 여러 개의 IP 주소를 가질 수 있는 지를 설정

- nospoof호스트 이름을 변조하는 것을 스푸핑이라고 한다 !이것을 막기 위해 네임서버는 진짜 IP 주소와 호스트명이 일치하는 지를 검사한다

Page 40: DNS ,  BIND, 네임서버설치 및 관리

hostsHosts file 은 아주 간단한 File 입니다 !vi /etc/hosts

210.124.24.132 oops.kr.net oops203.238.128.51 nownuri.co.kr now210.120.128.187 chollian.net chol203.245.15.250 home.hitel.net hitel127.0.0.1 localhost localhost.localdomain

IP address domain name nick name

Page 41: DNS ,  BIND, 네임서버설치 및 관리

3) Zone File Configuration- Zone file 은 “ SOA” recor 부분과 domain name 을 정의하는 IN record 부분으로 나뉜다

- 기본작성법{name} {ttl} addr-calss Record type Record Specific Data - SOA 영역

;made by admin at oops.org;$TTL 86400@ IN SOA ns.oops.org. admin.oops.org. (

2002062110 ; Serial10800 ; Refresh3600 ; Retry432000 ; Expire86400 ; Minimum)

Page 42: DNS ,  BIND, 네임서버설치 및 관리

- Data area; Name Server;

IN NS ns.opps.org.IN MX 10 opps.org.IN A 210.24.154.2

: 이 도메인의 Name serve 가 ns.opps.org. 라는 것을 정의한다 !NS 는 앞에 나온 Record typeRecord type 이 A 라면 IP adress 로 정의를 하겠다는 것이다

;; VirtualHostbabo IN A 210.24.154.156

IN NS babo: 서브도메인의 위임을 보여준다 ! babo.oops.org 에게 *.babo.oops.org 를 관리 할 수 있는 sub domain server 로 지정을 해 준다는 말이다

Page 43: DNS ,  BIND, 네임서버설치 및 관리

;; Aliaswww IN CNAME @

: oops.org 라는 domain name 을 가지고 있는 IP address 에 별칭을 정의한다는 뜻( 한 도메인 주소를 그대로 다른 도메인에 대응 시켜 주소 창에 변화를 주지 않고 , 마치 대응된 주소가 그 자리에 있는 것 마냥 사용되는 것 )

예 )http://www.kaistnews.kr http://www.time.kaist.ac.kr* RR type : URL 사용 !

Redirect 방식을 사용 !

Page 44: DNS ,  BIND, 네임서버설치 및 관리

4) Inverse domain Configuration5) Cache file 생성- 오른쪽 파일은 ftp://rs.internic.net/do-

main에서 구할 수 있다 !

- 오른쪽에서 3600000 TTL 의미함

Page 45: DNS ,  BIND, 네임서버설치 및 관리

+ 파밍 사기란 ?

이 경우는 다르지만 만약 ! www.naver.com 과 비슷한 모양의 가짜 사이트로 대체 되었다면 ! 아이디와 비밀번호를 탈탈탈 털리게되겠죠 !이 사기는 우리의 컴퓨터에서 서버에서 도메인 네임을 통해 IP 주소를 찾기 전에 hosts 파일을 먼저 보기 때문입니다 !피싱사기는 자주치는 오타 (?) 를 이용한 사이트를 이용해 정보를 빼가는 것과 같은 것을 말합니다 !

Page 46: DNS ,  BIND, 네임서버설치 및 관리

Reference- Wheel seminar 자료들(coffee, gangok, ravel, reniowood, pipoket, hodduc 선배님들 )- wikipedia- http://ktword.co.kr/index.php( 정보통신기술용어 해설 )- DNS 서버운영지침서 .pdf- http://linuxzoo.net/page/dns.html- http://oops.org/?t=lecture&s=bind9


Recommended