linux

[리눅스 서버 구축하기] 6. DNS 설정

소스파일을 이용한 컴파일 설치

1) bind 소스파일 다운로드 및 압축 해제

https://www.isc.org/downloads/ 페이지를 참고하여 최신 버전의 bind를 다운로드한 후 압축 해제를 진행합니다. 이 글에서는 bind -9.10.3-P3 버전으로 진행했습니다.

1

# 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

2) 소스 컴파일 및 설치

압축해제가 완료된 후 해당 bind의 prefix경로를 지정하여 설치했습니다.

3

# bind configure command

 

cd bind-9.10.3-P3

./configure –prefix=/usr/local/named

4

3) 설정 파일 수정

아래와 같이 컴파일 및 설치가 정상적으로 완료되면 bind의 환경 설정파일을 수정합니다.

5

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

 

6

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 으로 지정

 

7

위와 같이 존 파일 설정이 완료되면 named.conf 에 설정된 경로에 rndc.key 파일을 생성합니다. rndc란 remote named controy utility의 약자로 다수의 네임서버를 안전하게 컨트롤하기 위해 설정해줍니다.

 

# 키 파일을 지정하여 rndc.key 생성

 

./rndc-confgen -a -c /var/named/rndc.key .

// named를 컨트롤 할 수 있는 rndc 키 생성

8

4) 네임서버 시작 및 질의 테스트

# named 시작

 

/usr/local/named/sbin/named

9

# dig 유틸을 이용한 로컬 네임서버에 도메인 질의

 

/usr/local/named/bin/dig @localhost gba-test.com

10

  • rpm 설치

1) 네임서버 bind 패키지 설치

네임서버 서비스를 구축하기 위한 bind 패키지를 설치합니다.

11

yum install bind 명령어를 통해 의존성 패키지까지 모두 설치되는 모습을 볼 수 있습니다.

12

위와 같이 정상적으로 설치가 완료된 것을 확인할 수 있습니다. 네임서버 구축을 위한 설정은 소스 컴파일 설치와 크게 다르지 않습니다.

 

보안_취약점진단_프로모션