dns , bind, 네임서버설치 및 관리

46
DNS, BIND, 네네네네네네 네 네네 SPARCS 14 ONION

Upload: jenaya

Post on 19-Mar-2016

97 views

Category:

Documents


15 download

DESCRIPTION

DNS , BIND, 네임서버설치 및 관리. SPARCS 14 ONION. 1. 도메인 네임 , 호스트 네임의 개념. Domain name 이란 ?. Domain : 영토 , 영역 , 분야를 뜻하는 영어단어. IP 주소는 숫자의 나열이라서 특정한 뜻을 나타내지 못함 !. 모든 컴퓨터들을 분야 단위로 묶어서 컴퓨터에게 이름을 지어주자고 해서 나온 개념. 도메인 네임의 역할이 IP 주소의 역할과 비슷해서 도메인 주소라고 합니다. - PowerPoint PPT Presentation

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