리눅스 DNS서버 bind사용 구축하기
www.naver.com을 입력하면 구글이 뜨게 만든다.
1.
rpm -qa | grep bind
현재 바인드와 관련있는 rpm 확인
bind 데몬이 깔려 있는지 확인
2.
lsb_release -a
버전확인 명령어
버전에 맞는 bind 파일을 찾아서 설치
3.
wget http://ftp.isc.org/isc/bind9/9.7.2-P3/bind-9.7.2-P3.tar.gz
원하는 곳에 bind 파일 다운(나의 경우 /root로 받음)
4.
ls
다운받은 압축파일 확인
tar zxf bind-9.7.2-P3.tar.gz
압축 품
ls
압축 푼 것 확인
5
cd bind-9.7.2-P3
압축 푼 bind 디렉토리로 이동
./configure --prefix=/usr/local/dns
--prefix=경로 : 다운받을 폴더 지정
엔터 치면 주루룩 나옴
6
make
소스를 컴파일 해 줌. 소스 파일이 만들어진 상태
ls
검색하면 make가 만들어진 것을 확인할 수 있음
make install
make를 통해 만들어진 설치파일(setup)을 설치하는 과정
쭈루루룩 뜨니까 명령어 입력하고 기다리면 됨
7.
cd /usr/local/dns/etc
이동
vi named.conf
위의 경로에서 vi편집기로 named.conf 파일을 만들고 내용을 입력함
오타를 입력하면 나중에 에러가 생김
위와 같이 입력
wq!
저장하고 나옴
8.
mkdir namedb
현재 위치에서 디렉토리 만듬
cd namedb
디렉토리 안으로 이동
wget ftp://ftp.internic.org/domain/named.root
named.root파일을 가져옴
IntelNIC에서 제공하는 파일이며 named.conf의 "." 에 해당하는 파일
이 명령어로 안되면?
사이트접속 - 복사 - 메모장에서 파일 만들어서 리눅스로 넘겨도 됨
아니면 직접 복사 붙여넣기 해서 파일을 만들어 준다.
이 파일은 수정하면 안 됨
9
namedb 내에서 파일 3개 만듬
(zone-localhost, zone-0.0.127.in-addr.arpa, zone-naver.com)
vi zone-localhost 안에 아래 내용 입력
vi zone-0.0.127.in-addr.arpa
첫 번째 줄은 길게 한 줄에 쭉 쓰면 됨
vi zone-naver.com
zone 파일에 대한 설명
(reference : http://jigi.net/entry/DNS-%EC%84%9C%EB%B2%84-%EA%B5%AC%EC%B6%95RHEL-4,
en.wikipedia.org/wiki/Zone_file)
; 주석을 의미함
$TTL Time To Live의 약자며 BIND9 버전부터는 첫 줄에 무조건 기록, 초단위
캐시를 얼마나 오래 보관할지 결정, 86400(1일) 등을 설정
@ 현재 도메인을 나타냄,
nameserver는 DNS서버의 호스트명과 도메인 명을기록
루트 도메인일 경우 반드시 마지막에 “.”을 찍어 줌
IN 클래스 이름으로 internet을 의미함
SOA Start Of Authority 약자, 권한의 시작을 뜻함.
serial : 버전정보(일반적으로 생성 날짜를 지정)
refresh : 상위 네임서버에게 업데이트 요청하는 간격
retry : 상위 네임서버에 문제 발생 시 재접속 시도 간격
expire : 상위 네임 서버에 접속 못할 경우 이전의 정보 파기하는 간격
minimum : 이 시간 이후에 정보가 삭제됨
NS Name Server 약자, 설정된 도메인의 DNS서버 역할을 하는 컴퓨터를 지정
MX Mail Exchanger 약자, 메일 서버 컴퓨터를 설정
A 호스트 이름에 상응하는 IP주소를 지정함
CNAME 호스트 이름에 대한 별칭을 부여할 때 사용함
10
ls
파일 확인
cd /usr/local/dns/sbin
경로 이동
./named-checkconf ../etc/named.conf
named.conf 파일 검사
named-checkconf는 named.conf를 체크해 줌
사용법 : ./named-checkconf 경로/named.conf
문제 없으면 아무런 말없음
문제 있으면 에러 보여줌
./named-checkzone naver.com /usr/local/dns/etc/namedb/zone-naver.com
./named-checkzone localhost /usr/local/dns/etc/namedb/zone-localhost
./named-checkzone 0.0.127 /usr/local/dns/etc/namedb/zone-0.0.127.in-addr.arpa
zone 파일 체크해 줌
사용법 : named-checkzone URL /zone파일이 있는 경로/zonefile
11
cd /etc
etc로 이동
vi resolv.conf
원래 있던 ip는 #으로 주석처리
서버네임 내ip 입력
*주의) service network restart를 하면
resolv.conf 파일이 dhclient-scrip에 의해 자동으로 바뀌는 경우가 있으므로
restart 하지 말 것
12
cd /usr/local/dns/sbin
이동
./named
데몬실행
ps -ef | grep named
바인드데몬 실행되는지 확인
nslookup
확인
----------------------------------------------------
1 바인드 다운 - 설치
2 named.conf 생성
3 zone-file 생성
4 2, 3 파일 체크
5 dns 변경
6 bind 실행
7 nslookup 확인
내용 참고 : http://blog.naver.com/gyh214/90130274291
파일 내용들
options {
directory "/usr/local/dns/etc/namedb";
dump-file "/usr/local/dns/etc/named_dump.db";
statistics-file "/usr/local/dns/etc/tmp/named.stats";
pid-file "/usr/local/dns/etc/run/named.pid";
};
zone "." IN {
type hint;
file "named.root";
};
zone "localhost" IN {
type master;
file "zone-localhost";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "zone-0.0.127.in-addr.arpa";
};
zone "naver.com" IN {
type master;
file "zone-naver.com";
};
etc/named.conf
$TTL 3W
@ 3W IN SOA localhost. root.localhost. 1999010100 3H 15M 1W 1D
@ 3W IN NS localhost.
1 3W IN PTR localhost.
zone-0.0.127.in-addr.arpa
$ORIGIN localhost.
@ 1D IN SOA @ root 1999010100 3H 15M 1W 1D
@ 1D IN NS @
@ 1D IN A 127.0.0.1
@ 1D IN AAAA ::1
zone-localhost
$TTL 3H
@ SOA @ root. ( 2 1D 1H 1W 1H )
IN NS @
IN A 74.125.128.94
www IN A 74.125.71.105
ftp IN A 180.228.181.97
zone-naver.com