Ubuntu 를 DNS server 로 사용할 경우 설정파일에 대한 설명들은 많은데 각 파일의 각 line 이 어떤 역할을 하는지는 설명되어있는 곳이 없어 다시 정리합니다.
1. bind 설치
sudo apt-get install bind9 bind9utils
bind9 은 Domain name server 를 돌리는 package 이고 bind9utils 는 DNS 를 테스트하고 이슈를 해결할 수 있는 package 임.
2. bind 설정
/etc/bind/named.conf.local
구성할 DNS zone 설정파일 위치와 master 인지 slave 인지를 정하고 master 일 경우 slave 로 data 를 보낼지를 결정한다.
zone "dnstest.com" {
type master;
file "/etc/bind/db.dnstest.com";
allow-transfer { 192.168.1.11; };
};
allow-transfer { 192.168.1.11; }; 항목은 slave 를 구성할 경우 slave 의 ip 를 적어주면 되고 구성하지 않을 경우 작성하지 않음
file "/etc/bind/db.dnstest.com"; 항목은 Domain Name 의 상세 내역이 저장된 파일의 위치를 나타냄.
파일 이름은 폴더를 포함하여 임의로 설정할 수 있음.
또는 slave (Secondary Master) 일 경우
zone "dnstest.com" {
type slave;
file "db.dnstest.com";
master { 192.168.1.10; };
};
ip address 는 각 서버의 ip 를 사용하면 됨.
/etc/bind/db.dnstest.com file (Ubuntu 12.04 version)
;
; BIND reverse data file for local 192.168.1.XXX net
;
$TTL 604800
@ IN SOA dnstest.com. root.dnstest.com. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN A 192.168.1.10
dnstest.com. IN NS ns
dnstest.com. IN NS ns2
ns IN A 192.168.1.44
ns2 IN A 192.168.1.45
www IN A 192.168.1.22
mail IN A 192.168.1.66
IN MX 1 mail
TTL : DNS 가 갱신되었을 경우 얼마마다 갱신정보를 몇초마다 update 할 것인지 설정.
SOA :
dnstest.com. : 설정할 Domain. 마지막 "." 에 유의
root.dnstest.com. : 관리자 Email root@dnstest.com 의 의미. 마지막 "." 에 유의
2 ; Serial : 정보가 갱신되면 더 큰 숫자를 써줘야함. 일반적으로 년월일시를 사용.
DNS zone 에 관련한 수정사항이 발생하면 반드시 Serial 을 기존 보다 큰 숫자로 바꾸고 아래 명령을 실행해 주어야 함.
$ sudo rndc reload
Retry, Expire, Negative Cache TTL 등은 Slave 쪽으로 어떤 방식으로 정보를 전송할 것인지 설정하는 부분.
@ 기호는 Server 자신을 나타냄
dnstest.com. IN NS ns. : ns 라는 이름의 Name server 를 나타냄. 이후에 ns 라는 A record 가 존재하여야함.
IN MX 1 mail : mail.dnstest.com 이라는 이름의 MX record 를 생성 (mail 이라는 A record 필요)
위와 같이 설정 후 아래 command 로 Test 를 합니다.
$ sudo named-checkzone dnstest.com /etc/bind/db.dnstest.com
아래와 같은 결과가 나오면 설정이 잘 된 것입니다.
db.dnstest.com
zone dnstest.com/IN: loaded serial 2
OK
실제로 동작하는지 테스트 해보려면 아래 명령을 실행하면 됩니다. (설정한 ns 의 IP 가 192.168.10.44 일 경우)
$ nslookup mail.dnstest.com 192.168.10.44
Server: 192.168.10.44
Address: 192.168.10.44#53
Name: mail.dnstest.com
Address: 192.168.10.66
Domain Name server (bind) 재시작 명령은 아래와 같습니다.
$ sudo systemctl restart bind9
또는
$ sudo service bind9 restart
Ubuntu 고정 IP 설정 (GUI 없이 IP 설정) (0) | 2017.02.10 |
---|---|
Ubuntu 한/영 키가 Right Alt key로 동작할 때 대처방법 (0) | 2017.02.01 |
ubuntu linux 사용자 입력을 자동으로 해주는 프로그램 expect (0) | 2016.04.27 |
ubuntu shell password GUI 띄우기 (0) | 2016.01.05 |
아파치 웹서버 재실행 방법 (0) | 2015.12.21 |