Presentation is loading. Please wait.

Presentation is loading. Please wait.

DNS, BIND, 네임서버설치 및 관리 SPARCS 14 ONION.

Similar presentations


Presentation on theme: "DNS, BIND, 네임서버설치 및 관리 SPARCS 14 ONION."— Presentation transcript:

1 DNS, BIND, 네임서버설치 및 관리 SPARCS 14 ONION

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

3 Domain name이란? Domain : 영토, 영역, 분야를 뜻하는 영어단어
IP 주소는 숫자의 나열이라서 특정한 뜻을 나타내지 못함! 모든 컴퓨터들을 분야 단위로 묶어서 컴퓨터에게 이름을 지어주자고 해서 나온 개념 네트워크 : 컴퓨터끼리 연결시킨 망 Internet protocol : 컴퓨터들끼리 통신이 가능하도록 하기 위한 규격 (컴퓨터들을 Internet protocol을 따라 통신을 해야만 합니다!) IP 주소 : 인터넷 체제 상에서 각 컴퓨터를 찾아갈 수 있도록 하기 위해 만든 주소 체계 (컴퓨터 개개인을 지정하는 방법! IPv4 IPv6 같은!!! 주소) IP주소는 숫자의 나열이라서 특정한 뜻을 나타내지 않는데 Domain name을 통해 그것을 나타내고자 합니다! 나라 라는 분야로 묶고, 그 세부로 기관 유형, 기관 이름, 개별 컴퓨터의 닉네임….이렇게 세부적으로 들어가게 됩니다. 그래서 도메인 주소에는 중복이 없어야 합니다! 그리고 전 세계 중앙에서 도메인 주소 전체를 관리하는 팀이 있는데, 그 팀이 ICANN입니다! 여기서 TLD라는 것을 정합니다. ICANN에서 정하는 네트워크 체계에 반대하는 사람들은 자기들끼리의 독자적인 체계 구축, 그예가 .onion 일반컴에서는 접속 ㄴ But onion도메인에 맞게 설정을 조작하면 접속 가능! 일반컴에서는 tor client 프로그램 사용하면 할 수 있다고 합니다! Domain은 분류하는데 사용! Host name은 컴퓨터에게 이름을 붙이기 위해 도입한 개념이다! Domain name은 분류의 깊이에 따른 label과 그 사이를 이어주는 .으로 구성된다! 도메인 네임의 역할이 IP주소의 역할과 비슷해서 도메인 주소라고 합니다 IP주소에 대응, 기관별/유형별로 그룹 짓는다!

4 1 2 Domain name IP주소 Web site Ex) www.naver.com Ex) 143.248.199.81
그 중 하나가 domain 주소이고 나머지 하나가 IP주소 입니다. (+ 부가적인 설명 추가하기) 아까 설명했듯이, domain 주소는 같은 거고, IP주소는 이와 같은 것을 의미합니다! Ex) Web site

5 DNS란? Domain Name System or Domain Name Server
DNS란 Domain Name System 혹은 Domain Name Server의 약자입니다. 도메인 네임 시스템이란 네트워크 계층이 이해하는 IP주소와 사람이 이해하고 쉽게 기억할 수 있는 이름(name)을 상호 변환해주는 분산 데이터 베이스 시스템입니다. 이름해석을 전문으로 하는 서버 컴퓨터!!!

6 DNS Domain name IP주소 Forward Reverse
DNS는 domain name을 IP주소로 바꿔주고 IP주소를 Domain name으로 바꿔주는 역할을 합니다 IP주소

7 www.naver.com 도메인 이름 형성 LDH 규칙 : letter(문자), digit(숫자), hyphen(하이픈)
자체가 도메인 네임이고, www, naver, com 각각을 lable이라고 합니다!!! 루트 노드가 아닌 다른 노드에는 1~63옥텟 크기의 레이블 부여 가능! 레이블에는 A-z까지의문자 0-9까지의 숫자 그리고 기호문자중 – 하이픈만을 사용할 수 있고 이 외의 ASC2코드는 사용 할 수 없다!!! 그리고 레이블의 첫문자에는 –(하이픈) 사용불가! 과 같은 것도 사실 치면 들어가지는데, 의 규칙을 사용하기 때문입니다! 세상에 영어를 쓰는 사람만이 존재하는 것은 아니므로, 다른 용어를 쓰는 꼼수를 부리는 것이지요!!! 그래도 결국 도메인 네임은 알파벳입니다! 가장 오른 쪽 레이블은 최상위 도메인! 도메인 계층구조는 오른쪽으로 부터 왼쪽으로 내려갑니다 왼쪽의 레이블은 오른쪽의 서브 도메인 입니다!!!! LDH 규칙 : letter(문자), digit(숫자), hyphen(하이픈)

8 FQDN란? PQDN란? Fully qualified domain name 도메인 주소는 기본적으로 FQDN이어야 합니다!
FQDN은 Fully qualified domain name으로 전체 주소 도메인 네임을 나타냅니다.(호스트 네임+도메인주소인데, 지금은 사실상 www에 의존적으로 살고있는 터라, 그럴 필요가 없어졌습니다) 만약 최상위 도메인 A가 하위 도메인 B를 포함하고 이 B가 다시 C를 포함한다면 전체도메인네임은 C.B.A가 되게 됩니다. 이 도메인 네임은 특정 도메인의 위치를 정확히 알려주기 때문에 완전한 도메인 네임 입니다. 전체 주소 도메인 네임은 전체 DNS 네임 공간에서 생성한 네임이다. 마지막 루트 도메인의 null 레이블까지 포함!! Root domain  길이가 0인 문자열 점을 찍지 않으면, FQDN임을 보장할 수 없습니다! Name serve는 FQDN이 들어오면 그걸 그대로 처리하고, 아닌 게 들어오면 guessing을 시작합니다 Host name이란 ! 기계이름을 지칭 합니다! 기계이름이란? 기계 스스로가 자신을 어떻게 생각하는가 입니다 어떤 도메인 에 속해있는 기계이름이 www라고 한다면 이 것의 FQDN은 되겟지요 FQDN과는 다르게 부분적으로 도메인을 지정해서 나타내 전체 경로를 알 수 없어서 모호합니다. 그래서 PQDN은 절대 도메인 네임을 알고 있는 특정 부모 도메인 안에서만 사용합니다. 부모 도메인의 절대 네임을 부분 네임에 붙이면 그 부분 주소 도메인의 FQDN을 알 수 있다 FQDN Y.X안에 Z 라는 PQDN이 있다면 z.y.x이다 Partially qualified domain name 맨 마지막 label이 null string로 끝나지 않는 도메인 네임

9 기본 도메인이 kaist.ac.kr이라고 하자! ara 주소창에 를 치면 둘은 무슨 차이가 있을까요? ara.
ara 만 쳤을 경우에는 PQDN으로 인식!  따라서 도메인 네임으로 표시하면 ara.kaist.ac.kr. ara. 를 쳤을 경우에는 FQDN으로 인식! 시스템 기본 도메인이 kaist.ac.kr인경우, mail 혹은 urs만 쓴다면 mail.kaist.ac.kr urs.kaist.ac.kr이 됩니다!! 지금 우리는 kaist 와이파이(거대한 도메인 속)를 쓰고 잇기때문에 기본 도메인이 kaist.ac.kr입니다!  따라서 도메인 네임으로 표시하면 ara.

10 2. Client의 Domain name lookup

11 Domain Name Space .(root) com org kr jp co naver google ac go kaist
otl sparcs ara kim 국가코드최상위도메인 일반최상위도메인 Domain Name Space 예를 들어 같은 도메인이 있을 때, DNS 서버는 이 도메인을 오른쪽에서 왼쪽으로 읽어나가게 됩니다. 그리고 그 읽어나가는 순서가 바로 root- top level domain – second level domain – subdomains 순입니다. 사실 com의 맨 오른쪽 마지막에는 .이 존재해야 합니다. 이것이 바로 root domain입니다. 그리고 그 밑으로 내려가 top level domain에는 kr jp com org가 있습니다. 이때 kr과 jp는 국가코드를 나타내고, com과 org는 일반 최상위 도메인을 나타냅니다 그리고 올해 4월에 kim이라는 도메인도 새로 생겼다고 하네요! 그리고 다음으로 second level domain에는 co, ac, go, naver, google이 존재하고 그 밑 subdomains들로는 다양한게 있을 수 있습니다.

12 root DNS server Top level domain second level domain Client PC
2 3 root 4 DNS server 5 Top level domain 6 7 1 10 8 먼저 사용자 PC에서 같은 도메인주소를 DNS server로 보냅니다. 이 주소를 받은 server는 먼저 그 주소를 자신이 갖고 있는지 확인합니다.(DNS서버를 사용해 도메인 주소를 네트워크 주소인 IP주소로 변환합니다) 만약 갖고 있다면 그대로 사용자에게 표시해 주지만, 만약 갖고있지 않다면 다른 server에 물어 그 값을 가져오게 됩니다. 여기 보이는 것처럼 처음에 root로 가서 그 값을 읽어오고 다음으로 top level domain, second level domain , subdomains 순으로 물어보고 그 값을 가져와 마지막으로 사용자에게 보여주게 됩니다. 리졸버 루틴 : 데이터베이스등의 로컬 정보를 조회해 해당 요청 도메인 네임에 대한 정보가 있으면 응답으로 리턴! 없으면 이때 트리 구조대로 순차적으로 조회!! 9 second level domain Client PC subdomains

13 DNS architecture DNS는 domain name space 및 resource record, name server, resolver의 3가지 기능 요소로 구성 DNS architecture는 계층적으로 분배된 데이터베이스로 정의되는 프로토콜의 세트와 연관되어 있다 데이터베이스를 업데이트하고 querying해주는 메커니즘 서버 사이의 데이터베이스 안의 정보를 복사해주는 메커니즘 데이터베이스의 개요 DNS resolver는 해석기라는 의미로 DNS 서버에 대한 액세스를 수행하는 어플리케이션 입니다(네임 서버에 의해 구성된 도메인 데이터 베이스를 검색하는 역할을 한다!) 리소스 레코드가 존재하는 위치를 도메인 네임 시스템에서 찾고 이 정보를 최종 응답으로 돌려줌!!! 전체 도메인 데이터 베이스르 검색할 수 있게 시작점이 되는 루트 네임서버의 IP주소 정보를 환경 구성 파일로 가지고 있음!!! 네임서버에 원하는 호스트에 대한 정보를 조회 질의 및 추출하는 DNS 클라이언트용 프로그램입니다! IP주소랑 호스트 이름을 서로 매핑 시키려고 적어도 하나 이상의 네임 서버에 접근해 그 정보를 사용해 사용자에게 응답합니다 /etc/resolv.conf 에 네임서버의 IP주소가 있다! Resolver의 역할은 네임서버에 질의를 보내고, 응답을 해석하고, 요청 프로그램에 결과를 되돌려주는 기능을 한다. Name server? Domain zone의 정보를 소유, 질의에 응답하는 역할을 수행! 흔히 DNS server라고도 한다 특정 질의에 대해 자신이 소유한 도메인 존의 정보만 그 응답으로 제공! 특정 영역에 대해 관리 권한이 위임된 서버라서 authoritative DNS 서버라고도 한다.

14 DNS zone DNS zone이란 도메인 관리 영역으로, 도메인을 관리하는 단위를 일컬어 영역이라고 함
네임서버를 통해 관리되는 도메인들에 대한 자세한 정보의 기록의 묶음의 단위가 zone! 기록의 단위는 RR! 상위 도메인으로 부터 위임받은 도메인을 기준으로 하위 노드 생성, 관리하고 다시 서브 도메인을 생성 위임 및 관리할 수 있는 도메인 영역을 의미한다 특정 노드와 그 하위 노드를 포함하는 일정한 영역을 지칭한다.

15 Domain name space란 흔히 인터넷에서 사용되고 있는 도메인 네임의 계층적 구조 공간을 의미!
루트 도메인으로 부터 시작! 각 서브 도메인으로 위임하는 구조로 형성!! 루트 도메인은 모든 도메인의 부모 도메인 이다!!! kr에서 co example www순으로 위임됨! 최상위 도메인인 루트 도메인에 해당하는 레이블은 null레이블 ! 길이가 0이다!!!

16 3. BIND

17 RR란?(Resource Records)
Resource record란 도메인 네임 또는 DNS Zone과 관련된 정보 항목을 갖는 레코드 Domain name이 가지는 속성 정보를 지정하는 수단 DNS zone database는 resource records의 collection으로 구성된다 Resource record는 확장이 가능합니다 ! IPv4네트워크 주소 정보 설정하는 type으로 A를 사용했는데 이제 IPv6가 도입됨에 따라서 그를 설정하기 위해 AAAA type의 리소스 레코드가 새로 정의 되었습니다 도메인 네임과 인터넷 자원정보를 매핑해 하나의 분산 데이터베이스를 구성하기 위한 수단! <Name><TTL><Class><Type><RDATA> : 일반적구조

18 DNS Common RR Format Name 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 Name 은 상징적인 이름을 나타내고 type은 각 유형, TTL은 Time to live로써 DNS 캐싱 정보를 유지하는 시간을 말한다 캐싱이란?(DNS 네임서버가 한 번 요청된 DNS 질의를 TTL만큼 메모리에 저장해 뒀다가 똑같은 질의에 대해 신속하게 처리할 수 있도록 하는 기능) Class는 이제 구분의 의미가 없어짐 대부분이 이제 Internet으로 IN만을 사용..! TTL은 ? 각각의 도메인을 어떤 IP에 하거나 CNAME을 지정하는 것 하나하나 일컫는 단위가 바로 RR이다! 이 때 받아온 자료를 얼마나 유지하는 지를 의미한다! 캐싱정보유지시간! 집집마다 IP주소는 바뀜! (DHCP방식! 중앙에서 ip주소 가지고 있다가 필요할 때 나눠주는 방식!) SK 브로드캐스트 같은!!! KAIST IP주소는 바뀌지 않음! 고정적임! IP주소가 바뀌면 그걸 바뀌었다고 계속 중앙 컴퓨터가 내용을 전달함! (DDNS)  이런 경우가 TTL이 짧은 경우를 의미합니다! So TTL name server에 안물어봐도 되는시간 을 의미합니당! TTL의 짧은예 geogy !

19 IP주소에 대한 이름(IP주소에 대한 도메인 이름을 나타내는 역 변환)
RR type RR type value RR text code RR type Description 1 A Address 호스트 이름에 대한 IPv4주소 레코드 2 NS Name server 네임서버 도메인 네임 지정 5 CNAME Canonical name 별칭 호스트 이름에 대한 공식적인 호스트 이름 6 SOA Start of authority Zone의 속성 정보 지정 12 PTR Pointer IP주소에 대한 이름(IP주소에 대한 도메인 이름을 나타내는 역 변환) 15 MX Mail exchange 메일 서버의 도메인 네임 지정 16 TXT Text string 문자열 정보를 지정 RR type은 굉장히 많이 있는데 그 중 가장 중요한 type 몇 개만을 요약해 표로 나타내자면 이렇습니다. 이거 의외에도 AAAA 유형값 28번도 있습니다. A는 IPv4주소 레코드를 의미하고 AAAA 는 호스트 이름에 대한 IPv6주소 레코드를 의미합니다 SOA 리소스 레코드는 Zone에 대한 정보를 표시한다 <Name><TTL><Class><Type=SOA><RDATA> Name은 zone의 도메인 네임이다!! NS는 특정 도메인 존이 어느 네임 서버에 위임되어 설정되 있는지를 표시한다. Name은 위임되는 또는 위임된 존의 도메인 네임을 지정한다

20 nslookup Name server에다가 호스트 정보 질의에 의해 정보(IP주소나 도메인)을 얻는 명령어
Nslookup 과 dig는 DNS를 이용하는 대표적인 클라이어트 서비스! 이를 이용하면 네임서버의 정상 작동 여부를 알 수 있습니다!!! Nslookup보다 dig의 사용을 더 권장한다고 하네요!

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

22 dig Domain Information Groper
nslookup과의 기능적 차이는 크게 없지만 , 사용이 간결하고, 출력이 상세해 주로 사용됩니다! [ 형식 ] server domain query-type query-class Nslookup 과 dig는 DNS를 이용하는 대표적인 클라이어트 서비스! 이를 이용하면 네임서버의 정상 작동 여부를 알 수 있습니다!!! Nslookup보다 dig의 사용을 더 권장한다고 하네요!

23 [@server] – 질의를 하고자 하는 DNS 서버
Name server 명시하지 않으면 시스템의 resolv.conf에 있는 네임서버에 querying [domain] –정보를 요청한 도메인 네임 [query-type] –요청한 정보에 대한 정보의 타입(ex)a,mx,ns,soa,txt) 생략하면 a가 디폴트 타입이 됨 Nslookup 과 dig는 DNS를 이용하는 대표적인 클라이어트 서비스! 이를 이용하면 네임서버의 정상 작동 여부를 알 수 있습니다!!! Nslookup보다 dig의 사용을 더 권장한다고 하네요! Default 기본값 [query-class] –query의 network class 부분(확인하고자 하는 도메인)

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

25 DNS 프로토콜 DNS message DNS 질의 및 응답을 위한 사용 포트 및 수송용 프로토콜
DNS을 위한 포트 번호는 53 이며, 대부분 UDP를 통해 전달 메시지 크기가 512 바이트 이하이면 UDP 사용, 그 이상이면 TCP 사용 DNS message Header Question Answer Authority additional DNS message는 잘 모르겠어요…ㅠㅠ

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

27 네임서버란? 같은 내용을 가진 두 개 이상의 DNS서버를 운영하는 경우 * 마스터 네임서버 * 슬레이브 네임서버
2가지 모드로 동작 Non-recursive mode(기본적으로 동작하는 모드) Recursive mode 같은 내용을 가진 두 개 이상의 DNS서버를 운영하는 경우 * 마스터 네임서버 * 슬레이브 네임서버 1번모드에서 네임서버는 자신이 갖고 있느 도메인 데이터 베이스 영역 정보에 대해서만 권한을 지니고 응답! 그외 도메인 중 자기가 소유한 도메인으로 부터 위임된 도메인에 대해서는 가장 근접한 네임서버 정보를 참조해 응답 2번모드 네임서버가 옵션기능으로 구현, 동작하는 동작모드! Client의 recursive질의 요청이 있는 경우 resolver루틴을 사용해 질의절차 수행 후 응답결과를 client에게 응답(네임서버 기능 + 리졸버의 역할) 마스터와 슬레이브 !! Zone에는 두가지의 타입이 있다! 마스터는 zone의 정의를 갖고 있고 원할 때 정보를 고칠 수 있다! Slave는 zone의 정의를 자동적으로 master로부터 카피해오는 것! 이건 그저 읽히기만 하고 고칠 수는 없다!!! Master는 주로 PRIMARY라고 불리고 slave는 주로 SECONDARIES라고 불린다!!

28 BIND란? 네임서버와 리졸버를 구현한 DNS 서버 소프트웨어
네임서버와 리졸버를 모두 네임 데몬에 포함하고 있어서 용도에 따라 네임서버로만 동작하게 하거나, 두 기능을 모두 수행하도록 설정, 운영할 수 있다 전 세계에서 가장 많이 사용하는 DNS용 응용프로그램! DNS를 운영하기 위한 데몬 프로그램 Berkeley Internet Name Domain package

29 BIND 실행하기 BIND는 이미 설치가 되어있을 거에요! 실행해봅시다
(설치되어있지 않다면 apt-get install bind9) sudo /etc/init.d/bind9 start sudo /etc/init.d/bind9 stop sudo /etc/init.d/bind9 restart

30 SOA란? Start of a zone of authority 도메인 존(zone)에 대한 정보를 표시한다
<name><TTL><Class><type=SOA><RDATA> <RDATA> 내부 필드구조 :<MNAME><RNAME><SERIAL><REFRESH><RETRY><EXPIRE><MINIMUM> 리소스 레코드 중에서 도메인 네임 체계의 위임체계와 관련된 정보를 표현하는 특별한 리소스 레코드가 있다 바로 SOA와 NS이다. MNAME은 해당 존의 최상위 마스터 네임서버 도메인 네임을 지정한다(FQDN으로 표기해야함!!!) RNAME은 표기! 담당자를 표시한다 <REFRESH>와 <RETRY>, <EXPIRE> 필드는 이 존(zone)에 대한 정보를 갱신 하는 메커니즘에 있어서의 타이머 시간 정보를 지정한다. 슬레이브 네임서버는 <REFRESH>에 지정된 타이머 시간이 경과한 후에 해당 존(zone)에 대한 갱신을 시도한다. 즉, <REFRESH>에 지정된 시간은 슬레이브 네임서버가 해당 존 (zone)에 대한 변경여부를 확인하는 주기로 설정된다. 슬레이브 네임서버는 <REFRESH>에 지정된 주기로 마스터 네임서버에 대하여 대상 존(zone)의 SOA 리소스 레코드를 질의하여 <SERIAL> 버전이 자신이 알고 있는 <SERIAL> 버전을 기준으로 갱신여부를 확인한다. <<RETRY> 필드 값은 <REFRESH>에 의한 갱신 시도가 실패한 경우, 다시 존 (zone)에 대한 갱신을 시도하는 타이머 시간의 의미를 지닌다. <RETRY> 필드 값은 일반적으로 <REFRESH> 값보다 작은 값이어야 한다. <REFRESH> 주기에 의한 존(zone) 버전정보의 확인을 하기 이전에 보다 짧은 시간 내에 재시도를 하도록 하기 위함이다. <EXPIRE> 필드는 슬레이브 네임서버가 최상위 마스터 네임서버로 대상 존 (zone)에 대한 갱신여부 확인에 실패한 경우 슬레이브에 존재하는 동일 존 (zone)의 복사 존(zone)을 유효한 것으로 유지할 것인가에 대한 시간 설정값이다. <EXPIRE> 필드에 지정된 기간 동안 슬레이브 네임서버가 최상위 마스터 네임 서버로부터 대상 존(zone)에 대한 갱신여부를 확인할 수 없는 경우, 슬레이브 네임서버는 이 존(zone) 전체를 유효하지 않은 것으로 판단하고속한 모든 도메인 네임에 대한 DNS 응답을 중지한다. 그러나 존(zone)에 대한 네임 서비스(name service)를 중지한 이후에도 <REFRESH>에 설정된 주기로 해당 존(zone)의 갱신여부를 최상위 마스터 네임서버에 대해 확인하는 시도를 지속한다. <EXPIRE> 값은 일반적으로 <RETRY>나 <MINIMUM> 값보다 큰 값으로 설정하며 일반적으로 권장하는 설정값은 2주~4주 정도이다. <MINIMUM> 필드는 이 존(zone)에 속한 모든 리소스 레코드의 디폴트 TTL (default TTL) 값을 지정한다. 이 값은 최소 TTL 값을 지정하는 것으로 만일 리소스 레코드에 TTL 값이 관리자에 의해 지정되지 않은 경우, 이 <MINIMUM> 필드의 최소 TTL 값을 지정하여 사용한다. TTL 값은 리졸버(resolver)의 캐시 (cache)에 리소스 레코드를 저장, 존속시키는 기간으로 사용된다. <MINIMUM> 필드의 값으로는 약 1~5일의 기간을 설정하는 것이 권장되고 있다. 단, 이 <MINIMUM> 필드의 값은 리소스 레코드의 TTL이 명시적으로 지정된 경우, 리소스 레코드별 명시적인 TTL 지정값으로 대체

31 NS란? Authoritative name server
<name><TTL><Class><type=NS><RDATA> 특정 도메인 존이 어느 네임서버에 위임되어 설정되어 있는지를 표시한다 상위 도메인 존에서 위임되는 도메인 존의 네임서버를 지정!(다음 단계 네임 서버의 위치 정보를 알려주는 역할) 해당 존의 SOA레코드와 함께 해당 존에 대해 지정된 레코드의 경우 이 중에서 <Name>은 위임되는 또는 위임된 존(zone)의 도메인 네임을 지정한다. NS 리소스 레코드의 <RDATA>는 NS 리소스 레코드의 목적에 따라 아래와 같이 NS 레코드의 고유한 구조를 갖는다. <NSDNAME> NS 레코드의 경우, <RDATA> 영역에 단일한 필드 <NSDNAME>만을 가지고 있다. <NSDNAME>은 NS 레코드를 소유한 <Name>의 도메인 존(zone)을 가지고 있는 네임서버(name server)의 도메인 네임을 지정하는 필드이다. 이 필드는 FQDN의 도메인 네임을 설정한다 NS 레코드는 해당 존(zone)이 실제로 위치한 네임서버를 도메인 네임으로 지정하는 정보를 지니고 있다.

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

33 2. 서버에서 쓸 DNS vi /etc/resolv.conf
/etc/hosts에서 찾지 못한 경우 /etc/resolv.conf를 체크하고 DNS를 사용합니다 !!! Nameserver는 우리가 질문할 사람!

34 3. 도메인에 대한 ip를 찾을 때 참조할 순서 vi /etc/host.conf 보통 처음 초기 설치 시 order hosts,bind 라고 되어있음 hosts –the /etc/hosts 를 사용! -1 bind–DNS 를 사용!

35 DNS 네임서버 설정 4. Zone 파일 및 캐시 DNS서버에 대한 설정 1) Named.conf configuration
options { version “unknown”; directory “/var/named”; pid-file “/var/run/named.pid”; allow-transfer { ; }; // query-source address * port 53; // forwarders { ; ; }; // forward first; }; /etc/named.conf 여기에는 두개의 파트가 있다 Options와 zone! 옵션은 run time설정을 주고 global defaults를 설정시킨다! Zone entries는 우리가 도메인을 위해 엔트리를 forward하거나 reverse하도록 설정한다! Version  bind의 버전을 강제로 지정한다! Directory  각 도메인의 설정 파일들이 위치할 디렉토리를 설정! Pid-file  named를 실행하면 named의 process id를 기록한 파일을 /var/run에 생성 한다! 이 위치를 변경할 수 있도록 한다 Allow-transfer nslookup에서 ls이용하면 DNS에 있는 모든 데이터 볼수 있다! Zone data 훔쳐볼 수 있음!정보 유출하기 싫으면 볼수 있는 host 지정 가능! Query-source address*port53 address port 두가지값 지정! Address는 요청이 들어오는 주소에만 집중! Port는 해당 포트로 들어오는 쿼리에 집중! Forwarders 들어오는 질문을 지정한 서버로 보내버리는 역할을 한다 응답 없으면 원래대로 root serve에 질문을 요청! Forward first Forwarders 가 설정 되어있을 경우에만 작동! First only 두 개의 값 지정 할 수 있다! First 리스트에 먼저 질의 응답 없으면 자신에게 질의 Only ! 리스트에 있는 거만!

36 inet 127.0.0.1 port 953 allow { localhost; } keys { “oops-key”; }; };
controls { inet 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; }; }; Controls블럭 시스템 관리자가 local 네임서버에 어떠한 영향을 주기위한 control channel 정의! Inet 귀를 기울일 주소 지정! * 문자이용!! Port 귀를 기울일 포트 지정 Allow 여기 지정된 호스트로부터의 요청만 허락! 모든곳 지정시 any None Keys allow에 지정 안되있어도 key와 동일할 경우 허락한다 Key  rndc.conf 파일 카피하면 끝 Logging Channel 로그 레벨 및 파일 위치 설정가능! 기본 값 사용이 무난! Category 첫번째껀 필요 ㄴ 두번째꺼! unmatched 는 ipv4 나 ipv6 의 형식에 맞지 않은 class 나 또는 view 와 매치되지 않는 것들에 대한 메세지를 남긴다. 존재하지 않는 class 에서 의 로그 역시 남길 필요가 없다. 로그가 남더라도 어떻게 해 볼 수 있는 것이 없기 때문이다. category network { null; }; 네트워크 작동에 대한 로그를 남기지 않는다. category notify { null; }; NOTIFY protocol 에 관련된 메세지를 남기지 않는다.

37 file “localhost.zone”; allow-update { none; };
zone “.” IN { type hint; file “named.ca”; }; zone “localhost” IN { type master; file “localhost.zone”; allow-update { none; }; zone “ in-addr.arpa” IN { file “named.local”; allow-update{ none; }; Zone “ORIGIN” IN { type master; file /path/filename; allow-update{ none; }; }; ORIGIN = 설정할 domain name 의미! Zone 표현을한다 Type master 은 primary domain 설정하고 있다는 것을 정의 File은 ORIGIN에 정의한 도메인에 대한 세부설정 을 할 zone file 의 경로를 적음 Allow-update 는 dynamic update 시도를 허락할 ip대역이나 dnssec key를 지정한다

38 2) Resolv.conf configuration
자신의 system이 이용할 DNS를 지정해준다! - domain 자신의 local domain을 적는다! (안 적어도 운영하는 데 있어서 지장은 없다) - search search에 지정한 domain 부분을 생략할 수 있게끔 지정한다! - nameserver System이 domain name를 해석할 DNS를 지정한다! 꼭 IP addres로 적어야한다 !!!

39 host.conf - order - multi - nospoof
host file을 먼저 참고 할 것인지 아니면 DNS를 먼저 할 것인지를 선택함! Order의 elementary 에는 host 와 bind가 있으며 쉼표로 구분을 한다! 일반적으로는 hosts file을 먼저 찾는 것이 default 되어있다 - multi On, off, option 있다 하나의 호스트가 여러 개의 IP주소를 가질 수 있는 지를 설정 - nospoof 호스트 이름을 변조하는 것을 스푸핑이라고 한다! 이것을 막기 위해 네임서버는 진짜 IP주소와 호스트명이 일치하는 지를 검사한다

40 hosts Hosts file은 아주 간단한 File입니다! vi /etc/hosts
oops.kr.net oops nownuri.co.kr now chollian.net chol home.hitel.net hitel localhost localhost.localdomain IP address domain name nick name

41 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. ( ; Serial ; Refresh 3600 ; Retry ; Expire ; Minimum ) 제일 윗줄은 그냥 누가 만들었다는 정보를 기입한 것이다 하든 안하든 자유! “;”로서 주석을 표시할 수 있다! Zone file 설정의 시작은 $TTL을 지정하는 것으로 부터 시작!!!! 상단에 이 지정을 해줘야합니다 !!! @ ORIGIN IN addr-class SOA record type Ns.opps.org 이서버의 NS를 정의해주는 부분이다 Admin.oops.org 서버 관리자의 .으로 표현하는 것에 주의!) Serial…등등은 앞에 SOA 에서 설명할 것이다!!!!!

42 Data area ; Name Server ; IN NS ns.opps.org. IN MX 10 opps.org.
IN A : 이 도메인의 Name serve가 ns.opps.org.라는 것을 정의한다! NS는 앞에 나온 Record type Record type이 A라면 IP adress로 정의를 하겠다는 것이다 ; ; VirtualHost babo IN A IN NS babo : 서브도메인의 위임을 보여준다! babo.oops.org에게 *.babo.oops.org를 관리 할 수 있는 sub domain server로 지정을 해 준다는 말이다

43 ; ; Alias www IN CNAME @ : oops.org라는 domain name을 가지고 있는 IP address에 별칭을 정의한다는 뜻 (한 도메인 주소를 그대로 다른 도메인에 대응 시켜 주소 창에 변화를 주지 않고, 마치 대응된 주소가 그 자리에 있는 것 마냥 사용되는 것) * RR type : URL 사용! 예 )  Redirect 방식을 사용!

44 4) Inverse domain Configuration 5) Cache file 생성
오른쪽 파일은 ftp://rs.internic.net/domain 에서 구할 수 있다! 오른쪽에서  TTL의미함

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

46 Reference - wikipedia - http://ktword.co.kr/index.php(정보통신기술용어 해설)
- Wheel seminar 자료들 (coffee, gangok, ravel, reniowood, pipoket, hodduc 선배님들) - wikipedia - 해설) - DNS서버운영지침서.pdf - -


Download ppt "DNS, BIND, 네임서버설치 및 관리 SPARCS 14 ONION."

Similar presentations


Ads by Google