520 likes | 844 Views
DNS , BIND, 네임서버설치 및 관리. SPARCS 14 ONION. 1. 도메인 네임 , 호스트 네임의 개념. Domain name 이란 ?. Domain : 영토 , 영역 , 분야를 뜻하는 영어단어. IP 주소는 숫자의 나열이라서 특정한 뜻을 나타내지 못함 !. 모든 컴퓨터들을 분야 단위로 묶어서 컴퓨터에게 이름을 지어주자고 해서 나온 개념. 도메인 네임의 역할이 IP 주소의 역할과 비슷해서 도메인 주소라고 합니다.
E N D
DNS, BIND,네임서버설치 및 관리 SPARCS 14 ONION
Domain name이란? Domain : 영토, 영역, 분야를 뜻하는 영어단어 IP 주소는 숫자의 나열이라서 특정한 뜻을 나타내지 못함! 모든 컴퓨터들을 분야 단위로 묶어서 컴퓨터에게 이름을 지어주자고 해서 나온 개념 도메인 네임의 역할이 IP주소의 역할과 비슷해서 도메인 주소라고 합니다 IP주소에 대응, 기관별/유형별로 그룹 짓는다!
1 Domain name Ex) www.naver.com 2 IP주소 Ex) 143.248.199.81 Web site
DNS란? Domain Name System or Domain Name Server
Domain name Forward DNS Reverse IP주소
도메인 이름 형성 www.naver.com LDH 규칙 : letter(문자), digit(숫자), hyphen(하이픈)
FQDN란? Fully qualified domain name 도메인 주소는 기본적으로 FQDN이어야 합니다! FQDN이라는 것을 알리기 위해 마지막에 “.”을찍습니다 PQDN란? Partially qualified domain name 맨 마지막 label이 null string로 끝나지 않는 도메인 네임
기본 도메인이 kaist.ac.kr이라고 하자! ara 주소창에 를 치면 둘은 무슨 차이가 있을까요? ara. ara만 쳤을 경우에는 PQDN으로 인식! 따라서 도메인 네임으로 표시하면 ara.kaist.ac.kr. ara. 를 쳤을 경우에는 FQDN으로 인식! 따라서 도메인 네임으로 표시하면 ara.
.(root) 국가코드최상위도메인 일반최상위도메인 kr jp com org kim co ac go naver google kaist Domain Name Space ara otl sparcs
2 3 root 4 DNS server Top level domain 5 6 7 1 10 8 9 second level domain Client PC subdomains
DNS architecture DNS는 domain name space 및 resource record, name server, resolver의 3가지 기능 요소로 구성 DNS architecture는 계층적으로 분배된 데이터베이스로 정의되는 프로토콜의 세트와 연관되어 있다 데이터베이스를 업데이트하고 querying해주는 메커니즘 서버 사이의 데이터베이스 안의 정보를 복사해주는 메커니즘 데이터베이스의 개요
DNSzone DNS zone이란 도메인 관리 영역으로, 도메인을 관리하는 단위를 일컬어 영역이라고 함 통상적으로, DNS 서버 하나가 책임이나 권한을 가지는 영역 네임서버를 통해 관리되는 도메인들에 대한 자세한 정보의 기록의 묶음의 단위가 zone! 기록의 단위는 RR!
RR란?(Resource Records) Resource record란도메인 네임 또는 DNS Zone과 관련된 정보 항목을 갖는 레코드 Domain name이 가지는 속성 정보를 지정하는 수단 DNS zone database는 resource records의 collection으로 구성된다 <Name><TTL><Class><Type><RDATA> : 일반적구조
nslookup Name server에다가 호스트 정보 질의에 의해 정보(IP주소나 도메인)을 얻는 명령어
Load Balancing(부하분산) 202.131.30.12 / 202.131.30.11?! 사용자들에게 제공되는 웹 페이지를 만들어내는 웹 서버를 여러 개 두고 있다가 놀고 있는 서버가 대응된다! IP 계속 바뀜
dig Domain Information Groper nslookup과의 기능적 차이는 크게 없지만 , 사용이 간결하고, 출력이 상세해 주로 사용됩니다! [ 형식 ] dig @ server domain query-type query-class
[@server] – 질의를 하고자 하는 DNS 서버 Name server명시하지 않으면 시스템의 resolv.conf에 있는 네임서버에 querying [domain] –정보를 요청한 도메인 네임 [query-type] –요청한 정보에 대한 정보의 타입(ex)a,mx,ns,soa,txt) 생략하면 a가 디폴트 타입이 됨 [query-class] –query의 network class 부분(확인하고자하는 도메인)
네임서버 확인 cat /etc/resolv.conf
DNS 프로토콜 DNS 질의 및 응답을 위한 사용 포트 및 수송용 프로토콜 DNS을 위한 포트 번호는 53 이며, 대부분 UDP를 통해 전달 메시지 크기가 512 바이트 이하이면 UDP 사용, 그 이상이면 TCP 사용 DNS message
네임서버란? 도메인 데이터베이스의 일정 영역(zone)을 소유하고 있는 DNS 서버 전체 도메인 데이터베이스 중에서 관리 권한을 위임 받은 일정 영역의 데이터 베이스를 관리하고 유지! 인터넷 상의 임의의 resolver로부터 데이터 요청에 응답 도메인 네임을 관리함
네임서버란? 2가지 모드로 동작 Non-recursive mode(기본적으로 동작하는 모드) Recursive mode 같은 내용을 가진 두 개 이상의 DNS서버를 운영하는 경우 * 마스터 네임서버 * 슬레이브 네임서버
BIND란? 네임서버와 리졸버를 구현한 DNS 서버 소프트웨어 네임서버와 리졸버를 모두 네임 데몬에 포함하고 있어서 용도에 따라 네임서버로만 동작하게 하거나, 두 기능을 모두 수행하도록 설정, 운영할 수 있다 전세계에서 가장 많이 사용하는 DNS용 응용프로그램! Berkeley Internet Name Domain package
BIND실행하기 BIND는 이미 설치가 되어있을 거에요! 실행해봅시다 (설치되어있지 않다면 apt-get install bind9) sudo /etc/init.d/bind9 start sudo /etc/init.d/bind9 stop sudo /etc/init.d/bind9 restart
SOA란? Start of a zone of authority 도메인 존(zone)에 대한 정보를 표시한다 <name><TTL><Class><type=SOA><RDATA> <RDATA>내부 필드구조 :<MNAME><RNAME><SERIAL><REFRESH><RETRY><EXPIRE><MINIMUM>
NS란? Authoritative name server <name><TTL><Class><type=NS><RDATA> 특정 도메인 존이 어느 네임서버에 위임되어 설정되어 있는지를 표시한다 상위 도메인 존에서 위임되는 도메인 존의 네임서버를 지정!(다음 단계 네임 서버의 위치 정보를 알려주는 역할) 해당 존의 SOA레코드와 함께 해당 존에 대해 지정된 레코드의 경우
1. 서버에서 도메인을 제일 먼저 찾는 곳 vi /etc/hosts
2. 서버에서 쓸 DNS vi /etc/resolv.conf
3. 도메인에 대한 ip를 찾을 때 참조할 순서 vi /etc/host.conf 보통 처음 초기 설치 시 order hosts,bind라고 되어있음 hosts –the /etc/hosts 를 사용! -1 bind–DNS 를 사용! -2
DNS 네임서버 설정 4. Zone 파일 및 캐시 DNS서버에 대한 설정 1) Named.conf configuration options { 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; };
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; }; };
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; }; };
2) Resolv.conf configuration 자신의 system이 이용할 DNS를 지정해준다! - domain 자신의 local domain을 적는다! (안 적어도 운영하는 데 있어서 지장은 없다) - search search에 지정한 domain 부분을 생략할 수 있게끔 지정한다! - nameserver System이 domain name를 해석할 DNS를 지정한다! 꼭 IP addres로 적어야한다!!!
host.conf - order host file을 먼저 참고 할 것인지 아니면 DNS를 먼저 할 것인지를 선택함! Order의elementary 에는 host 와 bind가 있으며 쉼표로 구분을 한다! 일반적으로는 hosts file을 먼저 찾는 것이 default 되어있다 - multi On, off, option 있다하나의 호스트가 여러 개의 IP주소를 가질 수 있는 지를 설정 - nospoof 호스트 이름을 변조하는 것을 스푸핑이라고 한다! 이것을 막기 위해 네임서버는 진짜 IP주소와 호스트명이 일치하는 지를 검사한다
hosts Hosts file은 아주 간단한 File입니다! vi /etc/hosts 210.124.24.132 oops.kr.net oops 203.238.128.51 nownuri.co.kr now 210.120.128.187 chollian.net chol 203.245.15.250 home.hitel.net hitel 127.0.0.1 localhostlocalhost.localdomain IP address domain name nick name
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 ; Serial 10800 ; Refresh 3600 ; Retry 432000 ; Expire 86400 ; Minimum )
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 type Record type이 A라면 IP adress로 정의를 하겠다는 것이다 ; ; VirtualHost babo IN A 210.24.154.156 IN NS babo : 서브도메인의 위임을 보여준다! babo.oops.org에게 *.babo.oops.org를 관리 할 수 있는 sub domain server로 지정을 해 준다는 말이다
; ; Alias www IN CNAME @ : oops.org라는 domain name을 가지고 있는 IP address에 별칭을 정의한다는 뜻 (한 도메인 주소를 그대로 다른 도메인에 대응 시켜 주소 창에 변화를 주지 않고, 마치 대응된 주소가 그 자리에 있는 것 마냥 사용되는 것) * RR type : URL 사용! 예 )http://www.kaistnews.kr http://www.time.kaist.ac.kr Redirect 방식을 사용!
4) Inverse domain Configuration 5) Cache file 생성 오른쪽 파일은 ftp://rs.internic.net/domain 에서 구할 수 있다! 오른쪽에서 3600000 TTL의미함
+ 파밍 사기란? 이 경우는 다르지만 만약! www.naver.com과 비슷한 모양의 가짜 사이트로 대체 되었다면! 아이디와 비밀번호를 탈탈탈털리게되겠죠! 이 사기는 우리의 컴퓨터에서 서버에서 도메인 네임을 통해 IP주소를 찾기 전에 hosts 파일을 먼저 보기 때문입니다! 피싱사기는자주치는 오타(?)를 이용한 사이트를 이용해 정보를 빼가는 것과 같은 것을 말합니다!
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