소스파일을 이용한 컴파일 설치
1) bind 소스파일 다운로드 및 압축 해제
https://www.isc.org/downloads/ 페이지를 참고하여 최신 버전의 bind를 다운로드한 후 압축 해제를 진행합니다. 이 글에서는 bind -9.10.3-P3 버전으로 진행했습니다.
# bind 의 다운로드 및 압축 해제
cd /usr/local/src wget ftp://ftp.isc.org/isc/bind9/9.10.3-P3/bind-9.10.3-P3.tar.gz tar xzvf bind-9.10.3-P3.tar.gz |
2) 소스 컴파일 및 설치
압축해제가 완료된 후 해당 bind의 prefix경로를 지정하여 설치했습니다.
# bind configure command
cd bind-9.10.3-P3 ./configure –prefix=/usr/local/named |
3) 설정 파일 수정
아래와 같이 컴파일 및 설치가 정상적으로 완료되면 bind의 환경 설정파일을 수정합니다.
named.conf 파일은 네임서버 데몬이 시작되면서 가장 먼저 참조하는 설정 파일입니다.
환경 설정파일은 prefix경로의 etc 디렉터리 안에named.conf 을 따릅니다. 해당 파일에서 참조하는 구문 중 필수로 사용되는 영역은 Options, Zone, Key 설정 영역으로 나뉩니다. 이 글에서는 테스트를 위하여 /usr/local/named/etc/named.conf 파일을 다음과 같이 수정했습니다.
# named.conf 파일 예제
options { directory “/var/named/”; }; // directory [경로] : dns존파일을 읽어올 기본 경로
controls { inet 127.0.0.1 port 53 allow { localhost; } keys { rndckey; }; }; // localhost에서만 rndc를 이용하여 네임서버를 제어할 수 있도록 지정
zone “.” { type hint; file “named.cache”; }; // root 도메인 서버에 대한 정보를 가지고 있는 파일을 named.cache 로 지정 zone “gba-test.com” IN { type master; file “gba-test.com.zone”; allow-update { none; }; }; // gba-test.com 도메인에 대해 gba-test.com.zone 파일에 작성된 zone 영역을 참조하여 1차 도메인서버로 지정, Slave NS가 존재할 경우 allow-update에 해당 slave server ip 기재 include “/var/named/rndc.key”; // rndc.key 관리를 위한 파일을 include |
named.conf파일 수정 후 다음과 같이 등록될 도메인의 존 파일을 설정합니다. 이 문서에서는gba-test.com 도메인을 예시로 작성했습니다.
# zone 파일 예제
$TTL 86400 // Time to Live (캐쉬 시간) @ IN SOA ns.gba-test.com. root.gba-test.com. ( // @ Origin을 의미하며 도메인의 기본 주소를 뜻함 201601222722 ; serial // 현재 데이터의 시리얼 번호 28800 ; refresh // 2차 네임서버가 1차 네임서버로부터 다시 조회할 타임 값 7200 ; retry // 2차 네임서버가 1차 네임서버 조회를 실패할 경우 604800 ; expire // 재조회의 실패 시 데이터를 유지하는 만료 시간 3600 ) ; negative TTL // 캐싱 TTL값
IN NS ns.gba-test.com. // name server 호스트의 지정 IN MX 10 mail // mail exchange 지정
ns 1D IN A 192.168.0.10 @ 1D IN A 192.168.0.10 // 원도메인 주소의 addresss를 192.168.0.10 으로 지정 www 1D IN A 192.168.0.10 // www 주소의 addresss를 192.168.0.10 으로 지정 mail 1D IN A 192.168.0.10 // mail 주소의 addresss를 192.168.0.10 으로 지정 |
위와 같이 존 파일 설정이 완료되면 named.conf 에 설정된 경로에 rndc.key 파일을 생성합니다. rndc란 remote named controy utility의 약자로 다수의 네임서버를 안전하게 컨트롤하기 위해 설정해줍니다.
# 키 파일을 지정하여 rndc.key 생성
./rndc-confgen -a -c /var/named/rndc.key . // named를 컨트롤 할 수 있는 rndc 키 생성 |
4) 네임서버 시작 및 질의 테스트
# named 시작
/usr/local/named/sbin/named |
# dig 유틸을 이용한 로컬 네임서버에 도메인 질의
/usr/local/named/bin/dig @localhost gba-test.com |
- rpm 설치
1) 네임서버 bind 패키지 설치
네임서버 서비스를 구축하기 위한 bind 패키지를 설치합니다.
yum install bind 명령어를 통해 의존성 패키지까지 모두 설치되는 모습을 볼 수 있습니다.
위와 같이 정상적으로 설치가 완료된 것을 확인할 수 있습니다. 네임서버 구축을 위한 설정은 소스 컴파일 설치와 크게 다르지 않습니다.