230 likes | 412 Views
gangok@sparcs. 11. BIND. BIND?. Berkeley Internet Name Domain DNS 서버를 구현한 프로그램 중 가장 널리 쓰임. BIND 역 사. 1980 년대 초 UC 버클리 4 명의 대학원생에 의해 처음 시작되었음 버클리의 CSRG(Computer Systems Research Group) 등을 거쳐 현재는 ISC(Internet Systems Consortium) 에서 관리하게 되었음
E N D
gangok@sparcs 11. BIND
BIND? • Berkeley Internet Name Domain • DNS 서버를 구현한 프로그램 중 가장 널리 쓰임
BIND 역사 • 1980년대 초 UC버클리 4명의 대학원생에 의해 처음 시작되었음 • 버클리의 CSRG(Computer Systems Research Group)등을 거쳐 현재는 ISC(Internet Systems Consortium)에서 관리하게 되었음 • BIND 9 was released in Sep. 2000 , 현재 BIND 10 개발중
BIND 특징 • A Domain Name System server • A Domain Name System “resolver library” • Software tools for testing servers.
BIND 설치 • apt-get install bind9 • 대개 이미 설치되어 있음
db파일 설정 • 에 대해 알아보기 전에…
영역(zone)? • Domain name space에서 위임을 통해 관리가 가능한 단위로 분할된 범위 • 일반적으로 네임 서버는 영역(Zone)에 대한 완벽한 정보를 갖고 있으며 • 그러한 네임 서버는 해당 영역(Zone)에 대한 authority(권한)을 갖는다고 말한다 • 한 네임 서버는 여러 영역들에 대한 권한(authority)를 가질 수 있음
마스터vs슬레이브 • 같은 내용을 가진 두 개 이상의 DNS서버를 운영하는 경우 • 한 서버를 마스터로 지정하여 데이터를 갖고 있고 • 다른 서버는 슬레이브로 지정하여 일정한 주기로 마스터로부터 데이터를 가져오게 설정할 수 있음 • 한 서버가 어떤 영역에 대해서는 마스터, 어떤 영역에 대해서는 슬레이브 역할을 할 수 있음
db파일 설정 • SOA • NS • A, AAAA
SOA(Start of Authority) • 본 영역데이터에 대한 authority를 나타낸다. • movie.edu. IN SOA terminator.movie.edu. al.robocop.movie.edu. ( 2011060301 ;시리얼 번호 3h ;3시간 후 리플래쉬 1h ;1시간 후 재시도 1w ;1주일 후 만료 1h ) ;1시간의 TTL
SOA(Start of Authority) • 시리얼 번호 : 데이터가 업데이트 될 때마다 크기가 점점 커져야 한다.DNS서버가 여러대 운용될 경우 이 번호를 기준으로 최신의 데이터를 판별하기 때문 • Refresh : 슬레이브 서버가 마스터 서버에서 데이터를 받아오는 주기 • Retry : 슬레이브가마스터 서버 접속에 실패할 경우 해당 시간만큼 지난 후 재시도 • Expire : 이 기간동안 마스터 서버 접촉에 실패할 경우 해당 슬레이브는 데이터를 폐기 • TTL : time to live, 본 DNS서버에서 받은 정보는 이 시간동안 각 시스템에서 캐싱
NS • movie.edu. IN NS terminator.movie.edu. • movie.edu. IN NS wormhole.movie.edu.
A, AAAA • robocop.movie.edu. IN A 192.249.249.2 • terminator.movie.edu. IN A 192.249.249.3 • wormhole.movie.edu. IN A 192.249.249.1 • wormhole.movie.edu. IN A 192.249.253.1
named.conf파일 설정 • include "/etc/bind/named.conf.options"; • zone "." { • type hint; • file "/etc/bind/db.root"; • }; • zone "localhost" { • type master; • file "/etc/bind/db.local"; • }; • zone "127.in-addr.arpa" { • type master; • file "/etc/bind/db.127"; • }; • zone "0.in-addr.arpa" { • type master; • file "/etc/bind/db.0"; • }; • zone "255.in-addr.arpa" { • type master; • file "/etc/bind/db.255"; • }; • include "/etc/bind/named.conf.local";
sparcs.conf파일 참고하기 • zone "SPARCS.ORG" in { • type master; • file "/etc/bind/db.SPARCS.ORG"; • notify yes; • }; • key SPARCS.NET. { • algorithm hmac-md5; • secret "mL3TNGYhwUrl4asNYCaR/LirXMkByXOH9HAmmuGPRFU="; • }; • zone "SPARCS.NET" in { • type master; • file "/etc/bind/db.SPARCS.NET"; • notify yes; • allow-update { • key SPARCS.NET.; • }; • };
BIND 실행 • /etc/init.d/bind9 start • /etc/init.d/bind9 stop • /etc/init.d/bind9 restart • …
dig • $ dig [@네임서버] 도메인 [쿼리타입] [+쿼리옵션]
참고(축약어) • @기호 • 도메인 네임을 나타냄 • 도메인 자동 확장 • 점으로 끝나지 않는 이름들은 마지막에 해당도메인 네임을 추가 • gangok -> gangok.wseminar5.sparcs.org.
참고(service) • #apt-get install sysvconfig • /etc/init.d/bind9 start • > • service bind9 start
실습 • 각자의 휠 세미나 실습 서버에 dns서버 구현해보기 • ex) gangok.wseminar5.sparcs.org 로 연결하면 143.248.234.103(아라),143.248.234.218(OTL)로 번갈아 연결시키기 • 힌트 : 보통 OS, 브라우저 등이 캐시기능을 갖고 있으니 주의