Nameserver Howto: 두 판 사이의 차이

Ubuntu Korea Community Wiki
둘러보기로 이동 검색으로 이동
imported>Drake
(새 문서: 우분투 리눅스 Bind9 버전에서 DNS서버를 Master/Slave로 구축하는 방법입니다. 구축하기 앞서서 방화벽을 사용하신다면 TCP/UDP 53번을 열어 주...)
 
imported>Drake
잔글편집 요약 없음
4번째 줄: 4번째 줄:




**Bind 설치**
=== Bind 설치 ===


bind를 설치 합니다.
* bind를 설치 합니다.
ruo91@yongbok:~# su root
<source lang="bash">
root@yongbok:~# apt-get update
$ sudo apt-get install bind9
root@yongbok:~# apt-get install bind9
</source>


* 아래 내용을 수정하기 위해서는 루트로 들어가서 작업하는것이 편합니다.
<source lang="bash">
$ sudo -i
</source>


**rndc 생성**
=== rndc 생성 ===


생성된 key의 이름을 named.conf 설정 파일에 추가할때 적절한 이름으로 변경합니다.
생성된 key의 이름을 named.conf 설정 파일에 추가할때 적절한 이름으로 변경합니다.
root@yongbok:~# rndc-confgen
<source lang="bash">
# rndc-confgen
# vi /etc/bind9/named.conf
# Start of rndc.conf
# Start of rndc.conf
key "rndc-key" {
key "rndc-key" {
39번째 줄: 45번째 줄:
# };
# };
# End of named.conf
# End of named.conf
</source>


 
=== Master 서버 설정 ===
**Master 서버 설정**
<source lang="bash">
root@yongbok:~# vi /etc/bind/named.conf
# vi /etc/bind/named.conf
options {
options {
// zone file이 위치할 곳을 지정합니다.
// zone file이 위치할 곳을 지정합니다.
95번째 줄: 102번째 줄:
allow-transfer { 14.63.161.177; };
allow-transfer { 14.63.161.177; };
};
};
</source>




**Inverse Zone 파일 생성**
=== Inverse Zone 파일 생성 ===


인버스 존파일은 아이피 주소를 문자로 변환 해주는 역할을 담당 합니다.
* 인버스 존파일은 아이피 주소를 문자로 변환 해주는 역할을 담당 합니다.
root@yongbok:~# vi /etc/bind/db/inverse.yongbok.net
<source lang="bash">
# vi /etc/bind/db/inverse.yongbok.net
; Inverse Zone
; Inverse Zone
$TTL 300
$TTL 300
126번째 줄: 134번째 줄:
</source>


=== Revers Zone 파일 생성 ===


**Revers Zone 파일 생성**
* 리버스 존파일은 문자로된 도메인 주소를 아이피로 변환 해주는 역할을 담당합니다.
 
<source lang="c">
리버스 존파일은 문자로된 도메인 주소를 아이피로 변환 해주는 역할을 담당합니다.
# vi /etc/bind/db/reverse.yongbok.net
root@yongbok:~# vi /etc/bind/db/reverse.yongbok.net
; Reverse Zone
; Reverse Zone
$TTL 300
$TTL 300
156번째 줄: 165번째 줄:
</source>


=== Loopback Zone 파일 생성 ===


**Loopback Zone 파일 생성**
* 루프백 리버스 존파일도 만들어 줍니다.
 
<source lang="bash">
루프백 리버스 존파일도 만들어 줍니다.
# vi /etc/bind/loopback.yongbok.net
root@yongbok:~# vi /etc/bind/loopback.yongbok.net
; Loopback Zone
; Loopback Zone
$TTL 300
$TTL 300
182번째 줄: 192번째 줄:
</source>


 
=== Slave 서버 설정 ===
**Slave 서버 설정**
<source lang="bash">
root@yongbok:~# vi /etc/bind/named.conf
# vi /etc/bind/named.conf
options {
options {
// zone file이 위치할 곳을 지정합니다.
// zone file이 위치할 곳을 지정합니다.
228번째 줄: 239번째 줄:
 
</source>
**BIND 재시작**
=== BIND 재시작 ===
root@yongbok:~# service bind9 restart
<source lang="bash">
# service bind9 restart
* Stopping domain name service... bind [ OK ]
* Stopping domain name service... bind [ OK ]
* Starting domain name service... bind [ OK ]
* Starting domain name service... bind [ OK ]
</source>


 
=== 도메인 정보 확인 ===
**도메인 정보 확인**


nslookup 명령어로 DNS 서버 정보를 확인 합니다.
nslookup 명령어로 DNS 서버 정보를 확인 합니다.
root@yongbok:~# nslookup www.yongbok.net
<source lang="bash">
# nslookup www.yongbok.net
Server: 8.8.8.8
Server: 8.8.8.8
Address: 8.8.8.8#53
Address: 8.8.8.8#53
244번째 줄: 257번째 줄:
Name:  www.yongbok.net
Name:  www.yongbok.net
Address: 14.63.164.124
Address: 14.63.164.124
</source>


 
* DNS 점검 해보시길 권장합니다.
DNS 점검 해보시길 권장합니다.
* 단, 시간이 어느정도 걸리므로, 시간을 넉넉잡고 시도하시는게 좋습니다.
 
* KISA : http://krnic.or.kr/jsp/dns/nameServerInfo/dnsCheck.jsp
KISA : http://krnic.or.kr/jsp/dns/nameServerInfo/dnsCheck.jsp
* IntoDNS : http://www.intodns.com/
 
IntoDNS : http://www.intodns.com/

2014년 7월 18일 (금) 07:33 판

우분투 리눅스 Bind9 버전에서 DNS서버를 Master/Slave로 구축하는 방법입니다.

구축하기 앞서서 방화벽을 사용하신다면 TCP/UDP 53번을 열어 주셔야 합니다.


Bind 설치

  • bind를 설치 합니다.

<source lang="bash"> $ sudo apt-get install bind9 </source>

  • 아래 내용을 수정하기 위해서는 루트로 들어가서 작업하는것이 편합니다.

<source lang="bash"> $ sudo -i </source>

rndc 생성

생성된 key의 이름을 named.conf 설정 파일에 추가할때 적절한 이름으로 변경합니다. <source lang="bash">

  1. rndc-confgen
  2. vi /etc/bind9/named.conf

# Start of rndc.conf key "rndc-key" { algorithm hmac-md5; secret "yHH6sSaUxOo8m8Fd0t+uyQ=="; };

options {

 	      default-key "rndc-key";
 	      default-server 127.0.0.1;
 	      default-port 953;

}; # End of rndc.conf # Use with the following in named.conf, adjusting the allow list as needed: # key "rndc-key" { # algorithm hmac-md5; # secret "yHH6sSaUxOo8m8Fd0t+uyQ=="; # }; # # controls { # inet 127.0.0.1 port 953 # allow { 127.0.0.1; } keys { "rndc-key"; }; # }; # End of named.conf </source>

Master 서버 설정

<source lang="bash">

  1. vi /etc/bind/named.conf

options { // zone file이 위치할 곳을 지정합니다. directory "/etc/bind/db"; // NXDOMAIN으로 응답 여부 (기본값 no) auth-nxdomain no; // IPv6 listen-on-v6 { any; }; // BIND 버전을 강제로 지정합니다. version "Yongbok.net"; // 자체 네임서버를 사용할 경우 허용할 아이피 또는 대역을 설정합니다. allow-recursion { 127.0.0.1; 14.63.161.177; 192.168.0.1/24; }; // 네임서버의 zone data 정보를 남에게 보여줄 껀지 여부입니다. allow-transfer { 14.63.161.177; }; // 자체 네임서버도 사용안하며 OpenDNS를 사용하지 않으려면 주석 해제 하세요. // 단, allow-recursion는 주석처리 하셔야 합니다. //recursion no; }; //----------------------------------------------// // rndc-confgen으로 생성한 key 파일의 내용 및 key 이름을 변경해서 추가합니다. key "yongbok-key" { algorithm hmac-md5; secret "yHH6sSaUxOo8m8Fd0t+uyQ=="; }; controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "yongbok-key"; }; }; //----------------------------------------------// // root 도메인의 정보를 가지고 있는 파일을 지정 해줍니다. zone "." { type hint; file "/etc/bind/db.root"; }; //----------------------------------------------// // 네임 서버로 사용할 도메인을 지정 해줍니다. zone "yongbok.net" IN { type master; file "inverse.yongbok.net"; allow-update { 14.63.161.177; }; // Slave로 사용될 서버의 IP를 입력 합니다. allow-transfer { 14.63.161.177; }; // }; zone "164.63.14.in-addr.arpa" { type master; file "reverse.yongbok.net"; allow-update { 14.63.161.177; }; allow-transfer { 14.63.161.177; }; }; zone "0.0.127.in-addr.arpa" { type master; file "loopback.yongbok.net"; allow-update { 14.63.161.177; }; allow-transfer { 14.63.161.177; }; }; </source>


Inverse Zone 파일 생성

  • 인버스 존파일은 아이피 주소를 문자로 변환 해주는 역할을 담당 합니다.

<source lang="bash">

  1. vi /etc/bind/db/inverse.yongbok.net

; Inverse Zone $TTL 300 @ IN SOA ns.yongbok.net. ruo91.yongbok.net. ( 2013042809 ; Serial 21600 ; Refresh 1800 ; Retry 2419200 ; Expire 86400 ) ; Negative Cache TTL ;-------------------------------------------------------------------------------------------- @ IN NS ns.yongbok.net. @ IN NS ns2.yongbok.net. ; ; MX records (Mail 서버) IN MX 10 yongbok.net.net. ; SPF 설정 yongbok.net. IN TXT "v=spf1 ip4:14.63.164.124 ~all" ; A 14.63.164.124 ns A 14.63.164.124 ns2 A 14.63.161.117 www A 14.63.164.124 ruo91 A 14.63.164.124


</source>

Revers Zone 파일 생성

  • 리버스 존파일은 문자로된 도메인 주소를 아이피로 변환 해주는 역할을 담당합니다.

<source lang="c">

  1. vi /etc/bind/db/reverse.yongbok.net

; Reverse Zone $TTL 300 @ IN SOA ns.yongbok.net. ruo91.yongbok.net. ( 2013042809 ; Serial 21600 ; Refresh 1800 ; Retry 2419200 ; Expire 86400 ) ; Negative Cache TTL ;-------------------------------------------------------------------------------------------- @ IN NS ns.yongbok.net. @ IN NS ns2.yongbok.net. ; ; MX records (Mail 서버) IN MX 10 yongbok.net.net. ; SPF 설정 yongbok.net. IN TXT "v=spf1 ip4:14.63.164.124 ~all" ; 300 PTR ns.yongbok.net 300 PTR ns2.yongbok.net 300 PTR yongbok.net 300 PTR www.yongbok.net 300 PTR ruo91.yongbok.net


</source>

Loopback Zone 파일 생성

  • 루프백 리버스 존파일도 만들어 줍니다.

<source lang="bash">

  1. vi /etc/bind/loopback.yongbok.net

; Loopback Zone $TTL 300 @ IN SOA ns.yongbok.net. ruo91.yongbok.net. ( 2013042809 ; Serial 21600 ; Refresh 1800 ; Retry 2419200 ; Expire 86400 ) ; Negative Cache TTL ;-------------------------------------------------------------------------------------------- @ IN NS ns.yongbok.net. @ IN NS ns2.yongbok.net. ; ; MX records (Mail 서버) IN MX 10 yongbok.net.net. ; SPF 설정 yongbok.net. IN TXT "v=spf1 ip4:14.63.164.124 ~all" ; 300 PTR localhost.


</source>

Slave 서버 설정

<source lang="bash">

  1. vi /etc/bind/named.conf

options { // zone file이 위치할 곳을 지정합니다. directory "/etc/bind/db"; // NXDOMAIN으로 응답 여부 (기본값 no) auth-nxdomain no; // IPv6 listen-on-v6 { any; }; // BIND 버전을 강제로 지정합니다. version "Yongbok.net"; // 자체 네임서버를 사용할 경우 허용할 아이피 또는 대역을 설정합니다. allow-recursion { 127.0.0.1; 14.63.164.124; 192.168.0.1/24; }; // 네임서버의 zone data 정보를 남에게 보여줄 껀지 여부입니다. allow-transfer { 14.63.164.124; }; // 자체 네임서버도 사용안하며 OpenDNS를 사용하지 않으려면 주석 해제 하세요. // 단, allow-recursion는 주석처리 하셔야 합니다. //recursion no; }; //----------------------------------------------// // root 도메인의 정보를 가지고 있는 파일을 지정 해줍니다. zone "." { type hint; file "/etc/bind/db.root"; }; //----------------------------------------------// // 네임 서버로 사용할 도메인을 지정 해줍니다. zone "yongbok.net" IN { type slave; // type을 slave로 변경 합니다. masters { 14.63.164.124; }; // master의 IP를 입력 합니다. file "inverse.yongbok.net"; }; zone "164.63.14.in-addr.arpa" { type slave; masters { 14.63.164.124; }; file "reverse.yongbok.net"; }; zone "0.0.127.in-addr.arpa" { type slave; masters { 14.63.164.124; }; file "loopback.yongbok.net"; };


</source>

BIND 재시작

<source lang="bash">

  1. service bind9 restart

* Stopping domain name service... bind [ OK ] * Starting domain name service... bind [ OK ] </source>

도메인 정보 확인

nslookup 명령어로 DNS 서버 정보를 확인 합니다. <source lang="bash">

  1. nslookup www.yongbok.net

Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: Name: www.yongbok.net Address: 14.63.164.124 </source>