【IT支援部】VMware(CentOS)にDNSを設定してみる

うちの会社の新入社員がDNSサーバーを立てようとして苦戦してた。
DNSは2年くらいまえLPIでちょっと勉強しただけなので復習がてらVMでやってみる。

まずはインストール。

yum install bind.x86_64

Installed:
bind.x86_64 32:9.8.2-0.17.rc1.el6_4.4

Dependency Updated:
bind-libs.x86_64 32:9.8.2-0.17.rc1.el6_4.4 bind-utils.x86_64 32:9.8.2-0.17.rc1.el6_4.4

Complete!


続けて/etc/named.confの設定。chrootはしない。
必要なところだけ適当にいじる。

[root@localhost ~]# cat /etc/named.conf
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

options {
listen-on port 53 { 127.0.0.1; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { localhost; };
recursion yes;

dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;

/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";

managed-keys-directory "/var/named/dynamic";
};

logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};

zone "example.jp" IN {
type master;
file "zone/example.jp";
};

zone "88.168.192.in-addr.arpa" IN {
type master;
file "rev/88.168.192.in-addr.arpa";
};


次。zoneファイル正引き。
これも最低限のところだけ作る。


[root@localhost ~]# cat /var/named/zone/example.jp
$TTL 3600
@ IN SOA example.jp. root.example.jp. (
2000122401
10800
3600
604800
86400 )
;
IN NS example.jp.
IN A 192.168.88.128
;


んでzoneファイル逆引き。


[root@localhost ~]# cat /var/named/rev/88.168.192.in-addr.arpa
$TTL 3600
@ IN SOA example.jp. root.example.jp. (
2000081501
10800
3600
604800
86400 )
;
;
IN NS example.jp.
128 IN PTR example.jp.


以上。設定ファイル書いたのでnamed起動させる。

[root@localhost ~]# /etc/init.d/named start
named を起動中: [ OK ]


プライマリDNSサーバーをローカルに変更。


[root@localhost ~]# cat /etc/resolv.conf
# Generated by NetworkManager
domain localdomain
search localdomain
#nameserver 192.168.88.2
nameserver 127.0.0.1


digで試してみる。


[root@localhost ~]# dig @127.0.0.1 example.jp

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.4 <<>> @127.0.0.1 example.jp
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58060
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;example.jp. IN A

;; ANSWER SECTION:
example.jp. 3600 IN A 192.168.88.128

;; AUTHORITY SECTION:
example.jp. 3600 IN NS example.jp.

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Apr 5 07:58:48 2013
;; MSG SIZE rcvd: 58


うん、良い感じ。逆引きはどうだ。

[root@localhost ~]# dig @127.0.0.1 128.88.168.192.in-addr.arpa

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.4 <<>> @127.0.0.1 128.88.168.192.in-addr.arpa
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36290
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;128.88.168.192.in-addr.arpa. IN A

;; AUTHORITY SECTION:
88.168.192.in-addr.arpa. 3600 IN SOA example.jp. root.example.jp. 2000081501 10800 3600 604800 86400

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Apr 5 08:00:24 2013
;; MSG SIZE rcvd: 96


オッケーっぽい。
Windowsから飛ばしてみようとしたけど、
・WindowsのEthernetからVMnetへの共有させるのがよく分からん
・プライマリDNSをEthernetとVMnet5とVMnet8、どこに設定させればいい?
面倒なのでここまでにする。